aboutsummaryrefslogtreecommitdiff
path: root/engines/lure
diff options
context:
space:
mode:
authorPaul Gilbert2007-02-16 23:17:00 +0000
committerPaul Gilbert2007-02-16 23:17:00 +0000
commit409657cc15ff312cb2458d34628bc18dc57119f3 (patch)
tree35f613555aae62b2004784f3ed3dfc6a336faabb /engines/lure
parent81d3a69546e417835de5687db497597dfcf80aea (diff)
downloadscummvm-rg350-409657cc15ff312cb2458d34628bc18dc57119f3.tar.gz
scummvm-rg350-409657cc15ff312cb2458d34628bc18dc57119f3.tar.bz2
scummvm-rg350-409657cc15ff312cb2458d34628bc18dc57119f3.zip
Added animation handler for Catriona (woman in Smithy)
svn-id: r25638
Diffstat (limited to 'engines/lure')
-rw-r--r--engines/lure/hotspots.cpp14
-rw-r--r--engines/lure/hotspots.h1
2 files changed, 15 insertions, 0 deletions
diff --git a/engines/lure/hotspots.cpp b/engines/lure/hotspots.cpp
index 14df5ce2dc..e7c1b5020e 100644
--- a/engines/lure/hotspots.cpp
+++ b/engines/lure/hotspots.cpp
@@ -1951,6 +1951,8 @@ HandlerMethodPtr HotspotTickHandlers::getHandler(uint16 procOffset) {
return fireAnimHandler;
case 0x81B3:
return prisonerAnimHandler;
+ case 0x81F3:
+ return catrionaAnimHandler;
case 0x8241:
return headAnimHandler;
case 0x882A:
@@ -2707,6 +2709,18 @@ void HotspotTickHandlers::prisonerAnimHandler(Hotspot &h) {
}
}
+void HotspotTickHandlers::catrionaAnimHandler(Hotspot &h) {
+ h.handleTalkDialog();
+ if (h.frameCtr() > 0)
+ {
+ h.decrFrameCtr();
+ }
+ else
+ {
+ h.executeScript();
+ h.setFrameCtr(h.actionCtr());
+ }
+}
// Special variables used across multiple calls to talkAnimHandler
static TalkEntryData *_talkResponse;
diff --git a/engines/lure/hotspots.h b/engines/lure/hotspots.h
index b8a3f56d87..91d2190796 100644
--- a/engines/lure/hotspots.h
+++ b/engines/lure/hotspots.h
@@ -68,6 +68,7 @@ private:
static void playerSewerExitAnimHandler(Hotspot &h);
static void fireAnimHandler(Hotspot &h);
static void prisonerAnimHandler(Hotspot &h);
+ static void catrionaAnimHandler(Hotspot &h);
static void talkAnimHandler(Hotspot &h);
static void headAnimHandler(Hotspot &h);
static void rackSerfAnimHandler(Hotspot &h);