Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
trs:savegame:tr2 [2024/12/04 13:10] – [TR2] stohrendorf | trs:savegame:tr2 [2024/12/05 12:18] (current) – [TR2] stohrendorf | ||
---|---|---|---|
Line 32: | Line 32: | ||
* 7 Harpoon gun | * 7 Harpoon gun | ||
*/ | */ | ||
- | uint8_t weapon; // current held weapon | + | uint8_t weapon; // equipped |
/* 00000001 Level unlocked | /* 00000001 Level unlocked | ||
* 00000010 Pistols | * 00000010 Pistols | ||
Line 70: | Line 70: | ||
uint32_t roomsAreFlipped; | uint32_t roomsAreFlipped; | ||
uint8_t flipStates[10]; | uint8_t flipStates[10]; | ||
- | | + | |
uint8_t cameraFlags[]; | uint8_t cameraFlags[]; | ||
uint8_t itemData[]; // item-specific savegame data, needs to be studied | uint8_t itemData[]; // item-specific savegame data, needs to be studied | ||
Line 86: | Line 86: | ||
uint8_t unknown8[4]; | uint8_t unknown8[4]; | ||
uint16_t laraUnderwaterSpeed; | uint16_t laraUnderwaterSpeed; | ||
- | | + | |
uint16_t flareTimer; | uint16_t flareTimer; | ||
uint16_t currentVehicleId; | uint16_t currentVehicleId; | ||
Line 101: | Line 101: | ||
uint16_t turnSpeed; | uint16_t turnSpeed; | ||
uint16_t moveAngle; | uint16_t moveAngle; | ||
+ | VectorYXZ_16 headRot; | ||
+ | VectorYXZ_16 torsoRot | ||
+ | |||
+ | struct WeaponAnimData { | ||
+ | uint32_t animFrame; // pointer to anim frame data | ||
+ | uint16_t frame; | ||
+ | uint16_t animId; | ||
+ | uint16_t canShoot; | ||
+ | VectorXY_16 aimAngles; | ||
+ | uint8_t unknown[2]; | ||
+ | uint16_t shooting; | ||
+ | }; | ||
+ | WeaponAnimData weaponAnimRight; | ||
+ | WeaponAnimData weaponAnimLeft; | ||
+ | uint32_t pistolsAmmo; | ||
+ | uint32_t magnumsAmmo; | ||
+ | uint32_t uziAmmo; | ||
+ | uint32_t shotgunAmmo; | ||
+ | uint32_t harpoonAmmo; | ||
+ | uint32_t grenadeLauncherAmmo; | ||
+ | uint32_t m16Ammo; | ||
+ | uint32_t unknown11; | ||
+ | uint32_t laraItemPtr; | ||
+ | uint32_t gameEffectsPtr; | ||
+ | uint16_t firstFreeEffect; | ||
+ | uint16_t firstFreeItem; | ||
+ | uint16_t firstActiveItem; | ||
+ | uint16_t lastEffect; | ||
+ | uint16_t bodyListHead; | ||
| | ||
- | // This part needs to be studied | + | |
+ | | ||
+ | uint16_t weaponObjectId; | ||
+ | uint16_t weaponAnimNumber; | ||
+ | uint16_t weaponFrame; | ||
+ | uint16_t weaponAnimState; | ||
+ | uint16_t goalAnimState; | ||
+ | } | ||
+ | |||
+ | uint32_t currentFlipEffect; | ||
+ | uint32_t flipEffectDuration; | ||
+ | uint32_t unknown12; | ||
+ | uint32_t activeFlares; | ||
+ | |||
+ | struct FlareInfo { | ||
+ | int32_t x, y, z; | ||
+ | int16_t rotX, rotY, rotZ; | ||
+ | uint16_t room; | ||
+ | uint16_t speed; | ||
+ | uint16_t fallspeed; | ||
+ | uint32_t unknown; | ||
+ | }; | ||
+ | |||
+ | FlareInfo flareInfos[numFlares]; | ||
+ | |||
+ | // remainder is unused | ||
uint8_t readToEOF[]; | uint8_t readToEOF[]; | ||
}; | }; |