[Scummvm-cvs-logs] SF.net SVN: scummvm:[52972] scummvm/branches/branch-1-2-0/engines/lure
dreammaster at users.sourceforge.net
dreammaster at users.sourceforge.net
Sat Oct 2 02:10:23 CEST 2010
Revision: 52972
http://scummvm.svn.sourceforge.net/scummvm/?rev=52972&view=rev
Author: dreammaster
Date: 2010-10-02 00:10:21 +0000 (Sat, 02 Oct 2010)
Log Message:
-----------
LURE: Backport for #3008511 Goewin getting stuck
This workaround prevents the Weregate from closing whilst Goewin is still within it
Modified Paths:
--------------
scummvm/branches/branch-1-2-0/engines/lure/hotspots.h
scummvm/branches/branch-1-2-0/engines/lure/scripts.cpp
Modified: scummvm/branches/branch-1-2-0/engines/lure/hotspots.h
===================================================================
--- scummvm/branches/branch-1-2-0/engines/lure/hotspots.h 2010-10-02 00:08:13 UTC (rev 52971)
+++ scummvm/branches/branch-1-2-0/engines/lure/hotspots.h 2010-10-02 00:10:21 UTC (rev 52972)
@@ -236,7 +236,6 @@
BarPlaceResult getBarPlace();
bool findClearBarPlace();
bool characterWalkingCheck(uint16 id);
- bool doorCloseCheck(uint16 doorId);
void resetDirection();
// Action set
@@ -450,6 +449,7 @@
void updateMovement();
void updateMovement2(CharacterMode value);
void resetPosition();
+ bool doorCloseCheck(uint16 doorId);
void doAction();
void doAction(Action action, HotspotData *hotspot);
Modified: scummvm/branches/branch-1-2-0/engines/lure/scripts.cpp
===================================================================
--- scummvm/branches/branch-1-2-0/engines/lure/scripts.cpp 2010-10-02 00:08:13 UTC (rev 52971)
+++ scummvm/branches/branch-1-2-0/engines/lure/scripts.cpp 2010-10-02 00:10:21 UTC (rev 52972)
@@ -901,6 +901,16 @@
uint16 offset = startOffset;
bool breakFlag = false;
+ // WORKAROUND: Prevents the Weregate door closing prematurely
+ if (startOffset == 3941) {
+ Hotspot *goewinHotspot = r.getActiveHotspot(GOEWIN_ID);
+ if (!goewinHotspot->doorCloseCheck(10025)) {
+ // Goewin is still blocking the door, so reschedule the closing
+ r.delayList().add(1, startOffset, false);
+ return 0;
+ }
+ }
+
param = 0;
fields.setField(SEQUENCE_RESULT, 0);
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