From 7fbad08fd1cb85363628a71ffab5580c8612fe1c Mon Sep 17 00:00:00 2001 From: Sven Hesse Date: Mon, 22 Jun 2009 10:14:18 +0000 Subject: Implemented a call stack svn-id: r41754 --- engines/gob/script.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'engines/gob/script.h') 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 _callStack; + bool loadTOT(const Common::String &fileName); bool loadLOM(const Common::String &fileName); -- cgit v1.2.3