[Scummvm-cvs-logs] CVS: scummvm/sword2 sword2.cpp,1.89,1.90
Torbj?rn Andersson
eriktorbjorn at users.sourceforge.net
Wed Dec 10 00:00:02 CET 2003
Update of /cvsroot/scummvm/scummvm/sword2
In directory sc8-pr-cvs1:/tmp/cvs-serv8013
Modified Files:
sword2.cpp
Log Message:
Cleaned up keyboard handling. The old code would misinterpret some keys,
e.g. it's 'C' or 'c' to display the credits, not some random function key.
Index: sword2.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sword2/sword2.cpp,v
retrieving revision 1.89
retrieving revision 1.90
diff -u -d -r1.89 -r1.90
--- sword2.cpp 1 Dec 2003 10:24:02 -0000 1.89
+++ sword2.cpp 10 Dec 2003 07:59:45 -0000 1.90
@@ -342,41 +342,35 @@
if (_input->keyWaiting()) {
_input->readKey(&ke);
- char c = toupper(ke.ascii);
-
- if ((ke.modifiers == OSystem::KBD_CTRL && ke.keycode == 'd') || c == '~' || c == '#') {
+ if ((ke.modifiers == OSystem::KBD_CTRL && ke.keycode == 'd') || ke.ascii == '#' || ke.ascii == '~') {
_debugger->attach();
- }
-
- if (_gamePaused) { // if currently paused
- if (c == 'P') {
- // 'P' while paused = unpause!
- unpauseGame();
- }
+ } else if (ke.modifiers == 0 || ke.modifiers == OSystem::KBD_SHIFT) {
+ switch (ke.keycode) {
+ case 'p':
+ if (_gamePaused)
+ unpauseGame();
+ else
+ pauseGame();
+ break;
+ case 'c':
+ if (!(_features & GF_DEMO))
+ _logic->fnPlayCredits(NULL);
+ break;
#ifdef _SWORD2_DEBUG
- // frame-skipping only allowed on
- // debug version
-
- else if (c == ' ') {
- // SPACE bar while paused =
- // step one frame!
- _stepOneCycle = true;
- unpauseGame();
- }
+ case ' ':
+ if (_gamePaused) {
+ _stepOneCycle = true;
+ unpauseGame();
+ }
+ break;
+ case 's':
+ _renderSkip = !_renderSkip;
+ break;
#endif
- } else if (c == 'P') {
- // 'P' while not paused = pause!
- pauseGame();
- } else if (c == 'C' && !(_features & GF_DEMO)) {
- _logic->fnPlayCredits(NULL);
- }
-#ifdef _SWORD2_DEBUG
- else if (c == 'S') {
- // 'S' toggles speed up (by skipping
- // display rendering)
- _renderSkip = !_renderSkip;
+ default:
+ break;
+ }
}
-#endif
}
// skip GameCycle if we're paused
More information about the Scummvm-git-logs
mailing list