diff options
author | Vladimir Menshakov | 2010-02-07 17:13:39 +0000 |
---|---|---|
committer | Vladimir Menshakov | 2010-02-07 17:13:39 +0000 |
commit | ae938dbef8d77bd8778d6e46992c1207d961bf9f (patch) | |
tree | e0d8727370c337426d66da3a8f96ee8ce942cf70 /engines/teenagent | |
parent | 00d00f9cdcd0279e3e3014080508e571abd7795f (diff) | |
download | scummvm-rg350-ae938dbef8d77bd8778d6e46992c1207d961bf9f.tar.gz scummvm-rg350-ae938dbef8d77bd8778d6e46992c1207d961bf9f.tar.bz2 scummvm-rg350-ae938dbef8d77bd8778d6e46992c1207d961bf9f.zip |
added setFlag, fixed non-mark's messages
svn-id: r47969
Diffstat (limited to 'engines/teenagent')
-rw-r--r-- | engines/teenagent/teenagent.cpp | 12 | ||||
-rw-r--r-- | engines/teenagent/teenagent.h | 1 |
2 files changed, 11 insertions, 2 deletions
diff --git a/engines/teenagent/teenagent.cpp b/engines/teenagent/teenagent.cpp index 05937f987c..42478cfa12 100644 --- a/engines/teenagent/teenagent.cpp +++ b/engines/teenagent/teenagent.cpp @@ -147,7 +147,7 @@ void TeenAgentEngine::examine(const Common::Point &point, Object *object) { if (object->actor_rect.valid()) scene->moveTo(dst, object->actor_orientation); dst_object = object; - } else if (!scene_busy || action == kActionNone) { + } else if (!scene_busy) { //do not reset anything while scene is busy, but allow interrupts while walking. debug(0, "click %d, %d", point.x, point.y); action = kActionNone; @@ -608,7 +608,7 @@ void TeenAgentEngine::displayMessage(const Common::String &str, byte color, uint return; } - { + if (color == 0xd1) { //mark's SceneEvent e(SceneEvent::kPlayAnimation); e.animation = 0; e.slot = 0x80; @@ -796,6 +796,14 @@ void TeenAgentEngine::setLan(byte id, byte value, byte scene_id) { scene->push(event); } +void TeenAgentEngine::setFlag(uint16 addr, byte value) { + SceneEvent event(SceneEvent::kSetFlag); + event.callback = addr; + event.color = value; + scene->push(event); +} + + void TeenAgentEngine::reloadLan() { SceneEvent event(SceneEvent::kSetLan); event.lan = 0; diff --git a/engines/teenagent/teenagent.h b/engines/teenagent/teenagent.h index 545cc68f9b..4a932047b5 100644 --- a/engines/teenagent/teenagent.h +++ b/engines/teenagent/teenagent.h @@ -95,6 +95,7 @@ public: void loadScene(byte id, uint16 x, uint16 y, byte o = 0); void setOns(byte id, byte value, byte scene_id = 0); void setLan(byte id, byte value, byte scene_id = 0); + void setFlag(uint16 addr, byte value); void reloadLan(); void rejectMessage(); |