aboutsummaryrefslogtreecommitdiff
path: root/engines/director/lingo/lingo.h
diff options
context:
space:
mode:
authorEugene Sandulenko2016-06-30 10:24:01 +0200
committerEugene Sandulenko2016-08-03 23:40:36 +0200
commit0b6d950729296c177ad502328fd5b5e3b0bb04c9 (patch)
tree2908aea7a91d22d8ffb2da8135ddc4ff4de4f300 /engines/director/lingo/lingo.h
parenta279faf251f1703355b5d7dbaf2b935a25e21047 (diff)
downloadscummvm-rg350-0b6d950729296c177ad502328fd5b5e3b0bb04c9.tar.gz
scummvm-rg350-0b6d950729296c177ad502328fd5b5e3b0bb04c9.tar.bz2
scummvm-rg350-0b6d950729296c177ad502328fd5b5e3b0bb04c9.zip
DIRECTOR: Lingo: Store and restore local variables in scope.
Diffstat (limited to 'engines/director/lingo/lingo.h')
-rw-r--r--engines/director/lingo/lingo.h16
1 files changed, 5 insertions, 11 deletions
diff --git a/engines/director/lingo/lingo.h b/engines/director/lingo/lingo.h
index bec14f2b59..e30d8a465a 100644
--- a/engines/director/lingo/lingo.h
+++ b/engines/director/lingo/lingo.h
@@ -103,18 +103,14 @@ struct Datum { /* interpreter stack type */
Datum() { u.sym = NULL; type = VOID; }
};
-struct CFrame { /* proc/func call stack frame */
- Symbol *sp; /* symbol table entry */
- int retpc; /* where to resume after return */
- ScriptData *retscript; /* which script to resume after return */
-};
-
typedef Common::HashMap<int32, ScriptData *> ScriptHash;
typedef Common::Array<Datum> StackData;
typedef Common::HashMap<Common::String, Symbol *, Common::IgnoreCase_Hash, Common::IgnoreCase_EqualTo> SymbolHash;
-struct Context { /* execution context */
- Symbol *handler;
+struct CFrame { /* proc/func call stack frame */
+ Symbol *sp; /* symbol table entry */
+ int retpc; /* where to resume after return */
+ ScriptData *retscript; /* which script to resume after return */
SymbolHash *localvars;
};
@@ -209,11 +205,9 @@ private:
ScriptHash _scripts[kMaxScriptType + 1];
SymbolHash _vars;
- Common::HashMap<Common::String, bool, Common::IgnoreCase_Hash, Common::IgnoreCase_EqualTo> _localvars;
+ SymbolHash *_localvars;
SymbolHash _handlers;
- Common::Array<Context *> _contexts;
-
int _pc;
StackData _stack;