[Scummvm-cvs-logs] CVS: scummvm/simon simon.cpp,1.112,1.113 simon.h,1.35,1.36

Oliver Kiehl olki at users.sourceforge.net
Sat Dec 7 09:37:04 CET 2002


Update of /cvsroot/scummvm/scummvm/simon
In directory sc8-pr-cvs1:/tmp/cvs-serv3134

Modified Files:
	simon.cpp simon.h 
Log Message:
added the possibility to interrupt conversations in simon2 as in the original game


Index: simon.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/simon.cpp,v
retrieving revision 1.112
retrieving revision 1.113
diff -u -d -r1.112 -r1.113
--- simon.cpp	7 Dec 2002 13:05:58 -0000	1.112
+++ simon.cpp	7 Dec 2002 17:36:38 -0000	1.113
@@ -1133,8 +1133,8 @@
 {
 	Subroutine *sub;
 
-	/* XXX: stop speech */
-
+	_sound->stopVoice();
+	
 	sub = getSubroutineByID(170);
 	if (sub != NULL)
 		startSubroutineEx(sub);
@@ -2475,7 +2475,6 @@
 #endif
 }
 
-
 void SimonState::o_wait_for_vga(uint a)
 {
 	_vga_wait_for = a;
@@ -2489,6 +2488,12 @@
 				startSubroutine170();
 				break;
 			}
+			if (_game & GAME_SIMON2) {
+				if (_vga_wait_for == 200 && !vc_get_bit(14)) {
+					skip_speech();
+					break;
+				}
+			}
 		} else {
 			processSpecialKeys();
 		}
@@ -2509,6 +2514,18 @@
 	_system->show_mouse(true);
 }
 
+void SimonState::skip_speech()
+{
+	_sound->stopVoice();
+	if (!(_bit_array[1] & 0x1000)) {
+		_bit_array[0] |= 0x4000;
+		_variableArray[200] = 5;
+		start_vga_code(4, 1, 0x1e, 0, 0, 0);
+		o_wait_for_vga(0x82);
+		o_unk_99_simon2(2, 1);
+	}       
+}
+
 void SimonState::timer_vga_sprites()
 {
 	VgaSprite *vsp;
@@ -3761,7 +3778,7 @@
 				return;
 			if (!(_bit_array[0] & 0x4000 || _bit_array[1] & 0x1000)) {
 				_bit_array[0] |= 0x4000;
-
+				_variableArray[200] = 5;
 				start_vga_code(4, 1, 0x1e, 0, 0, 0);
 				o_wait_for_vga(0x82);
 			}

Index: simon.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/simon.h,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -d -r1.35 -r1.36
--- simon.h	6 Dec 2002 15:24:14 -0000	1.35
+++ simon.h	7 Dec 2002 17:36:38 -0000	1.36
@@ -452,6 +452,7 @@
 
 	void o_unk_114();
 	void o_wait_for_vga(uint a);
+	void skip_speech();
 	void o_unk_120(uint a);
 	void o_unk_126();
 	void o_unk_127();





More information about the Scummvm-git-logs mailing list