This version is outdated by a newer approved version.DiffThis version (2017/02/23 23:57) 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!


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 Cameras Items Secrets Puzzle Key
1 2 3 4 1 2 3 4
0 Lara's Home GYM 1 1 0
1 Caves LEVEL1 2 60 3
2 City of Vilcabamba LEVEL2 6 95 3 Gold Idol Silver Key
3 Lost Valley LEVEL3A 6 64 5 Machine Cog
4 Tomb of Qualopec LEVEL3B 10 77 3
5 St. Francis' Folly LEVEL4 14 107 4 Neptune Key Atlas Key Damocles Key Thor Key
6 Colosseum LEVEL5 10 86 3 Rusty Key
7 Palace Midas LEVEL6 7 136 3 Gold Bar
8 The Cistern LEVEL7A 7 112 3 Gold Key Silver Key Rusty Key
9 Tomb of Tihocan LEVEL7B 15 88 2 Gold Key Rusty Key Rusty Key
10 City of Khamoon LEVEL8A 3 93 3 Saphire Key
11 Obelisk of Khamoon LEVEL8B 8 103 3 Eye of Horus Scarab Seal of Anubis Ankh Saphire Key
12 Sanctuary of the Scion LEVEL8C 12 74 1 Ankh Scarab Gold Key
13 Natla's Mines LEVEL10A 15 101 3 Fuse Pyramid Key
14 Atlantis LEVEL10B 6 192 3
15 The Great Pyramid LEVEL10C 2 129 3
16 Cut Scene 1 CUT1 1 3 N/A
17 Cut Scene 2 CUT2 0 1
18 Cut Scene 3 CUT3 0 4
19 Cut Scene 4 CUT4 0 6
20 Title TITLE 0 1
21 Current Position CURRENT
The level “Current Position” (ID 21) seems to have been used internally during the development of the game, and its purposes are unknown. Its file “CURRENT.PHD” isn't present in any of the official releases. TODO: Check in the betas.
trs/savegame/tr1.1487890645.txt.gz · Last modified: 2017/02/23 23:57 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