diff options
Diffstat (limited to 'engines/adl/console.cpp')
-rw-r--r-- | engines/adl/console.cpp | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/engines/adl/console.cpp b/engines/adl/console.cpp index e1242fa64f..527a575198 100644 --- a/engines/adl/console.cpp +++ b/engines/adl/console.cpp @@ -44,6 +44,9 @@ Console::Console(AdlEngine *engine) : GUI::Debugger() { registerCmd("vars", WRAP_METHOD(Console, Cmd_Vars)); registerCmd("var", WRAP_METHOD(Console, Cmd_Var)); registerCmd("convert_disk", WRAP_METHOD(Console, Cmd_ConvertDisk)); + registerCmd("run_script", WRAP_METHOD(Console, Cmd_RunScript)); + registerCmd("stop_script", WRAP_METHOD(Console, Cmd_StopScript)); + registerCmd("set_script_delay", WRAP_METHOD(Console, Cmd_SetScriptDelay)); } Common::String Console::toAscii(const Common::String &str) { @@ -423,4 +426,39 @@ bool Console::Cmd_ConvertDisk(int argc, const char **argv) { return true; } +bool Console::Cmd_RunScript(int argc, const char **argv) { + if (argc != 2) { + debugPrintf("Usage: %s <file>\n", argv[0]); + return true; + } + + _engine->runScript(argv[1]); + + return false; +} + +bool Console::Cmd_StopScript(int argc, const char **argv) { + if (argc != 1) { + debugPrintf("Usage: %s\n", argv[0]); + return true; + } + + _engine->stopScript(); + + return true; +} + +bool Console::Cmd_SetScriptDelay(int argc, const char **argv) { + if (argc != 2) { + debugPrintf("Usage: %s <delay>\n", argv[0]); + debugPrintf("A delay of zero indicates wait-for-key\n"); + return true; + } + + Common::String value(argv[1]); + _engine->setScriptDelay((uint)value.asUint64()); + + return true; +} + } // End of namespace Adl |