diff options
| author | Max Horn | 2009-04-19 01:00:49 +0000 | 
|---|---|---|
| committer | Max Horn | 2009-04-19 01:00:49 +0000 | 
| commit | 25d0e7d4bc5c0d4bedb49381fc3eec9edbd9c354 (patch) | |
| tree | f553d5aace19e7d812d4feb583fa3e738ff872be | |
| parent | 31eeb37107031d36073f6fed460f2ab5ea159da1 (diff) | |
| download | scummvm-rg350-25d0e7d4bc5c0d4bedb49381fc3eec9edbd9c354.tar.gz scummvm-rg350-25d0e7d4bc5c0d4bedb49381fc3eec9edbd9c354.tar.bz2 scummvm-rg350-25d0e7d4bc5c0d4bedb49381fc3eec9edbd9c354.zip | |
SCUMM: In v5, only opcodes 0x05 and 0x85 are mapped to o5_drawObject; in v3 & v4, several other opcodes map to it. Capture this properly in the opcode tables
svn-id: r40011
| -rw-r--r-- | engines/scumm/script_v4.cpp | 7 | ||||
| -rw-r--r-- | engines/scumm/script_v5.cpp | 9 | 
2 files changed, 9 insertions, 7 deletions
| diff --git a/engines/scumm/script_v4.cpp b/engines/scumm/script_v4.cpp index 77f293470b..630c09642e 100644 --- a/engines/scumm/script_v4.cpp +++ b/engines/scumm/script_v4.cpp @@ -33,6 +33,13 @@ namespace Scumm {  void ScummEngine_v4::setupOpcodes() {  	ScummEngine_v5::setupOpcodes(); +	OPCODE(0x25, o5_drawObject); +	OPCODE(0x45, o5_drawObject); +	OPCODE(0x65, o5_drawObject); +	OPCODE(0xa5, o5_drawObject); +	OPCODE(0xc5, o5_drawObject); +	OPCODE(0xe5, o5_drawObject); +  	OPCODE(0x50, o4_pickupObject);  	OPCODE(0xd0, o4_pickupObject);  } diff --git a/engines/scumm/script_v5.cpp b/engines/scumm/script_v5.cpp index cbf2650976..12ee82438c 100644 --- a/engines/scumm/script_v5.cpp +++ b/engines/scumm/script_v5.cpp @@ -126,7 +126,7 @@ void ScummEngine_v5::setupOpcodes() {  	OPCODE(0x43, o5_getActorX);  	/* 44 */  	OPCODE(0x44, o5_isLess); -	OPCODE(0x45, o5_drawObject); +//	OPCODE(0x45, o5_drawObject);  	OPCODE(0x46, o5_increment);  	OPCODE(0x47, o5_setState);  	/* 48 */ @@ -286,7 +286,7 @@ void ScummEngine_v5::setupOpcodes() {  	OPCODE(0xc3, o5_getActorX);  	/* C4 */  	OPCODE(0xc4, o5_isLess); -	OPCODE(0xc5, o5_drawObject); +//	OPCODE(0xc5, o5_drawObject);  	OPCODE(0xc6, o5_decrement);  	OPCODE(0xc7, o5_setState);  	/* C8 */ @@ -1736,11 +1736,6 @@ void ScummEngine_v5::o5_panCameraTo() {  void ScummEngine_v5::o5_pickupObject() {  	int obj, room; -	if (_game.version == 3 || _game.version == 4) { -		o5_drawObject(); -		return; -	} -  	obj = getVarOrDirectWord(PARAM_1);  	room = getVarOrDirectByte(PARAM_2);  	if (room == 0) | 
