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 -
longcharId -const unsigned char* pVisibleTerrainTable -unsigned charvisualRange -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 charradius -
Remarks
CVisibilityMap::CalculateCirclePoints
void CVisibilityMap::CalculateCirclePoints(
CPoint* circlePoints,
unsigned char radius);
Parameters
CPoint* circlePoints -
unsigned charradius -
Remarks
CVisibilityMap::CalculateEllipsePoints
void CVisibilityMap::CalculateEllipsePoints(unsigned char radius);
Parameters
unsigned charradius -
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 charcharId -const unsigned char* pVisibleTerrainTable -shortnHighest -
Return Value
Returns
Remarks
CVisibilityMap::DrawRayPoints
void CVisibilityMap::DrawRayPoints(
CVisibilityMapTreeNode* pTree,
CPoint ptStart,
unsigned char radius);
Parameters
CVisibilityMapTreeNode* pTree -
CPoint* ptStart -
unsigned charradius -
Remarks
CVisibilityMap::GetCharacterId
long CVisibilityMap::GetCharacterId(unsigned char nPos);
Parameters
unsigned charnPos -
Return Value
Returns long
Remarks
CVisibilityMap::GetSubTileCode
unsigned char CVisibilityMap::GetSubTileCode(long nTile);
Parameters
longnTile -
Return Value
Returns unsigned char
Remarks
CVisibilityMap::GetTileCode
void CVisibilityMap::GetTileCode(
short n64x64Tile,
TILE_CODE& tileCode);
Parameters
shortn64x64Tile -TILE_CODE& tileCode -
Remarks
CVisibilityMap::GetVisibility
unsigned char CVisibilityMap::GetVisibility(short nTile);
Parameters
shortnTile -
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
longcharId -
Return Value
Returns int
Remarks
CVisibilityMap::IsTileExplored
unsigned char CVisibilityMap::IsTileExplored(long nIndex);
Parameters
longnIndex -
Return Value
Returns unsigned char
Remarks
CVisibilityMap::IsTileVisible
unsigned char CVisibilityMap::IsTileVisible(long nIndex);
Parameters
longnIndex -
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 charvisId -const unsigned char* pVisibleTerrainTable -unsigned charvisualRange -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 -
longcharId -const unsigned char* pVisibleTerrainTable -unsigned charvisualRange -long* pRemovalTable -unsigned charbRemoveCharId -
Remarks
CVisibilityMap::SetAreaExplored
void CVisibilityMap::SetAreaExplored();
Remarks
CVisibilityMap::SetAreaUnexplored
void CVisibilityMap::SetAreaUnexplored();
Remarks
CVisibilityMap::SetTileVisible
void CVisibilityMap::SetTileVisible(
long nIndex,
unsigned char charId);
Parameters
longnIndex -unsigned charcharId -
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 charrange -unsigned charcharId -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 longnData -
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 -
longcharId -unsigned char* pVisibleTerrainTable -unsigned charvisualRange -long* pRemovalTable -unsigned charbForceUpdate -
Remarks