[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