[Scummvm-cvs-logs] CVS: scummvm/scumm script_v1.cpp,1.34,1.35

Max Horn fingolfin at users.sourceforge.net
Sun Dec 1 05:07:08 CET 2002


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1:/tmp/cvs-serv9518/scumm

Modified Files:
	script_v1.cpp 
Log Message:
added some warnings to ease debugging

Index: script_v1.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v1.cpp,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -d -r1.34 -r1.35
--- script_v1.cpp	1 Dec 2002 12:55:48 -0000	1.34
+++ script_v1.cpp	1 Dec 2002 13:06:15 -0000	1.35
@@ -886,40 +886,82 @@
 
 void Scumm::o5_getActorCostume()
 {
+	int act;
+	Actor *a;
 	getResultPos();
-	setResult(derefActorSafe(getVarOrDirectByte(0x80), "o5_getActorCostume")->costume);
+	act = getVarOrDirectByte(0x80);
+
+	a = derefActorSafe(act, "o5_getActorCostume");
+	if (!a) {
+		warning("Invalid actor %d in o5_getActorCostume", act);
+		return;
+	}
+
+	setResult(a->costume);
 }
 
 void Scumm::o5_getActorElevation()
 {
+	int act;
+	Actor *a;
 	getResultPos();
-	setResult(derefActorSafe(getVarOrDirectByte(0x80), "o5_getActorElevation")->elevation);
+	act = getVarOrDirectByte(0x80);
+
+	a = derefActorSafe(act, "o5_getActorElevation");
+	if (!a) {
+		warning("Invalid actor %d in o5_getActorElevation", act);
+		return;
+	}
+
+	setResult(a->elevation);
 }
 
 void Scumm::o5_getActorFacing()
 {
+	int act;
+	Actor *a;
 	getResultPos();
-	setResult(newDirToOldDir(derefActorSafe(getVarOrDirectByte(0x80), "o5_getActorFacing")->facing));
+	act = getVarOrDirectByte(0x80);
+
+	a = derefActorSafe(act, "o5_getActorFacing");
+	if (!a) {
+		warning("Invalid actor %d in o5_getActorFacing", act);
+		return;
+	}
+
+	setResult(a->facing);
 }
 
 void Scumm::o5_getActorMoving()
 {
+	int act;
+	Actor *a;
 	getResultPos();
-	setResult(derefActorSafe(getVarOrDirectByte(0x80), "o5_getActorMoving")->moving);
+	act = getVarOrDirectByte(0x80);
+
+	a = derefActorSafe(act, "o5_getActorMoving");
+	if (!a) {
+		warning("Invalid actor %d in o5_getActorMoving", act);
+		return;
+	}
+
+	setResult(a->moving);
 }
 
 void Scumm::o5_getActorRoom()
 {
-	int temp;
-	Actor *act;
+	int act;
+	Actor *a;
 	getResultPos();
-	temp = getVarOrDirectByte(0x80);
+	act = getVarOrDirectByte(0x80);
 
-	act = derefActorSafe(temp, "o5_getActorRoom");
-	if (!act)
+	a = derefActorSafe(act, "o5_getActorRoom");
+	if (!a) {
+		warning("Invalid actor %d in o5_getActorRoom", act);
 		return;
+	}
 
-	setResult(act->room);
+	setResult(a->room);
 }
 
 void Scumm::o5_getActorScale()





More information about the Scummvm-git-logs mailing list