This version is outdated by a newer approved version.DiffThis version (2017/02/23 02:21) is a draft.
Approvals: 0/1
The Previously approved version (2017/02/01 19:48) is available.Diff

This is an old revision of the document!


TR1

struct tr1_savegame
{
    uint8_t SaveName[75]; // ASCII C string; null-terminated (there is always random data after \0, it is ignored); for accents see String Array section of TOMBPC.DAT page
    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 NumScionPieces;
        uint8_t HandStatus;
        /* 0 None
         * 1 Pistols
         * 2 Magnums
         * 3 Uzis
         * 4 Shotgun
         */
        uint8_t Weapon; // current held weapon 
        /* 00000001 Always set
         * 00000010 Pistols
         * 00000100 Magnums
         * 00001000 Uzis
         * 00010000 Shotgun
         * 00100000 Midas Hand
         */
        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.1487812906.txt.gz · Last modified: 2017/02/23 02:21 by zdimension
Back to top
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0