Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
savegame:tr2 [2017/01/31 10:24] zdimensiontrs:savegame:tr2 [2017/03/25 17:45] – [Identifications] zdimension
Line 2: Line 2:
  
 <code cpp> <code cpp>
-struct tr2_savegame+struct TR2Savegame
 { {
-    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 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 
-    uint8_t Unknown1[42]; +    int32_t saveNumber
-    int32_t SaveNumber+    uint8_t unknown2[44];
-    uint8_t Unknown2[44];+
     // First level use block 0, second use block 1... so that at the end of the game,      // 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     // it sums up everything and/or checks if you found all secrets, etc
     struct     struct
     {     {
-        uint16_t Header; // Always 0x3E8 +        uint16_t header; // Always 0x3E8 (100) 
-        uint16_t Ammo_AutoPistols; // 65,535 means unlimited +        uint16_t ammoAutoPistols; // 65,535 means unlimited 
-        uint16_t Ammo_Uzis+        uint16_t ammoUzis
-        uint16_t Ammo_Shotgun+        uint16_t ammoShotgun
-        uint16_t Ammo_M16+        uint16_t ammoM16
-        uint16_t Ammo_Grenade+        uint16_t ammoGrenade
-        uint16_t Ammo_Harpoon+        uint16_t ammoHarpoon
-        uint8_t SmallMedipacks; // 255 means unlimited +        uint8_t smallMedipacks; // 255 means unlimited 
-        uint8_t LargeMedipacks+        uint8_t largeMedipacks
-        uint8_t Unknown+        uint8_t unknown
-        uint8_t Flares+        uint8_t flares
-        uint8_t Unknown2[2]; +        uint8_t unknown2[1]; 
-        /* 00000001 Always set+        /* 0 None 
 +         * 1 Pistols 
 +         * 2 Automatic pistols 
 +         * 3 Uzis 
 +         * 4 Shotgun 
 +         * 5 M16 
 +         * 6 Grenade launcher 
 +         * 7 Harpoon gun 
 +         */ 
 +        uint8_t weapon; // current held weapon 
 +        /* 00000001 Level unlocked
          * 00000010 Pistols          * 00000010 Pistols
          * 00000100 Automatic pistols          * 00000100 Automatic pistols
Line 33: Line 42:
          * 10000000 Harpoon gun          * 10000000 Harpoon gun
          */          */
-        uint8_t Weapons+        uint8_t weapons
-        uint8_t Unknown3[23]; +        uint8_t unknown3[23]; 
-    } Blocks[23];  +    } levelInitData[23];  
-    uint32_t ElapsedTime; // in game ticks (1/30th of a second), so divide by 30 for time in seconds +    uint32_t elapsedTime; // in game ticks (1/30th of a second), so divide by 30 for time in seconds 
-    uint32_t AmmoUsed+    uint32_t ammoUsed
-    uint32_t Hits+    uint32_t hits
-    uint32_t DistanceTraveled; // Divide by 445.023 for value in meters +    uint32_t distanceTraveled; // Divide by 445.023 for value in meters 
-    uint32_t Kills;+    uint32_t kills;
     /* 00000001 Bronze     /* 00000001 Bronze
      * 00000010 Jade      * 00000010 Jade
      * 00000100 Gold      * 00000100 Gold
      */      */
-    uint8_t Secrets+    uint8_t secrets
-    uint8_t HealthPacksUsed; // Divide by 2 for value. Large medipack = 1; Small = 0.5 +    uint8_t healthPacksUsed; // Divide by 2 for value. Large medipack = 1; Small = 0.5 
-    uint8_t LevelNumber; // First level = 1 +    uint8_t levelNumber; // First level = 1 
-    uint8_t Unknown5a+    uint8_t unknown5a
-    uint8_t UnlimitedAmmo; // Enabled = 1 +    uint8_t unlimitedAmmo; // Enabled = 1 
-    uint8_t Unknown5b[2]; +    uint8_t unknown5b[2]; 
-    uint8_t Puzzle[4]; // Corresponds to TOMBPC.DAT Puzzle & Keys entries +    uint8_t puzzle[4]; // Corresponds to TOMBPC.DAT Puzzle & Keys entries 
-    uint8_t Keys[4];+    uint8_t keys[4];
     // This part needs to be studied     // This part needs to be studied
-    uint8_t Unknown6[744]; +    uint8_t unknown6[744]; 
-    uint16_t Health; // Divide by 10 for floating point value between 0 and 100; 32767 (0x7FFF) means unlimited +    uint16_t health; // Divide by 10 for floating point value between 0 and 100; 32767 (0x7FFF) means unlimited 
-    uint8_t Unknown7[1952]; +    uint8_t unknown7[1952]; 
-    uint16_t Air+    uint16_t air
-    uint8_t ReadToEOF[];+    uint8_t readToEOF[];
 }; };
 </code> </code>
Line 64: Line 73:
 ===== Identifications ===== ===== Identifications =====
  
-The ''LevelNumber'' field is used for determining what level the game should load when opening the savegame.+The ''levelNumber'' field is used for determining what level the game should load when opening the savegame.
  
 ^ ID ^ Level ^ Puzzle ^^^^ Key ^^^^ ^ ID ^ Level ^ Puzzle ^^^^ Key ^^^^
Line 89: Line 98:
 |  20 |  Wreck of the Maria Doria (//demo// |  Circuit Breaker  |    |    |    |  Rest Room Key  |  Rusty Key  |  Cabin Key  |    | |  20 |  Wreck of the Maria Doria (//demo// |  Circuit Breaker  |    |    |    |  Rest Room Key  |  Rusty Key  |  Cabin Key  |    |
 |  21 |  Tibetan Foothills (//demo// |    |    |    |  The Seraph  |  Drawbridge Key  |  Hut Key  |    |    | |  21 |  Tibetan Foothills (//demo// |    |    |    |  The Seraph  |  Drawbridge Key  |  Hut Key  |    |    |
 +^ Golden Mask levels |||||||||| 
 +|  1  |  The Cold War  |    |    |    |    |  Guardroom Key  |  Shaft 'B' Key  |    |    | 
 +|  2  |  Fool's Gold  |  Circuit Board  |    |    |    |  CardKey 1  |    |    |  CardKey 2  | 
 +|  3  |  Furnace of the Gods  |  Mask Of Tornarsuk  |  Gold Nugget  |    |    |    |    |    |    | 
 +|  4  |  Kingdom  |  Mask Of Tornarsuk  |    |    |    |    |    |    |    | 
 +|  5  |  Nightmare In Vegas  |  Elevator Junction  |  Door Circuit  |    |    |  Hotel Key  |    |    |    |
  
  
trs/savegame/tr2.txt · Last modified: (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