This version is outdated by a newer approved version.This version (2017/02/01 20:19) was approved by zdimension.
This is an old revision of the document!
TR1
struct tr1_savegame { uint8_t SaveName[33]; // ASCII C string; null-terminated (rdata after \0 is ignored); for accents see String Array section of TOMBPC.DAT page uint8_t Unknown1[42]; uint16_t SaveNumber; uint8_t Unknown2[47]; // First level use block 0, second use block 1... so that at the end of the game, // it sums up everything and/or checks if you found all secrets, etc struct { uint16_t Header; // Always 0x3E8 uint16_t Ammo_Magnums; // 65,535 means unlimited uint16_t Ammo_Uzis; uint16_t Ammo_Shotgun; uint8_t SmallMedipacks; // 255 means unlimited uint8_t LargeMedipacks; uint8_t Unknown1[3]; /* 00000001 Always set * 00000010 Pistols * 00000100 Magnums * 00001000 Uzis * 00010000 Shotgun */ uint8_t Weapons; uint8_t Unknown2; } Blocks[19]; uint32_t ElapsedTime; // in game ticks (1/30th of a second), so divide by 30 for time in seconds uint32_t Kills; /* 00000001 Bronze * 00000010 Jade * 00000100 Gold */ uint8_t Secrets; uint8_t HealthPacksUsed; // Divide by 2 for value. Large medipack = 1; Small = 0.5 uint8_t LevelNumber; // First level = 1 uint8_t Unknown5a[5]; uint8_t UnlimitedAmmo; // Enabled = 1 uint8_t ReadToEOF[]; };
Identifications
TODO