[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