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

This is an old revision of the document!


Table of Contents

TR1

struct tr1_savegame // 10675 bytes
{
    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
    uint32_t SaveNumber; // game clips it to 16 bits
    uint8_t Unknown2[15];
    // 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;
        /* 0 None
         * 1 Climbing
         * 2 ?
         * 3 Single shot.?
         * 4 Combat?
         */
        uint8_t HandStatus;
        /* 0 None
         * 1 Pistols
         * 2 Magnums
         * 3 Uzis
         * 4 Shotgun
         */
        uint8_t Weapon; // current held weapon 
        /* 00000001 Level unlocked
         * 00000010 Pistols
         * 00000100 Magnums
         * 00001000 Uzis
         * 00010000 Shotgun
         * 00100000 Midas Hand
         */
        uint8_t Weapons;
        uint8_t Unknown2;
    } LevelInitData[21]; // for the 21 levels (315 bytes) 
    uint32_t ElapsedTime; // in game ticks (1/30th of a second), so divide by 30 for time in seconds
    uint32_t Kills;
    uint16_t SecretsFound;
    uint16_t LevelNumber; // First level = 1
    uint8_t NumPickups;
    uint8_t UnlimitedAmmo; // Enabled = 1
    uint8_t HasItem141; // From decompiled game source.
    uint8_t HasItem142; // Strangely, those (unknown) items aren't present in any official TR1 level
    uint8_t Puzzle[4];
    uint8_t Keys[4];
    uint8_t Pickup; // the pickup item
    uint8_t LevelInitDataCRC; // not implemented, always 0
    // 10240 bytes starting from now
    uint8_t RoomsAreSwapped;
    uint8_t FlipFlags[10]; // = (FlipFlag & 0xFF00) >> 8
 
 
    uint8_t ReadToEOF[];
};

Identifications

Levels

ID Level Filename Secrets Puzzle Key
1 2 3 4 1 2 3 4
0 Lara's Home GYM 0
1 Caves LEVEL1 3
2 City of Vilcabamba LEVEL2 3 Gold Idol Silver Key
3 Lost Valley LEVEL3A 5 Machine Cog
4 Tomb of Qualopec LEVEL3B 3
5 St. Francis' Folly LEVEL4 4 Neptune Key Atlas Key Damocles Key Thor Key
6 Colosseum LEVEL5 3 Rusty Key
7 Palace Midas LEVEL6 3 Gold Bar
8 The Cistern LEVEL7A 3 Gold Key Silver Key Rusty Key
9 Tomb of Tihocan LEVEL7B 2 Gold Key Rusty Key Rusty Key
10 City of Khamoon LEVEL8A 3 Saphire Key
11 Obelisk of Khamoon LEVEL8B 3 Eye of Horus Scarab Seal of Anubis Ankh Saphire Key
12 Sanctuary of the Scion LEVEL8C 1 Ankh Scarab Gold Key
13 Natla's Mines LEVEL10A 3 Fuse Pyramid Key
14 Atlantis LEVEL10B 3
15 The Great Pyramid LEVEL10C 3
16 Cut Scene 1 CUT1 0 N/A
17 Cut Scene 2 CUT2 0
18 Cut Scene 3 CUT3
19 Cut Scene 4 CUT4
20 Title TITLE
21 Current Position CURRENT
trs/savegame/tr1.1487868305.txt.gz · Last modified: 2017/02/23 16:45 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