diff options
author | Paul Gilbert | 2014-08-06 22:43:40 -0400 |
---|---|---|
committer | Paul Gilbert | 2014-08-06 22:43:40 -0400 |
commit | 031cc32c847bf7387859e273069f8efd3b6d4ed0 (patch) | |
tree | 99b9ff0abdc4316aa1a4df07bbbe9ff61ef70c97 /engines/access/room.h | |
parent | 3645aad6fb02e0430c4ff3b325e1c0012042f4b7 (diff) | |
download | scummvm-rg350-031cc32c847bf7387859e273069f8efd3b6d4ed0.tar.gz scummvm-rg350-031cc32c847bf7387859e273069f8efd3b6d4ed0.tar.bz2 scummvm-rg350-031cc32c847bf7387859e273069f8efd3b6d4ed0.zip |
ACCESS: Implemented room data loading
Diffstat (limited to 'engines/access/room.h')
-rw-r--r-- | engines/access/room.h | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/engines/access/room.h b/engines/access/room.h index 28506db7d6..1b803667af 100644 --- a/engines/access/room.h +++ b/engines/access/room.h @@ -35,10 +35,13 @@ private: protected: AccessEngine *_vm; + void loadRoomData(const byte *roomData); void setupRoom(); void setWallCodes(); void buildScreen(); + virtual void loadRoom(int roomNumber) = 0; + virtual void reloadRoom() = 0; virtual void reloadRoom1() = 0; @@ -56,8 +59,38 @@ public: * Clear all the data used by the room */ void clearRoom(); +}; + +struct FileIdent { + int _fileNum; + int _subfile; +}; - void loadRoom(int room); +struct CellIdent : FileIdent { + byte _cell; +}; + +class RoomInfo { +public: + bool _roomFlag; + int _estIndex; + FileIdent _musicFile; + int _scaleH1; + int _scaleH2; + int _scaleN1; + FileIdent _playFieldFile; + Common::Array<CellIdent> _cells; + FileIdent _scriptFile; + FileIdent _animFile; + int _scaleI; + int _scrollThreshold; + FileIdent _paletteFile; + int _startColor; + int _numColors; + Common::Array<uint32> _vidTable; + Common::Array<FileIdent> _sounds; +public: + RoomInfo(const byte *data); }; } // End of namespace Access |