[Scummvm-cvs-logs] SF.net SVN: scummvm: [26368] scummvm/trunk/engines/lure

dreammaster at users.sourceforge.net dreammaster at users.sourceforge.net
Mon Apr 2 08:03:48 CEST 2007


Revision: 26368
          http://scummvm.svn.sourceforge.net/scummvm/?rev=26368&view=rev
Author:   dreammaster
Date:     2007-04-01 23:03:47 -0700 (Sun, 01 Apr 2007)

Log Message:
-----------
Added in more character tick handlers

Modified Paths:
--------------
    scummvm/trunk/engines/lure/hotspots.cpp
    scummvm/trunk/engines/lure/hotspots.h
    scummvm/trunk/engines/lure/luredefs.h

Modified: scummvm/trunk/engines/lure/hotspots.cpp
===================================================================
--- scummvm/trunk/engines/lure/hotspots.cpp	2007-04-02 01:45:28 UTC (rev 26367)
+++ scummvm/trunk/engines/lure/hotspots.cpp	2007-04-02 06:03:47 UTC (rev 26368)
@@ -1984,7 +1984,7 @@
 
 HandlerMethodPtr HotspotTickHandlers::getHandler(uint16 procOffset) {
 	switch (procOffset) {
-	case 0x4F82:
+	case STANDARD_CHARACTER_TICK_PROC:
 		return standardCharacterAnimHandler;
 	case VOICE_TICK_PROC_ID:
 		return voiceBubbleAnimHandler;
@@ -2008,6 +2008,8 @@
 		return playerSewerExitAnimHandler;
 	case 0x8009:
 		return fireAnimHandler;
+	case 0x8180:
+		return goewinCaptiveAnimHandler;
 	case 0x81B3:
 		return prisonerAnimHandler;
 	case 0x81F3:
@@ -2016,6 +2018,10 @@
 		return morkusAnimHandler;
 	case 0x8241:
 		return headAnimHandler;
+	case 0x82A0:
+		return sellerAnimHandler;
+	case 0x85ce:
+		return skorlGaurdAnimHandler;
 	case 0x882A:
 		return rackSerfAnimHandler;
 	case TALK_TICK_PROC_ID:
@@ -2810,6 +2816,15 @@
 	h.setOccupied(true);
 }
 
+void HotspotTickHandlers::goewinCaptiveAnimHandler(Hotspot &h) {
+	if (h.actionCtr() > 0) {
+		if (h.executeScript()) {
+			h.setTickProc(STANDARD_CHARACTER_TICK_PROC);
+			h.setActionCtr(0);
+		}
+	}
+}
+
 void HotspotTickHandlers::prisonerAnimHandler(Hotspot &h) {
 	ValueTableData &fields = Resources::getReference().fieldList();
 	Common::RandomSource rnd;
@@ -3091,6 +3106,23 @@
 	h.setFrameNumber(frameNumber);
 }
 
+void HotspotTickHandlers::sellerAnimHandler(Hotspot &h) {
+	h.handleTalkDialog();
+	if (h.frameCtr() > 0) {
+		h.decrFrameCtr();
+		return;
+	}
+	
+	// TODO: Decode remainder of sellers tick proc
+}
+
+void HotspotTickHandlers::skorlGaurdAnimHandler(Hotspot &h) {
+	h.handleTalkDialog();
+
+	// Set the frame number
+	h.setFrameNumber(h.actionCtr());
+}
+
 void HotspotTickHandlers::rackSerfAnimHandler(Hotspot &h) {
 	Resources &res = Resources::getReference();
 

Modified: scummvm/trunk/engines/lure/hotspots.h
===================================================================
--- scummvm/trunk/engines/lure/hotspots.h	2007-04-02 01:45:28 UTC (rev 26367)
+++ scummvm/trunk/engines/lure/hotspots.h	2007-04-02 06:03:47 UTC (rev 26368)
@@ -68,11 +68,14 @@
 	static void droppingTorchAnimHandler(Hotspot &h);
 	static void playerSewerExitAnimHandler(Hotspot &h);
 	static void fireAnimHandler(Hotspot &h);
+	static void goewinCaptiveAnimHandler(Hotspot &h);
 	static void prisonerAnimHandler(Hotspot &h);
 	static void catrionaAnimHandler(Hotspot &h);
 	static void morkusAnimHandler(Hotspot &h);
 	static void talkAnimHandler(Hotspot &h);
 	static void headAnimHandler(Hotspot &h);
+	static void sellerAnimHandler(Hotspot &h);
+	static void skorlGaurdAnimHandler(Hotspot &h);
 	static void rackSerfAnimHandler(Hotspot &h);
 
 public:

Modified: scummvm/trunk/engines/lure/luredefs.h
===================================================================
--- scummvm/trunk/engines/lure/luredefs.h	2007-04-02 01:45:28 UTC (rev 26367)
+++ scummvm/trunk/engines/lure/luredefs.h	2007-04-02 06:03:47 UTC (rev 26368)
@@ -239,6 +239,7 @@
 #define GAME_FRAME_DELAY 80
 
 // Tick proc constants
+#define STANDARD_CHARACTER_TICK_PROC 0x4f82 
 #define TALK_TICK_PROC_ID 0x8ABD
 #define PLAYER_TICK_PROC_ID 0x5E44
 #define VOICE_TICK_PROC_ID 0x625E


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