![]() |
AzerothCore 3.3.5a
OpenSource WoW Emulator
|
#include "GridTerrainData.h"
Public Member Functions | |
GridTerrainData () | |
~GridTerrainData () | |
TerrainMapDataReadResult | Load (std::string const &mapFileName) |
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 |
LiquidData const | GetLiquidData (float x, float y, float z, float collisionHeight, uint8 ReqLiquidType) const |
Private Types | |
typedef float(GridTerrainData::* | GetHeightPtr) (float x, float y) const |
Private Member Functions | |
bool | LoadAreaData (std::ifstream &fileStream, uint32 const offset) |
bool | LoadHeightData (std::ifstream &fileStream, uint32 const offset) |
bool | LoadLiquidData (std::ifstream &fileStream, uint32 const offset) |
bool | LoadHolesData (std::ifstream &fileStream, uint32 const offset) |
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 | |
std::unique_ptr< LoadedAreaData > | _loadedAreaData |
std::unique_ptr< LoadedHeightData > | _loadedHeightData |
std::unique_ptr< LoadedLiquidData > | _loadedLiquidData |
std::unique_ptr< LoadedHoleData > | _loadedHoleData |
GetHeightPtr | _gridGetHeight |
|
private |
GridTerrainData::GridTerrainData | ( | ) |
References _gridGetHeight, and getHeightFromFlat().
|
inline |
uint16 GridTerrainData::getArea | ( | float | x, |
float | y | ||
) | const |
References _loadedAreaData, and SIZE_OF_GRIDS.
Referenced by Map::GetFullTerrainStatusForPosition(), and GetLiquidData().
|
inline |
Referenced by Map::GetFullTerrainStatusForPosition(), and GetLiquidData().
|
private |
References _loadedHeightData, and INVALID_HEIGHT.
Referenced by GridTerrainData(), and LoadHeightData().
|
private |
References _loadedHeightData, INVALID_HEIGHT, isHole(), MAP_RESOLUTION, and SIZE_OF_GRIDS.
Referenced by LoadHeightData().
|
private |
References _loadedHeightData, INVALID_HEIGHT, isHole(), MAP_RESOLUTION, and SIZE_OF_GRIDS.
Referenced by LoadHeightData().
|
private |
References _loadedHeightData, INVALID_HEIGHT, isHole(), MAP_RESOLUTION, and SIZE_OF_GRIDS.
Referenced by LoadHeightData().
LiquidData const GridTerrainData::GetLiquidData | ( | float | x, |
float | y, | ||
float | z, | ||
float | collisionHeight, | ||
uint8 | ReqLiquidType | ||
) | const |
References _loadedLiquidData, LiquidData::DepthLevel, LiquidData::Entry, LiquidData::Flags, getArea(), getHeight(), LiquidData::Level, LIQUID_MAP_ABOVE_WATER, LIQUID_MAP_IN_WATER, LIQUID_MAP_UNDER_WATER, LIQUID_MAP_WATER_WALK, MAP_LIQUID_TYPE_DARK_WATER, MAP_RESOLUTION, sAreaTableStore, SIZE_OF_GRIDS, sLiquidTypeStore, and LiquidData::Status.
Referenced by Map::GetFullTerrainStatusForPosition().
float GridTerrainData::getLiquidLevel | ( | float | x, |
float | y | ||
) | const |
References _loadedLiquidData, INVALID_HEIGHT, MAP_RESOLUTION, and SIZE_OF_GRIDS.
float GridTerrainData::getMinHeight | ( | float | x, |
float | y | ||
) | const |
References _loadedHeightData, CENTER_GRID_ID, CENTER_GRID_OFFSET, Acore::ComputeGridCoordSimple(), MAP_HALFSIZE, MIN_HEIGHT, SIZE_OF_GRIDS, CoordPair< LIMIT >::x_coord, and CoordPair< LIMIT >::y_coord.
|
private |
References _loadedHoleData, holetab_h, and holetab_v.
Referenced by getHeightFromFloat(), getHeightFromUint16(), and getHeightFromUint8().
TerrainMapDataReadResult GridTerrainData::Load | ( | std::string const & | mapFileName | ) |
References map_fileheader::areaMapOffset, u_map_magic::asUInt, map_fileheader::heightMapOffset, map_fileheader::holesOffset, map_fileheader::holesSize, InvalidAreaData, InvalidHeightData, InvalidHoleData, InvalidLiquidData, InvalidMagic, map_fileheader::liquidMapOffset, LoadAreaData(), LoadHeightData(), LoadHolesData(), LoadLiquidData(), MapMagic, map_fileheader::mapMagic, MapVersionMagic, NotFound, ReadError, Success, and map_fileheader::versionMagic.
|
private |
References _loadedAreaData, u_map_magic::asUInt, map_areaHeader::flags, map_areaHeader::fourcc, map_areaHeader::gridArea, MAP_AREA_NO_AREA, and MapAreaMagic.
Referenced by Load().
|
private |
References _gridGetHeight, _loadedHeightData, u_map_magic::asUInt, map_heightHeader::flags, map_heightHeader::fourcc, getHeightFromFlat(), getHeightFromFloat(), getHeightFromUint16(), getHeightFromUint8(), map_heightHeader::gridHeight, map_heightHeader::gridMaxHeight, MAP_HEIGHT_AS_INT16, MAP_HEIGHT_AS_INT8, MAP_HEIGHT_HAS_FLIGHT_BOUNDS, MAP_HEIGHT_NO_HEIGHT, and MapHeightMagic.
Referenced by Load().
|
private |
References _loadedHoleData.
Referenced by Load().
|
private |
References _loadedLiquidData, u_map_magic::asUInt, map_liquidHeader::flags, map_liquidHeader::fourcc, map_liquidHeader::height, map_liquidHeader::liquidFlags, map_liquidHeader::liquidLevel, map_liquidHeader::liquidType, MAP_LIQUID_NO_HEIGHT, MAP_LIQUID_NO_TYPE, MapLiquidMagic, map_liquidHeader::offsetX, map_liquidHeader::offsetY, and map_liquidHeader::width.
Referenced by Load().
|
private |
Referenced by GridTerrainData(), and LoadHeightData().
|
private |
Referenced by getArea(), and LoadAreaData().
|
private |
Referenced by getHeightFromFlat(), getHeightFromFloat(), getHeightFromUint16(), getHeightFromUint8(), getMinHeight(), and LoadHeightData().
|
private |
Referenced by isHole(), and LoadHolesData().
|
private |
Referenced by GetLiquidData(), getLiquidLevel(), and LoadLiquidData().