diff options
author | Bendegúz Nagy | 2016-08-26 22:51:17 +0200 |
---|---|---|
committer | Bendegúz Nagy | 2016-08-26 23:02:22 +0200 |
commit | 50f3cfa625e338276e8a4d38836227877ab93e3a (patch) | |
tree | 1b19f1bf9c5ae2fdff42a3e9dca14ce6849241dd /engines/dm/console.cpp | |
parent | 36395c5b268e80d01ceda2924a69c0e0d293f220 (diff) | |
download | scummvm-rg350-50f3cfa625e338276e8a4d38836227877ab93e3a.tar.gz scummvm-rg350-50f3cfa625e338276e8a4d38836227877ab93e3a.tar.bz2 scummvm-rg350-50f3cfa625e338276e8a4d38836227877ab93e3a.zip |
DM: Add debug command godmode
Diffstat (limited to 'engines/dm/console.cpp')
-rw-r--r-- | engines/dm/console.cpp | 42 |
1 files changed, 40 insertions, 2 deletions
diff --git a/engines/dm/console.cpp b/engines/dm/console.cpp index e2618507f9..a1600661bc 100644 --- a/engines/dm/console.cpp +++ b/engines/dm/console.cpp @@ -30,6 +30,44 @@ namespace DM { -Console::Console(DM::DMEngine* vm) : _vm(vm) {} +Console::Console(DM::DMEngine* vm) : _vm(vm) { + _debugGodmodeMana = false; + _debugGodmodeHP = false; + _debugGodmodeStamina = false; -}
\ No newline at end of file + registerCmd("godmode", WRAP_METHOD(Console, Cmd_godmode)); +} + +bool Console::Cmd_godmode(int argc, const char** argv) { + if (argc < 3) + goto argumentError; + + bool setFlagTo; + + if (strcmp("on", argv[2]) == 0) { + setFlagTo = true; + } else if (strcmp("off", argv[2]) == 0) { + setFlagTo = false; + } else + goto argumentError; + + if (strcmp("all", argv[1]) == 0) { + _debugGodmodeHP = _debugGodmodeMana = _debugGodmodeStamina = setFlagTo; + } else if (strcmp("mana", argv[1]) == 0) { + _debugGodmodeMana = setFlagTo; + } else if (strcmp("hp", argv[1]) == 0) { + _debugGodmodeHP = setFlagTo; + } else if (strcmp("stamina", argv[1]) == 0) { + _debugGodmodeStamina = setFlagTo; + } else + goto argumentError; + + debugPrintf("God mode set for %s to %s\n", argv[1], argv[2]); + return true; + +argumentError: + debugPrintf("Usage: %s <all/mana/hp/stamina> <on/off>\n", argv[0]); + return true; +} + +} |