diff options
| author | James Brown | 2002-11-02 08:18:21 +0000 | 
|---|---|---|
| committer | James Brown | 2002-11-02 08:18:21 +0000 | 
| commit | 1c975ba92ed9bec19de6f2652888aa1df9808a94 (patch) | |
| tree | bc320794f211b2263bfdd10406fc497c73cb4b82 | |
| parent | 35678731d91410c60a9f00bce0d037b252e45044 (diff) | |
| download | scummvm-rg350-1c975ba92ed9bec19de6f2652888aa1df9808a94.tar.gz scummvm-rg350-1c975ba92ed9bec19de6f2652888aa1df9808a94.tar.bz2 scummvm-rg350-1c975ba92ed9bec19de6f2652888aa1df9808a94.zip | |
Correct that FT opcode - it's bitwise or, not logical
svn-id: r5373
| -rw-r--r-- | scumm/script_v2.cpp | 24 | ||||
| -rw-r--r-- | scumm/scumm.h | 4 | 
2 files changed, 22 insertions, 6 deletions
| diff --git a/scumm/script_v2.cpp b/scumm/script_v2.cpp index 838fb0dff6..df5c0cb286 100644 --- a/scumm/script_v2.cpp +++ b/scumm/script_v2.cpp @@ -302,8 +302,8 @@ void Scumm::setupOpcodes2()  		/* D4 */  		&Scumm::o6_invalid,  		&Scumm::o6_jumpToScript, -		&Scumm::o6_land, -		&Scumm::o6_lor, +		&Scumm::o6_band, +		&Scumm::o6_bor,  		/* D8 */  		&Scumm::o6_isRoomScriptRunning,  		&Scumm::o6_invalid, @@ -625,8 +625,8 @@ void Scumm::setupOpcodes2()  		/* D4 */  		"o6_invalid",  		"o6_jumpToScript", -		"o6_land", -		"o6_lor", +		"o6_band", +		"o6_bor",  		/* D8 */  		"o6_isRoomScriptRunning",  		"o6_invalid", @@ -889,18 +889,30 @@ void Scumm::o6_div()  	push(pop() / a);  } -void Scumm::o6_land() +void Scumm::o6_land()	// Logical And  {  	int a = pop();  	push(pop() && a);  } -void Scumm::o6_lor() +void Scumm::o6_lor()	// Logical Or  {  	int a = pop();  	push(pop() || a);  } +void Scumm::o6_bor()	// Bitwise Or +{ +	int a = pop(); +	push(pop() | a); +} + +void Scumm::o6_band()	// Bitwise And +{ +	int a = pop(); +	push(pop() | a); +} +  void Scumm::o6_kill()  {  	pop(); diff --git a/scumm/scumm.h b/scumm/scumm.h index 9117c44d7a..f800ceb2b7 100644 --- a/scumm/scumm.h +++ b/scumm/scumm.h @@ -541,6 +541,7 @@ public:  	void runAllScripts();  	void setupOpcodes();  	void setupOpcodes2();	 +	//void setupOpcodes3();	  	void cutscene(int16 *args);  	void endCutscene();  	void exitCutscene(); @@ -1224,6 +1225,9 @@ public:  	void o6_drawBlastObject();  	void o6_getActorPriority();  	void o6_unknownCD(); +	void o6_bor(); +	void o6_band(); +	// void o7_userfaceOps();  	/* Scumm Vars */  	byte VAR_EGO; | 
