diff options
| author | Travis Howell | 2005-03-08 04:17:45 +0000 | 
|---|---|---|
| committer | Travis Howell | 2005-03-08 04:17:45 +0000 | 
| commit | b9393bc819e69ccdd7428f988026f76dc2b3e812 (patch) | |
| tree | e4817ddc6d3e5fb9070811f80ca6ac0d612307f1 | |
| parent | d2dab235106851ac25ca4992a07678863011045b (diff) | |
| download | scummvm-rg350-b9393bc819e69ccdd7428f988026f76dc2b3e812.tar.gz scummvm-rg350-b9393bc819e69ccdd7428f988026f76dc2b3e812.tar.bz2 scummvm-rg350-b9393bc819e69ccdd7428f988026f76dc2b3e812.zip  | |
Script flags are different in HE100
svn-id: r17034
| -rw-r--r-- | scumm/intern.h | 2 | ||||
| -rw-r--r-- | scumm/script_v100he.cpp | 27 | 
2 files changed, 27 insertions, 2 deletions
diff --git a/scumm/intern.h b/scumm/intern.h index 448d4d7805..a7a2b34f9e 100644 --- a/scumm/intern.h +++ b/scumm/intern.h @@ -1079,6 +1079,7 @@ protected:  	void o100_setSpriteGroupInfo();  	void o100_resourceRoutines();  	void o100_wizImageOps(); +	void o100_jumpToScript();  	void o100_loadSBNG();  	void o100_dim2dim2Array();  	void o100_paletteOps(); @@ -1086,6 +1087,7 @@ protected:  	void o100_roomOps();  	void o100_startSound();  	void o100_setSpriteInfo(); +	void o100_startScript();  	void o100_quitPauseRestart();  	void o100_cursorCommand();  	void o100_wait(); diff --git a/scumm/script_v100he.cpp b/scumm/script_v100he.cpp index f27baaef37..56656f515e 100644 --- a/scumm/script_v100he.cpp +++ b/scumm/script_v100he.cpp @@ -62,7 +62,7 @@ void ScummEngine_v100he::setupOpcodes() {  		OPCODE(o6_panCameraTo),  		/* 10 */  		OPCODE(o6_invalid), -		OPCODE(o72_jumpToScript), +		OPCODE(o100_jumpToScript),  		OPCODE(o6_setClass),  		OPCODE(o60_closeFile),  		/* 14 */ @@ -196,7 +196,7 @@ void ScummEngine_v100he::setupOpcodes() {  		OPCODE(o6_stampObject),  		OPCODE(o72_startObject),  		/* 7C */ -		OPCODE(o72_startScript), +		OPCODE(o100_startScript),  		OPCODE(o6_startScriptQuick),  		OPCODE(o80_setState),  		OPCODE(o6_stopObjectScript), @@ -715,6 +715,18 @@ void ScummEngine_v100he::o100_arrayOps() {  	}  } +void ScummEngine_v100he::o100_jumpToScript() { +	int args[25]; +	int script; +	byte flags; + +	getStackList(args, ARRAYSIZE(args)); +	script = pop(); +	flags = fetchScriptByte(); +	stopObjectCode(); +	runScript(script, (flags == 128 || flags == 129), (flags == 130 || flags == 129), args); +} +  void ScummEngine_v100he::o100_loadSBNG() {  	// Loads SBNG sound resource  	byte subOp = fetchScriptByte(); @@ -1971,6 +1983,17 @@ void ScummEngine_v100he::o100_setSpriteInfo() {  	}  } +void ScummEngine_v100he::o100_startScript() { +	int args[25]; +	int script; +	byte flags; + +	getStackList(args, ARRAYSIZE(args)); +	script = pop(); +	flags = fetchScriptByte(); +	runScript(script, (flags == 128 || flags == 129), (flags == 130 || flags == 129), args); +} +  void ScummEngine_v100he::o100_quitPauseRestart() {  	byte subOp = fetchScriptByte();  	subOp -= 61;  | 
