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

CVisibilityMap::CVisibilityMap

Constructs a CVisibilityMap object

CVisibilityMap::CVisibilityMap

Destroys a CVisibilityMap object

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

CVisibilityMap::BltFogOWar3d

CVisibilityMap::BuildTree

CVisibilityMap::CalculateCirclePoints

CVisibilityMap::CalculateEllipsePoints

CVisibilityMap::ClimbWall

CVisibilityMap::DrawRayPoints

CVisibilityMap::GetCharacterId

CVisibilityMap::GetSubTileCode

CVisibilityMap::GetTileCode

CVisibilityMap::GetVisibility

CVisibilityMap::Init

CVisibilityMap::IsCharacterIdOnMap

CVisibilityMap::IsTileExplored

CVisibilityMap::IsTileVisible

CVisibilityMap::Marshal

CVisibilityMap::PointToTile

CVisibilityMap::PrivateAddCharacter

CVisibilityMap::RemoveCharacter

CVisibilityMap::SetAreaExplored

CVisibilityMap::SetAreaUnexplored

CVisibilityMap::SetTileVisible

CVisibilityMap::TileCodesEqual

CVisibilityMap::TraverseTree

CVisibilityMap::Uninit

CVisibilityMap::Unmarshal

CVisibilityMap::UpDate


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

  • int x -

  • int y -

  • CRect& rClip -

  • TILE_CODE& tileCode -

  • int w -

  • int h -

  • bool bVisibilty -

Remarks


CVisibilityMap::BuildTree

void CVisibilityMap::BuildTree(
   CVisibilityMapTreeNode* pTree,
   CPoint* circlePoints,
   unsigned char radius);

Parameters

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

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

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

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