[Scummvm-cvs-logs] SF.net SVN: scummvm: [23589] scummvm/trunk/engines/scumm
kirben at users.sourceforge.net
kirben at users.sourceforge.net
Mon Jul 24 14:50:05 CEST 2006
Revision: 23589
Author: kirben
Date: 2006-07-24 05:49:58 -0700 (Mon, 24 Jul 2006)
ViewCVS: http://svn.sourceforge.net/scummvm/?rev=23589&view=rev
Log Message:
-----------
Fix bug #1496523 - MM: Weird Ed appears backwards at door
Modified Paths:
--------------
scummvm/trunk/engines/scumm/actor.h
scummvm/trunk/engines/scumm/intern.h
scummvm/trunk/engines/scumm/script_c64.cpp
scummvm/trunk/engines/scumm/script_v2.cpp
Modified: scummvm/trunk/engines/scumm/actor.h
===================================================================
--- scummvm/trunk/engines/scumm/actor.h 2006-07-24 12:10:32 UTC (rev 23588)
+++ scummvm/trunk/engines/scumm/actor.h 2006-07-24 12:49:58 UTC (rev 23589)
@@ -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/trunk/engines/scumm/intern.h
===================================================================
--- scummvm/trunk/engines/scumm/intern.h 2006-07-24 12:10:32 UTC (rev 23588)
+++ scummvm/trunk/engines/scumm/intern.h 2006-07-24 12:49:58 UTC (rev 23589)
@@ -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/trunk/engines/scumm/script_c64.cpp
===================================================================
--- scummvm/trunk/engines/scumm/script_c64.cpp 2006-07-24 12:10:32 UTC (rev 23588)
+++ scummvm/trunk/engines/scumm/script_c64.cpp 2006-07-24 12:49:58 UTC (rev 23589)
@@ -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/trunk/engines/scumm/script_v2.cpp
===================================================================
--- scummvm/trunk/engines/scumm/script_v2.cpp 2006-07-24 12:10:32 UTC (rev 23588)
+++ scummvm/trunk/engines/scumm/script_v2.cpp 2006-07-24 12:49:58 UTC (rev 23589)
@@ -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