aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gui/debugger.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/gui/debugger.cpp b/gui/debugger.cpp
index 3973583d38..d5fdbd82c6 100644
--- a/gui/debugger.cpp
+++ b/gui/debugger.cpp
@@ -247,6 +247,18 @@ bool Debugger::parseCommand(const char *inputOrig) {
*(int32 *)_dvars[i].variable = atoi(param[1]);
DebugPrintf("(int)%s = %d\n", param[0], *(int32 *)_dvars[i].variable);
break;
+ case DVAR_BOOL:
+ {
+ Common::String value = Common::String(param[1]);
+ if (value.equalsIgnoreCase("true") || value.equalsIgnoreCase("false") ||
+ value == "1" || value == "0") {
+ *(bool *)_dvars[i].variable = (value.equalsIgnoreCase("true") || value == "1");
+ DebugPrintf("(bool)%s = %s\n", param[0], *(bool *)_dvars[i].variable ? "true" : "false");
+ } else {
+ DebugPrintf("Invalid value for boolean variable. Valid values are \"true\", \"false\", \"1\", \"0\"");
+ }
+ }
+ break;
// Integer Array
case DVAR_INTARRAY: {
const char *chr = strchr(param[0], '[');
@@ -278,6 +290,9 @@ bool Debugger::parseCommand(const char *inputOrig) {
case DVAR_INT:
DebugPrintf("(int)%s = %d\n", param[0], *(const int32 *)_dvars[i].variable);
break;
+ case DVAR_BOOL:
+ DebugPrintf("(bool)%s = %s\n", param[0], *(const bool *)_dvars[i].variable ? "true" : "false");
+ break;
// Integer array
case DVAR_INTARRAY: {
const char *chr = strchr(param[0], '[');