![]() |
TrinityCore
|
#include <GridMap.h>
Public Types | |
| enum class | LoadResult { Ok , FileDoesNotExist , InvalidFile } |
Public Member Functions | |
| GridMap () | |
| ~GridMap () | |
| LoadResult | loadData (char const *filename) |
| void | unloadData () |
| uint16 | getArea (float x, float y) const |
| float | getHeight (float x, float y) const |
| float | getMinHeight (float x, float y) const |
| float | getLiquidLevel (float x, float y) const |
| ZLiquidStatus | GetLiquidStatus (float x, float y, float z, Optional< map_liquidHeaderTypeFlags > ReqLiquidType, LiquidData *data=nullptr, float collisionHeight=2.03128f) const |
Private Types | |
| typedef float(GridMap::* | GetHeightPtr) (float x, float y) const |
Private Member Functions | |
| bool | loadAreaData (FILE *in, uint32 offset, uint32 size) |
| bool | loadHeightData (FILE *in, uint32 offset, uint32 size) |
| bool | loadLiquidData (FILE *in, uint32 offset, uint32 size) |
| bool | loadHolesData (FILE *in, uint32 offset, uint32 size) |
| bool | isHole (int row, int col) const |
| float | getHeightFromFloat (float x, float y) const |
| float | getHeightFromUint16 (float x, float y) const |
| float | getHeightFromUint8 (float x, float y) const |
| float | getHeightFromFlat (float x, float y) const |
Private Attributes | ||
| uint32 | _flags | |
| union { | ||
| float * m_V9 | ||
| uint16 * m_uint16_V9 | ||
| uint8 * m_uint8_V9 | ||
| }; | ||
| union { | ||
| float * m_V8 | ||
| uint16 * m_uint16_V8 | ||
| uint8 * m_uint8_V8 | ||
| }; | ||
| G3D::Plane * | _minHeightPlanes | |
| float | _gridHeight | |
| float | _gridIntHeightMultiplier | |
| uint16 * | _areaMap | |
| float | _liquidLevel | |
| uint16 * | _liquidEntry | |
| map_liquidHeaderTypeFlags * | _liquidFlags | |
| float * | _liquidMap | |
| uint16 | _gridArea | |
| uint16 | _liquidGlobalEntry | |
| map_liquidHeaderTypeFlags | _liquidGlobalFlags | |
| uint8 | _liquidOffX | |
| uint8 | _liquidOffY | |
| uint8 | _liquidWidth | |
| uint8 | _liquidHeight | |
| uint8 * | _holes | |
| GetHeightPtr | _gridGetHeight | |
|
private |
|
strong |
| GridMap::GridMap | ( | ) |
Definition at line 28 of file GridMap.cpp.
References _areaMap, _flags, _gridArea, _gridGetHeight, _gridHeight, _gridIntHeightMultiplier, _holes, _liquidEntry, _liquidFlags, _liquidGlobalEntry, _liquidGlobalFlags, _liquidHeight, _liquidLevel, _liquidMap, _liquidOffX, _liquidOffY, _liquidWidth, _minHeightPlanes, getHeightFromFlat(), INVALID_HEIGHT, m_V8, m_V9, and NoWater.
| GridMap::~GridMap | ( | ) |
Definition at line 55 of file GridMap.cpp.
References unloadData().
| uint16 GridMap::getArea | ( | float | x, |
| float | y | ||
| ) | const |
Definition at line 292 of file GridMap.cpp.
References _areaMap, _gridArea, CENTER_GRID_ID, and SIZE_OF_GRIDS.
Referenced by TerrainInfo::GetFullTerrainStatusForPosition(), and GetLiquidStatus().
|
inline |
Definition at line 97 of file GridMap.h.
Referenced by TerrainInfo::GetFullTerrainStatusForPosition(), and GetLiquidStatus().
|
private |
Definition at line 304 of file GridMap.cpp.
References _gridHeight.
Referenced by GridMap(), loadHeightData(), and unloadData().
|
private |
Definition at line 309 of file GridMap.cpp.
References _gridHeight, CENTER_GRID_ID, INVALID_HEIGHT, isHole(), m_V8, m_V9, MAP_RESOLUTION, and SIZE_OF_GRIDS.
Referenced by loadHeightData().
|
private |
Definition at line 464 of file GridMap.cpp.
References _gridHeight, _gridIntHeightMultiplier, CENTER_GRID_ID, INVALID_HEIGHT, isHole(), m_uint16_V8, m_uint16_V9, MAP_RESOLUTION, and SIZE_OF_GRIDS.
Referenced by loadHeightData().
|
private |
Definition at line 394 of file GridMap.cpp.
References _gridHeight, _gridIntHeightMultiplier, CENTER_GRID_ID, INVALID_HEIGHT, isHole(), m_uint8_V8, m_uint8_V9, MAP_RESOLUTION, and SIZE_OF_GRIDS.
Referenced by loadHeightData().
| float GridMap::getLiquidLevel | ( | float | x, |
| float | y | ||
| ) | const |
Definition at line 577 of file GridMap.cpp.
References _liquidHeight, _liquidLevel, _liquidMap, _liquidOffX, _liquidOffY, _liquidWidth, CENTER_GRID_ID, INVALID_HEIGHT, MAP_RESOLUTION, and SIZE_OF_GRIDS.
| ZLiquidStatus GridMap::GetLiquidStatus | ( | float | x, |
| float | y, | ||
| float | z, | ||
| Optional< map_liquidHeaderTypeFlags > | ReqLiquidType, | ||
| LiquidData * | data = nullptr, |
||
| float | collisionHeight = 2.03128f |
||
| ) | const |
Definition at line 599 of file GridMap.cpp.
References _liquidEntry, _liquidFlags, _liquidGlobalEntry, _liquidGlobalFlags, _liquidHeight, _liquidLevel, _liquidMap, _liquidOffX, _liquidOffY, _liquidWidth, CENTER_GRID_ID, DarkWater, LiquidData::depth_level, LiquidData::entry, getArea(), getHeight(), DB2Manager::GetLiquidFlags(), GROUND_HEIGHT_TOLERANCE, GROUND_LEVEL_OFFSET_HACK, LiquidData::level, LIQUID_MAP_ABOVE_WATER, LIQUID_MAP_IN_WATER, LIQUID_MAP_NO_WATER, LIQUID_MAP_OCEAN_FLOOR, LIQUID_MAP_UNDER_WATER, LIQUID_MAP_WATER_WALK, MAP_RESOLUTION, NoWater, sAreaTableStore, SIZE_OF_GRIDS, sLiquidTypeStore, and LiquidData::type_flags.
Referenced by TerrainInfo::GetFullTerrainStatusForPosition().
| float GridMap::getMinHeight | ( | float | x, |
| float | y | ||
| ) | const |
Definition at line 547 of file GridMap.cpp.
References _minHeightPlanes, CENTER_GRID_ID, CENTER_GRID_OFFSET, Trinity::ComputeGridCoordSimple(), MAP_HALFSIZE, SIZE_OF_GRIDS, CoordPair< LIMIT >::x_coord, and CoordPair< LIMIT >::y_coord.
|
private |
Definition at line 534 of file GridMap.cpp.
References _holes.
Referenced by getHeightFromFloat(), getHeightFromUint16(), and getHeightFromUint8().
Definition at line 138 of file GridMap.cpp.
References _areaMap, _gridArea, map_areaHeader::areaMagic, map_areaHeader::flags, map_areaHeader::gridArea, EnumFlag< T >::HasFlag(), MapAreaMagic, and NoArea.
Referenced by loadData().
| GridMap::LoadResult GridMap::loadData | ( | char const * | filename | ) |
Definition at line 60 of file GridMap.cpp.
References map_fileheader::areaMapOffset, map_fileheader::areaMapSize, FileDoesNotExist, map_fileheader::heightMapOffset, map_fileheader::heightMapSize, map_fileheader::holesOffset, map_fileheader::holesSize, InvalidFile, map_fileheader::liquidMapOffset, map_fileheader::liquidMapSize, loadAreaData(), loadHeightData(), loadHolesData(), loadLiquidData(), MapMagic, map_fileheader::mapMagic, MapVersionMagic, Ok, TC_LOG_ERROR, unloadData(), and map_fileheader::versionMagic.
Definition at line 156 of file GridMap.cpp.
References _gridGetHeight, _gridHeight, _gridIntHeightMultiplier, _minHeightPlanes, map_heightHeader::flags, getHeightFromFlat(), getHeightFromFloat(), getHeightFromUint16(), getHeightFromUint8(), map_heightHeader::gridHeight, map_heightHeader::gridMaxHeight, EnumFlag< T >::HasFlag(), HasFlightBounds, HeightAsInt16, HeightAsInt8, map_heightHeader::heightMagic, m_uint16_V8, m_uint16_V9, m_uint8_V8, m_uint8_V9, m_V8, m_V9, MapHeightMagic, and NoHeight.
Referenced by loadData().
Definition at line 245 of file GridMap.cpp.
References _liquidEntry, _liquidFlags, _liquidGlobalEntry, _liquidGlobalFlags, _liquidHeight, _liquidLevel, _liquidMap, _liquidOffX, _liquidOffY, _liquidWidth, map_liquidHeader::flags, EnumFlag< T >::HasFlag(), map_liquidHeader::height, map_liquidHeader::liquidFlags, map_liquidHeader::liquidLevel, map_liquidHeader::liquidMagic, map_liquidHeader::liquidType, MapLiquidMagic, NoHeight, NoType, map_liquidHeader::offsetX, map_liquidHeader::offsetY, and map_liquidHeader::width.
Referenced by loadData().
| void GridMap::unloadData | ( | ) |
Definition at line 117 of file GridMap.cpp.
References _areaMap, _gridGetHeight, _holes, _liquidEntry, _liquidFlags, _liquidMap, _minHeightPlanes, getHeightFromFlat(), m_V8, and m_V9.
Referenced by loadData(), and ~GridMap().
| union { ... } GridMap |
| union { ... } GridMap |
|
private |
Definition at line 51 of file GridMap.h.
Referenced by getArea(), GridMap(), loadAreaData(), and unloadData().
|
private |
Definition at line 58 of file GridMap.h.
Referenced by getArea(), GridMap(), and loadAreaData().
|
private |
Definition at line 76 of file GridMap.h.
Referenced by GridMap(), loadHeightData(), and unloadData().
|
private |
Definition at line 47 of file GridMap.h.
Referenced by getHeightFromFlat(), getHeightFromFloat(), getHeightFromUint16(), getHeightFromUint8(), GridMap(), and loadHeightData().
|
private |
Definition at line 48 of file GridMap.h.
Referenced by getHeightFromUint16(), getHeightFromUint8(), GridMap(), and loadHeightData().
|
private |
Definition at line 66 of file GridMap.h.
Referenced by GridMap(), isHole(), loadHolesData(), and unloadData().
|
private |
Definition at line 55 of file GridMap.h.
Referenced by GetLiquidStatus(), GridMap(), loadLiquidData(), and unloadData().
|
private |
Definition at line 56 of file GridMap.h.
Referenced by GetLiquidStatus(), GridMap(), loadLiquidData(), and unloadData().
|
private |
Definition at line 59 of file GridMap.h.
Referenced by GetLiquidStatus(), GridMap(), and loadLiquidData().
|
private |
Definition at line 60 of file GridMap.h.
Referenced by GetLiquidStatus(), GridMap(), and loadLiquidData().
|
private |
Definition at line 64 of file GridMap.h.
Referenced by getLiquidLevel(), GetLiquidStatus(), GridMap(), and loadLiquidData().
|
private |
Definition at line 54 of file GridMap.h.
Referenced by getLiquidLevel(), GetLiquidStatus(), GridMap(), and loadLiquidData().
|
private |
Definition at line 57 of file GridMap.h.
Referenced by getLiquidLevel(), GetLiquidStatus(), GridMap(), loadLiquidData(), and unloadData().
|
private |
Definition at line 61 of file GridMap.h.
Referenced by getLiquidLevel(), GetLiquidStatus(), GridMap(), and loadLiquidData().
|
private |
Definition at line 62 of file GridMap.h.
Referenced by getLiquidLevel(), GetLiquidStatus(), GridMap(), and loadLiquidData().
|
private |
Definition at line 63 of file GridMap.h.
Referenced by getLiquidLevel(), GetLiquidStatus(), GridMap(), and loadLiquidData().
|
private |
Definition at line 45 of file GridMap.h.
Referenced by getMinHeight(), GridMap(), loadHeightData(), and unloadData().
| uint16* GridMap::m_uint16_V8 |
Definition at line 42 of file GridMap.h.
Referenced by getHeightFromUint16(), and loadHeightData().
| uint16* GridMap::m_uint16_V9 |
Definition at line 36 of file GridMap.h.
Referenced by getHeightFromUint16(), and loadHeightData().
| uint8* GridMap::m_uint8_V8 |
Definition at line 43 of file GridMap.h.
Referenced by getHeightFromUint8(), and loadHeightData().
| uint8* GridMap::m_uint8_V9 |
Definition at line 37 of file GridMap.h.
Referenced by getHeightFromUint8(), and loadHeightData().
| float* GridMap::m_V8 |
Definition at line 41 of file GridMap.h.
Referenced by getHeightFromFloat(), GridMap(), loadHeightData(), and unloadData().
| float* GridMap::m_V9 |
Definition at line 35 of file GridMap.h.
Referenced by getHeightFromFloat(), GridMap(), loadHeightData(), and unloadData().