[Scummvm-cvs-logs] CVS: scummvm/scumm intern.h,2.80,2.81 script_v2.cpp,2.59,2.60 scummvm.cpp,2.137,2.138
Max Horn
fingolfin at users.sourceforge.net
Sat May 10 17:04:02 CEST 2003
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/scumm boxes.cpp,1.21,1.22 script_v2.cpp,2.58,2.59 scummvm.cpp,2.136,2.137
- Next message: [Scummvm-cvs-logs] CVS: scummvm/scumm gfx.cpp,2.89,2.90 gfx.h,1.25,1.26
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1:/tmp/cvs-serv29354
Modified Files:
intern.h script_v2.cpp scummvm.cpp
Log Message:
more V2 'char coord' fixes
Index: intern.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/intern.h,v
retrieving revision 2.80
retrieving revision 2.81
diff -u -d -r2.80 -r2.81
--- intern.h 8 May 2003 15:48:47 -0000 2.80
+++ intern.h 11 May 2003 00:03:02 -0000 2.81
@@ -212,67 +212,68 @@
virtual void clearStateCommon(byte type);
/* Version 2 script opcodes */
- void o2_setState08();
- void o2_clearState08();
- void o2_setState04();
- void o2_clearState04();
- void o2_setState02();
- void o2_clearState02();
- void o2_setState01();
- void o2_clearState01();
- void o2_assignVarWordIndirect();
+ void o2_actorFromPos();
+ void o2_actorSet();
+ void o2_addIndirect();
+ void o2_animateActor();
void o2_assignVarByte();
- void o2_setObjY();
- void o2_getObjY();
- void o2_setBitVar();
+ void o2_assignVarWordIndirect();
+ void o2_chainScript();
+ void o2_clearState01();
+ void o2_clearState02();
+ void o2_clearState04();
+ void o2_clearState08();
+ void o2_cursorCommand();
+ void o2_cutscene();
+ void o2_delay();
+ void o2_doSentence();
+ void o2_drawObject();
+ void o2_drawSentence();
+ void o2_dummy();
+ void o2_endCutscene();
+ void o2_findObject();
+ void o2_getActorWalkBox();
+ void o2_getActorX();
+ void o2_getActorY();
void o2_getBitVar();
- void o2_addIndirect();
- void o2_subIndirect();
- void o2_ifState08();
- void o2_ifNotState08();
- void o2_ifState04();
- void o2_ifNotState04();
- void o2_ifState02();
+ void o2_getObjY();
+ void o2_ifClassOfIs();
+ void o2_ifNotState01();
void o2_ifNotState02();
+ void o2_ifNotState04();
+ void o2_ifNotState08();
void o2_ifState01();
- void o2_ifNotState01();
- void o2_actorSet();
- void o2_waitForActor();
- void o2_waitForMessage();
- void o2_waitForSentence();
- void o2_restart();
- void o2_drawObject();
- void o2_resourceRoutines();
- void o2_verbOps();
- void o2_doSentence();
- void o2_ifClassOfIs();
- void o2_walkActorTo();
- void o2_putActor();
- void o2_startScript();
+ void o2_ifState02();
+ void o2_ifState04();
+ void o2_ifState08();
+ void o2_loadRoomWithEgo();
+ void o2_matrixOps();
void o2_panCameraTo();
- void o2_setActorElevation();
- void o2_walkActorToObject();
+ void o2_pickupObject();
+ void o2_putActor();
void o2_putActorAtObject();
- void o2_animateActor();
- void o2_actorFromPos();
+ void o2_resourceRoutines();
+ void o2_restart();
+ void o2_roomOps();
void o2_saveLoadGame();
- void o2_getActorX();
- void o2_getActorY();
- void o2_loadRoomWithEgo();
- void o2_setOwnerOf();
- void o2_matrixOps();
+ void o2_setActorElevation();
+ void o2_setBitVar();
void o2_setCameraAt();
- void o2_roomOps();
- void o2_cutscene();
- void o2_chainScript();
- void o2_pickupObject();
void o2_setObjectName();
- void o2_cursorCommand();
- void o2_getActorWalkBox();
- void o2_endCutscene();
- void o2_drawSentence();
- void o2_delay();
- void o2_dummy();
+ void o2_setObjY();
+ void o2_setOwnerOf();
+ void o2_setState01();
+ void o2_setState02();
+ void o2_setState04();
+ void o2_setState08();
+ void o2_startScript();
+ void o2_subIndirect();
+ void o2_verbOps();
+ void o2_waitForActor();
+ void o2_waitForMessage();
+ void o2_waitForSentence();
+ void o2_walkActorTo();
+ void o2_walkActorToObject();
};
class Scumm_v4 : public Scumm_v3 {
Index: script_v2.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v2.cpp,v
retrieving revision 2.59
retrieving revision 2.60
diff -u -d -r2.59 -r2.60
--- script_v2.cpp 10 May 2003 23:47:39 -0000 2.59
+++ script_v2.cpp 11 May 2003 00:03:03 -0000 2.60
@@ -99,7 +99,7 @@
OPCODE(o2_roomOps),
/* 34 */
OPCODE(o5_getDist),
- OPCODE(o5_findObject),
+ OPCODE(o2_findObject),
OPCODE(o2_walkActorToObject),
OPCODE(o2_setState01),
/* 38 */
@@ -179,7 +179,7 @@
OPCODE(o2_roomOps),
/* 74 */
OPCODE(o5_getDist),
- OPCODE(o5_findObject),
+ OPCODE(o2_findObject),
OPCODE(o2_walkActorToObject),
OPCODE(o2_clearState01),
/* 78 */
@@ -259,7 +259,7 @@
OPCODE(o2_roomOps),
/* B4 */
OPCODE(o5_getDist),
- OPCODE(o5_findObject),
+ OPCODE(o2_findObject),
OPCODE(o2_walkActorToObject),
OPCODE(o2_setState02),
/* B8 */
@@ -339,7 +339,7 @@
OPCODE(o2_roomOps),
/* F4 */
OPCODE(o5_getDist),
- OPCODE(o5_findObject),
+ OPCODE(o2_findObject),
OPCODE(o2_walkActorToObject),
OPCODE(o2_clearState01),
/* F8 */
@@ -851,6 +851,8 @@
a = derefActorSafe(getVarOrDirectByte(0x80), "o2_walkActorTo");
x = getVarOrDirectByte(0x40) * 8;
y = getVarOrDirectByte(0x20) * 2;
+
+ assert(a);
a->ignoreBoxes = true; // FIXME: Disabling walkboxes
a->startWalkActor(x, y, -1); // for now, just to debug the intro
}
@@ -863,8 +865,7 @@
x = getVarOrDirectByte(0x40) * 8;
y = getVarOrDirectByte(0x20) * 2;
- if (!a)
- return;
+ assert(a);
a->putActor(x, y, a->room);
}
@@ -931,9 +932,16 @@
void Scumm_v2::o2_actorFromPos() {
int x, y;
getResultPos();
- x = getVarOrDirectByte(0x80);
- y = getVarOrDirectByte(0x40);
+ x = getVarOrDirectByte(0x80) * 8;
+ y = getVarOrDirectByte(0x40) * 2;
setResult(getActorFromPos(x, y));
+}
+
+void Scumm_v2::o2_findObject() {
+ getResultPos();
+ int x = getVarOrDirectByte(0x80) * 8;
+ int y = getVarOrDirectByte(0x40) * 2;
+ setResult(findObject(x, y));
}
void Scumm_v2::o2_saveLoadGame() {
Index: scummvm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scummvm.cpp,v
retrieving revision 2.137
retrieving revision 2.138
diff -u -d -r2.137 -r2.138
--- scummvm.cpp 10 May 2003 23:47:39 -0000 2.137
+++ scummvm.cpp 11 May 2003 00:03:03 -0000 2.138
@@ -885,8 +885,8 @@
}
VAR(VAR_HAVE_MSG) = (_haveMsg == 0xFE) ? 0xFF : _haveMsg;
if (_features & GF_AFTER_V2) {
- VAR(VAR_VIRT_MOUSE_X) = _virtual_mouse_x;
- VAR(VAR_VIRT_MOUSE_Y) = _virtual_mouse_y;
+ VAR(VAR_VIRT_MOUSE_X) = _virtual_mouse_x / 8;
+ VAR(VAR_VIRT_MOUSE_Y) = _virtual_mouse_y / 2;
} else {
VAR(VAR_VIRT_MOUSE_X) = _virtual_mouse_x;
VAR(VAR_VIRT_MOUSE_Y) = _virtual_mouse_y;
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/scumm boxes.cpp,1.21,1.22 script_v2.cpp,2.58,2.59 scummvm.cpp,2.136,2.137
- Next message: [Scummvm-cvs-logs] CVS: scummvm/scumm gfx.cpp,2.89,2.90 gfx.h,1.25,1.26
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Scummvm-git-logs
mailing list