[Scummvm-cvs-logs] SF.net SVN: scummvm: [27579] scummvm/trunk/engines/agos

Kirben at users.sourceforge.net Kirben at users.sourceforge.net
Thu Jun 21 07:26:47 CEST 2007


Revision: 27579
          http://scummvm.svn.sourceforge.net/scummvm/?rev=27579&view=rev
Author:   Kirben
Date:     2007-06-20 22:26:47 -0700 (Wed, 20 Jun 2007)

Log Message:
-----------
Fix regressions, due to zoneNum changes.

Modified Paths:
--------------
    scummvm/trunk/engines/agos/agos.h
    scummvm/trunk/engines/agos/vga_ww.cpp

Modified: scummvm/trunk/engines/agos/agos.h
===================================================================
--- scummvm/trunk/engines/agos/agos.h	2007-06-21 05:10:42 UTC (rev 27578)
+++ scummvm/trunk/engines/agos/agos.h	2007-06-21 05:26:47 UTC (rev 27579)
@@ -1213,7 +1213,7 @@
 	void fastFadeIn();
 	void slowFadeIn();
 
-	virtual void vcStopAnimation(uint zone, uint sprite);
+	virtual void vcStopAnimation(uint16 zone, uint16 sprite);
 
 	bool confirmOverWrite(WindowBlock *window);
 	int16 matchSaveGame(const char *name, uint16 max);
@@ -1499,7 +1499,7 @@
 
 	virtual void playMusic(uint16 music, uint16 track);
 
-	virtual void vcStopAnimation(uint zone, uint sprite);
+	virtual void vcStopAnimation(uint16 zone, uint16 sprite);
 };
 
 class AGOSEngine_Simon2 : public AGOSEngine_Simon1 {

Modified: scummvm/trunk/engines/agos/vga_ww.cpp
===================================================================
--- scummvm/trunk/engines/agos/vga_ww.cpp	2007-06-21 05:10:42 UTC (rev 27578)
+++ scummvm/trunk/engines/agos/vga_ww.cpp	2007-06-21 05:26:47 UTC (rev 27579)
@@ -45,15 +45,17 @@
 	op[63] = &AGOSEngine::vc63_fastFadeIn;
 }
 
-void AGOSEngine::vcStopAnimation(uint zone, uint sprite) {
-	uint16 old_sprite_id;
+void AGOSEngine::vcStopAnimation(uint16 zone, uint16 sprite) {
+	uint16 oldCurSpriteId, oldCurZoneNum;
 	VgaSprite *vsp;
 	VgaTimerEntry *vte;
 	const byte *vcPtrOrg;
 
-	old_sprite_id = _vgaCurSpriteId;
+	oldCurSpriteId = _vgaCurSpriteId;
+	oldCurZoneNum = _vgaCurZoneNum;
 	vcPtrOrg = _vcPtr;
 
+	_vgaCurZoneNum = zone;
 	_vgaCurSpriteId = sprite;
 
 	vsp = findCurSprite();
@@ -62,7 +64,7 @@
 
 		vte = _vgaTimerList;
 		while (vte->delay) {
-			if (vte->sprite_id == _vgaCurSpriteId) {
+			if (vte->sprite_id == _vgaCurSpriteId && vte->cur_vga_file == _vgaCurZoneNum) {
 				deleteVgaEvent(vte);
 				break;
 			}
@@ -70,19 +72,20 @@
 		}
 	}
 
-	_vgaCurSpriteId = old_sprite_id;
+	_vgaCurZoneNum = oldCurZoneNum;
+	_vgaCurSpriteId = oldCurSpriteId;
 	_vcPtr = vcPtrOrg;
 }
 
-void AGOSEngine_Simon1::vcStopAnimation(uint zone, uint sprite) {
-	uint16 old_sprite_id, old_cur_file_id;
+void AGOSEngine_Simon1::vcStopAnimation(uint16 zone, uint16 sprite) {
+	uint16 oldCurSpriteId, oldCurZoneNum;
 	VgaSleepStruct *vfs;
 	VgaSprite *vsp;
 	VgaTimerEntry *vte;
 	const byte *vcPtrOrg;
 
-	old_sprite_id = _vgaCurSpriteId;
-	old_cur_file_id = _vgaCurZoneNum;
+	oldCurSpriteId = _vgaCurSpriteId;
+	oldCurZoneNum = _vgaCurZoneNum;
 	vcPtrOrg = _vcPtr;
 
 	_vgaCurZoneNum = zone;
@@ -114,8 +117,8 @@
 		}
 	}
 
-	_vgaCurZoneNum = old_cur_file_id;
-	_vgaCurSpriteId = old_sprite_id;
+	_vgaCurZoneNum = oldCurZoneNum;
+	_vgaCurSpriteId = oldCurSpriteId;
 	_vcPtr = vcPtrOrg;
 }
 


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