diff options
-rw-r--r-- | engines/director/lingo/lingo.cpp | 11 | ||||
-rw-r--r-- | engines/director/lingo/lingo.h | 2 |
2 files changed, 13 insertions, 0 deletions
diff --git a/engines/director/lingo/lingo.cpp b/engines/director/lingo/lingo.cpp index d3e84a0d7c..21a5b5347a 100644 --- a/engines/director/lingo/lingo.cpp +++ b/engines/director/lingo/lingo.cpp @@ -160,6 +160,13 @@ void Lingo::addCode(const char *code, ScriptType type, uint16 id) { const char *begin, *end; + if (!strncmp(code, "menu:", 5)) { + debugC(2, kDebugLingoCompile, "Parsing menu"); + parseMenu(code); + + return; + } + // macros and factories have conflicting grammar. Thus we ease life for the parser. if ((begin = findNextDefinition(code))) { bool first = true; @@ -392,6 +399,10 @@ Common::String *Lingo::toLowercaseMac(Common::String *s) { return res; } +void Lingo::parseMenu(const char *code) { + warning("STUB: parseMenu"); +} + void Lingo::runTests() { Common::File inFile; Common::ArchiveMemberList fsList; diff --git a/engines/director/lingo/lingo.h b/engines/director/lingo/lingo.h index ab6759d0b2..e04de92b8b 100644 --- a/engines/director/lingo/lingo.h +++ b/engines/director/lingo/lingo.h @@ -431,6 +431,8 @@ public: private: int parse(const char *code); + void parseMenu(const char *code); + void push(Datum d); Datum pop(void); |