diff options
Diffstat (limited to 'engines/saga/console.cpp')
-rw-r--r-- | engines/saga/console.cpp | 72 |
1 files changed, 64 insertions, 8 deletions
diff --git a/engines/saga/console.cpp b/engines/saga/console.cpp index 69e73d771b..421245ab30 100644 --- a/engines/saga/console.cpp +++ b/engines/saga/console.cpp @@ -38,16 +38,18 @@ namespace Saga { Console::Console(SagaEngine *vm) : GUI::Debugger() { _vm = vm; - DCmd_Register("continue", WRAP_METHOD(Console, Cmd_Exit)); + DCmd_Register("continue", WRAP_METHOD(Console, Cmd_Exit)); // CVAR_Register_I(&_soundEnabled, "sound", NULL, CVAR_CFG, 0, 1); // CVAR_Register_I(&_musicEnabled, "music", NULL, CVAR_CFG, 0, 1); // Actor commands - DCmd_Register("actor_walk_to", WRAP_METHOD(Console, cmdActorWalkTo)); + DCmd_Register("actor_walk_to", WRAP_METHOD(Console, cmdActorWalkTo)); // Animation commands - DCmd_Register("anim_info", WRAP_METHOD(Console, Cmd_AnimInfo)); + DCmd_Register("anim_info", WRAP_METHOD(Console, cmdAnimInfo)); + DCmd_Register("cutaway_info", WRAP_METHOD(Console, cmdCutawayInfo)); + DCmd_Register("play_cutaway", WRAP_METHOD(Console, cmdPlayCutaway)); // Game stuff @@ -62,9 +64,17 @@ Console::Console(SagaEngine *vm) : GUI::Debugger() { #endif // Scene commands - DCmd_Register("scene_change", WRAP_METHOD(Console, cmdSceneChange)); - DCmd_Register("action_map_info", WRAP_METHOD(Console, cmdActionMapInfo)); - DCmd_Register("object_map_info", WRAP_METHOD(Console, cmdObjectMapInfo)); + DCmd_Register("current_scene", WRAP_METHOD(Console, cmdCurrentScene)); + DCmd_Register("current_chapter", WRAP_METHOD(Console, cmdCurrentChapter)); + DCmd_Register("scene_change", WRAP_METHOD(Console, cmdSceneChange)); + DCmd_Register("chapter_change", WRAP_METHOD(Console, cmdChapterChange)); + + DCmd_Register("action_map_info", WRAP_METHOD(Console, cmdActionMapInfo)); + DCmd_Register("object_map_info", WRAP_METHOD(Console, cmdObjectMapInfo)); + + // Panel commands + DCmd_Register("current_panel_mode", WRAP_METHOD(Console, cmdCurrentPanelMode)); + DCmd_Register("set_panel_mode", WRAP_METHOD(Console, cmdSetPanelMode)); } Console::~Console() { @@ -78,12 +88,35 @@ bool Console::cmdActorWalkTo(int argc, const char **argv) { return true; } - -bool Console::Cmd_AnimInfo(int argc, const char **argv) { +bool Console::cmdAnimInfo(int argc, const char **argv) { _vm->_anim->animInfo(); return true; } +bool Console::cmdCutawayInfo(int argc, const char **argv) { + _vm->_anim->cutawayInfo(); + return true; +} + +bool Console::cmdPlayCutaway(int argc, const char **argv) { + if (argc != 2) + DebugPrintf("Usage: %s <Cutaway number>\n", argv[0]); + else + _vm->_anim->playCutaway(atoi(argv[1]), false); + return true; +} + +bool Console::cmdCurrentScene(int argc, const char **argv) { + DebugPrintf("Current Scene is: %i, scene resource id: %i\n", + _vm->_scene->currentSceneNumber(), _vm->_scene->currentSceneResourceId()); + return true; +} + +bool Console::cmdCurrentChapter(int argc, const char **argv) { + DebugPrintf("Current Chapter is: %i\n", _vm->_scene->currentChapterNumber()); + return true; +} + bool Console::cmdSceneChange(int argc, const char **argv) { if (argc != 2) DebugPrintf("Usage: %s <Scene number>\n", argv[0]); @@ -92,6 +125,16 @@ bool Console::cmdSceneChange(int argc, const char **argv) { return true; } +bool Console::cmdChapterChange(int argc, const char **argv) { + if (argc != 3) + DebugPrintf("Usage: %s <Chapter number> <Scene number>\n", argv[0]); + else { + _vm->_scene->setChapterNumber(atoi(argv[2])); + _vm->_scene->cmdSceneChange(argc, argv); + } + return true; +} + bool Console::cmdActionMapInfo(int argc, const char **argv) { _vm->_scene->cmdActionMapInfo(); return true; @@ -102,4 +145,17 @@ bool Console::cmdObjectMapInfo(int argc, const char **argv) { return true; } +bool Console::cmdCurrentPanelMode(int argc, const char **argv) { + DebugPrintf("Current Panel Mode is: %i\n", _vm->_interface->getMode()); + return true; +} + +bool Console::cmdSetPanelMode(int argc, const char **argv) { + if (argc != 2) + DebugPrintf("Usage: %s <Panel mode number>\n", argv[0]); + else + _vm->_interface->setMode(atoi(argv[1])); + return true; +} + } // End of namespace Saga |