aboutsummaryrefslogtreecommitdiff
path: root/engines/access/room.h
diff options
context:
space:
mode:
authorPaul Gilbert2014-08-06 22:43:40 -0400
committerPaul Gilbert2014-08-06 22:43:40 -0400
commit031cc32c847bf7387859e273069f8efd3b6d4ed0 (patch)
tree99b9ff0abdc4316aa1a4df07bbbe9ff61ef70c97 /engines/access/room.h
parent3645aad6fb02e0430c4ff3b325e1c0012042f4b7 (diff)
downloadscummvm-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.h35
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