aboutsummaryrefslogtreecommitdiff
path: root/engines/prince/script.h
diff options
context:
space:
mode:
authorlukaslw2014-05-17 23:25:31 +0200
committerlukaslw2014-06-22 20:08:08 +0200
commit3d590627eda86a56080bbb55f5b51c19b55cd3a1 (patch)
treefdce82a04131f38d3de79dff14f0e07a2f1b9567 /engines/prince/script.h
parentd5f2b97c3e291832317e950773997e3f206b8975 (diff)
downloadscummvm-rg350-3d590627eda86a56080bbb55f5b51c19b55cd3a1.tar.gz
scummvm-rg350-3d590627eda86a56080bbb55f5b51c19b55cd3a1.tar.bz2
scummvm-rg350-3d590627eda86a56080bbb55f5b51c19b55cd3a1.zip
PRINCE: Room struct implementation and objects drawing fix
Diffstat (limited to 'engines/prince/script.h')
-rw-r--r--engines/prince/script.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/engines/prince/script.h b/engines/prince/script.h
index f21df1d717..5a1e49ab23 100644
--- a/engines/prince/script.h
+++ b/engines/prince/script.h
@@ -47,8 +47,24 @@ namespace Detail {
class Room {
public:
Room();
+ int _mobs; // mob flag offset
+ int _backAnim; // offset to array of animation numbers
+ int _obj; // offset to array of object numbers
+ int _nak; // offset to array of overlays
+ int _itemUse;
+ int _itemGive;
+ int _walkTo; // offset to array of WALKTO events or 0
+ int _examine; // offset to array of EXAMINE events or 0
+ int _pickup;
+ int _use;
+ int _pushOpen;
+ int _pullClose;
+ int _talk;
+ int _give;
+ //Room_Pad db 64-(Room_Pad-Room_Mobs) dup (0) ???
bool loadFromStream(Common::SeekableReadStream &stream);
+ bool loadRoom(byte *roomData);
private:
@@ -109,11 +125,11 @@ public:
return Detail::LittleEndianReader<T>(&_data[address]);
}
- //uint32 getRoomTableOffset();
uint32 getStartGameOffset();
int16 getLightX(int locationNr);
int16 getLightY(int locationNr);
int32 getShadowScale(int locationNr);
+ uint8 *getRoomOffset(int locationNr);
const char *getString(uint32 offset) {
return (const char *)(&_data[offset]);