mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-01-04 02:41:19 +00:00
loadtes3: don't pack() non-POD structs
This commit is contained in:
parent
b4ec8aaf5e
commit
9e9f6f3132
@ -13,24 +13,37 @@ namespace ESM
|
|||||||
#pragma pack(push)
|
#pragma pack(push)
|
||||||
#pragma pack(1)
|
#pragma pack(1)
|
||||||
|
|
||||||
|
struct Data
|
||||||
|
{
|
||||||
|
/* File format version. This is actually a float, the supported
|
||||||
|
versions are 1.2 and 1.3. These correspond to:
|
||||||
|
1.2 = 0x3f99999a and 1.3 = 0x3fa66666
|
||||||
|
*/
|
||||||
|
unsigned int version;
|
||||||
|
int type; // 0=esp, 1=esm, 32=ess (unused)
|
||||||
|
NAME32 author; // Author's name
|
||||||
|
NAME256 desc; // File description
|
||||||
|
int records; // Number of records
|
||||||
|
};
|
||||||
|
|
||||||
|
struct GMDT
|
||||||
|
{
|
||||||
|
float mCurrentHealth;
|
||||||
|
float mMaximumHealth;
|
||||||
|
float mHour;
|
||||||
|
unsigned char unknown1[12];
|
||||||
|
NAME64 mCurrentCell;
|
||||||
|
unsigned char unknown2[4];
|
||||||
|
NAME32 mPlayerName;
|
||||||
|
};
|
||||||
|
|
||||||
|
#pragma pack(pop)
|
||||||
|
|
||||||
/// \brief File header record
|
/// \brief File header record
|
||||||
struct Header
|
struct Header
|
||||||
{
|
{
|
||||||
static const int CurrentFormat = 0; // most recent known format
|
static const int CurrentFormat = 0; // most recent known format
|
||||||
|
|
||||||
struct Data
|
|
||||||
{
|
|
||||||
/* File format version. This is actually a float, the supported
|
|
||||||
versions are 1.2 and 1.3. These correspond to:
|
|
||||||
1.2 = 0x3f99999a and 1.3 = 0x3fa66666
|
|
||||||
*/
|
|
||||||
unsigned int version;
|
|
||||||
int type; // 0=esp, 1=esm, 32=ess (unused)
|
|
||||||
NAME32 author; // Author's name
|
|
||||||
NAME256 desc; // File description
|
|
||||||
int records; // Number of records
|
|
||||||
};
|
|
||||||
|
|
||||||
// Defines another files (esm or esp) that this file depends upon.
|
// Defines another files (esm or esp) that this file depends upon.
|
||||||
struct MasterData
|
struct MasterData
|
||||||
{
|
{
|
||||||
@ -39,16 +52,6 @@ namespace ESM
|
|||||||
int index; // Position of the parent file in the global list of loaded files
|
int index; // Position of the parent file in the global list of loaded files
|
||||||
};
|
};
|
||||||
|
|
||||||
struct GMDT
|
|
||||||
{
|
|
||||||
float mCurrentHealth;
|
|
||||||
float mMaximumHealth;
|
|
||||||
float mHour;
|
|
||||||
unsigned char unknown1[12];
|
|
||||||
NAME64 mCurrentCell;
|
|
||||||
unsigned char unknown2[4];
|
|
||||||
NAME32 mPlayerName;
|
|
||||||
};
|
|
||||||
GMDT mGameData; // Used in .ess savegames only
|
GMDT mGameData; // Used in .ess savegames only
|
||||||
std::vector<unsigned char> mSCRD; // Used in .ess savegames only, unknown
|
std::vector<unsigned char> mSCRD; // Used in .ess savegames only, unknown
|
||||||
std::vector<unsigned char> mSCRS; // Used in .ess savegames only, screenshot
|
std::vector<unsigned char> mSCRS; // Used in .ess savegames only, screenshot
|
||||||
@ -62,7 +65,6 @@ namespace ESM
|
|||||||
void load (ESMReader &esm);
|
void load (ESMReader &esm);
|
||||||
void save (ESMWriter &esm);
|
void save (ESMWriter &esm);
|
||||||
};
|
};
|
||||||
#pragma pack(pop)
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user