[Scummvm-cvs-logs] SF.net SVN: scummvm: [23590] scummvm/branches/branch-0-9-0/engines/scumm

kirben at users.sourceforge.net kirben at users.sourceforge.net
Mon Jul 24 14:53:00 CEST 2006


Revision: 23590
Author:   kirben
Date:     2006-07-24 05:52:53 -0700 (Mon, 24 Jul 2006)
ViewCVS:  http://svn.sourceforge.net/scummvm/?rev=23590&view=rev

Log Message:
-----------
Fix bug #1496523 - MM: Weird Ed appears backwards at door

Modified Paths:
--------------
    scummvm/branches/branch-0-9-0/engines/scumm/actor.h
    scummvm/branches/branch-0-9-0/engines/scumm/intern.h
    scummvm/branches/branch-0-9-0/engines/scumm/script_c64.cpp
    scummvm/branches/branch-0-9-0/engines/scumm/script_v2.cpp
Modified: scummvm/branches/branch-0-9-0/engines/scumm/actor.h
===================================================================
--- scummvm/branches/branch-0-9-0/engines/scumm/actor.h	2006-07-24 12:49:58 UTC (rev 23589)
+++ scummvm/branches/branch-0-9-0/engines/scumm/actor.h	2006-07-24 12:52:53 UTC (rev 23590)
@@ -233,6 +233,10 @@
 		return _facing;
 	}
 
+	void setFacing(int newFacing) {
+		_facing = newFacing;
+	}
+
 	int getAnimVar(byte var) const;
 	void setAnimVar(byte var, int value);
 

Modified: scummvm/branches/branch-0-9-0/engines/scumm/intern.h
===================================================================
--- scummvm/branches/branch-0-9-0/engines/scumm/intern.h	2006-07-24 12:49:58 UTC (rev 23589)
+++ scummvm/branches/branch-0-9-0/engines/scumm/intern.h	2006-07-24 12:52:53 UTC (rev 23590)
@@ -364,6 +364,7 @@
 	void o2_pickupObject();
 	void o2_putActor();
 	void o2_putActorAtObject();
+	void o2_putActorInRoom();
 	void o2_resourceRoutines();
 	void o2_restart();
 	void o2_roomOps();

Modified: scummvm/branches/branch-0-9-0/engines/scumm/script_c64.cpp
===================================================================
--- scummvm/branches/branch-0-9-0/engines/scumm/script_c64.cpp	2006-07-24 12:49:58 UTC (rev 23589)
+++ scummvm/branches/branch-0-9-0/engines/scumm/script_c64.cpp	2006-07-24 12:52:53 UTC (rev 23590)
@@ -92,7 +92,7 @@
 		OPCODE(o_setActorBitVar),
 		/* 2C */
 		OPCODE(o_stopCurrentScript),
-		OPCODE(o5_putActorInRoom),
+		OPCODE(o2_putActorInRoom),
 		OPCODE(o_print_c64),
 		OPCODE(o2_ifState08),
 		/* 30 */
@@ -172,7 +172,7 @@
 		OPCODE(o_setActorBitVar),
 		/* 6C */
 		OPCODE(o_stopCurrentScript),
-		OPCODE(o5_putActorInRoom),
+		OPCODE(o2_putActorInRoom),
 		OPCODE(o2_dummy),
 		OPCODE(o2_ifState08),
 		/* 70 */
@@ -252,7 +252,7 @@
 		OPCODE(o_setActorBitVar),
 		/* AC */
 		OPCODE(o_stopCurrentScript),
-		OPCODE(o5_putActorInRoom),
+		OPCODE(o2_putActorInRoom),
 		OPCODE(o_print_c64),
 		OPCODE(o2_ifNotState08),
 		/* B0 */
@@ -332,7 +332,7 @@
 		OPCODE(o_setActorBitVar),
 		/* EC */
 		OPCODE(o_stopCurrentScript),
-		OPCODE(o5_putActorInRoom),
+		OPCODE(o2_putActorInRoom),
 		OPCODE(o2_dummy),
 		OPCODE(o2_ifNotState08),
 		/* F0 */

Modified: scummvm/branches/branch-0-9-0/engines/scumm/script_v2.cpp
===================================================================
--- scummvm/branches/branch-0-9-0/engines/scumm/script_v2.cpp	2006-07-24 12:49:58 UTC (rev 23589)
+++ scummvm/branches/branch-0-9-0/engines/scumm/script_v2.cpp	2006-07-24 12:52:53 UTC (rev 23590)
@@ -94,7 +94,7 @@
 		OPCODE(o5_delayVariable),
 		/* 2C */
 		OPCODE(o2_assignVarByte),
-		OPCODE(o5_putActorInRoom),
+		OPCODE(o2_putActorInRoom),
 		OPCODE(o2_delay),
 		OPCODE(o2_ifNotState04),
 		/* 30 */
@@ -174,7 +174,7 @@
 		OPCODE(o2_dummy),
 		/* 6C */
 		OPCODE(o2_getObjPreposition),
-		OPCODE(o5_putActorInRoom),
+		OPCODE(o2_putActorInRoom),
 		OPCODE(o2_dummy),
 		OPCODE(o2_ifState04),
 		/* 70 */
@@ -254,7 +254,7 @@
 		OPCODE(o2_switchCostumeSet),
 		/* AC */
 		OPCODE(o2_drawSentence),
-		OPCODE(o5_putActorInRoom),
+		OPCODE(o2_putActorInRoom),
 		OPCODE(o2_waitForMessage),
 		OPCODE(o2_ifNotState04),
 		/* B0 */
@@ -334,7 +334,7 @@
 		OPCODE(o2_dummy),
 		/* EC */
 		OPCODE(o2_getObjPreposition),
-		OPCODE(o5_putActorInRoom),
+		OPCODE(o2_putActorInRoom),
 		OPCODE(o2_dummy),
 		OPCODE(o2_ifState04),
 		/* F0 */
@@ -1146,6 +1146,9 @@
 	x = getVarOrDirectByte(PARAM_2) * 8;
 	y = getVarOrDirectByte(PARAM_3) * 2;
 
+	if (_game.id == GID_MANIAC && _game.version <= 1 && _game.platform != Common::kPlatformNES)
+		a->setFacing(180);
+
 	a->putActor(x, y, a->_room);
 }
 
@@ -1227,6 +1230,22 @@
 	a->putActor(x, y, a->_room);
 }
 
+void ScummEngine_v2::o2_putActorInRoom() {
+	Actor *a;
+	int act = getVarOrDirectByte(PARAM_1);
+	int room = getVarOrDirectByte(PARAM_2);
+
+	a = derefActor(act, "o2_putActorInRoom");
+
+	a->_room = room;
+	if (!room) {
+		if (_game.id == GID_MANIAC && _game.version <= 1 && _game.platform != Common::kPlatformNES)
+			a->setFacing(180);
+
+		a->putActor(0, 0, 0);
+	}
+}
+
 void ScummEngine_v2::o2_getActorElevation() {
 	getResultPos();
 	int act = getVarOrDirectByte(PARAM_1);


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