diff options
| author | Spp- <u84280@epreinf21.(none)> | 2011-07-27 11:00:39 +0200 |
|---|---|---|
| committer | Spp- <u84280@epreinf21.(none)> | 2011-07-27 11:00:39 +0200 |
| commit | fa50c0a4646fd87da807130a043db2d89c022ccb (patch) | |
| tree | 922e4e90a5adcf67e7b2e9194f588b0a01ecdbe3 /src/server/game/Maps | |
| parent | 39be30a39f1a04d0d432ff74952110a44ef6abf6 (diff) | |
Fix some warnings here and there
Diffstat (limited to 'src/server/game/Maps')
| -rwxr-xr-x | src/server/game/Maps/Map.cpp | 36 | ||||
| -rwxr-xr-x | src/server/game/Maps/Map.h | 18 |
2 files changed, 24 insertions, 30 deletions
diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp index cfd5dafbfb8..1137e2f95dd 100755 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -31,6 +31,19 @@ #include "ObjectMgr.h" #include "Group.h" + +union u_map_magic +{ + char asChar[4]; + uint32 asUInt; +}; + +u_map_magic MapMagic = { {'M','A','P','S'} }; +u_map_magic MapVersionMagic = { {'v','1','.','1'} }; +u_map_magic MapAreaMagic = { {'A','R','E','A'} }; +u_map_magic MapHeightMagic = { {'M','H','G','T'} }; +u_map_magic MapLiquidMagic = { {'M','L','I','Q'} }; + #define DEFAULT_GRID_EXPIRY 300 #define MAX_GRID_LOAD_TIME 50 #define MAX_CREATURE_ATTACK_RADIUS (45.0f * sWorld->getRate(RATE_CREATURE_AGGRO)) @@ -72,12 +85,12 @@ bool Map::ExistMap(uint32 mapid, int gx, int gy) map_fileheader header; if (fread(&header, sizeof(header), 1, pf) == 1) { - if (header.mapMagic != uint32(MAP_MAGIC) || header.versionMagic != uint32(MAP_VERSION_MAGIC)) + if (header.mapMagic != MapMagic.asUInt || header.versionMagic != MapVersionMagic.asUInt) sLog->outError("Map file '%s' is from an incompatible clientversion. Please recreate using the mapextractor.", tmp); else ret = true; } - fclose(pf); + fclose(pf); } delete [] tmp; return ret; @@ -799,15 +812,10 @@ void Map::MoveAllCreaturesInMoveList() // get data and remove element; CreatureMoveList::iterator iter = i_creaturesToMove.begin(); Creature* c = iter->first; - CreatureMover cm = iter->second; - i_creaturesToMove.erase(iter); - - // calculate cells - CellPair new_val = Trinity::ComputeCellPair(cm.x, cm.y); - Cell new_cell(new_val); + const CreatureMover &cm = iter->second; // do move or do move to respawn or remove creature if previous all fail - if (CreatureCellRelocation(c, new_cell)) + if (CreatureCellRelocation(c, Cell(Trinity::ComputeCellPair(cm.x, cm.y)))) { // update pos c->Relocate(cm.x, cm.y, cm.z, cm.ang); @@ -827,6 +835,8 @@ void Map::MoveAllCreaturesInMoveList() AddObjectToRemoveList(c); } } + + i_creaturesToMove.erase(iter); } } @@ -1059,7 +1069,7 @@ bool GridMap::loadData(char *filename) return false; } - if (header.mapMagic == uint32(MAP_MAGIC) && header.versionMagic == uint32(MAP_VERSION_MAGIC)) + if (header.mapMagic == MapMagic.asUInt && header.versionMagic == MapVersionMagic.asUInt) { // loadup area data if (header.areaMapOffset && !loadAreaData(in, header.areaMapOffset, header.areaMapSize)) @@ -1110,7 +1120,7 @@ bool GridMap::loadAreaData(FILE *in, uint32 offset, uint32 /*size*/) map_areaHeader header; fseek(in, offset, SEEK_SET); - if (fread(&header, sizeof(header), 1, in) != 1 || header.fourcc != uint32(MAP_AREA_MAGIC)) + if (fread(&header, sizeof(header), 1, in) != 1 || header.fourcc != MapAreaMagic.asUInt) return false; m_gridArea = header.gridArea; @@ -1128,7 +1138,7 @@ bool GridMap::loadHeihgtData(FILE *in, uint32 offset, uint32 /*size*/) map_heightHeader header; fseek(in, offset, SEEK_SET); - if (fread(&header, sizeof(header), 1, in) != 1 || header.fourcc != uint32(MAP_HEIGHT_MAGIC)) + if (fread(&header, sizeof(header), 1, in) != 1 || header.fourcc != MapHeightMagic.asUInt) return false; m_gridHeight = header.gridHeight; @@ -1174,7 +1184,7 @@ bool GridMap::loadLiquidData(FILE *in, uint32 offset, uint32 /*size*/) map_liquidHeader header; fseek(in, offset, SEEK_SET); - if (fread(&header, sizeof(header), 1, in) != 1 || header.fourcc != uint32(MAP_LIQUID_MAGIC)) + if (fread(&header, sizeof(header), 1, in) != 1 || header.fourcc != MapLiquidMagic.asUInt) return false; m_liquidType = header.liquidType; diff --git a/src/server/game/Maps/Map.h b/src/server/game/Maps/Map.h index 4ce4f3ea357..63cb10a8f89 100755 --- a/src/server/game/Maps/Map.h +++ b/src/server/game/Maps/Map.h @@ -63,12 +63,6 @@ struct ScriptAction // ****************************************** // Map file format defines // ****************************************** -#define MAP_MAGIC 'SPAM' -#define MAP_VERSION_MAGIC '1.1v' -#define MAP_AREA_MAGIC 'AERA' -#define MAP_HEIGHT_MAGIC 'TGHM' -#define MAP_LIQUID_MAGIC 'QILM' - struct map_fileheader { uint32 mapMagic; @@ -201,7 +195,7 @@ public: struct CreatureMover { - CreatureMover() : x(0), y(0), z(0), ang(0) {} + CreatureMover() : x(0.0f), y(0.0f), z(0.0f), ang(0.0f) {} CreatureMover(float _x, float _y, float _z, float _ang) : x(_x), y(_y), z(_z), ang(_ang) {} float x, y, z, ang; @@ -625,16 +619,6 @@ class BattlegroundMap : public Map Battleground* m_bg; }; -/*inline -uint64 -Map::CalculateGridMask(const uint32 &y) const -{ - uint64 mask = 1; - mask <<= y; - return mask; -} -*/ - template<class T, class CONTAINER> inline void Map::Visit(const Cell& cell, TypeContainerVisitor<T, CONTAINER> &visitor) |
