aboutsummaryrefslogtreecommitdiff
path: root/gui/debugger.cpp
diff options
context:
space:
mode:
authorD G Turner2014-05-10 17:08:34 +0100
committerD G Turner2014-05-10 17:12:14 +0100
commitbc7af1de19e249c2928dd8df9da6250334a9b652 (patch)
tree7c2048b3ea0aeb933c78a129282e04b64c5cb0c6 /gui/debugger.cpp
parent0549ae8259f25a3bd86e6dabfb822d96c5b40416 (diff)
downloadscummvm-rg350-bc7af1de19e249c2928dd8df9da6250334a9b652.tar.gz
scummvm-rg350-bc7af1de19e249c2928dd8df9da6250334a9b652.tar.bz2
scummvm-rg350-bc7af1de19e249c2928dd8df9da6250334a9b652.zip
GUI: Add "debuglevel" command to Debugger base class.
This allows the debug level to be changed at runtime from the debug console.
Diffstat (limited to 'gui/debugger.cpp')
-rw-r--r--gui/debugger.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/gui/debugger.cpp b/gui/debugger.cpp
index 2ec9937fdb..832f49f0c9 100644
--- a/gui/debugger.cpp
+++ b/gui/debugger.cpp
@@ -61,6 +61,7 @@ Debugger::Debugger() {
DCmd_Register("help", WRAP_METHOD(Debugger, Cmd_Help));
DCmd_Register("openlog", WRAP_METHOD(Debugger, Cmd_OpenLog));
+ DCmd_Register("debuglevel", WRAP_METHOD(Debugger, Cmd_DebugLevel));
DCmd_Register("debugflag_list", WRAP_METHOD(Debugger, Cmd_DebugFlagsList));
DCmd_Register("debugflag_enable", WRAP_METHOD(Debugger, Cmd_DebugFlagEnable));
DCmd_Register("debugflag_disable", WRAP_METHOD(Debugger, Cmd_DebugFlagDisable));
@@ -501,6 +502,22 @@ bool Debugger::Cmd_OpenLog(int argc, const char **argv) {
}
+bool Debugger::Cmd_DebugLevel(int argc, const char **argv) {
+ if (argc == 1) {
+ DebugPrintf("Debugging is currently set at level %d\n", gDebugLevel);
+ } else { // set level
+ gDebugLevel = atoi(argv[1]);
+ if (gDebugLevel >= 0 && gDebugLevel < 11) {
+ DebugPrintf("Debug level set to level %d\n", gDebugLevel);
+ } else if (gDebugLevel < 0) {
+ DebugPrintf("Debugging is now disabled\n");
+ } else
+ DebugPrintf("Not a valid debug level (0 - 10)\n");
+ }
+
+ return true;
+}
+
bool Debugger::Cmd_DebugFlagsList(int argc, const char **argv) {
const Common::DebugManager::DebugChannelList &debugLevels = DebugMan.listDebugChannels();