diff --git a/engines/saga2/console.cpp b/engines/saga2/console.cpp index d89436f360c..79b830c589b 100644 --- a/engines/saga2/console.cpp +++ b/engines/saga2/console.cpp @@ -81,6 +81,8 @@ Console::Console(Saga2Engine *vm) : GUI::Debugger() { registerCmd("stats", WRAP_METHOD(Console, cmdStats)); + registerCmd("status_msg", WRAP_METHOD(Console, cmdStatusMsg)); + registerCmd("dump_map", WRAP_METHOD(Console, cmdDumpMap)); registerCmd("play_music", WRAP_METHOD(Console, cmdPlayMusic)); @@ -222,6 +224,17 @@ bool Console::cmdStats(int argc, const char **argv) { return true; } +bool Console::cmdStatusMsg(int argc, const char **argv) { + if (argc != 2) + debugPrintf("Usage: %s <1/0>\n", argv[0]); + else { + bool show = atoi(argv[1]); + _vm->_showStatusMsg = show; + } + + return true; +} + bool Console::cmdTeleportOnClick(int argc, const char **argv) { if (argc != 2) debugPrintf("Usage: %s <1/0>\n", argv[0]); diff --git a/engines/saga2/console.h b/engines/saga2/console.h index 29ac9305387..54d9555a374 100644 --- a/engines/saga2/console.h +++ b/engines/saga2/console.h @@ -68,6 +68,9 @@ private: // Input: <1/0>. Sets whether an item's stats show when holding it. bool cmdStats(int argc, const char **argv); + // Input: <1/0>. Sets whether the original debug status messages show. + bool cmdStatusMsg(int argc, const char **argv); + // Input: <1/0>. Sets whether you can teleport by right clicking on the screen. bool cmdTeleportOnClick(int argc, const char **argv); diff --git a/engines/saga2/main.cpp b/engines/saga2/main.cpp index 4e00bcc0470..76e4aa2624f 100644 --- a/engines/saga2/main.cpp +++ b/engines/saga2/main.cpp @@ -773,6 +773,9 @@ void cleanupGUIMessagers() { #ifdef WriteStatus void WriteStatusF(int16 line, const char *msg, ...) { + if (!g_vm->_showStatusMsg) + return; + va_list argptr; if (displayEnabled()) { va_start(argptr, msg); @@ -788,6 +791,9 @@ void WriteStatusF(int16 line, const char *msg, ...) { } void WriteStatusF2(int16 line, const char *msg, ...) { + if (!g_vm->_showStatusMsg) + return; + va_list argptr; if (displayEnabled()) { va_start(argptr, msg); diff --git a/engines/saga2/saga2.cpp b/engines/saga2/saga2.cpp index 310a15c5af8..38abcf10d4c 100644 --- a/engines/saga2/saga2.cpp +++ b/engines/saga2/saga2.cpp @@ -92,6 +92,7 @@ Saga2Engine::Saga2Engine(OSystem *syst, const SAGA2GameDescription *desc) _showPosition = false; _showStats = false; + _showStatusMsg = false; _teleportOnClick = false; _teleportOnMap = false; diff --git a/engines/saga2/saga2.h b/engines/saga2/saga2.h index 492e16ac234..f54ac941e2a 100644 --- a/engines/saga2/saga2.h +++ b/engines/saga2/saga2.h @@ -199,6 +199,7 @@ public: bool _teleportOnMap; bool _showPosition; bool _showStats; + bool _showStatusMsg; bool _indivControlsFlag; bool _userControlsSetup;