aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorPaul Gilbert2017-08-26 17:58:31 -0400
committerPaul Gilbert2017-08-26 17:58:31 -0400
commit72b033ca2d0afe2d713934b7d3985003ec733f4b (patch)
tree3edb8ed2a2339de2647ccd1a9fd4f7a1ac5b68da /engines
parenta97fe8f89fa4f3f78e876c26c7cfdab3cad1d8e8 (diff)
downloadscummvm-rg350-72b033ca2d0afe2d713934b7d3985003ec733f4b.tar.gz
scummvm-rg350-72b033ca2d0afe2d713934b7d3985003ec733f4b.tar.bz2
scummvm-rg350-72b033ca2d0afe2d713934b7d3985003ec733f4b.zip
TITANIC: Added frame debugger command for setting objects' movie frames
Diffstat (limited to 'engines')
-rw-r--r--engines/titanic/debugger.cpp19
-rw-r--r--engines/titanic/debugger.h5
2 files changed, 24 insertions, 0 deletions
diff --git a/engines/titanic/debugger.cpp b/engines/titanic/debugger.cpp
index 15d098a99a..a8b580b636 100644
--- a/engines/titanic/debugger.cpp
+++ b/engines/titanic/debugger.cpp
@@ -44,6 +44,7 @@ Debugger::Debugger(TitanicEngine *vm) : GUI::Debugger(), _vm(vm) {
registerCmd("movie", WRAP_METHOD(Debugger, cmdMovie));
registerCmd("sound", WRAP_METHOD(Debugger, cmdSound));
registerCmd("cheat", WRAP_METHOD(Debugger, cmdCheat));
+ registerCmd("frame", WRAP_METHOD(Debugger, cmdFrame));
}
int Debugger::strToInt(const char *s) {
@@ -346,4 +347,22 @@ bool Debugger::cmdCheat(int argc, const char **argv) {
return false;
}
+bool Debugger::cmdFrame(int argc, const char **argv) {
+ if (argc == 3) {
+ CGameObject *obj = dynamic_cast<CGameObject *>(
+ g_vm->_window->_project->findByName(argv[1]));
+
+ if (obj) {
+ obj->loadFrame(strToInt(argv[2]));
+ return false;
+ } else {
+ debugPrintf("Object not found\n");
+ return true;
+ }
+ } else {
+ debugPrintf("frame <object> <frame number>");
+ return true;
+ }
+}
+
} // End of namespace Titanic
diff --git a/engines/titanic/debugger.h b/engines/titanic/debugger.h
index 3e53feec2a..cd9da2b2ab 100644
--- a/engines/titanic/debugger.h
+++ b/engines/titanic/debugger.h
@@ -115,6 +115,11 @@ private:
* Change to the cheat room
*/
bool cmdCheat(int argc, const char **argv);
+
+ /**
+ * Set the movie frame for a given object
+ */
+ bool cmdFrame(int argc, const char **argv);
protected:
TitanicEngine *_vm;
public: