diff options
author | Eugene Sandulenko | 2016-07-11 15:55:10 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2016-08-03 23:40:36 +0200 |
commit | 3a4fbc936793d6e70f9a2eb2e1f8100895dc8dfa (patch) | |
tree | 74d5dc864f5a159378d2bbf76cbb858abd420c48 /engines/director/lingo/lingo.h | |
parent | 52fa9646b0639d5fcb19e841bd5bdbcbf470596a (diff) | |
download | scummvm-rg350-3a4fbc936793d6e70f9a2eb2e1f8100895dc8dfa.tar.gz scummvm-rg350-3a4fbc936793d6e70f9a2eb2e1f8100895dc8dfa.tar.bz2 scummvm-rg350-3a4fbc936793d6e70f9a2eb2e1f8100895dc8dfa.zip |
DIRECTOR: Lingo: Initial code for 'the' entity handling
Diffstat (limited to 'engines/director/lingo/lingo.h')
-rw-r--r-- | engines/director/lingo/lingo.h | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/engines/director/lingo/lingo.h b/engines/director/lingo/lingo.h index 9e8e6f1280..5dc6c07d82 100644 --- a/engines/director/lingo/lingo.h +++ b/engines/director/lingo/lingo.h @@ -123,6 +123,9 @@ typedef Common::Array<Datum> StackData; typedef Common::HashMap<Common::String, Symbol *, Common::IgnoreCase_Hash, Common::IgnoreCase_EqualTo> SymbolHash; typedef Common::HashMap<Common::String, Builtin *, Common::IgnoreCase_Hash, Common::IgnoreCase_EqualTo> BuiltinHash; +typedef Common::HashMap<Common::String, TheEntity *, Common::IgnoreCase_Hash, Common::IgnoreCase_EqualTo> TheEntityHash; +typedef Common::HashMap<Common::String, TheEntityField *, Common::IgnoreCase_Hash, Common::IgnoreCase_EqualTo> TheEntityFieldHash; + struct CFrame { /* proc/func call stack frame */ Symbol *sp; /* symbol table entry */ int retpc; /* where to resume after return */ @@ -141,6 +144,7 @@ public: void processEvent(LEvent event, int entityId); void initBuiltIns(); + void initTheEntities(); Common::String *toLowercaseMac(Common::String *s); @@ -247,12 +251,12 @@ public: void func_gotoprevious(); public: - void setTheEntity(TheEntity entity, int id, TheField field, Datum &d); - void setTheSprite(int id, TheField field, Datum &d); - void setTheCast(int id, TheField field, Datum &d); - Datum getTheEntity(TheEntity entity, int id, TheField field); - Datum getTheSprite(int id, TheField field); - Datum getTheCast(int id, TheField field); + void setTheEntity(TheEntityType entity, int id, TheFieldType field, Datum &d); + void setTheSprite(int id, TheFieldType field, Datum &d); + void setTheCast(int id, TheFieldType field, Datum &d); + Datum getTheEntity(TheEntityType entity, int id, TheFieldType field); + Datum getTheSprite(int id, TheFieldType field); + Datum getTheCast(int id, TheFieldType field); public: ScriptData *_currentScript; @@ -263,6 +267,8 @@ public: Common::Array<CFrame *> _callstack; Common::Array<Common::String *> _argstack; BuiltinHash _builtins; + TheEntityHash _theEntities; + TheEntityFieldHash _theEntityFields; Common::Array<int> _labelstack; int _linenumber; |