diff options
author | Ľubomír Remák | 2018-03-22 20:56:42 +0100 |
---|---|---|
committer | Eugene Sandulenko | 2018-08-25 23:12:01 +0200 |
commit | 938f222d4857b45e0f1f7e4726040ab0bf1d9b67 (patch) | |
tree | 5c15540224645ca541ad6e22b9ce786dbddc7be9 /engines/mutationofjb/script.cpp | |
parent | e1d173ed7541f9da79f60a65d974da3ebbb29e7a (diff) | |
download | scummvm-rg350-938f222d4857b45e0f1f7e4726040ab0bf1d9b67.tar.gz scummvm-rg350-938f222d4857b45e0f1f7e4726040ab0bf1d9b67.tar.bz2 scummvm-rg350-938f222d4857b45e0f1f7e4726040ab0bf1d9b67.zip |
MUTATIONOFJB: Add support for calling macros.
Diffstat (limited to 'engines/mutationofjb/script.cpp')
-rw-r--r-- | engines/mutationofjb/script.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/engines/mutationofjb/script.cpp b/engines/mutationofjb/script.cpp index 699daeb6c3..1291bd8d97 100644 --- a/engines/mutationofjb/script.cpp +++ b/engines/mutationofjb/script.cpp @@ -39,6 +39,7 @@ #include "mutationofjb/commands/labelcommand.h" #include "mutationofjb/commands/gotocommand.h" #include "mutationofjb/commands/camefromcommand.h" +#include "mutationofjb/commands/callmacrocommand.h" #include "mutationofjb/game.h" namespace MutationOfJB { @@ -49,6 +50,7 @@ static CommandParser **getParsers() { new IfItemCommandParser, new IfCommandParser, new CameFromCommandParser, + new CallMacroCommandParser, new EndBlockCommandParser, new ChangeDoorCommandParser, new ChangeObjectCommandParser, @@ -109,6 +111,10 @@ Command *ScriptExecutionContext::popReturnCommand() { return _stack.pop(); } +Game &ScriptExecutionContext::getGame() { + return _game; +} + GameData &ScriptExecutionContext::getGameData() { return _game.getGameData(); } @@ -206,4 +212,13 @@ const Macros &Script::getMacros() const { return _macros; } +Command *Script::getMacro(const Common::String &name) const { + Macros::const_iterator it = _macros.find(name); + if (it == _macros.end()) { + return nullptr; + } + + return it->_value; +} + } |