Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revision | |||
| trs:savegame:tr4 [2017/03/17 23:46] – zdimension | trs:savegame:tr4 [2017/03/25 19:20] (current) – zdimension | ||
|---|---|---|---|
| Line 3: | Line 3: | ||
| [[https:// | [[https:// | ||
| <code cpp> | <code cpp> | ||
| - | struct | + | struct |
| { | { | ||
| - | uint8_t | + | uint8_t |
| - | int32_t | + | int32_t |
| - | uint16_t | + | uint16_t |
| - | uint16_t | + | uint16_t |
| - | uint16_t | + | uint16_t |
| - | uint16_t | + | uint16_t |
| - | int16_t | + | int16_t |
| - | int16_t | + | int16_t |
| - | int16_t | + | int16_t |
| - | int16_t | + | int16_t |
| - | int16_t | + | int16_t |
| uint8_t unknown2[6]; | uint8_t unknown2[6]; | ||
| - | int16_t | + | int16_t |
| uint8_t unknown3[20]; | uint8_t unknown3[20]; | ||
| - | int16_t | + | int16_t |
| uint8_t unknown3b[2]; | uint8_t unknown3b[2]; | ||
| - | int16_t | + | int16_t |
| - | int16_t | + | int16_t |
| uint8_t unknown3a[16]; | uint8_t unknown3a[16]; | ||
| - | uint8_t | + | uint8_t |
| uint8_t unknown4[95]; | uint8_t unknown4[95]; | ||
| - | int16_t | + | int16_t |
| uint8_t unknown4a[108]; | uint8_t unknown4a[108]; | ||
| - | uint8_t | + | uint8_t |
| - | uint8_t | + | uint8_t |
| - | uint8_t | + | uint8_t |
| - | uint8_t | + | uint8_t |
| - | uint8_t | + | uint8_t |
| - | uint8_t | + | uint8_t |
| - | uint8_t | + | uint8_t |
| - | uint8_t | + | uint8_t |
| - | uint8_t | + | uint8_t |
| - | uint8_t | + | uint8_t |
| - | uint8_t | + | uint8_t |
| - | int8_t | + | int8_t |
| - | uint8_t | + | uint8_t |
| - | uint8_t | + | uint8_t |
| - | uint8_t | + | uint8_t |
| - | uint8_t | + | uint8_t |
| - | uint8_t | + | uint8_t |
| - | uint8_t | + | uint8_t |
| - | uint8_t | + | uint8_t |
| - | uint8_t | + | uint8_t |
| - | uint8_t | + | uint8_t |
| uint8_t unknown5; | uint8_t unknown5; | ||
| - | uint8_t | + | uint8_t |
| uint8_t unknown6; | uint8_t unknown6; | ||
| - | uint8_t | + | uint8_t |
| uint8_t unknown7; | uint8_t unknown7; | ||
| - | int16_t | + | int16_t |
| - | int16_t | + | int16_t |
| - | int16_t | + | int16_t |
| - | int16_t | + | int16_t |
| - | int16_t | + | int16_t |
| - | int16_t | + | int16_t |
| - | int16_t | + | int16_t |
| - | int16_t | + | int16_t |
| - | int16_t | + | int16_t |
| - | int16_t | + | int16_t |
| uint8_t unknown8[57]; | uint8_t unknown8[57]; | ||
| - | uint8_t | + | uint8_t |
| uint8_t unknown9; // clock?? | uint8_t unknown9; // clock?? | ||
| - | uint32_t | + | uint32_t |
| - | uint32_t | + | uint32_t |
| - | int32_t | + | int32_t |
| - | int32_t | + | int32_t |
| uint8_t unknown10[2]; | uint8_t unknown10[2]; | ||
| - | uint8_t | + | uint8_t |
| - | uint8_t | + | uint8_t |
| uint8_t unknown11[16]; | uint8_t unknown11[16]; | ||
| - | uint16_t | + | uint16_t |
| uint8_t unknown11a[11]; | uint8_t unknown11a[11]; | ||
| struct | struct | ||
| Line 83: | Line 83: | ||
| uint8_t green; | uint8_t green; | ||
| uint8_t red; | uint8_t red; | ||
| - | } FogColour; | + | } fogColour; |
| - | int8_t | + | int8_t |
| uint8_t unknown12[172]; | uint8_t unknown12[172]; | ||
| - | uint8_t | + | uint8_t |
| // When reading a TR4 savegame, first jump to EOF - 8 and check if the string " | // When reading a TR4 savegame, first jump to EOF - 8 and check if the string " | ||
| // is present. If that is the case, then it is a NGLE savegame. | // is present. If that is the case, then it is a NGLE savegame. | ||
| - | // It means that the " | + | // It means that the " |
| - | // a length of (file length) - (pos of TheGreatUnknown) - sizof(NGHeader) | + | // a length of (file length) - (pos of theGreatUnknown) - sizof(ngHeader) |
| #if NGLE | #if NGLE | ||
| struct | struct | ||
| Line 97: | Line 97: | ||
| uint8_t data[size - 8]; | uint8_t data[size - 8]; | ||
| uint8_t signature[4]; | uint8_t signature[4]; | ||
| - | uint32_t size; | + | uint32_t size; // size of the file - size of ngHeader |
| - | } NGHeader; | + | } ngHeader; |
| #endif | #endif | ||
| }; | }; | ||
| </ | </ | ||
