CVisibilityMap Class¶
Overview¶
Note
The CVisibilityMap class handles the minimap, position of character circles and map area visiblility via fog of war.
The structure used for this class is CVisibilityMap
Quick Reference¶
Quick Ref |
void CVisibilityMap::CVisibilityMap() |
void CVisibilityMap::~CVisibilityMap() |
unsigned char CVisibilityMap::AddCharacter(CPoint& pos, long charId, const unsigned char* pVisibleTerrainTable, unsigned char visualRange, long* pRemovalTable) |
virtual void __cdecl CVisibilityMap::BltFogOWar3d(int x, int y, CRect& rClip, TILE_CODE& tileCode, int w, int h, bool bVisibilty) = 0 |
void CVisibilityMap::BuildTree(CVisibilityMapTreeNode* pTree, CPoint* circlePoints, unsigned char radius) |
void CVisibilityMap::CalculateCirclePoints(CPoint* circlePoints, unsigned char radius) |
void CVisibilityMap::CalculateEllipsePoints(unsigned char radius) |
void CVisibilityMap::ClimbWall(CPoint& ptStart, CPoint& ptEnd, unsigned char charId, const unsigned char* pVisibleTerrainTable, short nHighest) |
void CVisibilityMap::DrawRayPoints(CVisibilityMapTreeNode* pTree, CPoint ptStart, unsigned char radius) |
long CVisibilityMap::GetCharacterId(unsigned char nPos) |
unsigned char CVisibilityMap::GetSubTileCode(long nTile) |
void CVisibilityMap::GetTileCode(short n64x64Tile, TILE_CODE& tileCode) |
unsigned char CVisibilityMap::GetVisibility(short nTile) |
void CVisibilityMap::Init(CGameArea* pArea) |
int CVisibilityMap::IsCharacterIdOnMap(long charId) |
unsigned char CVisibilityMap::IsTileExplored(long nIndex) |
unsigned char CVisibilityMap::IsTileVisible(long nIndex) |
void CVisibilityMap::Marshal(unsigned char** pData, unsigned long* pnData) |
short CVisibilityMap::PointToTile(CPoint& pos) |
void CVisibilityMap::PrivateAddCharacter(CPoint& ptPos, unsigned char visId, const unsigned char* pVisibleTerrainTable, unsigned char visualRange, long* pRemovalTable) |
void CVisibilityMap::RemoveCharacter(CPoint& ptOldPos, long charId, const unsigned char* pVisibleTerrainTable, unsigned char visualRange, long* pRemovalTable, unsigned char bRemoveCharId) |
void CVisibilityMap::SetAreaExplored() |
void CVisibilityMap::SetAreaUnexplored() |
void CVisibilityMap::SetTileVisible(long nIndex, unsigned char charId) |
virtual unsigned char __cdecl CVisibilityMap::TileCodesEqual(TILE_CODE& code1, TILE_CODE& code2) = 0 |
void CVisibilityMap::TraverseTree(CPoint ptStart, CPoint ptInvert, unsigned char range, unsigned char charId, const unsigned char* pVisibleTerrainTable) |
void CVisibilityMap::Uninit() |
void CVisibilityMap::Unmarshal(unsigned char* pData, unsigned long nData) |
void CVisibilityMap::UpDate(CPoint& ptOldPos, CPoint& ptNewPos, long charId, unsigned char* pVisibleTerrainTable, unsigned char visualRange, long* pRemovalTable, unsigned char bForceUpdate) |
Constructors¶
Name |
Description |
Constructs a |
|
Destroys a |
CVisibilityMap::CVisibilityMap¶
Constructs a CVisibilityMap
object
void CVisibilityMap::CVisibilityMap();
Remarks
Constructs a CVisibilityMap
object
CVisibilityMap::~CVisibilityMap¶
Destroys the CVisibilityMap
object
void CVisibilityMap::~CVisibilityMap();
Remarks
Destroys the CVisibilityMap
object
Methods¶
Name |
Description |
CVisibilityMap::AddCharacter¶
unsigned char CVisibilityMap::AddCharacter(
CPoint& pos,
long charId,
const unsigned char* pVisibleTerrainTable,
unsigned char visualRange,
long* pRemovalTable);
Parameters
CPoint& pos -
long
charId -const unsigned char
* pVisibleTerrainTable -unsigned char
visualRange -long
* pRemovalTable -
Return Value
Returns unsigned char
Remarks
CVisibilityMap::BltFogOWar3d¶
virtual void __cdecl CVisibilityMap::BltFogOWar3d(
int x,
int y,
CRect& rClip,
TILE_CODE& tileCode,
int w,
int h,
bool bVisibilty);
Parameters
Remarks
CVisibilityMap::BuildTree¶
void CVisibilityMap::BuildTree(
CVisibilityMapTreeNode* pTree,
CPoint* circlePoints,
unsigned char radius);
Parameters
CVisibilityMapTreeNode* pTree -
CPoint* circlePoints -
unsigned char
radius -
Remarks
CVisibilityMap::CalculateCirclePoints¶
void CVisibilityMap::CalculateCirclePoints(
CPoint* circlePoints,
unsigned char radius);
Parameters
CPoint* circlePoints -
unsigned char
radius -
Remarks
CVisibilityMap::CalculateEllipsePoints¶
void CVisibilityMap::CalculateEllipsePoints(unsigned char radius);
Parameters
unsigned char
radius -
Remarks
CVisibilityMap::ClimbWall¶
void CVisibilityMap::ClimbWall(
CPoint& ptStart,
CPoint& ptEnd,
unsigned char charId,
const unsigned char* pVisibleTerrainTable,
short nHighest);
Parameters
CPoint& ptStart -
CPoint& ptEnd -
unsigned char
charId -const unsigned char
* pVisibleTerrainTable -short
nHighest -
Return Value
Returns
Remarks
CVisibilityMap::DrawRayPoints¶
void CVisibilityMap::DrawRayPoints(
CVisibilityMapTreeNode* pTree,
CPoint ptStart,
unsigned char radius);
Parameters
CVisibilityMapTreeNode* pTree -
CPoint* ptStart -
unsigned char
radius -
Remarks
CVisibilityMap::GetCharacterId¶
long CVisibilityMap::GetCharacterId(unsigned char nPos);
Parameters
unsigned char
nPos -
Return Value
Returns long
Remarks
CVisibilityMap::GetSubTileCode¶
unsigned char CVisibilityMap::GetSubTileCode(long nTile);
Parameters
long
nTile -
Return Value
Returns unsigned char
Remarks
CVisibilityMap::GetTileCode¶
void CVisibilityMap::GetTileCode(
short n64x64Tile,
TILE_CODE& tileCode);
Parameters
short
n64x64Tile -TILE_CODE& tileCode -
Remarks
CVisibilityMap::GetVisibility¶
unsigned char CVisibilityMap::GetVisibility(short nTile);
Parameters
short
nTile -
Return Value
Returns unsigned char
Remarks
CVisibilityMap::Init¶
void CVisibilityMap::Init(:ref:`CGameArea<CGameArea>`\* pArea);
Parameters
CGameArea* pArea - pointer to game area object
Remarks
CVisibilityMap::IsCharacterIdOnMap¶
int CVisibilityMap::IsCharacterIdOnMap(long charId);
Parameters
long
charId -
Return Value
Returns int
Remarks
CVisibilityMap::IsTileExplored¶
unsigned char CVisibilityMap::IsTileExplored(long nIndex);
Parameters
long
nIndex -
Return Value
Returns unsigned char
Remarks
CVisibilityMap::IsTileVisible¶
unsigned char CVisibilityMap::IsTileVisible(long nIndex);
Parameters
long
nIndex -
Return Value
Returns unsigned char
Remarks
CVisibilityMap::Marshal¶
void CVisibilityMap::Marshal(
unsigned char** pData,
unsigned long* pnData);
Parameters
unsigned char
** pData -unsigned long
* pnData -
Remarks
CVisibilityMap::PointToTile¶
short CVisibilityMap::PointToTile(CPoint& pos);
Parameters
CPoint& pos -
Return Value
Returns short
Remarks
CVisibilityMap::PrivateAddCharacter¶
void CVisibilityMap::PrivateAddCharacter(
CPoint& ptPos,
unsigned char visId,
const unsigned char* pVisibleTerrainTable,
unsigned char visualRange,
long* pRemovalTable);
Parameters
CPoint& ptPos -
unsigned char
visId -const unsigned char
* pVisibleTerrainTable -unsigned char
visualRange -long
* pRemovalTable -
Remarks
CVisibilityMap::RemoveCharacter¶
void CVisibilityMap::RemoveCharacter(
CPoint& ptOldPos,
long charId,
const unsigned char* pVisibleTerrainTable,
unsigned char visualRange,
long* pRemovalTable,
unsigned char bRemoveCharId);
Parameters
CPoint& ptOldPos -
long
charId -const unsigned char
* pVisibleTerrainTable -unsigned char
visualRange -long
* pRemovalTable -unsigned char
bRemoveCharId -
Remarks
CVisibilityMap::SetAreaExplored¶
void CVisibilityMap::SetAreaExplored();
Remarks
CVisibilityMap::SetAreaUnexplored¶
void CVisibilityMap::SetAreaUnexplored();
Remarks
CVisibilityMap::SetTileVisible¶
void CVisibilityMap::SetTileVisible(
long nIndex,
unsigned char charId);
Parameters
long
nIndex -unsigned char
charId -
Remarks
CVisibilityMap::TileCodesEqual¶
virtual unsigned char __cdecl CVisibilityMap::TileCodesEqual(
TILE_CODE& code1,
TILE_CODE& code2);
Parameters
Return Value
Returns unsigned char
Remarks
CVisibilityMap::TraverseTree¶
void CVisibilityMap::TraverseTree(
CPoint ptStart,
CPoint ptInvert,
unsigned char range,
unsigned char charId,
const unsigned char* pVisibleTerrainTable);
Parameters
CPoint ptStart -
CPoint ptInvert -
unsigned char
range -unsigned char
charId -const unsigned char
* pVisibleTerrainTable -
Remarks
CVisibilityMap::Uninit¶
void CVisibilityMap::Uninit();
Remarks
CVisibilityMap::Unmarshal¶
void CVisibilityMap::Unmarshal(
unsigned char* pData,
unsigned long nData);
Parameters
unsigned char
* pData -unsigned long
nData -
Remarks
CVisibilityMap::UpDate¶
void CVisibilityMap::UpDate(
CPoint& ptOldPos,
CPoint& ptNewPos,
long charId,
unsigned char* pVisibleTerrainTable,
unsigned char visualRange,
long* pRemovalTable,
unsigned char bForceUpdate);
Parameters
CPoint& ptOldPos -
CPoint& ptNewPos -
long
charId -unsigned char
* pVisibleTerrainTable -unsigned char
visualRange -long
* pRemovalTable -unsigned char
bForceUpdate -
Remarks