[Scummvm-cvs-logs] CVS: scummvm/simon simon.cpp,1.354,1.355 simon.h,1.105,1.106

Travis Howell kirben at users.sourceforge.net
Wed Dec 10 18:10:00 CET 2003


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

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

Add some WIP quick load/save keys code for simon 1/2. currently disabled.


Index: simon.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/simon.cpp,v
retrieving revision 1.354
retrieving revision 1.355
diff -u -d -r1.354 -r1.355
--- simon.cpp	10 Dec 2003 01:05:21 -0000	1.354
+++ simon.cpp	11 Dec 2003 02:09:18 -0000	1.355
@@ -29,6 +29,8 @@
 #include "common/config-manager.h"
 #include "common/file.h"
 
+#include "gui/message.h"
+
 #include "simon/simon.h"
 #include "simon/intern.h"
 #include "simon/vga.h"
@@ -471,6 +473,10 @@
 
 	_dump_file = 0;
 
+	_saveLoadFlag = 0;
+	_saveLoadSlot = 0;
+	memset(_saveLoadName, 0, sizeof(_saveLoadName));
+
 	_saveload_row_curpos = 0;
 	_num_savegame_rows = 0;
 	_savedialog_flag = false;
@@ -4787,7 +4793,40 @@
 		while (_system->poll_event(&event)) {
 			switch (event.event_code) {
 			case OSystem::EVENT_KEYDOWN:
-				if (event.kbd.flags==OSystem::KBD_CTRL) {
+			// First attempt at quick load/save keys support
+			// For some reason Simon often walks into a location when loading
+			// and sometimes Simon isn't shown until he is moved.
+
+/*				if (event.kbd.keycode >= '0' && event.kbd.keycode<='9'
+					&& (event.kbd.flags == OSystem::KBD_ALT ||
+						event.kbd.flags == OSystem::KBD_CTRL)) {
+					_saveLoadSlot = event.kbd.keycode - '0';
+
+					sprintf(_saveLoadName, "Quicksave %d", _saveLoadSlot);
+					_saveLoadFlag = (event.kbd.flags == OSystem::KBD_ALT) ? 1 : 2;
+
+					// We should only allow a load or save when it was possible in original
+					// This stops load/save during cutscenes
+					// But can still load/save during converstation
+					// TODO: Add dialog to confirm game was saved.
+					if (!_lock_counter) {
+						if (_saveLoadFlag == 2) {
+							Subroutine *sub;
+							load_game(_saveLoadSlot);
+							// Redraw Inventory
+							lock();
+							fcs_unk_proc_1(2, getItem1Ptr(), 0, 0);
+							unlock();
+							// Reset engine?
+							sub = getSubroutineByID(7);
+							startSubroutine(sub);
+						} else {
+							save_game(_saveLoadSlot, _saveLoadName);
+						}
+						_saveLoadFlag = 0;
+					}
+*/
+				if (event.kbd.flags == OSystem::KBD_CTRL) {
 					if (event.kbd.keycode == 'f')
 						_fast_mode ^= 1;
 				}

Index: simon.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/simon.h,v
retrieving revision 1.105
retrieving revision 1.106
diff -u -d -r1.105 -r1.106
--- simon.h	10 Dec 2003 00:54:53 -0000	1.105
+++ simon.h	11 Dec 2003 02:09:18 -0000	1.106
@@ -351,6 +351,9 @@
 	bool _save_or_load;
 	bool _saveload_flag;
 
+	byte _saveLoadFlag, _saveLoadSlot;
+	char _saveLoadName[32];
+
 	int _sdl_mouse_x, _sdl_mouse_y;
 	
 	byte *_sdl_buf_3;





More information about the Scummvm-git-logs mailing list