diff options
Diffstat (limited to 'engines/adl/console.cpp')
-rw-r--r-- | engines/adl/console.cpp | 13 |
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(); |