From 7f7e144dd2867bf87d4724f4c72c0a6ebe1b77fc Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 13 Oct 2014 16:59:15 -0400 Subject: MADS: Add debugger commands for playing text and anim cutscenes --- engines/mads/debugger.cpp | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) (limited to 'engines/mads/debugger.cpp') diff --git a/engines/mads/debugger.cpp b/engines/mads/debugger.cpp index 6bc6cf572d..ee967cb17e 100644 --- a/engines/mads/debugger.cpp +++ b/engines/mads/debugger.cpp @@ -24,6 +24,7 @@ #include "mads/compression.h" #include "mads/mads.h" #include "mads/debugger.h" +#include "mads/nebular/menu_nebular.h" namespace MADS { @@ -46,6 +47,8 @@ Debugger::Debugger(MADSEngine *vm) : GUI::Debugger(), _vm(vm) { registerCmd("show_item", WRAP_METHOD(Debugger, Cmd_ShowItem)); registerCmd("dump_items", WRAP_METHOD(Debugger, Cmd_DumpItems)); registerCmd("item", WRAP_METHOD(Debugger, Cmd_Item)); + registerCmd("play_anim", WRAP_METHOD(Debugger, Cmd_PlayAnim)); + registerCmd("play_text", WRAP_METHOD(Debugger, Cmd_PlayText)); } static int strToInt(const char *s) { @@ -348,4 +351,44 @@ bool Debugger::Cmd_Item(int argc, const char **argv) { } } +bool Debugger::Cmd_PlayAnim(int argc, const char **argv) { + if (argc != 2) { + debugPrintf("Usage: %s \n", argv[0]); + return true; + } else { + Common::String resName = argv[1]; + if (resName.hasPrefix("@")) + resName.deleteChar(0); + + Common::File f; + if (f.exists(resName) || f.exists(resName + ".res")) { + Nebular::AnimationView::execute(_vm, resName); + return false; + } else { + debugPrintf("Could not find resource file\n"); + return true; + } + } +} + +bool Debugger::Cmd_PlayText(int argc, const char **argv) { + if (argc != 2) { + debugPrintf("Usage: %s \n", argv[0]); + return true; + } else { + Common::String resName = argv[1]; + if (resName.hasPrefix("@")) + resName.deleteChar(0); + + Common::File f; + if (f.exists(resName) || f.exists(resName + ".res")) { + Nebular::TextView::execute(_vm, resName); + return false; + } else { + debugPrintf("Could not find resource file\n"); + return true; + } + } +} + } // End of namespace MADS -- cgit v1.2.3