aboutsummaryrefslogtreecommitdiff
path: root/base
diff options
context:
space:
mode:
authorEugene Sandulenko2016-08-13 21:04:42 +0200
committerEugene Sandulenko2016-08-13 21:07:43 +0200
commit0fdab36710a3d74839c09bbaf48cbc502b898ebd (patch)
tree213f1ebcdcc574c65e2cba08d0e216fa60035877 /base
parente58545362f7829ade95f7bdb5e323c3e203c9bec (diff)
downloadscummvm-rg350-0fdab36710a3d74839c09bbaf48cbc502b898ebd.tar.gz
scummvm-rg350-0fdab36710a3d74839c09bbaf48cbc502b898ebd.tar.bz2
scummvm-rg350-0fdab36710a3d74839c09bbaf48cbc502b898ebd.zip
COMMON: Introduce --debug-channels-only command line flag.
Many of our systems currently generate significant amount of debug output on deeper levels. Now, when your engine is using Debug Channels, you might want to show that debug information only, which is currently not possible, as the generic output will be mixed in your output. Alternative solution would be to implement possibility to specify per-channel debug levels.
Diffstat (limited to 'base')
-rw-r--r--base/commandLine.cpp4
-rw-r--r--base/main.cpp4
2 files changed, 8 insertions, 0 deletions
diff --git a/base/commandLine.cpp b/base/commandLine.cpp
index 2c24c018ee..c2b4ea765f 100644
--- a/base/commandLine.cpp
+++ b/base/commandLine.cpp
@@ -97,6 +97,7 @@ static const char HELP_STRING[] =
" -d, --debuglevel=NUM Set debug verbosity level\n"
" --debugflags=FLAGS Enable engine specific debug flags\n"
" (separated by commas)\n"
+ " --debug-channels-only Show only the specified debug channels\n"
" -u, --dump-scripts Enable script dumping if a directory called 'dumps'\n"
" exists in the current directory\n"
"\n"
@@ -426,6 +427,9 @@ Common::String parseCommandLine(Common::StringMap &settings, int argc, const cha
DO_LONG_OPTION("debugflags")
END_OPTION
+ DO_LONG_OPTION_BOOL("debug-channels-only")
+ END_OPTION
+
DO_OPTION('e', "music-driver")
END_OPTION
diff --git a/base/main.cpp b/base/main.cpp
index 349f719ed5..1667106543 100644
--- a/base/main.cpp
+++ b/base/main.cpp
@@ -391,6 +391,10 @@ extern "C" int scummvm_main(int argc, const char * const argv[]) {
} else if (ConfMan.hasKey("debugflags"))
specialDebug = ConfMan.get("debugflags");
+ if (settings.contains("debug-channels-only"))
+ gDebugChannelsOnly = true;
+
+
PluginManager::instance().init();
PluginManager::instance().loadAllPlugins(); // load plugins for cached plugin manager