aboutsummaryrefslogtreecommitdiff
path: root/engines/saga
diff options
context:
space:
mode:
authorFilippos Karapetis2009-04-10 22:33:29 +0000
committerFilippos Karapetis2009-04-10 22:33:29 +0000
commit202f0fc49de8f4d30e3981c634c25d00f87a01a1 (patch)
tree195f451b362e5cccc02702569affeabfccc55f3a /engines/saga
parent2d54d2717e2aa8f63d79d0600d2cd4d63c36b775 (diff)
downloadscummvm-rg350-202f0fc49de8f4d30e3981c634c25d00f87a01a1.tar.gz
scummvm-rg350-202f0fc49de8f4d30e3981c634c25d00f87a01a1.tar.bz2
scummvm-rg350-202f0fc49de8f4d30e3981c634c25d00f87a01a1.zip
Added a new console command, "wake_up_threads", which can wake up threads that are block waiting
svn-id: r39915
Diffstat (limited to 'engines/saga')
-rw-r--r--engines/saga/console.cpp14
-rw-r--r--engines/saga/console.h2
2 files changed, 16 insertions, 0 deletions
diff --git a/engines/saga/console.cpp b/engines/saga/console.cpp
index c76e50d477..2c201ac57d 100644
--- a/engines/saga/console.cpp
+++ b/engines/saga/console.cpp
@@ -74,6 +74,9 @@ Console::Console(SagaEngine *vm) : GUI::Debugger() {
DCmd_Register("action_map_info", WRAP_METHOD(Console, cmdActionMapInfo));
DCmd_Register("object_map_info", WRAP_METHOD(Console, cmdObjectMapInfo));
+ // Script commands
+ DCmd_Register("wake_up_threads", WRAP_METHOD(Console, cmdWakeUpThreads));
+
// Panel commands
DCmd_Register("current_panel_mode", WRAP_METHOD(Console, cmdCurrentPanelMode));
DCmd_Register("set_panel_mode", WRAP_METHOD(Console, cmdSetPanelMode));
@@ -159,6 +162,17 @@ bool Console::cmdObjectMapInfo(int argc, const char **argv) {
return true;
}
+bool Console::cmdWakeUpThreads(int argc, const char **argv) {
+ if (argc != 2) {
+ DebugPrintf("Usage: %s <wait type>\n", argv[0]);
+ DebugPrintf("e.g.: 1 for kWaitTypeDelay, 2 for kWaitTypeSpeech, 10 for kWaitTypeWaitFrames");
+ DebugPrintf("Refer to saga/script.h for additional types");
+ } else {
+ _vm->_script->wakeUpThreads(atoi(argv[1]));
+ }
+ return true;
+}
+
bool Console::cmdCurrentPanelMode(int argc, const char **argv) {
DebugPrintf("Current Panel Mode is: %i\n", _vm->_interface->getMode());
return true;
diff --git a/engines/saga/console.h b/engines/saga/console.h
index 2e995bd974..5fe4c3bf94 100644
--- a/engines/saga/console.h
+++ b/engines/saga/console.h
@@ -52,6 +52,8 @@ private:
bool cmdActionMapInfo(int argc, const char **argv);
bool cmdObjectMapInfo(int argc, const char **argv);
+ bool cmdWakeUpThreads(int argc, const char **argv);
+
bool cmdCurrentPanelMode(int argc, const char **argv);
bool cmdSetPanelMode(int argc, const char **argv);