[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