ScummVM API documentation
MM::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)
 
MazeDatamazeData ()
 
const MazeDatamazeDataSurrounding ()
 
MazeDatamazeDataCurrent ()
 
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 MM::Xeen::Map::load ( int  mapId)

Loads a specified map

◆ setCellSurfaceFlags()

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

Sets the surface flags for a given position

◆ setWall()

void MM::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 MM::Xeen::Map::saveMaze ( )

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

◆ clearMaze()

void MM::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 MM::Xeen::Map::getCell ( int  idx)

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

◆ mazeData()

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

Returns the data for the primary active map

◆ mazeDataSurrounding()

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

Returns the data for the primary active map

◆ mazeDataCurrent()

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

Returns the data for the currently indexed map

◆ loadSky()

void MM::Xeen::Map::loadSky ( )

Loads the sprites needed for rendering the skyline

◆ getNewMaze()

void MM::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 MM::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: