aboutsummaryrefslogtreecommitdiff
path: root/engines/adl/console.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/adl/console.cpp')
-rw-r--r--engines/adl/console.cpp38
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