aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Maps
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
parent39be30a39f1a04d0d432ff74952110a44ef6abf6 (diff)
Fix some warnings here and there
Diffstat (limited to 'src/server/game/Maps')
-rwxr-xr-xsrc/server/game/Maps/Map.cpp36
-rwxr-xr-xsrc/server/game/Maps/Map.h18
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)