aboutsummaryrefslogtreecommitdiff
path: root/engines/mutationofjb/script.cpp
diff options
context:
space:
mode:
authorĽubomír Remák2018-03-22 20:56:42 +0100
committerEugene Sandulenko2018-08-25 23:12:01 +0200
commit938f222d4857b45e0f1f7e4726040ab0bf1d9b67 (patch)
tree5c15540224645ca541ad6e22b9ce786dbddc7be9 /engines/mutationofjb/script.cpp
parente1d173ed7541f9da79f60a65d974da3ebbb29e7a (diff)
downloadscummvm-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.cpp15
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;
+}
+
}