[Scummvm-cvs-logs] CVS: scummvm/scumm actor.h,1.77,1.78 intern.h,2.385,2.386 script_v100he.cpp,2.80,2.81 script_v90he.cpp,2.178,2.179

kirben kirben at users.sourceforge.net
Mon Mar 7 21:56:49 CET 2005


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19589/scumm

Modified Files:
	actor.h intern.h script_v100he.cpp script_v90he.cpp 
Log Message:

Add opcode for bb2demo


Index: actor.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/actor.h,v
retrieving revision 1.77
retrieving revision 1.78
diff -u -d -r1.77 -r1.78
--- actor.h	1 Jan 2005 16:09:13 -0000	1.77
+++ actor.h	8 Mar 2005 05:56:18 -0000	1.78
@@ -239,6 +239,10 @@
 		animProgress = 0;
 	}
 
+	int getAnimSpeed() const {
+		return animSpeed;
+	}
+
 	int getAnimProgress() const {
 		return animProgress;
 	}

Index: intern.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/intern.h,v
retrieving revision 2.385
retrieving revision 2.386
diff -u -d -r2.385 -r2.386
--- intern.h	8 Mar 2005 04:17:40 -0000	2.385
+++ intern.h	8 Mar 2005 05:56:18 -0000	2.386
@@ -1021,6 +1021,7 @@
 	void o90_sqrt();
 	void o90_atan2();
 	void o90_getSegmentAngle();
+	void o90_getActorData();
 	void o90_startScriptUnk();
 	void o90_jumpToScriptUnk();
 	void o90_wizImageOps();

Index: script_v100he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v100he.cpp,v
retrieving revision 2.80
retrieving revision 2.81
diff -u -d -r2.80 -r2.81
--- script_v100he.cpp	8 Mar 2005 04:17:45 -0000	2.80
+++ script_v100he.cpp	8 Mar 2005 05:56:20 -0000	2.81
@@ -232,7 +232,7 @@
 		OPCODE(o6_getObjectOldDir),
 		/* 98 */
 		OPCODE(o6_getActorMoving),
-		OPCODE(o6_invalid),
+		OPCODE(o90_getActorData),
 		OPCODE(o6_getActorRoom),
 		OPCODE(o6_getActorScaleX),
 		/* 9C */

Index: script_v90he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v90he.cpp,v
retrieving revision 2.178
retrieving revision 2.179
diff -u -d -r2.178 -r2.179
--- script_v90he.cpp	8 Mar 2005 03:52:02 -0000	2.178
+++ script_v90he.cpp	8 Mar 2005 05:56:21 -0000	2.179
@@ -93,7 +93,7 @@
 		/* 28 */
 		OPCODE(o90_setSpriteGroupInfo),
 		OPCODE(o90_getWizData),
-		OPCODE(o6_invalid),
+		OPCODE(o90_getActorData),
 		OPCODE(o90_startScriptUnk),
 		/* 2C */
 		OPCODE(o90_jumpToScriptUnk),
@@ -450,6 +450,41 @@
 	push(a);
 }
 
+void ScummEngine_v90he::o90_getActorData() {
+	Actor *a;
+
+	int subOp = pop();
+	int val = pop();
+	int act = pop();
+
+	a = derefActorSafe(act, "o90_getActorData");
+
+	switch (subOp) {
+	case 1:
+		push(a->isUserConditionSet(val));
+		break;
+	case 2:
+		// Get actor limb?
+		checkRange(15, 0, val, "Limb %d out of range");
+		push(0);
+		break;
+	case 3:
+		push(a->getAnimSpeed());
+		break;
+	case 4:
+		push(a->_shadowMode);
+		break;
+	case 5:
+		push(a->_layer);
+		break;
+	case 6:
+		push(a->hePaletteNum);
+		break;
+	default:
+		error("o90_getActorData: Unknown actor property %d", subOp);
+	}
+}
+
 void ScummEngine_v90he::o90_startScriptUnk() {
 	int args[25];
 	int script, cycle;





More information about the Scummvm-git-logs mailing list