diff options
author | Kamil Zbróg | 2013-11-14 14:44:24 +0000 |
---|---|---|
committer | Kamil Zbróg | 2013-11-14 14:44:24 +0000 |
commit | 7b1fed7331df8e4f4071445626d1ca67a5e7ff7b (patch) | |
tree | 80f943e39bbcf07a44dca02e5eab0e910742f6d9 /engines/prince/mob.cpp | |
parent | 8cffaaaff303773d1da48c9756e616937f2eb5d0 (diff) | |
download | scummvm-rg350-7b1fed7331df8e4f4071445626d1ca67a5e7ff7b.tar.gz scummvm-rg350-7b1fed7331df8e4f4071445626d1ca67a5e7ff7b.tar.bz2 scummvm-rg350-7b1fed7331df8e4f4071445626d1ca67a5e7ff7b.zip |
PRINCE: get/set mob data added
Diffstat (limited to 'engines/prince/mob.cpp')
-rw-r--r-- | engines/prince/mob.cpp | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/engines/prince/mob.cpp b/engines/prince/mob.cpp index 3df7235d2d..c4bb607347 100644 --- a/engines/prince/mob.cpp +++ b/engines/prince/mob.cpp @@ -41,7 +41,16 @@ bool Mob::loadFromStream(Common::SeekableReadStream &stream) { _rect.right = stream.readUint16LE(); _rect.bottom = stream.readUint16LE(); - stream.skip(6 * sizeof(uint16)); + _mask = stream.readUint16LE(); + + _examPosition.x = stream.readUint16LE(); + _examPosition.y = stream.readUint16LE(); + _examDirection = (Direction)stream.readUint16LE(); + + _usePosition.x = stream.readByte(); + _usePosition.y = stream.readByte(); + _useDirection = (Direction)stream.readUint16LE(); + uint32 nameOffset = stream.readUint32LE(); uint32 examTextOffset = stream.readUint32LE(); @@ -60,6 +69,33 @@ bool Mob::loadFromStream(Common::SeekableReadStream &stream) { return true; } +void Mob::setData(AttrId dataId, uint16 value) { + switch (dataId) { + case ExamDir: + _examDirection = (Direction)value; + break; + case ExamX: + _examPosition.x = value; + break; + case ExamY: + _examPosition.y = value; + break; + default: + assert(false); + } +} + +uint16 Mob::getData(AttrId dataId) { + switch (dataId) { + case Visible: return _visible; + case ExamDir: return _examDirection; + case ExamX: return _examPosition.x; + case ExamY: return _examPosition.y; + default: + assert(false); + } +} + } /* vim: set tabstop=4 noexpandtab: */ |