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

Kirben at users.sourceforge.net Kirben at users.sourceforge.net
Sat Jun 2 15:35:26 CEST 2007


Revision: 27052
          http://scummvm.svn.sourceforge.net/scummvm/?rev=27052&view=rev
Author:   Kirben
Date:     2007-06-02 06:35:24 -0700 (Sat, 02 Jun 2007)

Log Message:
-----------
Fix display of conversation responses in Waxworks.

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-02 12:42:40 UTC (rev 27051)
+++ scummvm/trunk/engines/agos/agos.h	2007-06-02 13:35:24 UTC (rev 27052)
@@ -1202,7 +1202,7 @@
 	void fastFadeIn();
 	void slowFadeIn();
 
-	void vcStopAnimation(uint file, uint sprite);
+	virtual void vcStopAnimation(uint zone, uint sprite);
 
 	void disableFileBoxes();
 	virtual void listSaveGames(char *dst);
@@ -1475,6 +1475,8 @@
 	virtual void listSaveGames(char *dst);
 	virtual void userGame(bool load);
 	virtual int userGameGetKey(bool *b, char *buf, uint maxChar);
+
+	virtual void vcStopAnimation(uint zone, uint sprite);
 };
 
 class AGOSEngine_Simon2 : public AGOSEngine_Simon1 {

Modified: scummvm/trunk/engines/agos/vga_ww.cpp
===================================================================
--- scummvm/trunk/engines/agos/vga_ww.cpp	2007-06-02 12:42:40 UTC (rev 27051)
+++ scummvm/trunk/engines/agos/vga_ww.cpp	2007-06-02 13:35:24 UTC (rev 27052)
@@ -43,7 +43,36 @@
 	op[63] = &AGOSEngine::vc63_fastFadeIn;
 }
 
-void AGOSEngine::vcStopAnimation(uint file, uint sprite) {
+void AGOSEngine::vcStopAnimation(uint zone, uint sprite) {
+	uint16 old_sprite_id;
+	VgaSprite *vsp;
+	VgaTimerEntry *vte;
+	const byte *vcPtrOrg;
+
+	old_sprite_id = _vgaCurSpriteId;
+	vcPtrOrg = _vcPtr;
+
+	_vgaCurSpriteId = sprite;
+
+	vsp = findCurSprite();
+	if (vsp->id) {
+		vc25_halt_sprite();
+
+		vte = _vgaTimerList;
+		while (vte->delay) {
+			if (vte->sprite_id == _vgaCurSpriteId) {
+				deleteVgaEvent(vte);
+				break;
+			}
+			vte++;
+		}
+	}
+
+	_vgaCurSpriteId = old_sprite_id;
+	_vcPtr = vcPtrOrg;
+}
+
+void AGOSEngine_Simon1::vcStopAnimation(uint zone, uint sprite) {
 	uint16 old_sprite_id, old_cur_file_id;
 	VgaSleepStruct *vfs;
 	VgaSprite *vsp;
@@ -54,7 +83,7 @@
 	old_cur_file_id = _vgaCurZoneNum;
 	vcPtrOrg = _vcPtr;
 
-	_vgaCurZoneNum = file;
+	_vgaCurZoneNum = zone;
 	_vgaCurSpriteId = sprite;
 
 	vfs = _waitSyncTable;


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