[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