aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Maps/Map.cpp
diff options
context:
space:
mode:
authorSpp- <u84280@epreinf21.(none)>2011-07-27 11:00:39 +0200
committerSpp- <u84280@epreinf21.(none)>2011-07-27 11:00:39 +0200
commitfa50c0a4646fd87da807130a043db2d89c022ccb (patch)
tree922e4e90a5adcf67e7b2e9194f588b0a01ecdbe3 /src/server/game/Maps/Map.cpp
parent39be30a39f1a04d0d432ff74952110a44ef6abf6 (diff)
Fix some warnings here and there
Diffstat (limited to 'src/server/game/Maps/Map.cpp')
-rwxr-xr-xsrc/server/game/Maps/Map.cpp36
1 files changed, 23 insertions, 13 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;