diff options
Diffstat (limited to 'engines/access/debugger.cpp')
-rw-r--r-- | engines/access/debugger.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/engines/access/debugger.cpp b/engines/access/debugger.cpp index 6cb2bb606c..601617034f 100644 --- a/engines/access/debugger.cpp +++ b/engines/access/debugger.cpp @@ -52,12 +52,23 @@ Debugger *Debugger::init(AccessEngine *vm) { } } +void Debugger::postEnter() { + if (!_playMovieFile.empty()) { + _vm->playMovie(_playMovieFile, Common::Point(0, 0)); + + _playMovieFile.clear(); + } + + _vm->pauseEngine(false); +} + /*------------------------------------------------------------------------*/ Debugger::Debugger(AccessEngine *vm) : GUI::Debugger(), _vm(vm) { registerCmd("continue", WRAP_METHOD(Debugger, cmdExit)); registerCmd("scene", WRAP_METHOD(Debugger, Cmd_LoadScene)); registerCmd("cheat", WRAP_METHOD(Debugger, Cmd_Cheat)); + registerCmd("playmovie", WRAP_METHOD(Debugger, Cmd_PlayMovie)); switch (vm->getGameID()) { case GType_Amazon: @@ -133,6 +144,19 @@ bool Debugger::Cmd_Cheat(int argc, const char **argv) { return true; } +bool Debugger::Cmd_PlayMovie(int argc, const char **argv) { + if (argc != 2) { + debugPrintf("Format: playmovie <movie-file>\n"); + return true; + } + + // play gets postboned until debugger is closed + Common::String filename = argv[1]; + _playMovieFile = filename; + + return cmdExit(0, 0); +} + /*------------------------------------------------------------------------*/ namespace Amazon { |