[Scummvm-cvs-logs] CVS: scummvm/scumm intern.h,2.51,2.52 script_v2.cpp,2.6,2.7
Pawel Kolodziejski
aquadran at users.sourceforge.net
Mon Apr 21 01:51:03 CEST 2003
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1:/tmp/cvs-serv24681
Modified Files:
intern.h script_v2.cpp
Log Message:
fixed object flags, it's right shifted half byte
Index: intern.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/intern.h,v
retrieving revision 2.51
retrieving revision 2.52
diff -u -d -r2.51 -r2.52
--- intern.h 21 Apr 2003 00:44:46 -0000 2.51
+++ intern.h 21 Apr 2003 08:50:16 -0000 2.52
@@ -194,18 +194,20 @@
virtual const char *getOpcodeDesc(int i);
virtual void getResultPos();
virtual void getResultPosDirect();
- virtual void ifStateGeneral(byte type);
- virtual void ifNotStateGeneral(byte type);
+ virtual void ifStateCommon(byte type);
+ virtual void ifNotStateCommon(byte type);
+ virtual void setStateCommon(byte type);
+ virtual void clearStateCommon(byte type);
/* Version 2 script opcodes */
- void o2_setState80();
- void o2_clearState80();
- void o2_setState40();
- void o2_clearState40();
- void o2_setState20();
- void o2_clearState20();
- void o2_setState10();
- void o2_clearState10();
+ 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_assignVarByteDirect();
void o2_assignVarWordDirect();
void o2_assignVarByte();
@@ -216,14 +218,14 @@
void o2_getBitVar();
void o2_addDirect();
void o2_subDirect();
- void o2_ifState80();
- void o2_ifNotState80();
- void o2_ifState40();
- void o2_ifNotState40();
- void o2_ifState20();
- void o2_ifNotState20();
- void o2_ifState10();
- void o2_ifNotState10();
+ void o2_ifState08();
+ void o2_ifNotState08();
+ void o2_ifState04();
+ void o2_ifNotState04();
+ void o2_ifState02();
+ void o2_ifNotState02();
+ void o2_ifState01();
+ void o2_ifNotState01();
void o2_actorSet();
void o2_waitForActor();
void o2_waitForSentence();
Index: script_v2.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v2.cpp,v
retrieving revision 2.6
retrieving revision 2.7
diff -u -d -r2.6 -r2.7
--- script_v2.cpp 20 Apr 2003 17:18:31 -0000 2.6
+++ script_v2.cpp 21 Apr 2003 08:50:16 -0000 2.7
@@ -41,7 +41,7 @@
OPCODE(o5_isGreaterEqual),
OPCODE(o5_drawObject),
OPCODE(o5_getActorElevation),
- OPCODE(o2_setState80),
+ OPCODE(o2_setState08),
/* 08 */
OPCODE(o5_isNotEqual),
OPCODE(o5_faceActor),
@@ -61,7 +61,7 @@
OPCODE(o5_print),
OPCODE(o5_actorFromPos),
OPCODE(o5_getRandomNr),
- OPCODE(o2_setState40),
+ OPCODE(o2_setState04),
/* 18 */
OPCODE(o5_jumpRelative),
OPCODE(o5_doSentence),
@@ -71,7 +71,7 @@
OPCODE(o5_startSound),
OPCODE(o5_ifClassOfIs),
OPCODE(o5_walkActorTo),
- OPCODE(o2_ifState20),
+ OPCODE(o2_ifState02),
/* 20 */
OPCODE(o5_stopMusic),
OPCODE(o5_putActor),
@@ -81,14 +81,14 @@
OPCODE(o5_loadRoomWithEgo),
OPCODE(o5_pickupObject),
OPCODE(o5_setVarRange),
- OPCODE(o2_ifNotState40),
+ OPCODE(o2_ifNotState04),
/* 28 */
OPCODE(o5_equalZero),
OPCODE(o5_setOwnerOf),
OPCODE(o2_addDirect),
OPCODE(o5_delayVariable),
/* 2C */
- OPCODE(o2_ifNotState40),
+ OPCODE(o2_ifNotState04),
OPCODE(o5_putActorInRoom),
OPCODE(o5_delay),
OPCODE(o2_assignVarByte),
@@ -101,7 +101,7 @@
OPCODE(o5_getDist),
OPCODE(o5_findObject),
OPCODE(o5_walkActorToObject),
- OPCODE(o2_setState10),
+ OPCODE(o2_setState01),
/* 38 */
OPCODE(o5_lessOrEqual),
OPCODE(o5_doSentence),
@@ -111,7 +111,7 @@
OPCODE(o5_stopSound),
OPCODE(o5_getActorElevation),
OPCODE(o5_walkActorTo),
- OPCODE(o2_ifNotState10),
+ OPCODE(o2_ifNotState01),
/* 40 */
OPCODE(o5_cutscene),
OPCODE(o5_putActor),
@@ -121,7 +121,7 @@
OPCODE(o5_isLess),
OPCODE(o5_drawObject),
OPCODE(o5_increment),
- OPCODE(o2_setState80),
+ OPCODE(o2_setState08),
/* 48 */
OPCODE(o5_isEqual),
OPCODE(o5_faceActor),
@@ -131,7 +131,7 @@
OPCODE(o2_waitForSentence),
OPCODE(o5_walkActorToActor),
OPCODE(o5_putActorAtObject),
- OPCODE(o2_ifState80),
+ OPCODE(o2_ifState08),
/* 50 */
OPCODE(o5_pickupObjectOld),
OPCODE(o5_animateActor),
@@ -141,7 +141,7 @@
OPCODE(o5_setObjectName),
OPCODE(o5_actorFromPos),
OPCODE(o5_getActorMoving),
- OPCODE(o2_setState20),
+ OPCODE(o2_setState02),
/* 58 */
OPCODE(o5_overRide),
OPCODE(o5_doSentence),
@@ -151,7 +151,7 @@
OPCODE(o5_oldRoomEffect),
OPCODE(o5_ifClassOfIs),
OPCODE(o5_walkActorTo),
- OPCODE(o2_ifNotState20),
+ OPCODE(o2_ifNotState02),
/* 60 */
OPCODE(o5_cursorCommand),
OPCODE(o5_putActor),
@@ -161,7 +161,7 @@
OPCODE(o5_loadRoomWithEgo),
OPCODE(o5_pickupObject),
OPCODE(o5_getClosestObjActor),
- OPCODE(o2_clearState40),
+ OPCODE(o2_clearState04),
/* 68 */
OPCODE(o5_isScriptRunning),
OPCODE(o5_setOwnerOf),
@@ -171,7 +171,7 @@
OPCODE(o2_getObjY),
OPCODE(o5_putActorInRoom),
OPCODE(o5_dummy),
- OPCODE(o2_ifState40),
+ OPCODE(o2_ifState04),
/* 70 */
OPCODE(o5_lights),
OPCODE(o5_getActorCostume),
@@ -181,7 +181,7 @@
OPCODE(o5_getDist),
OPCODE(o5_findObject),
OPCODE(o5_walkActorToObject),
- OPCODE(o2_clearState10),
+ OPCODE(o2_clearState01),
/* 78 */
OPCODE(o5_isGreater),
OPCODE(o5_doSentence),
@@ -201,7 +201,7 @@
OPCODE(o5_isGreaterEqual),
OPCODE(o5_drawObject),
OPCODE(o5_getActorElevation),
- OPCODE(o2_setState80),
+ OPCODE(o2_setState08),
/* 88 */
OPCODE(o5_isNotEqual),
OPCODE(o5_faceActor),
@@ -211,7 +211,7 @@
OPCODE(o5_resourceRoutines),
OPCODE(o5_walkActorToActor),
OPCODE(o5_putActorAtObject),
- OPCODE(o2_ifNotState80),
+ OPCODE(o2_ifNotState08),
/* 90 */
OPCODE(o5_getObjectOwner),
OPCODE(o5_animateActor),
@@ -221,7 +221,7 @@
OPCODE(o5_print),
OPCODE(o5_actorFromPos),
OPCODE(o5_getRandomNr),
- OPCODE(o2_setState20),
+ OPCODE(o2_setState02),
/* 98 */
OPCODE(o2_restart),
OPCODE(o5_doSentence),
@@ -231,7 +231,7 @@
OPCODE(o5_startSound),
OPCODE(o5_ifClassOfIs),
OPCODE(o5_walkActorTo),
- OPCODE(o2_ifState20),
+ OPCODE(o2_ifState02),
/* A0 */
OPCODE(o5_stopObjectCode),
OPCODE(o5_putActor),
@@ -241,7 +241,7 @@
OPCODE(o5_loadRoomWithEgo),
OPCODE(o5_pickupObject),
OPCODE(o5_setVarRange),
- OPCODE(o2_setState40),
+ OPCODE(o2_setState04),
/* A8 */
OPCODE(o5_notEqualZero),
OPCODE(o5_setOwnerOf),
@@ -251,7 +251,7 @@
OPCODE(o5_delay),
OPCODE(o5_putActorInRoom),
OPCODE(o2_waitForSentence),
- OPCODE(o2_ifNotState40),
+ OPCODE(o2_ifNotState04),
/* B0 */
OPCODE(o5_matrixOps),
OPCODE(o2_getBitVar),
@@ -261,7 +261,7 @@
OPCODE(o5_getDist),
OPCODE(o5_findObject),
OPCODE(o5_walkActorToObject),
- OPCODE(o2_setState20),
+ OPCODE(o2_setState02),
/* B8 */
OPCODE(o5_lessOrEqual),
OPCODE(o5_doSentence),
@@ -271,7 +271,7 @@
OPCODE(o5_stopSound),
OPCODE(o5_getActorElevation),
OPCODE(o5_walkActorTo),
- OPCODE(o2_ifNotState10),
+ OPCODE(o2_ifNotState01),
/* C0 */
OPCODE(o5_endCutscene),
OPCODE(o5_putActor),
@@ -281,7 +281,7 @@
OPCODE(o5_isLess),
OPCODE(o5_drawObject),
OPCODE(o5_decrement),
- OPCODE(o2_clearState80),
+ OPCODE(o2_clearState08),
/* C8 */
OPCODE(o5_isEqual),
OPCODE(o5_faceActor),
@@ -291,7 +291,7 @@
OPCODE(o5_pseudoRoom),
OPCODE(o5_walkActorToActor),
OPCODE(o5_putActorAtObject),
- OPCODE(o2_ifState80),
+ OPCODE(o2_ifState08),
/* D0 */
OPCODE(o5_pickupObjectOld),
OPCODE(o5_animateActor),
@@ -301,7 +301,7 @@
OPCODE(o5_setObjectName),
OPCODE(o5_actorFromPos),
OPCODE(o5_getActorMoving),
- OPCODE(o2_setState20),
+ OPCODE(o2_setState02),
/* D8 */
OPCODE(o5_printEgo),
OPCODE(o5_doSentence),
@@ -311,7 +311,7 @@
OPCODE(o5_oldRoomEffect),
OPCODE(o5_ifClassOfIs),
OPCODE(o5_walkActorTo),
- OPCODE(o2_ifNotState20),
+ OPCODE(o2_ifNotState02),
/* E0 */
OPCODE(o5_cursorCommand),
OPCODE(o5_putActor),
@@ -321,7 +321,7 @@
OPCODE(o5_loadRoomWithEgo),
OPCODE(o5_pickupObject),
OPCODE(o5_getClosestObjActor),
- OPCODE(o2_clearState40),
+ OPCODE(o2_clearState04),
/* E8 */
OPCODE(o5_isScriptRunning),
OPCODE(o5_setOwnerOf),
@@ -331,7 +331,7 @@
OPCODE(o2_getObjY),
OPCODE(o5_putActorInRoom),
OPCODE(o5_dummy),
- OPCODE(o2_ifState40),
+ OPCODE(o2_ifState04),
/* F0 */
OPCODE(o5_lights),
OPCODE(o5_getActorCostume),
@@ -341,7 +341,7 @@
OPCODE(o5_getDist),
OPCODE(o5_findObject),
OPCODE(o5_walkActorToObject),
- OPCODE(o2_clearState10),
+ OPCODE(o2_clearState01),
/* F8 */
OPCODE(o5_isGreater),
OPCODE(o5_doSentence),
@@ -351,7 +351,7 @@
OPCODE(o5_isSoundRunning),
OPCODE(o5_getActorElevation),
OPCODE(o5_walkActorTo),
- OPCODE(o2_ifState10)
+ OPCODE(o2_ifState01)
};
_opcodesV2 = opcodes;
@@ -366,48 +366,52 @@
return _opcodesV2[i].desc;
}
-void Scumm_v2::o2_setState80() {
+void Scumm_v2::setStateCommon(byte type) {
int obj = getVarOrDirectWord(0x80);
- putState(obj, getState(obj) | 0x80);
+ putState(obj, getState(obj) | type);
+}
+
+void Scumm_v2::clearStateCommon(byte type) {
+ int obj = getVarOrDirectWord(0x80);
+ putState(obj, getState(obj) & type);
+}
+
+void Scumm_v2::o2_setState08() {
+ int obj = getVarOrDirectWord(0x80);
+ putState(obj, getState(obj) | 0x08);
removeObjectFromRoom(obj);
clearDrawObjectQueue();
}
-void Scumm_v2::o2_clearState80() {
+void Scumm_v2::o2_clearState08() {
int obj = getVarOrDirectWord(0x80);
- putState(obj, getState(obj) & 0x7f);
+ putState(obj, getState(obj) & 0x08);
removeObjectFromRoom(obj);
clearDrawObjectQueue();
}
-void Scumm_v2::o2_setState40() {
- int obj = getVarOrDirectWord(0x80);
- putState(obj, getState(obj) | 0x40);
+void Scumm_v2::o2_setState04() {
+ setStateCommon(0x04);
}
-void Scumm_v2::o2_clearState40() {
- int obj = getVarOrDirectWord(0x80);
- putState(obj, getState(obj) & 0x40);
+void Scumm_v2::o2_clearState04() {
+ clearStateCommon(0x04);
}
-void Scumm_v2::o2_setState20() {
- int obj = getVarOrDirectWord(0x80);
- putState(obj, getState(obj) | 0x20);
+void Scumm_v2::o2_setState02() {
+ setStateCommon(0x02);
}
-void Scumm_v2::o2_clearState20() {
- int obj = getVarOrDirectWord(0x80);
- putState(obj, getState(obj) & 0x20);
+void Scumm_v2::o2_clearState02() {
+ clearStateCommon(0x02);
}
-void Scumm_v2::o2_setState10() {
- int obj = getVarOrDirectWord(0x80);
- putState(obj, getState(obj) | 0x10);
+void Scumm_v2::o2_setState01() {
+ setStateCommon(0x01);
}
-void Scumm_v2::o2_clearState10() {
- int obj = getVarOrDirectWord(0x80);
- putState(obj, getState(obj) & 0x10);
+void Scumm_v2::o2_clearState01() {
+ clearStateCommon(0x01);
}
void Scumm_v2::getResultPos() {
@@ -487,7 +491,7 @@
_vars[_resultVarNumber] = (_bitVars[bit_var >> 3] & (1 << bit_offset)) ? 1 : 0;
}
-void Scumm_v2::ifStateGeneral(byte type) {
+void Scumm_v2::ifStateCommon(byte type) {
int obj = getVarOrDirectWord(0x80);
if ((getState(obj) & type) == 0)
@@ -496,7 +500,7 @@
ignoreScriptWord();
}
-void Scumm_v2::ifNotStateGeneral(byte type) {
+void Scumm_v2::ifNotStateCommon(byte type) {
int obj = getVarOrDirectWord(0x80);
if ((getState(obj) & type) != 0)
@@ -505,36 +509,36 @@
ignoreScriptWord();
}
-void Scumm_v2::o2_ifState80() {
- ifStateGeneral(0x80);
+void Scumm_v2::o2_ifState08() {
+ ifStateCommon(0x08);
}
-void Scumm_v2::o2_ifNotState80() {
- ifNotStateGeneral(0x80);
+void Scumm_v2::o2_ifNotState08() {
+ ifNotStateCommon(0x08);
}
-void Scumm_v2::o2_ifState40() {
- ifStateGeneral(0x40);
+void Scumm_v2::o2_ifState04() {
+ ifStateCommon(0x04);
}
-void Scumm_v2::o2_ifNotState40() {
- ifNotStateGeneral(0x40);
+void Scumm_v2::o2_ifNotState04() {
+ ifNotStateCommon(0x04);
}
-void Scumm_v2::o2_ifState20() {
- ifStateGeneral(0x20);
+void Scumm_v2::o2_ifState02() {
+ ifStateCommon(0x02);
}
-void Scumm_v2::o2_ifNotState20() {
- ifNotStateGeneral(0x20);
+void Scumm_v2::o2_ifNotState02() {
+ ifNotStateCommon(0x02);
}
-void Scumm_v2::o2_ifState10() {
- ifStateGeneral(0x10);
+void Scumm_v2::o2_ifState01() {
+ ifStateCommon(0x01);
}
-void Scumm_v2::o2_ifNotState10() {
- ifNotStateGeneral(0x10);
+void Scumm_v2::o2_ifNotState01() {
+ ifNotStateCommon(0x01);
}
void Scumm_v2::o2_addDirect() {
More information about the Scummvm-git-logs
mailing list