aboutsummaryrefslogtreecommitdiff
path: root/engines/wintermute/debugger.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/wintermute/debugger.cpp')
-rw-r--r--engines/wintermute/debugger.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/engines/wintermute/debugger.cpp b/engines/wintermute/debugger.cpp
index 760a852c97..6a349c070f 100644
--- a/engines/wintermute/debugger.cpp
+++ b/engines/wintermute/debugger.cpp
@@ -46,6 +46,8 @@ Console::Console(WintermuteEngine *vm) : GUI::Debugger(), _engineRef(vm) {
registerCmd(REMOVE_BREAKPOINT_CMD, WRAP_METHOD(Console, Cmd_RemoveBreakpoint));
registerCmd(DISABLE_BREAKPOINT_CMD, WRAP_METHOD(Console, Cmd_DisableBreakpoint));
registerCmd(ENABLE_BREAKPOINT_CMD, WRAP_METHOD(Console, Cmd_EnableBreakpoint));
+ registerCmd(PRINT_CMD, WRAP_METHOD(Console, Cmd_Print));
+ registerCmd(SET_CMD, WRAP_METHOD(Console, Cmd_Set));
registerCmd(INFO_CMD, WRAP_METHOD(Console, Cmd_Info));
registerCmd(SET_PATH_CMD, WRAP_METHOD(Console, Cmd_SourcePath));
registerCmd(TOP_CMD, WRAP_METHOD(Console, Cmd_Top));
@@ -194,6 +196,40 @@ bool Console::Cmd_List(int argc, const char **argv) {
return true;
}
+bool Console::Cmd_Print(int argc, const char **argv) {
+ if (argc == 2) {
+ Error error = Error(SUCCESS, OK, 0);
+ Common::String temp = CONTROLLER->readValue(argv[1], &error);
+ if (error.getErrorLevel() == SUCCESS) {
+ debugPrintf("%s = %s \n", argv[1], temp.c_str());
+ return true;
+ } else {
+ printError(argv[0], error);
+ return true;
+ }
+ } else {
+ printUsage(argv[0]);
+ return true;
+ }
+}
+
+
+bool Console::Cmd_Set(int argc, const char **argv) {
+ if (argc == 4 && !strncmp("=", argv[2], 1)) {
+ ScValue *val = nullptr;
+ Error error = CONTROLLER->setValue(argv[1], argv[3], val);
+ if (error.getErrorLevel() == SUCCESS) {
+ assert(val);
+ debugPrintf("%s = %s\n", argv[1], val->getString());
+ } else {
+ printError(argv[0], error);
+ }
+ } else {
+ printUsage(argv[0]);
+ }
+ return true;
+}
+
bool Console::Cmd_ShowFps(int argc, const char **argv) {
if (argc == 2) {
if (Common::String(argv[1]) == "true") {