aboutsummaryrefslogtreecommitdiff
path: root/engines/adl/console.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/adl/console.cpp')
-rw-r--r--engines/adl/console.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/engines/adl/console.cpp b/engines/adl/console.cpp
index 53e452a5f3..d690524212 100644
--- a/engines/adl/console.cpp
+++ b/engines/adl/console.cpp
@@ -78,6 +78,19 @@ bool Console::Cmd_DumpScripts(int argc, const char **argv) {
_engine->_dumpFile = new Common::DumpFile();
+ Common::Array<Room>::const_iterator room;
+ byte roomNr = 1;
+ for (room = _engine->_state.rooms.begin(); room != _engine->_state.rooms.end(); ++room) {
+ _engine->loadRoom(roomNr);
+ if (_engine->_roomData.commands.size() != 0) {
+ _engine->_dumpFile->open(Common::String::format("%03d.ADL", roomNr).c_str());
+ _engine->doAllCommands(_engine->_roomData.commands, IDI_ANY, IDI_ANY);
+ _engine->_dumpFile->close();
+ }
+ ++roomNr;
+ }
+ _engine->loadRoom(_engine->_state.room);
+
_engine->_dumpFile->open("GLOBAL.ADL");
_engine->doAllCommands(_engine->_globalCommands, IDI_ANY, IDI_ANY);
_engine->_dumpFile->close();