[Scummvm-cvs-logs] CVS: scummvm/simon simon.cpp,1.111,1.112 items.cpp,1.34,1.35

Oliver Kiehl olki at users.sourceforge.net
Sat Dec 7 05:07:01 CET 2002


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

Modified Files:
	simon.cpp items.cpp 
Log Message:
fixed speach getting turned off
added <escape> to skip cutscenes
cleanup


Index: simon.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/simon.cpp,v
retrieving revision 1.111
retrieving revision 1.112
diff -u -d -r1.111 -r1.112
--- simon.cpp	6 Dec 2002 15:24:13 -0000	1.111
+++ simon.cpp	7 Dec 2002 13:05:58 -0000	1.112
@@ -3058,6 +3058,51 @@
 
 void SimonState::processSpecialKeys()
 {
+	switch (_key_pressed) {
+		case 27: // escape
+			_exit_cutscene = true;
+			break;
+
+		case 't':
+			_vk_t_toggle ^= 1;
+			break;
+
+		case '+':
+			midi.set_volume(midi.get_volume() + 16);
+			break;
+
+		case '-':
+			midi.set_volume(midi.get_volume() - 16);
+			break;
+
+		case 'm':
+			midi.pause(_music_paused ^= 1);
+			break;
+
+		case 's':
+			_sound->effectsPause(_effects_paused ^= 1);
+			break;
+
+		case 'b':
+			_sound->ambientPause(_ambient_paused ^= 1);
+			break;
+
+		case 'r':
+			if (_debugMode)
+				_start_mainscript ^= 1;
+			break;
+
+		case 'o':
+			if (_debugMode)
+				_continous_mainscript ^= 1;
+			break;
+
+		case 'v':
+			if (_debugMode)
+				_continous_vgascript ^= 1;
+	}
+	
+	_key_pressed = 0;
 }
 
 static const byte _simon1_cursor[256] = {
@@ -4524,49 +4569,30 @@
 		while (_system->poll_event(&event)) {
 			switch (event.event_code) {
 				case OSystem::EVENT_KEYDOWN:
+					if (event.kbd.flags==OSystem::KBD_CTRL) {
+						if (event.kbd.keycode == 'f')
+							_fast_mode ^= 1;
+					}
+					_key_pressed = (byte)event.kbd.ascii;
+					break;
 
-				if (event.kbd.ascii == 't') {
-					_vk_t_toggle ^= 1;
-				} else if (event.kbd.ascii == '+') {
-					midi.set_volume(midi.get_volume() + 16);
-				} else if (event.kbd.ascii == '-') {
-					midi.set_volume(midi.get_volume() - 16);
-				} else if (event.kbd.ascii == 'm') {
-					midi.pause(_music_paused ^= 1);
-				} else if (event.kbd.ascii == 's') {
-					_sound->effectsPause(_effects_paused ^= 1);
-				} else if (event.kbd.ascii == 'b') {
-					_sound->ambientPause(_ambient_paused ^= 1);
-				} else if (event.kbd.flags==OSystem::KBD_CTRL) {
-					if (event.kbd.keycode == 'f')
-						_fast_mode ^= 1;
-				} else if (_debugMode) {
-					if (event.kbd.ascii == 'r') {
-						_start_mainscript ^= 1;
-					} else if (event.kbd.ascii == 'o') {
-						_continous_mainscript ^= 1;
-					} else if (event.kbd.ascii == 'v') 
-						_continous_vgascript ^= 1;
-				}
-				_key_pressed = (byte)event.kbd.ascii;
-				break;
 				case OSystem::EVENT_MOUSEMOVE:
-				_sdl_mouse_x = event.mouse.x;
-				_sdl_mouse_y = event.mouse.y;
-				_mouse_pos_changed = true;
-				break;
+					_sdl_mouse_x = event.mouse.x;
+					_sdl_mouse_y = event.mouse.y;
+					_mouse_pos_changed = true;
+					break;
 
-				case OSystem::EVENT_LBUTTONDOWN:
-				_left_button_down++;
+					case OSystem::EVENT_LBUTTONDOWN:
+					_left_button_down++;
 #ifdef _WIN32_WCE
-				_sdl_mouse_x = event.mouse.x;
-				_sdl_mouse_y = event.mouse.y;
+					_sdl_mouse_x = event.mouse.x;
+					_sdl_mouse_y = event.mouse.y;
 #endif
-				break;
+					break;
 
 				case OSystem::EVENT_RBUTTONDOWN:
-				_exit_cutscene = true;
-				break;
+					_exit_cutscene = true;
+					break;
 			}
 		}
 

Index: items.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/items.cpp,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -d -r1.34 -r1.35
--- items.cpp	6 Dec 2002 02:14:36 -0000	1.34
+++ items.cpp	7 Dec 2002 13:05:58 -0000	1.35
@@ -1370,21 +1370,20 @@
 
 void SimonState::o_quit_if_user_presses_y()
 {
-	OSystem::Event event;
-
 	for (;;) {
-		_system->poll_event(&event);
-		if (event.event_code == OSystem::EVENT_KEYDOWN) {
-			// FIXME Arisme : better than being blocked ?
-			if (event.kbd.keycode == 'y' ||
-				event.kbd.keycode == 'o' || /* french */
-				event.kbd.keycode == 'j' /* german I guess :) */)
+		delay(1);
+		switch (_key_pressed) {
+			case 'y':
+			case 'o': // french
+			case 'j': // german
 				_system->quit();
-			else if (event.kbd.keycode == 'n')
 				break;
+
+			case 'n':
+				goto get_out;
 		}
-		delay(10);
 	}
+get_out:;
 }
 
 void SimonState::o_unk_137(uint fcs_index)





More information about the Scummvm-git-logs mailing list