[Scummvm-cvs-logs] CVS: scummvm/simon items.cpp,1.29,1.30 simon.h,1.30,1.31

Travis Howell kirben at users.sourceforge.net
Mon Dec 2 21:35:01 CET 2002


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

Modified Files:
	items.cpp simon.h 
Log Message:

Last minute simon fixes
Full simon 2 intro now works
All simon 2 cut scenes can be skipped
One simon 2 freeze completely fixed


Index: items.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/items.cpp,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -d -r1.29 -r1.30
--- items.cpp	2 Dec 2002 00:11:22 -0000	1.29
+++ items.cpp	3 Dec 2002 05:34:55 -0000	1.30
@@ -465,6 +465,8 @@
 			break;
 
 		case 83:{									/* restart subroutine */
+				if (_game & GAME_SIMON2)
+					o_83_helper();
 				return -10;
 			}
 
@@ -1280,9 +1282,32 @@
 	return true;
 }
 
+void SimonState::o_83_helper()
+{
+		if (_exit_cutscene) {
+			if (vc_get_bit(9)) {
+				startSubroutine170();
+			}
+		} else {
+			processSpecialKeys();
+		}
+}
+
 void SimonState::o_190_helper(uint i)
 {
-	warning("o_190_helper not implemented");
+	_exit_cutscene = false;
+	while (!(_op_189_flags & (1 << i))) {
+		if (_exit_cutscene) {
+			if (vc_get_bit(9)) {
+				startSubroutine170();
+				break;
+			}
+		} else {
+			processSpecialKeys();
+		}
+
+		delay(10);
+	}
 }
 
 
@@ -1300,7 +1325,8 @@
 		return 0;
 	}
 
-	if (((uint) (rand() >> 5)) % 100 < a) {
+	warning("opcode 24 random is been used");
+	if (((uint) (_rnd.getRandomNumber(100) >> 5)) % 100 < a) {
 		if (_script_unk_1 <= 0)
 			_script_unk_1 -= 5;
 		else

Index: simon.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/simon.h,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -d -r1.30 -r1.31
--- simon.h	1 Dec 2002 15:36:36 -0000	1.30
+++ simon.h	3 Dec 2002 05:34:55 -0000	1.31
@@ -754,6 +754,7 @@
 	void checkTimerCallback();
 	void delay(uint delay);
 
+	void o_83_helper();
 	void o_190_helper(uint i);
 	void vc_58();
 	void timer_vga_sprites_helper();





More information about the Scummvm-git-logs mailing list