diff options
Diffstat (limited to 'scumm/intern.h')
| -rw-r--r-- | scumm/intern.h | 41 | 
1 files changed, 37 insertions, 4 deletions
| diff --git a/scumm/intern.h b/scumm/intern.h index 1829539068..6a2719a5e8 100644 --- a/scumm/intern.h +++ b/scumm/intern.h @@ -623,8 +623,6 @@ protected:  	/* Version 7 script opcodes */  	void o7_getString(); -	void o7_objectX(); -	void o7_objectY();  	void o7_stringLen();  	void o7_readINI();  	void o7_unknownF4(); @@ -634,12 +632,47 @@ protected:  	void o7_quitPauseRestart();  	void o7_getActorRoom();  	void o7_pickupObject(); +	void o7_startSound(); +	void o7_cursorCommand(); +}; + +class ScummEngine_v72he : public ScummEngine_v7he { +protected: +	typedef void (ScummEngine_v72he::*OpcodeProcV72he)(); +	struct OpcodeEntryV72he { +		OpcodeProcV72he proc; +		const char *desc; +	}; +	 +	const OpcodeEntryV72he *_opcodesV72he; + +public: +	ScummEngine_v72he(GameDetector *detector, OSystem *syst, const ScummGameSettings &gs); + +protected: +	virtual void setupScummVars(); + +	virtual void setupOpcodes(); +	virtual void executeOpcode(byte i); +	virtual const char *getOpcodeDesc(byte i); + +	byte stringLen(byte *); + +	/* Version 7 script opcodes */ +	void o7_getString(); +	void o7_objectX(); +	void o7_objectY(); +	void o7_stringLen(); +	void o7_readINI(); +	void o7_unknownF4(); +	void o7_unknownFA(); +	void o7_unknownFB();  	void o7_arrayOps();  	void o7_dimArray();  	void o7_jumpToScript();  	void o7_startScript(); -	void o7_startSound(); -	void o7_cursorCommand(); +	void o7_unknown63(); +	void o7_dim2dimArray();  };  class ScummEngine_v7 : public ScummEngine_v6 { | 
