diff options
author | lukaslw | 2014-05-17 23:25:31 +0200 |
---|---|---|
committer | lukaslw | 2014-06-22 20:08:08 +0200 |
commit | 3d590627eda86a56080bbb55f5b51c19b55cd3a1 (patch) | |
tree | fdce82a04131f38d3de79dff14f0e07a2f1b9567 /engines/prince/script.h | |
parent | d5f2b97c3e291832317e950773997e3f206b8975 (diff) | |
download | scummvm-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.h | 18 |
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]); |