ScummVM API documentation
Pelrock::RoomManager Class Reference

Public Member Functions

void clearTalkingAnims ()
 
void clearAnims ()
 
void clearRoomStickerPixels ()
 
void loadRoomMetadata (Common::File *roomFile, int roomNumber)
 
RoomPasserBysloadPasserByAnims (int roomNumber)
 
Common::Array< HotSpotunifyHotspots (Common::Array< Pelrock::Sprite > &anims, Common::Array< Pelrock::HotSpot > &staticHotspots)
 
void loadRoomTalkingAnimations (int roomNumber)
 
void getPalette (Common::File *roomFile, int roomOffset, byte *palette)
 
void getBackground (Common::File *roomFile, int roomOffset, byte *background)
 
void loadWaterPaletteRemap ()
 
void addSticker (int stickerId, int persist=3)
 
void addStickerToRoom (byte room, int stickerId, int persist=3)
 
void removeSticker (int stickerId)
 
void removeStickerFromRoom (byte room, int stickerId)
 
bool hasSticker (int index)
 
bool hasSticker (byte room, int index)
 
void changeExit (byte index, bool enabled, int persist=3)
 
void changeExit (byte room, byte index, bool enabled, int persist=3)
 
void disableExit (byte index, int persist=3)
 
void disableExit (byte room, byte index, int persist=3)
 
void enableExit (byte index, int persist=3)
 
void enableExit (byte room, byte index, int persist=3)
 
void changeWalkBox (WalkBox walkbox, int persist=3)
 
void changeWalkbox (byte room, WalkBox walkbox, int persist=3)
 
void changeHotSpot (HotSpot hotspot, int persist=3)
 
void changeHotspot (byte room, HotSpot hotspot, int persist=3)
 
void disableSprite (byte spriteIndex, int persist=3)
 
void disableSprite (byte roomNumber, byte spriteIndex, int persist=3)
 
void enableSprite (byte spriteIndex, byte zOrder, int persist=3)
 
void enableSprite (byte roomNumber, byte spriteIndex, byte zOrder, int persist=3)
 
void enableHotspot (HotSpot *hotspot, int persist=3)
 
void enableHotspot (byte room, HotSpot *hotspot, int persist=3)
 
void disableHotspot (HotSpot *hotspot, int persist=3)
 
void disableHotspot (byte room, HotSpot *hotspot, int persist=3)
 
void moveHotspot (HotSpot *hotspot, int16 newX, int16 newY, int persist=3)
 
void moveHotspot (byte room, HotSpot *hotspot, int16 newX, int16 newY, int persist=3)
 
void setActionMask (HotSpot *hotspot, byte actionMask, int persist=3)
 
void addWalkbox (WalkBox walkbox, int persist=3)
 
void addWalkbox (byte room, WalkBox walkbox, int persist=3)
 
void applyDisabledChoices (byte roomNumber, byte *conversationData, size_t conversationDataSize)
 
void applyDisabledChoice (ResetEntry entry, byte *conversationData, size_t conversationDataSize)
 
void addDisabledChoice (ChoiceOption choice)
 
bool isPickableByExtra (uint16 extra)
 
SpritefindSpriteByIndex (byte index)
 
SpritefindSpriteByExtra (int16 extra)
 
HotSpotfindHotspotByIndex (byte index)
 
HotSpotfindHotspotByExtra (uint16 extra)
 
PaletteAnimgetPaletteAnimForRoom (int roomNumber)
 

Public Attributes

byte _currentRoomNumber = 0
 
int _prevRoomNumber = -1
 
Common::Array< HotSpot_currentRoomHotspots
 
Common::Array< Sprite_currentRoomAnims
 
Common::Array< Exit_currentRoomExits
 
Common::Array< WalkBox_currentRoomWalkboxes
 
Common::Array< Description_currentRoomDescriptions
 
TalkingAnims _talkingAnims
 
ScalingParams _scaleParams
 
byte * _pixelsShadows = nullptr
 
byte _roomPalette [768]
 
byte _paletteRemaps [5][256]
 
byte _musicTrack = 0
 
Common::Array< byte > _roomSfx
 
PaletteAnim_currentPaletteAnim = nullptr
 
RoomPasserBys_passerByAnims = nullptr
 
byte * _conversationData = nullptr
 
size_t _conversationDataSize = 0
 
Common::Array< Sticker_roomStickers
 
Common::Array< byte * > _roomStickerPixelData
 
uint32 _conversationOffset
 

Member Function Documentation

◆ loadPasserByAnims()

RoomPasserBys* Pelrock::RoomManager::loadPasserByAnims ( int  roomNumber)

Passer by animations are animations of characters that merely traverse the scene as ambient

◆ unifyHotspots()

Common::Array<HotSpot> Pelrock::RoomManager::unifyHotspots ( Common::Array< Pelrock::Sprite > &  anims,
Common::Array< Pelrock::HotSpot > &  staticHotspots 
)

Treats sprites and hotspots the same.

◆ addSticker()

void Pelrock::RoomManager::addSticker ( int  stickerId,
int  persist = 3 
)

Methods to modify room data at runtime

◆ enableHotspot()

void Pelrock::RoomManager::enableHotspot ( HotSpot hotspot,
int  persist = 3 
)

Utility function to enable or disable a hotspot, with an option to persist the change.

◆ isPickableByExtra()

bool Pelrock::RoomManager::isPickableByExtra ( uint16  extra)

Will apply the default "take item with given extra" handler if returns true


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