diff options
author | Shauren <shauren.trinity@gmail.com> | 2014-04-20 14:49:44 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2014-04-20 14:49:44 +0200 |
commit | fc538c5088e52f0932f74f190cd6499fd6da8a9c (patch) | |
tree | fba3d7a6c4a9146b5eaec45e770f6a1dd7afccaa | |
parent | d4e355d5344d98e127e9d33082262649812062a9 (diff) |
Tools: Enabled struct packing to ensure that structures are read from files properly
-rw-r--r-- | src/tools/map_extractor/adt.h | 4 | ||||
-rw-r--r-- | src/tools/map_extractor/dbcfile.h | 4 | ||||
-rw-r--r-- | src/tools/map_extractor/loadlib/loadlib.h | 5 | ||||
-rw-r--r-- | src/tools/map_extractor/wdt.h | 4 | ||||
-rw-r--r-- | src/tools/vmap4_extractor/adtfile.cpp | 2 | ||||
-rw-r--r-- | src/tools/vmap4_extractor/adtfile.h | 6 | ||||
-rw-r--r-- | src/tools/vmap4_extractor/loadlib/loadlib.h | 5 | ||||
-rw-r--r-- | src/tools/vmap4_extractor/wmo.h | 4 |
8 files changed, 30 insertions, 4 deletions
diff --git a/src/tools/map_extractor/adt.h b/src/tools/map_extractor/adt.h index 5cb45d488d5..10894c7a697 100644 --- a/src/tools/map_extractor/adt.h +++ b/src/tools/map_extractor/adt.h @@ -40,6 +40,8 @@ enum LiquidType #define ADT_CELL_SIZE 8 #define ADT_GRID_SIZE (ADT_CELLS_PER_GRID*ADT_CELL_SIZE) +#pragma pack(push, 1) + // // Adt file height map chunk // @@ -304,4 +306,6 @@ public: adt_MHDR *a_grid; }; +#pragma pack(pop) + #endif diff --git a/src/tools/map_extractor/dbcfile.h b/src/tools/map_extractor/dbcfile.h index 526c553e0f0..9e2e6670f89 100644 --- a/src/tools/map_extractor/dbcfile.h +++ b/src/tools/map_extractor/dbcfile.h @@ -82,6 +82,8 @@ public: friend class DBCFile; friend class DBCFile::Iterator; + + Record& operator=(Record const& right); }; /** Iterator that iterates over records */ @@ -111,6 +113,8 @@ public: } private: Record record; + + Iterator& operator=(Iterator const& right); }; // Get record by id diff --git a/src/tools/map_extractor/loadlib/loadlib.h b/src/tools/map_extractor/loadlib/loadlib.h index 724c41ef3c9..39f800d9b4c 100644 --- a/src/tools/map_extractor/loadlib/loadlib.h +++ b/src/tools/map_extractor/loadlib/loadlib.h @@ -47,6 +47,8 @@ typedef uint8_t uint8; #define FILE_FORMAT_VERSION 18 +#pragma pack(push, 1) + union u_map_fcc { char fcc_txt[4]; @@ -80,4 +82,7 @@ public: bool loadFile(char *filename, bool log = true); virtual void free(); }; + +#pragma pack(pop) + #endif diff --git a/src/tools/map_extractor/wdt.h b/src/tools/map_extractor/wdt.h index a55598105b3..9b7fc53cb34 100644 --- a/src/tools/map_extractor/wdt.h +++ b/src/tools/map_extractor/wdt.h @@ -25,6 +25,8 @@ //************************************************************************************** #define WDT_MAP_SIZE 64 +#pragma pack(push, 1) + class wdt_MWMO{ union{ uint32 fcc; @@ -83,4 +85,6 @@ public: wdt_MWMO *wmo; }; +#pragma pack(pop) + #endif
\ No newline at end of file diff --git a/src/tools/vmap4_extractor/adtfile.cpp b/src/tools/vmap4_extractor/adtfile.cpp index 246b448380a..c792524eec1 100644 --- a/src/tools/vmap4_extractor/adtfile.cpp +++ b/src/tools/vmap4_extractor/adtfile.cpp @@ -159,7 +159,7 @@ bool ADTFile::init(uint32 map_num, uint32 tileX, uint32 tileY) ADT.read(buf, size); char* p=buf; int q = 0; - WmoInstansName = new string[size]; + WmoInstansName = new std::string[size]; while (p<buf+size) { char* s = GetPlainName(p); diff --git a/src/tools/vmap4_extractor/adtfile.h b/src/tools/vmap4_extractor/adtfile.h index aafcb46ce84..ac04074375f 100644 --- a/src/tools/vmap4_extractor/adtfile.h +++ b/src/tools/vmap4_extractor/adtfile.h @@ -113,14 +113,14 @@ private: //size_t mcnk_offsets[256], mcnk_sizes[256]; MPQFile ADT; //mcell Mcell; - string Adtfilename; + std::string Adtfilename; public: ADTFile(char* filename); ~ADTFile(); int nWMO; int nMDX; - string* WmoInstansName; - string* ModelInstansName; + std::string* WmoInstansName; + std::string* ModelInstansName; bool init(uint32 map_num, uint32 tileX, uint32 tileY); //void LoadMapChunks(); diff --git a/src/tools/vmap4_extractor/loadlib/loadlib.h b/src/tools/vmap4_extractor/loadlib/loadlib.h index 1b44d13a9d3..b26d39fbbf8 100644 --- a/src/tools/vmap4_extractor/loadlib/loadlib.h +++ b/src/tools/vmap4_extractor/loadlib/loadlib.h @@ -47,6 +47,8 @@ typedef uint8_t uint8; #define FILE_FORMAT_VERSION 18 +#pragma pack(push, 1) + // // File version chunk // @@ -74,4 +76,7 @@ public: bool loadFile(char *filename, bool log = true); virtual void free(); }; + +#pragma pack(pop) + #endif diff --git a/src/tools/vmap4_extractor/wmo.h b/src/tools/vmap4_extractor/wmo.h index 0f1f0772bd3..a5bb7d518e8 100644 --- a/src/tools/vmap4_extractor/wmo.h +++ b/src/tools/vmap4_extractor/wmo.h @@ -67,6 +67,8 @@ struct WMOLiquidHeader short type; }; +#pragma pack(push, 1) + struct WMOLiquidVert { uint16 unk1; @@ -74,6 +76,8 @@ struct WMOLiquidVert float height; }; +#pragma pack(pop) + class WMOGroup { private: |