25 #include "engines/myst3/hotspot.h" 26 #include "engines/myst3/detection.h" 28 #include "common/scummsys.h" 29 #include "common/str.h" 30 #include "common/language.h" 31 #include "common/platform.h" 32 #include "common/ptr.h" 33 #include "common/array.h" 34 #include "common/hashmap.h" 35 #include "common/stream.h" 52 kNodeMenuNewGame = 98,
54 kNodeMenuLoadGame = 200,
55 kNodeMenuSaveGame = 300
61 kRoomTomahnaStart = 301,
62 kRoomTomahnaReturn = 401,
69 kRoomEdannaStart = 601,
74 kRoomVoltaicStart = 701,
86 kRoomAmateriaStart = 1001,
117 RoomKey(uint16 room, uint16 age) : roomID(room), ageID(age) {};
119 bool operator==(
const RoomKey &k)
const {
120 return ageID == k.ageID && roomID == k.roomID;
144 kScriptTypeAmbientSound,
145 kScriptTypeBackgroundSound,
147 kScriptTypeAmbientCue
170 void cacheRoom(uint32 roomID, uint32 ageID);
177 bool isCommonRoom(uint32 roomID, uint32 ageID)
const;
182 NodePtr getNodeData(uint16 nodeID, uint32 roomID, uint32 ageID);
187 int32 getNodeZipBitIndex(uint16 nodeID, uint32 roomID, uint32 ageID);
202 RoomKey getRoomKey(
const char *name);
212 uint32 getAgeLabelId(uint32 ageID);
221 uint32 getSoundIdMax()
const {
return _soundIdMax; }
228 int16 getGameLanguageCode()
const;
231 bool areRoomsScriptsEqual(uint32 roomID1, uint32 ageID1, uint32 roomID2, uint32 ageID2, ScriptType scriptType);
235 uint operator()(
const RoomKey &v)
const {
236 return v.ageID + (v.roomID << 16);
244 const uint32 _localizationType;
248 NodesCache _roomNodesCache;
259 static const uint kDatVersion = 3;
262 int32 _roomScriptsStartOffset;
264 const RoomData *findRoomData(uint32 roomID, uint32 ageID)
const;
268 void preloadCommonRooms();
269 void initializeZipBitIndexTable();
270 void patchLanguageMenu();
282 #endif // DATABASE_H_
Definition: database.h:153
Definition: database.h:108
const Common::Array< Opcode > & getNodeInitScript()
Definition: database.h:192
Definition: database.h:132
uint32 getSoundIdMin() const
Definition: database.h:220
Definition: database.h:162
Definition: database.h:124
Definition: database.h:95
Language
Definition: language.h:45
Definition: database.h:113