diff options
Diffstat (limited to 'scumm/debugger.cpp')
-rw-r--r-- | scumm/debugger.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/scumm/debugger.cpp b/scumm/debugger.cpp index d3442eb784..b19aae44d4 100644 --- a/scumm/debugger.cpp +++ b/scumm/debugger.cpp @@ -112,6 +112,7 @@ void ScummDebugger::attach(Scumm *s, char *entry) { DCmd_Register("hide", &ScummDebugger::Cmd_Hide); DCmd_Register("imuse_multimidi", &ScummDebugger::Cmd_ImuseMultiMidi); + DCmd_Register("imuse_panic", &ScummDebugger::Cmd_ImusePanic); } } @@ -365,7 +366,8 @@ bool ScummDebugger::Cmd_Restart(int argc, const char **argv) { bool ScummDebugger::Cmd_ImuseMultiMidi (int argc, const char **argv) { if (argc > 1) { - _s->_imuse->property (IMuse::PROP_MULTI_MIDI, !strcmp (argv[1], "1") || !strcmp (argv[1], "on") || !strcmp (argv[1], "true")); + if (_s->_imuse) + _s->_imuse->property (IMuse::PROP_MULTI_MIDI, !strcmp (argv[1], "1") || !strcmp (argv[1], "on") || !strcmp (argv[1], "true")); return false; } else { Debug_Printf("Use 'imuse_multimidi on|off' to switch\n"); @@ -373,6 +375,14 @@ bool ScummDebugger::Cmd_ImuseMultiMidi (int argc, const char **argv) { } } +bool ScummDebugger::Cmd_ImusePanic (int argc, const char **argv) { + Debug_Printf ("AAAIIIEEEEEE!\n"); + Debug_Printf ("Shutting down all music tracks\n"); + if (_s->_imuse) + _s->_imuse->stop_all_sounds(); + return true; +} + bool ScummDebugger::Cmd_Room(int argc, const char **argv) { if (argc > 1) { int room = atoi(argv[1]); |