diff options
author | Sven Hesse | 2009-06-22 10:14:18 +0000 |
---|---|---|
committer | Sven Hesse | 2009-06-22 10:14:18 +0000 |
commit | 7fbad08fd1cb85363628a71ffab5580c8612fe1c (patch) | |
tree | 81e9cbd80a5e89d0f8c90da9072aa4b4812568dc /engines/gob/script.h | |
parent | 962fc19b57a13cb8de2c194f325e6c9b8b4fc1a0 (diff) | |
download | scummvm-rg350-7fbad08fd1cb85363628a71ffab5580c8612fe1c.tar.gz scummvm-rg350-7fbad08fd1cb85363628a71ffab5580c8612fe1c.tar.bz2 scummvm-rg350-7fbad08fd1cb85363628a71ffab5580c8612fe1c.zip |
Implemented a call stack
svn-id: r41754
Diffstat (limited to 'engines/gob/script.h')
-rw-r--r-- | engines/gob/script.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/engines/gob/script.h b/engines/gob/script.h index c88d284e82..5c689bd991 100644 --- a/engines/gob/script.h +++ b/engines/gob/script.h @@ -27,6 +27,7 @@ #define GOB_SCRIPT_H #include "common/str.h" +#include "common/stack.h" namespace Gob { @@ -89,6 +90,10 @@ public: void cuckoo(byte *totData, uint32 totSize); + void push(); + void pop(bool ret = true); + void call(uint32 offset); + /* byte *loadExtData(int16 dataId, int16 *pResWidth, int16 *pResHeight, uint32 *dataSize = 0); byte *loadTotResource(int16 id, int16 *dataSize = 0, int16 *width = 0, int16 *height = 0); @@ -100,6 +105,13 @@ public: int16 openLocTextFile(char *locTextFile, int language);*/ private: + struct CallEntry { + byte *totData; + byte *totPtr; + uint32 totSize; + bool finished; + }; + GobEngine *_vm; Parse *_parser; @@ -115,6 +127,8 @@ private: int16 _lomHandle; + Common::Stack<CallEntry> _callStack; + bool loadTOT(const Common::String &fileName); bool loadLOM(const Common::String &fileName); |