diff -ur ScummVM-cvs20021217/scummvm/scumm/dialogs.h ScummVM-cvs20021217+hack/scummvm/scumm/dialogs.h
old
|
new
|
|
120 | 120 | { close(); } |
121 | 121 | virtual void handleKeyDown(uint16 ascii, int keycode, int modifiers) |
122 | 122 | { |
123 | | if (ascii == ' ') // Close pause dialog if space key is pressed |
124 | | close(); |
125 | | else |
126 | | ScummDialog::handleKeyDown(ascii, keycode, modifiers); |
| 123 | setResult(ascii); |
| 124 | close(); |
127 | 125 | } |
128 | 126 | protected: |
129 | 127 | void setInfoText (const String& message); |
… |
… |
|
132 | 130 | class PauseDialog : public InfoDialog { |
133 | 131 | public: |
134 | 132 | PauseDialog(NewGui *gui, Scumm *scumm); |
| 133 | virtual void handleKeyDown(uint16 ascii, int keycode, int modifiers) |
| 134 | { |
| 135 | if (ascii == ' ') // Close pause dialog if space key is pressed |
| 136 | close(); |
| 137 | else |
| 138 | ScummDialog::handleKeyDown(ascii, keycode, modifiers); |
| 139 | } |
135 | 140 | }; |
136 | 141 | |
137 | 142 | #ifdef _WIN32_WCE |
diff -ur ScummVM-cvs20021217/scummvm/scumm/scumm.h ScummVM-cvs20021217+hack/scummvm/scumm/scumm.h
old
|
new
|
|
953 | 953 | #endif |
954 | 954 | |
955 | 955 | /* Scumm Vars */ |
| 956 | byte VAR_KEYPRESS; |
956 | 957 | byte VAR_EGO; |
957 | 958 | byte VAR_CAMERA_POS_X; |
958 | 959 | byte VAR_HAVE_MSG; |
diff -ur ScummVM-cvs20021217/scummvm/scumm/scummvm.cpp ScummVM-cvs20021217+hack/scummvm/scumm/scummvm.cpp
old
|
new
|
|
1397 | 1397 | resourceStats(); |
1398 | 1398 | else |
1399 | 1399 | _keyPressed = event.kbd.ascii; // Normal key press, pass on to the game. |
| 1400 | } else if (event.kbd.flags==(OSystem::KBD_CTRL | OSystem::KBD_ALT)) { |
| 1401 | // I don't know if this is correct, but |
| 1402 | // I do know that Ctrl-Alt-W should be |
| 1403 | // 273, because that's what MI2 checks |
| 1404 | // for in its "instant win" cheat. |
| 1405 | _keyPressed = event.kbd.ascii + 250; |
1400 | 1406 | } else |
1401 | 1407 | _keyPressed = event.kbd.ascii; // Normal key press, pass on to the game. |
1402 | 1408 | break; |
diff -ur ScummVM-cvs20021217/scummvm/scumm/string.cpp ScummVM-cvs20021217+hack/scummvm/scumm/string.cpp
old
|
new
|
|
425 | 425 | _string[3].color = 4; |
426 | 426 | |
427 | 427 | InfoDialog* dialog = new InfoDialog(_newgui, this, (char*)buf); |
428 | | runDialog (dialog); |
| 428 | // FIXME: I know this is the right thing to do for MI1 and MI2. For |
| 429 | // all other games it's just a guess. |
| 430 | _vars[VAR_KEYPRESS] = runDialog (dialog); |
429 | 431 | delete dialog; |
430 | 432 | |
431 | 433 | _messagePtr = tmp; |
diff -ur ScummVM-cvs20021217/scummvm/scumm/vars.cpp ScummVM-cvs20021217+hack/scummvm/scumm/vars.cpp
old
|
new
|
|
26 | 26 | |
27 | 27 | void Scumm::setupScummVars() |
28 | 28 | { |
| 29 | VAR_KEYPRESS = 0; |
29 | 30 | VAR_EGO = 1; |
30 | 31 | VAR_CAMERA_POS_X = 2; |
31 | 32 | VAR_HAVE_MSG = 3; |
… |
… |
|
113 | 114 | |
114 | 115 | void Scumm_v7::setupScummVars() |
115 | 116 | { |
| 117 | VAR_KEYPRESS = 0; |
116 | 118 | VAR_MOUSE_X = 1; |
117 | 119 | VAR_MOUSE_Y = 2; |
118 | 120 | VAR_VIRT_MOUSE_X = 3; |