aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2014-04-20 14:49:44 +0200
committerShauren <shauren.trinity@gmail.com>2014-04-20 14:49:44 +0200
commitfc538c5088e52f0932f74f190cd6499fd6da8a9c (patch)
treefba3d7a6c4a9146b5eaec45e770f6a1dd7afccaa
parentd4e355d5344d98e127e9d33082262649812062a9 (diff)
Tools: Enabled struct packing to ensure that structures are read from files properly
-rw-r--r--src/tools/map_extractor/adt.h4
-rw-r--r--src/tools/map_extractor/dbcfile.h4
-rw-r--r--src/tools/map_extractor/loadlib/loadlib.h5
-rw-r--r--src/tools/map_extractor/wdt.h4
-rw-r--r--src/tools/vmap4_extractor/adtfile.cpp2
-rw-r--r--src/tools/vmap4_extractor/adtfile.h6
-rw-r--r--src/tools/vmap4_extractor/loadlib/loadlib.h5
-rw-r--r--src/tools/vmap4_extractor/wmo.h4
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: