[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