[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