diff options
author | Paul Gilbert | 2014-08-09 16:31:23 -0400 |
---|---|---|
committer | Paul Gilbert | 2014-08-09 16:31:23 -0400 |
commit | 00633b94be93bd80fc8d1244f59647002f12fbe1 (patch) | |
tree | 6ee0cc8faf074c85f5fb816942654879164b045d /engines/access/scripts.h | |
parent | 1171400ccb65025a77f04dae3a224a3aec5920a3 (diff) | |
download | scummvm-rg350-00633b94be93bd80fc8d1244f59647002f12fbe1.tar.gz scummvm-rg350-00633b94be93bd80fc8d1244f59647002f12fbe1.tar.bz2 scummvm-rg350-00633b94be93bd80fc8d1244f59647002f12fbe1.zip |
ACCESS: Convert Scripts class to use a MemoryReadStream
Diffstat (limited to 'engines/access/scripts.h')
-rw-r--r-- | engines/access/scripts.h | 152 |
1 files changed, 78 insertions, 74 deletions
diff --git a/engines/access/scripts.h b/engines/access/scripts.h index d78b74840d..4375934b7c 100644 --- a/engines/access/scripts.h +++ b/engines/access/scripts.h @@ -24,96 +24,98 @@ #define ACCESS_SCRIPTS_H #include "common/scummsys.h" +#include "common/memstream.h" namespace Access { class AccessEngine; class Scripts; -typedef void(Scripts::*ScriptMethodPtr)(const byte *&pScript); +typedef void(Scripts::*ScriptMethodPtr)(); class Scripts { +private: + const byte *_rawData; + Common::MemoryReadStream *_data; protected: AccessEngine *_vm; - virtual void executeCommand(int commandIndex, const byte *&pScript); - void CMDOBJECT(const byte *&pScript); - void CMDENDOBJECT(const byte *&pScript); - void cmdJumpLook(const byte *&pScript); - void cmdJumpHelp(const byte *&pScript); - void cmdJumpGet(const byte *&pScript); - void cmdJumpMove(const byte *&pScript); - void cmdJumpUse(const byte *&pScript); - void cmdJumpTalk(const byte *&pScript); - void cmdNull(const byte *&pScript); - void CMDPRINT(const byte *&pScript); - void cmdRetPos(const byte *&pScript); - void CMDANIM(const byte *&pScript); - void cmdSetFlag(const byte *&pScript); - void CMDCHECKFLAG(const byte *&pScript); + virtual void executeCommand(int commandIndex); + void CMDOBJECT(); + void CMDENDOBJECT(); + void cmdJumpLook(); + void cmdJumpHelp(); + void cmdJumpGet(); + void cmdJumpMove(); + void cmdJumpUse(); + void cmdJumpTalk(); + void cmdNull(); + void CMDPRINT(); + void cmdRetPos(); + void CMDANIM(); + void cmdSetFlag(); + void CMDCHECKFLAG(); /** * Jump to another script */ - void cmdGoto(const byte *&pScript); + void cmdGoto(); - void CMDSETINV(const byte *&pScript); - void CMDCHECKINV(const byte *&pScript); - void CMDSETTEX(const byte *&pScript); - void CMDNEWROOM(const byte *&pScript); - void CMDCONVERSE(const byte *&pScript); - void CMDCHECKFRAME(const byte *&pScript); - void CMDCHECKANIM(const byte *&pScript); - void CMDSND(const byte *&pScript); - void CMDRETNEG(const byte *&pScript); - void cmdCheckLoc(const byte *&pScript); - void cmdSetAnim(const byte *&pScript); - void CMDDISPINV(const byte *&pScript); - void CMDSETTIMER(const byte *&pScript); - void CMDCHECKTIMER(const byte *&pScript); - void CMDSETTRAVEL(const byte *&pScript); - void CMDSETVID(const byte *&pScript); - void CMDPLAYVID(const byte *&pScript); - void CMDPLOTIMAGE(const byte *&pScript); - void CMDSETDISPLAY(const byte *&pScript); - void CMDSETBUFFER(const byte *&pScript); - void CMDSETSCROLL(const byte *&pScript); - void CMDSAVERECT(const byte *&pScript); - void CMDSETBUFVID(const byte *&pScript); - void CMDPLAYBUFVID(const byte *&pScript); - void CMDREMOVELAST(const byte *&pScript); - void CMDSPECIAL(const byte *&pScript); - void CMDSETCYCLE(const byte *&pScript); - void CMDCYCLE(const byte *&pScript); - void CMDCHARSPEAK(const byte *&pScript); - void CMDTEXSPEAK(const byte *&pScript); - void CMDTEXCHOICE(const byte *&pScript); - void CMDWAIT(const byte *&pScript); - void CMDSETCONPOS(const byte *&pScript); - void CMDCHECKVFRAME(const byte *&pScript); - void CMDJUMPCHOICE(const byte *&pScript); - void CMDRETURNCHOICE(const byte *&pScript); - void CMDCLEARBLOCK(const byte *&pScript); - void CMDLOADSOUND(const byte *&pScript); - void CMDFREESOUND(const byte *&pScript); - void CMDSETVIDSND(const byte *&pScript); - void CMDPLAYVIDSND(const byte *&pScript); - void CMDPUSHLOCATION(const byte *&pScript); - void cmdPlayerOff(const byte *&pScript); - void cmdPlayerOn(const byte *&pScript); - void CMDDEAD(const byte *&pScript); - void CMDFADEOUT(const byte *&pScript); - void CMDENDVID(const byte *&pScript); - void CMDHELP(const byte *&pScript); - void CMDCYCLEBACK(const byte *&pScript); - void CMDCHAPTER(const byte *&pScript); - void CMDSETHELP(const byte *&pScript); - void CMDCENTERPANEL(const byte *&pScript); - void cmdMainPanel(const byte *&pScript); - void CMDRETFLASH(const byte *&pScript); + void CMDSETINV(); + void CMDCHECKINV(); + void CMDSETTEX(); + void CMDNEWROOM(); + void CMDCONVERSE(); + void CMDCHECKFRAME(); + void CMDCHECKANIM(); + void CMDSND(); + void CMDRETNEG(); + void cmdCheckLoc(); + void cmdSetAnim(); + void CMDDISPINV(); + void CMDSETTIMER(); + void CMDCHECKTIMER(); + void CMDSETTRAVEL(); + void CMDSETVID(); + void CMDPLAYVID(); + void CMDPLOTIMAGE(); + void CMDSETDISPLAY(); + void CMDSETBUFFER(); + void CMDSETSCROLL(); + void CMDSAVERECT(); + void CMDSETBUFVID(); + void CMDPLAYBUFVID(); + void CMDREMOVELAST(); + void CMDSPECIAL(); + void CMDSETCYCLE(); + void CMDCYCLE(); + void CMDCHARSPEAK(); + void CMDTEXSPEAK(); + void CMDTEXCHOICE(); + void CMDWAIT(); + void CMDSETCONPOS(); + void CMDCHECKVFRAME(); + void CMDJUMPCHOICE(); + void CMDRETURNCHOICE(); + void CMDCLEARBLOCK(); + void CMDLOADSOUND(); + void CMDFREESOUND(); + void CMDSETVIDSND(); + void CMDPLAYVIDSND(); + void CMDPUSHLOCATION(); + void cmdPlayerOff(); + void cmdPlayerOn(); + void CMDDEAD(); + void CMDFADEOUT(); + void CMDENDVID(); + void CMDHELP(); + void CMDCYCLEBACK(); + void CMDCHAPTER(); + void CMDSETHELP(); + void CMDCENTERPANEL(); + void cmdMainPanel(); + void CMDRETFLASH(); public: - const byte *_script; - const byte *_scriptLoc; int _sequence; bool _endFlag; int _returnCode; @@ -123,9 +125,11 @@ public: virtual ~Scripts(); + void setScript(const byte *data, int size); + void freeScriptData(); - const byte *searchForSequence(); + void searchForSequence(); int executeScript(); }; |