[Scummvm-cvs-logs] SF.net SVN: scummvm: [26538] scummvm/trunk/engines/lure
dreammaster at users.sourceforge.net
dreammaster at users.sourceforge.net
Tue Apr 17 05:48:52 CEST 2007
Revision: 26538
http://scummvm.svn.sourceforge.net/scummvm/?rev=26538&view=rev
Author: dreammaster
Date: 2007-04-16 20:48:51 -0700 (Mon, 16 Apr 2007)
Log Message:
-----------
Bugfix for Grub's animation handler
Modified Paths:
--------------
scummvm/trunk/engines/lure/hotspots.cpp
scummvm/trunk/engines/lure/hotspots.h
Modified: scummvm/trunk/engines/lure/hotspots.cpp
===================================================================
--- scummvm/trunk/engines/lure/hotspots.cpp 2007-04-17 03:47:47 UTC (rev 26537)
+++ scummvm/trunk/engines/lure/hotspots.cpp 2007-04-17 03:48:51 UTC (rev 26538)
@@ -2098,7 +2098,7 @@
case 0x820E:
return morkusAnimHandler;
case 0x8241:
- return headAnimHandler;
+ return grubAnimHandler;
case 0x82A0:
return barmanAnimHandler;
case 0x85ce:
@@ -3188,21 +3188,25 @@
}
}
-void HotspotTickHandlers::headAnimHandler(Hotspot &h) {
+void HotspotTickHandlers::grubAnimHandler(Hotspot &h) {
Resources &res = Resources::getReference();
+ h.handleTalkDialog();
+
Hotspot *character = res.getActiveHotspot(PLAYER_ID);
uint16 frameNumber = 0;
if (character->y() < 79) {
- // TODO:
- //character = res.getActiveHotspot(RATPOUCH_ID);
- frameNumber = 1;
- } else {
- if (character->x() < 72) frameNumber = 0;
- else if (character->x() < 172) frameNumber = 1;
- else frameNumber = 2;
+ // If player is behind Grub, use Ratpouch if possible
+ Hotspot *ratpouch = res.getActiveHotspot(RATPOUCH_ID);
+ if ((ratpouch != NULL) && (ratpouch->roomNumber() == h.roomNumber()))
+ character = ratpouch;
}
+ if (character->x() < 72) frameNumber = 0;
+ else if (character->x() < 172) frameNumber = 1;
+ else frameNumber = 2;
+
+ h.setActionCtr(frameNumber);
h.setFrameNumber(frameNumber);
}
Modified: scummvm/trunk/engines/lure/hotspots.h
===================================================================
--- scummvm/trunk/engines/lure/hotspots.h 2007-04-17 03:47:47 UTC (rev 26537)
+++ scummvm/trunk/engines/lure/hotspots.h 2007-04-17 03:48:51 UTC (rev 26538)
@@ -75,7 +75,7 @@
static void catrionaAnimHandler(Hotspot &h);
static void morkusAnimHandler(Hotspot &h);
static void talkAnimHandler(Hotspot &h);
- static void headAnimHandler(Hotspot &h);
+ static void grubAnimHandler(Hotspot &h);
static void barmanAnimHandler(Hotspot &h);
static void skorlGaurdAnimHandler(Hotspot &h);
static void gargoyleAnimHandler(Hotspot &h);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list