diff options
-rw-r--r-- | gui/debugger.cpp | 15 |
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], '['); |