This version is outdated by a newer approved version.DiffThis 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

trs/savegame/tr1.1485974905.txt.gz · Last modified: 2017/02/01 18:48 (external edit)
Back to top
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0