diff options
author | Sven Hesse | 2006-02-02 21:12:00 +0000 |
---|---|---|
committer | Sven Hesse | 2006-02-02 21:12:00 +0000 |
commit | da33aa319bf5b5ae91650eaa9d24ef412a5d9af5 (patch) | |
tree | 402fb5253ac1d307f3d1370dae8b206879771ea1 /gob/parse.h | |
parent | d88462e7d68c4052fd2927ba7fc3be5566a1b9d9 (diff) | |
download | scummvm-rg350-da33aa319bf5b5ae91650eaa9d24ef412a5d9af5.tar.gz scummvm-rg350-da33aa319bf5b5ae91650eaa9d24ef412a5d9af5.tar.bz2 scummvm-rg350-da33aa319bf5b5ae91650eaa9d24ef412a5d9af5.zip |
Added/Changed o2_evaluateStore(), o2_palLoad(), o2_setRenderFlags(), o2_loadTot(), parseVarIndex(), parseValExpr() and parseExpr() for Gob2
svn-id: r20353
Diffstat (limited to 'gob/parse.h')
-rw-r--r-- | gob/parse.h | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/gob/parse.h b/gob/parse.h index 0095739692..a6c481d94a 100644 --- a/gob/parse.h +++ b/gob/parse.h @@ -26,14 +26,15 @@ namespace Gob { class Parse { public: - int16 parseExpr(char stopToken, byte *resultPtr); void skipExpr(char stopToken); - int16 parseValExpr(unsigned stopToken=99); - int16 parseVarIndex(void); void printExpr(char stopToken); void printVarIndex(void); + virtual int16 parseVarIndex(void) = 0; + virtual int16 parseValExpr(unsigned stopToken=99) = 0; + virtual int16 parseExpr(char stopToken, byte *resultPtr) = 0; Parse(GobEngine *vm); + virtual ~Parse() {}; protected: enum PointerType { @@ -48,6 +49,26 @@ protected: char *decodePtr(int32 n); }; +class Parse_v1 : public Parse { +public: + Parse_v1(GobEngine *vm); + virtual ~Parse_v1() {}; + + virtual int16 parseVarIndex(void); + virtual int16 parseValExpr(unsigned stopToken=99); + virtual int16 parseExpr(char stopToken, byte *resultPtr); +}; + +class Parse_v2 : public Parse_v1 { +public: + Parse_v2(GobEngine *vm); + virtual ~Parse_v2() {}; + + virtual int16 parseVarIndex(void); + virtual int16 parseValExpr(unsigned stopToken=99); + virtual int16 parseExpr(char stopToken, byte *resultPtr); +}; + } // End of namespace Gob #endif |