Fix loading of older save files
struct player_rw offsets must not change within a savefile version
This commit is contained in:
parent
53c8c2f812
commit
83df42af8e
|
@ -165,14 +165,15 @@ typedef struct player_rw {
|
||||||
#if defined(DXX_BUILD_DESCENT_I)
|
#if defined(DXX_BUILD_DESCENT_I)
|
||||||
ubyte primary_weapon_flags; // bit set indicates the player has this weapon.
|
ubyte primary_weapon_flags; // bit set indicates the player has this weapon.
|
||||||
ubyte secondary_weapon_flags; // bit set indicates the player has this weapon.
|
ubyte secondary_weapon_flags; // bit set indicates the player has this weapon.
|
||||||
ushort laser_ammo;
|
|
||||||
#elif defined(DXX_BUILD_DESCENT_II)
|
#elif defined(DXX_BUILD_DESCENT_II)
|
||||||
ushort primary_weapon_flags; // bit set indicates the player has this weapon.
|
ushort primary_weapon_flags; // bit set indicates the player has this weapon.
|
||||||
ushort secondary_weapon_flags; // bit set indicates the player has this weapon.
|
ushort secondary_weapon_flags; // bit set indicates the player has this weapon.
|
||||||
#endif
|
#endif
|
||||||
|
ushort laser_ammo;
|
||||||
ushort vulcan_ammo;
|
ushort vulcan_ammo;
|
||||||
#if defined(DXX_BUILD_DESCENT_I)
|
|
||||||
ushort spreadfire_ammo, plasma_ammo, fusion_ammo;
|
ushort spreadfire_ammo, plasma_ammo, fusion_ammo;
|
||||||
|
#if defined(DXX_BUILD_DESCENT_II)
|
||||||
|
ushort obsolete_primary_ammo[MAX_PRIMARY_WEAPONS - 5];
|
||||||
#endif
|
#endif
|
||||||
ushort secondary_ammo[MAX_SECONDARY_WEAPONS]; // How much ammo of each type.
|
ushort secondary_ammo[MAX_SECONDARY_WEAPONS]; // How much ammo of each type.
|
||||||
|
|
||||||
|
@ -207,6 +208,11 @@ typedef struct player_rw {
|
||||||
sbyte hours_level; // Hours played (since time_total can only go up to 9 hours)
|
sbyte hours_level; // Hours played (since time_total can only go up to 9 hours)
|
||||||
sbyte hours_total; // Hours played (since time_total can only go up to 9 hours)
|
sbyte hours_total; // Hours played (since time_total can only go up to 9 hours)
|
||||||
} __pack__ player_rw;
|
} __pack__ player_rw;
|
||||||
|
#if defined(DXX_BUILD_DESCENT_I)
|
||||||
|
typedef char player_rw_padding_check[sizeof(player_rw) == 116 ? 1 : -1];
|
||||||
|
#elif defined(DXX_BUILD_DESCENT_II)
|
||||||
|
typedef char player_rw_padding_check[sizeof(player_rw) == 142 ? 1 : -1];
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define N_PLAYER_GUNS 8
|
#define N_PLAYER_GUNS 8
|
||||||
|
|
Loading…
Reference in a new issue