[Scummvm-cvs-logs] scummvm master -> aedb109567a69a224a30c18c331c03062335feaa

Strangerke Strangerke at scummvm.org
Sat Jun 7 14:22:36 CEST 2014


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
6d6f789001 CRUISE: Add some comments, remove some optional brackets
aedb109567 CRUISE: Some minor rework in script handler


Commit: 6d6f789001907119950b82b3f4d6d90b54664bc1
    https://github.com/scummvm/scummvm/commit/6d6f789001907119950b82b3f4d6d90b54664bc1
Author: Strangerke (strangerke at scummvm.org)
Date: 2014-06-07T13:47:55+02:00

Commit Message:
CRUISE: Add some comments, remove some optional brackets

Changed paths:
    engines/cruise/script.cpp



diff --git a/engines/cruise/script.cpp b/engines/cruise/script.cpp
index 5403c5d..ba1777f 100644
--- a/engines/cruise/script.cpp
+++ b/engines/cruise/script.cpp
@@ -51,12 +51,13 @@ int32 opcodeType0() {
 	int index = 0;
 
 	switch (currentScriptOpcodeType) {
-	case 0: {
+	case 0:
 		pushVar(getShortFromScript());
 		return (0);
-	}
+
 	case 5:
 		index = saveOpcodeVar;
+		// No break on purpose
 	case 1: {
 		uint8 *address = 0;
 		int type = getByteFromScript();
@@ -131,12 +132,12 @@ int32 opcodeType1()	{
 	int offset = 0;
 
 	switch (currentScriptOpcodeType) {
-	case 0: {
+	case 0:
 		return (0);	// strange, but happens also in original interpreter
-	}
-	case 5: {
+
+	case 5:
 		offset = saveOpcodeVar;
-	}
+		//no break on purpose
 	case 1: {
 		int var_A = 0;
 
@@ -226,6 +227,7 @@ int32 opcodeType2() {
 	switch (currentScriptOpcodeType) {
 	case 5:
 		index = saveOpcodeVar;
+		// No break on purpose
 	case 1: {
 		uint8* adresse = NULL;
 		int type = getByteFromScript();
@@ -261,6 +263,7 @@ int32 opcodeType2() {
 		}
 
 	}
+	break;
 	}
 
 	return 0;
@@ -281,39 +284,37 @@ int32 opcodeType4() {		// test
 	int var2 = popVar();
 
 	switch (currentScriptOpcodeType) {
-	case 0: {
+	case 0:
 		if (var2 != var1)
 			boolVar = 1;
 		break;
-	}
-	case 1: {
+
+	case 1:
 		if (var2 == var1)
 			boolVar = 1;
 		break;
-	}
-	case 2: {
+
+	case 2:
 		if (var2 < var1)
 			boolVar = 1;
 		break;
-	}
-	case 3: {
+
+	case 3:
 		if (var2 <= var1)
 			boolVar = 1;
 		break;
-	}
-	case 4: {
+
+	case 4:
 		if (var2 > var1)
 			boolVar = 1;
 		break;
-	}
-	case 5: {
+
+	case 5:
 		if (var2 >= var1)
 			boolVar = 1;
 		break;
 	}
 
-	}
-
 	pushVar(boolVar);
 
 	return (0);
@@ -327,13 +328,11 @@ int32 opcodeType6() {
 	if (!pop)
 		si = 1;
 
-	if (pop < 0) {
+	if (pop < 0)
 		si |= 4;
-	}
 
-	if (pop > 0) {
+	if (pop > 0)
 		si |= 2;
-	}
 
 	currentScriptPtr->ccr = si;
 
@@ -357,50 +356,49 @@ int32 opcodeType5() {
 	int bitMask = currentScriptPtr->ccr;
 
 	switch (currentScriptOpcodeType) {
-	case 0: {
-		if (!(bitMask & 1)) {
+	case 0:
+		if (!(bitMask & 1))
 			currentScriptPtr->scriptOffset = newSi;
-		}
+
 		break;
-	}
-	case 1: {
-		if (bitMask & 1) {
+
+	case 1:
+		if (bitMask & 1)
 			currentScriptPtr->scriptOffset = newSi;
-		}
+
 		break;
-	}
-	case 2: {
-		if (bitMask & 2) {
+
+	case 2:
+		if (bitMask & 2)
 			currentScriptPtr->scriptOffset = newSi;
-		}
+
 		break;
-	}
-	case 3: {
-		if (bitMask & 3) {
+
+	case 3:
+		if (bitMask & 3)
 			currentScriptPtr->scriptOffset = newSi;
-		}
+
 		break;
-	}
-	case 4: {
-		if (bitMask & 4) {
+
+	case 4:
+		if (bitMask & 4)
 			currentScriptPtr->scriptOffset = newSi;
-		}
+
 		break;
-	}
-	case 5: {
-		if (bitMask & 5) {
+
+	case 5:
+		if (bitMask & 5)
 			currentScriptPtr->scriptOffset = newSi;
-		}
+
 		break;
-	}
-	case 6: {
+
+	case 6:
 		break;	// never
-	}
-	case 7: {
+
+	case 7:
 		currentScriptPtr->scriptOffset = newSi;	//always
 		break;
 	}
-	}
 
 	return (0);
 }
@@ -410,39 +408,39 @@ int32 opcodeType3()	{	// math
 	int pop2 = popVar();
 
 	switch (currentScriptOpcodeType) {
-	case 0: {
+	case 0:
 		pushVar(pop1 + pop2);
 		return (0);
-	}
-	case 1: {
+
+	case 1:
 		if (pop2 == 0)
 			error("opcodeType3 - Invalid value for pop2");
 		pushVar(pop1 / pop2);
 		return (0);
-	}
-	case 2: {
+
+	case 2:
 		pushVar(pop1 - pop2);
 		return (0);
-	}
-	case 3: {
+
+	case 3:
 		pushVar(pop1 * pop2);
 		return (0);
-	}
-	case 4: {
+
+	case 4:
 		if (pop2 == 0)
 			error("opcodeType3 - Invalid value for pop2");
 		pushVar(pop1 % pop2);
 		return (0);
-	}
+
 	case 7:
-	case 5: {
+	case 5:
 		pushVar(pop2 | pop1);
 		return (0);
-	}
-	case 6: {
+
+	case 6:
 		pushVar(pop2 & pop1);
 		return (0);
-	}
+
 	}
 
 	return 0;
@@ -455,9 +453,8 @@ int32 opcodeType9() {		// stop script
 }
 
 void setupFuncArray() {
-	for (int i = 0; i < 64; i++) {
+	for (int i = 0; i < 64; i++)
 		opcodeTypeTable[i] = NULL;
-	}
 
 	opcodeTypeTable[1] = opcodeType0;
 	opcodeTypeTable[2] = opcodeType1;


Commit: aedb109567a69a224a30c18c331c03062335feaa
    https://github.com/scummvm/scummvm/commit/aedb109567a69a224a30c18c331c03062335feaa
Author: Strangerke (strangerke at scummvm.org)
Date: 2014-06-07T14:21:20+02:00

Commit Message:
CRUISE: Some minor rework in script handler

Changed paths:
    engines/cruise/script.cpp



diff --git a/engines/cruise/script.cpp b/engines/cruise/script.cpp
index ba1777f..eae2041 100644
--- a/engines/cruise/script.cpp
+++ b/engines/cruise/script.cpp
@@ -471,19 +471,13 @@ void setupFuncArray() {
 }
 
 int removeScript(int overlay, int idx, scriptInstanceStruct *headPtr) {
-	scriptInstanceStruct *scriptPtr;
+	scriptInstanceStruct *scriptPtr = headPtr->nextScriptPtr;
 
-	scriptPtr = headPtr->nextScriptPtr;
+	while (scriptPtr) {
+		if (scriptPtr->overlayNumber == overlay && (scriptPtr->scriptNumber == idx || idx == -1))
+			scriptPtr->scriptNumber = -1;
 
-	if (scriptPtr) {
-		do {
-			if (scriptPtr->overlayNumber == overlay
-			        && (scriptPtr->scriptNumber == idx || idx == -1)) {
-				scriptPtr->scriptNumber = -1;
-			}
-
-			scriptPtr = scriptPtr->nextScriptPtr;
-		} while (scriptPtr);
+		scriptPtr = scriptPtr->nextScriptPtr;
 	}
 
 	return (0);
@@ -492,77 +486,61 @@ int removeScript(int overlay, int idx, scriptInstanceStruct *headPtr) {
 uint8 *attacheNewScriptToTail(scriptInstanceStruct *scriptHandlePtr, int16 overlayNumber, int16 param, int16 arg0, int16 arg1, int16 arg2, scriptTypeEnum scriptType) {
 	int useArg3Neg = 0;
 	ovlData3Struct *data3Ptr;
-	scriptInstanceStruct *tempPtr;
 	int var_C;
 	scriptInstanceStruct *oldTail;
 
-	//debug("Starting script %d of overlay %s", param,overlayTable[overlayNumber].overlayName);
-
 	if (scriptType < 0) {
 		useArg3Neg = 1;
-		scriptType = (scriptTypeEnum) - scriptType;
+		scriptType = (scriptTypeEnum) -scriptType;
 	}
 
-	if (scriptType == 20) {
+	if (scriptType == 20)
 		data3Ptr = getOvlData3Entry(overlayNumber, param);
-	} else {
-		if (scriptType == 30) {
-			data3Ptr = scriptFunc1Sub2(overlayNumber, param);
-		} else {
-			return (NULL);
-		}
-	}
+	else if (scriptType == 30)
+		data3Ptr = scriptFunc1Sub2(overlayNumber, param);
+	else
+		return (NULL);
 
-	if (!data3Ptr) {
+	if (!data3Ptr)
 		return (NULL);
-	}
 
-	if (!data3Ptr->dataPtr) {
+	if (!data3Ptr->dataPtr)
 		return (NULL);
-	}
 
 	var_C = data3Ptr->sysKey;
-
 	oldTail = scriptHandlePtr;
 
-	while (oldTail->nextScriptPtr) {	// go to the end of the list
+	while (oldTail->nextScriptPtr)	// go to the end of the list
 		oldTail = oldTail->nextScriptPtr;
-	}
 
-	tempPtr =
-	    (scriptInstanceStruct *)
-	    mallocAndZero(sizeof(scriptInstanceStruct));
+	scriptInstanceStruct *tempPtr = (scriptInstanceStruct *)mallocAndZero(sizeof(scriptInstanceStruct));
 
 	if (!tempPtr)
 		return (NULL);
 
 	tempPtr->data = NULL;
 
-	if (var_C) {
+	if (var_C)
 		tempPtr->data = (uint8 *) mallocAndZero(var_C);
-	}
 
 	tempPtr->dataSize = var_C;
 	tempPtr->nextScriptPtr = NULL;
 	tempPtr->scriptOffset = 0;
-
 	tempPtr->scriptNumber = param;
 	tempPtr->overlayNumber = overlayNumber;
 
-	if (scriptType == 20) {	// Obj or not ?
+	if (scriptType == 20)   // Obj or not ?
 		tempPtr->sysKey = useArg3Neg;
-	} else {
+	else
 		tempPtr->sysKey = 1;
-	}
 
 	tempPtr->freeze = 0;
 	tempPtr->type = scriptType;
 	tempPtr->var18 = arg2;
 	tempPtr->var16 = arg1;
 	tempPtr->var1A = arg0;
-	tempPtr->nextScriptPtr = oldTail->nextScriptPtr;	// should always be NULL as it's the tail
-
-	oldTail->nextScriptPtr = tempPtr;	// attache the new node to the list
+	tempPtr->nextScriptPtr = oldTail->nextScriptPtr;   // should always be NULL as it's the tail
+	oldTail->nextScriptPtr = tempPtr;   // attach the new node to the list
 
 	return (tempPtr->data);
 }
@@ -575,27 +553,18 @@ int executeScripts(scriptInstanceStruct *ptr) {
 
 	numScript2 = ptr->scriptNumber;
 
-	if (ptr->type == 20) {
+	if (ptr->type == 20)
 		ptr2 = getOvlData3Entry(ptr->overlayNumber, numScript2);
+	else if (ptr->type == 30)
+		ptr2 = scriptFunc1Sub2(ptr->overlayNumber, numScript2);
+	else
+		return (-6);
 
-		if (!ptr2) {
-			return (-4);
-		}
-	} else {
-		if (ptr->type == 30) {
-			ptr2 = scriptFunc1Sub2(ptr->overlayNumber, numScript2);
-
-			if (!ptr2) {
-				return (-4);
-			}
-		} else {
-			return (-6);
-		}
-	}
+	if (!ptr2)
+		return (-4);
 
-	if (!overlayTable[ptr->overlayNumber].alreadyLoaded) {
+	if (!overlayTable[ptr->overlayNumber].alreadyLoaded)
 		return (-7);
-	}
 
 	ovlData = overlayTable[ptr->overlayNumber].ovlData;
 
@@ -603,14 +572,11 @@ int executeScripts(scriptInstanceStruct *ptr) {
 		return (-4);
 
 	currentData3DataPtr = ptr2->dataPtr;
-
 	scriptDataPtrTable[1] = (uint8 *) ptr->data;
 	scriptDataPtrTable[2] = getDataFromData3(ptr2, 1);
 	scriptDataPtrTable[5] = ovlData->data4Ptr;	// free strings
 	scriptDataPtrTable[6] = ovlData->ptr8;
-
 	currentScriptPtr = ptr;
-
 	positionInStack = 0;
 
 	do {
@@ -644,21 +610,15 @@ int executeScripts(scriptInstanceStruct *ptr) {
 void manageScripts(scriptInstanceStruct *scriptHandle) {
 	scriptInstanceStruct *ptr = scriptHandle;
 
-	if (ptr) {
-		do {
-			if (!overlayTable[ptr->overlayNumber].executeScripts) {
-				if ((ptr->scriptNumber != -1) && (ptr->freeze == 0) && (ptr->sysKey != 0)) {
-					executeScripts(ptr);
-				}
+	while (ptr) {
+		if (!overlayTable[ptr->overlayNumber].executeScripts) {
+			if ((ptr->scriptNumber != -1) && (ptr->freeze == 0) && (ptr->sysKey != 0))
+				executeScripts(ptr);
 
-				if (ptr->sysKey == 0) {
-					ptr->sysKey = 1;
-				}
-			}
-
-			ptr = ptr->nextScriptPtr;
-
-		} while (ptr);
+			if (ptr->sysKey == 0)
+				ptr->sysKey = 1;
+		}
+		ptr = ptr->nextScriptPtr;
 	}
 }
 






More information about the Scummvm-git-logs mailing list