ScummVM API documentation
Xeen::Map Class Reference

Public Member Functions

 Map (XeenEngine *vm)
 
void load (int mapId)
 
int mazeLookup (const Common::Point &pt, int layerShift, int wallMask=0xf)
 
void cellFlagLookup (const Common::Point &pt)
 
void setCellSurfaceFlags (const Common::Point &pt, int bits)
 
void setWall (const Common::Point &pt, Direction dir, int v)
 
void saveMaze ()
 
void clearMaze ()
 
int getCell (int idx)
 
MazeData & mazeData ()
 
const MazeData * mazeDataSurrounding ()
 
MazeData & mazeDataCurrent ()
 
void loadSky ()
 
void getNewMaze ()
 

Static Public Member Functions

static Common::String getMazeName (int mapId, int ccNum=-1)
 

Public Attributes

Common::String _mazeName
 
bool _isOutdoors
 
MonsterObjectData _mobData
 
MonsterData _monsterData
 
MazeEvents _events
 
HeadData _headData
 
AnimationInfo _animationInfo
 
SpriteResource _skySprites [2]
 
SpriteResource _groundSprites
 
SpriteResource _tileSprites
 
SpriteResource _surfaceSprites [16]
 
WallSprites _wallSprites
 
bool _currentGrateUnlocked
 
bool _currentCantRest
 
bool _currentIsDrain
 
bool _currentIsEvent
 
int _currentSky
 
int _currentMonsterFlags
 
int _currentWall
 
int _currentTile
 
int _currentSurfaceId
 
bool _currentSteppedOn
 
int _loadCcNum
 
int _sideTownPortal
 

Member Function Documentation

◆ load()

void Xeen::Map::load ( int  mapId)

Loads a specified map

◆ setCellSurfaceFlags()

void Xeen::Map::setCellSurfaceFlags ( const Common::Point &  pt,
int  bits 
)

Sets the surface flags for a given position

◆ setWall()

void Xeen::Map::setWall ( const Common::Point &  pt,
Direction  dir,
int  v 
)

Sets the value for the wall in a given direction from a given point

◆ saveMaze()

void Xeen::Map::saveMaze ( )

Saves all changeable maze data to the in-memory save state

◆ clearMaze()

void Xeen::Map::clearMaze ( )

Clears the current maze. This is used during savegame loads so that the previous games maze data isn't saved as the new map is loaded

◆ getCell()

int Xeen::Map::getCell ( int  idx)

Gets the data for a map position at one of the relative indexes surrounding the current position

◆ mazeData()

MazeData& Xeen::Map::mazeData ( )
inline

Returns the data for the primary active map

◆ mazeDataSurrounding()

const MazeData* Xeen::Map::mazeDataSurrounding ( )
inline

Returns the data for the primary active map

◆ mazeDataCurrent()

MazeData& Xeen::Map::mazeDataCurrent ( )
inline

Returns the data for the currently indexed map

◆ loadSky()

void Xeen::Map::loadSky ( )

Loads the sprites needed for rendering the skyline

◆ getNewMaze()

void Xeen::Map::getNewMaze ( )

Tests the current position, and if it's moved beyond the valid (0,0) to (15,15) range for a map, loads in the correct surrounding map, and adjusts the position to the relative position on the new map

◆ getMazeName()

static Common::String Xeen::Map::getMazeName ( int  mapId,
int  ccNum = -1 
)
static

Return the name of a specified maze

Parameters
mapIdMap Id
ccNumCc file number. If -1, uses the current C

The documentation for this class was generated from the following file: