diff options
author | Eugene Sandulenko | 2016-06-30 10:24:01 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2016-08-03 23:40:36 +0200 |
commit | 0b6d950729296c177ad502328fd5b5e3b0bb04c9 (patch) | |
tree | 2908aea7a91d22d8ffb2da8135ddc4ff4de4f300 /engines/director/lingo/lingo.h | |
parent | a279faf251f1703355b5d7dbaf2b935a25e21047 (diff) | |
download | scummvm-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.h | 16 |
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; |