aboutsummaryrefslogtreecommitdiff
path: root/engines/prince/mob.cpp
diff options
context:
space:
mode:
authorKamil Zbróg2013-11-14 14:44:24 +0000
committerKamil Zbróg2013-11-14 14:44:24 +0000
commit7b1fed7331df8e4f4071445626d1ca67a5e7ff7b (patch)
tree80f943e39bbcf07a44dca02e5eab0e910742f6d9 /engines/prince/mob.cpp
parent8cffaaaff303773d1da48c9756e616937f2eb5d0 (diff)
downloadscummvm-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.cpp38
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: */