[Scummvm-cvs-logs] SF.net SVN: scummvm:[40011] scummvm/trunk/engines/scumm

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Sun Apr 19 03:00:49 CEST 2009


Revision: 40011
          http://scummvm.svn.sourceforge.net/scummvm/?rev=40011&view=rev
Author:   fingolfin
Date:     2009-04-19 01:00:49 +0000 (Sun, 19 Apr 2009)

Log Message:
-----------
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

Modified Paths:
--------------
    scummvm/trunk/engines/scumm/script_v4.cpp
    scummvm/trunk/engines/scumm/script_v5.cpp

Modified: scummvm/trunk/engines/scumm/script_v4.cpp
===================================================================
--- scummvm/trunk/engines/scumm/script_v4.cpp	2009-04-19 01:00:31 UTC (rev 40010)
+++ scummvm/trunk/engines/scumm/script_v4.cpp	2009-04-19 01:00:49 UTC (rev 40011)
@@ -33,6 +33,13 @@
 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);
 }

Modified: scummvm/trunk/engines/scumm/script_v5.cpp
===================================================================
--- scummvm/trunk/engines/scumm/script_v5.cpp	2009-04-19 01:00:31 UTC (rev 40010)
+++ scummvm/trunk/engines/scumm/script_v5.cpp	2009-04-19 01:00:49 UTC (rev 40011)
@@ -126,7 +126,7 @@
 	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 @@
 	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_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)


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list