[Scummvm-cvs-logs] SF.net SVN: scummvm: [29858] scummvm/trunk/engines/cine

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Fri Dec 14 14:51:42 CET 2007


Revision: 29858
          http://scummvm.svn.sourceforge.net/scummvm/?rev=29858&view=rev
Author:   thebluegr
Date:     2007-12-14 05:51:41 -0800 (Fri, 14 Dec 2007)

Log Message:
-----------
Cleanup

Modified Paths:
--------------
    scummvm/trunk/engines/cine/anim.cpp
    scummvm/trunk/engines/cine/object.cpp
    scummvm/trunk/engines/cine/part.cpp
    scummvm/trunk/engines/cine/script.cpp

Modified: scummvm/trunk/engines/cine/anim.cpp
===================================================================
--- scummvm/trunk/engines/cine/anim.cpp	2007-12-13 23:28:07 UTC (rev 29857)
+++ scummvm/trunk/engines/cine/anim.cpp	2007-12-14 13:51:41 UTC (rev 29858)
@@ -313,9 +313,7 @@
 }
 
 void generateMask(byte * sprite, byte * mask, uint16 size, byte transparency) {
-	uint16 i;
-
-	for (i = 0; i < size; i++) {
+	for (uint16 i = 0; i < size; i++) {
 		if (*(sprite++) != transparency) {
 			*(mask++) = 0;
 		} else {
@@ -338,10 +336,9 @@
 }
 
 void convert4BBP(byte * dest, byte * source, int16 width, int16 height) {
-	int16 i;
 	byte maskEntry;
 
-	for (i = 0; i < width * height; i++) {
+	for (int16 i = 0; i < width * height; i++) {
 		maskEntry = *(source++);
 		*(dest++) = (maskEntry & 0xF0) >> 4;
 		*(dest++) = (maskEntry & 0xF);
@@ -370,13 +367,10 @@
 }
 
 void loadSpl(const char *resourceName, int16 idx) {
-	int16 foundFileIdx;
-	byte *dataPtr;
+	int16 foundFileIdx = findFileInBundle(resourceName);
 	int16 entry;
+	byte *dataPtr = readBundleFile(foundFileIdx);
 
-	foundFileIdx = findFileInBundle(resourceName);
-	dataPtr = readBundleFile(foundFileIdx);
-
 	if (idx >= 0) {
 		entry = reserveFrame((uint16) partBuffer[foundFileIdx].unpackedSize, 1, 0, idx);
 		memcpy(animDataTable[entry].ptr1, dataPtr, partBuffer[foundFileIdx].unpackedSize);
@@ -394,19 +388,16 @@
 }
 
 void loadMsk(const char *resourceName) {
-	int16 foundFileIdx, entry, i;
-	byte *dataPtr, *ptr;
+	int16 foundFileIdx = findFileInBundle(resourceName);
+	int16 entry;
+	byte *dataPtr = readBundleFile(foundFileIdx);
+	byte *ptr;
 
-	foundFileIdx = findFileInBundle(resourceName);
-	dataPtr = readBundleFile(foundFileIdx);
-
 	Common::MemoryReadStream readS(dataPtr, 0x16);
-
 	loadAnimHeader(readS);
-
 	ptr = dataPtr + 0x16;
 
-	for (i = 0; i < animHeader.numFrames; i++) {
+	for (int16 i = 0; i < animHeader.numFrames; i++) {
 		entry = allocFrame(animHeader.frameWidth * 2, animHeader.frameHeight, 1);
 
 		assert(entry != -1);
@@ -423,30 +414,22 @@
 }
 
 void loadAni(const char *resourceName) {
-	int16 foundFileIdx;
-	byte *dataPtr;
+	int16 foundFileIdx = findFileInBundle(resourceName);
 	int16 entry;
-	byte *ptr;
-	int16 i;
+	byte *dataPtr = readBundleFile(foundFileIdx);
+	byte *ptr, *animPtr;
 	byte transparentColor;
 	uint32 fullSize;
 
-	foundFileIdx = findFileInBundle(resourceName);
-	dataPtr = readBundleFile(foundFileIdx);
-
 	Common::MemoryReadStream readS(dataPtr, 0x16);
-
 	loadAnimHeader(readS);
-
 	ptr = dataPtr + 0x16;
 
 	transparentColor = getAnimTransparentColor(resourceName);
 
 	fullSize = animHeader.frameWidth * animHeader.frameHeight;
 
-	for (i = 0; i < animHeader.numFrames; i++) {
-		byte *animPtr;
-
+	for (int16 i = 0; i < animHeader.numFrames; i++) {
 		entry = allocFrame(animHeader.frameWidth * 2, animHeader.frameHeight, 0);
 
 		assert(entry != -1);
@@ -488,14 +471,14 @@
 }
 
 void convert8BBP(byte * dest, byte * source, int16 width, int16 height) {
-	uint16 i;
 	byte table[16];
+	byte color;
 
 	memcpy(table, source, 16);
 	source += 16;
 
-	for (i = 0; i < width * height; i++) {
-		byte color = *(source++);
+	for (uint16 i = 0; i < width * height; i++) {
+		color = *(source++);
 
 		*(dest++) = table[color >> 4];
 		*(dest++) = table[color & 0xF];
@@ -539,22 +522,21 @@
 	animHeader2Struct header2;
 	uint32 fullSize;
 	uint16 numSpriteInAnim;
-	int16 foundFileIdx, entry, typeParam, i;
+	int16 foundFileIdx = findFileInBundle(resourceName);
+	int16 entry, typeParam;
 	byte *ptr, *startOfDataPtr, *dataPtr, *origDataPtr;
 	byte table[16] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 };
 
-	foundFileIdx = findFileInBundle(resourceName);
 	origDataPtr = dataPtr = readBundleFile(foundFileIdx);
-
 	assert(!memcmp(dataPtr, "SET", 3));
-
 	ptr = dataPtr + 4;
 
-	numSpriteInAnim = READ_BE_UINT16(ptr); ptr += 2;
+	numSpriteInAnim = READ_BE_UINT16(ptr);
+	ptr += 2;
 
 	startOfDataPtr = ptr + numSpriteInAnim * 0x10;
 
-	for (i = 0; i < numSpriteInAnim; i++) {
+	for (int16 i = 0; i < numSpriteInAnim; i++) {
 		typeParam = 0;
 
 		Common::MemoryReadStream readS(ptr, 0x10);

Modified: scummvm/trunk/engines/cine/object.cpp
===================================================================
--- scummvm/trunk/engines/cine/object.cpp	2007-12-13 23:28:07 UTC (rev 29857)
+++ scummvm/trunk/engines/cine/object.cpp	2007-12-14 13:51:41 UTC (rev 29858)
@@ -107,12 +107,12 @@
 
 	currentHeadPtr = tempHead->next;
 
-	while (currentHeadPtr && (objIdx != currentHeadPtr->objIdx || param != currentHeadPtr->type)) {
+	while (currentHeadPtr && (currentHeadPtr->objIdx != objIdx || currentHeadPtr->type != param)) {
 		tempHead = currentHeadPtr;
 		currentHeadPtr = tempHead->next;
 	}
 
-	if (!currentHeadPtr || objIdx != currentHeadPtr->objIdx || param != currentHeadPtr->type) {
+	if (!currentHeadPtr || currentHeadPtr->objIdx != objIdx || currentHeadPtr->type != param) {
 		return -1;
 	}
 
@@ -132,6 +132,7 @@
 int16 freeOverlay(uint16 objIdx, uint16 param) {
 	overlayHeadElement *currentHeadPtr = overlayHead.next;
 	overlayHeadElement *previousPtr = &overlayHead;
+	overlayHeadElement *tempPtr2;
 
 	while (currentHeadPtr && ((currentHeadPtr->objIdx != objIdx) || (currentHeadPtr->type != param))) {
 		previousPtr = currentHeadPtr;
@@ -142,8 +143,7 @@
 		return -1;
 	}
 
-	previousPtr->next = currentHeadPtr->next;
-	overlayHeadElement *tempPtr2 = currentHeadPtr->next;
+	previousPtr->next = tempPtr2 = currentHeadPtr->next;
 
 	if (!tempPtr2) {
 		tempPtr2 = &overlayHead;

Modified: scummvm/trunk/engines/cine/part.cpp
===================================================================
--- scummvm/trunk/engines/cine/part.cpp	2007-12-13 23:28:07 UTC (rev 29857)
+++ scummvm/trunk/engines/cine/part.cpp	2007-12-14 13:51:41 UTC (rev 29858)
@@ -37,8 +37,6 @@
 PartBuffer *partBuffer;
 
 void loadPart(const char *partName) {
-	uint16 i;
-
 	memset(partBuffer, 0, sizeof(PartBuffer) * NUM_MAX_PARTDATA);
 	numElementInPart = 0;
 
@@ -57,7 +55,7 @@
 	if (currentPartName != partName)
 		strcpy(currentPartName, partName);
 
-	for (i = 0; i < numElementInPart; i++) {
+	for (uint16 i = 0; i < numElementInPart; i++) {
 		g_cine->_partFileHandle.read(partBuffer[i].partName, 14);
 		partBuffer[i].offset = g_cine->_partFileHandle.readUint32BE();
 		partBuffer[i].packedSize = g_cine->_partFileHandle.readUint32BE();
@@ -74,8 +72,10 @@
 }
 
 static void fixVolCnfFileName(char *dst, const uint8 *src) {
-	memcpy(dst, src, 8); src += 8;
+	memcpy(dst, src, 8);
+	src += 8;
 	dst[8] = 0;
+
 	char *ext = strchr(dst, ' ');
 	if (!ext) {
 		ext = &dst[8];

Modified: scummvm/trunk/engines/cine/script.cpp
===================================================================
--- scummvm/trunk/engines/cine/script.cpp	2007-12-13 23:28:07 UTC (rev 29857)
+++ scummvm/trunk/engines/cine/script.cpp	2007-12-14 13:51:41 UTC (rev 29858)
@@ -620,13 +620,10 @@
 }
 
 void palRotate(byte a, byte b, byte c) {
-	int16 i;
-	uint16 currentColor;
-
 	if (c == 1) {
-		currentColor = c_palette[b];
+		uint16 currentColor = c_palette[b];
 
-		for (i = b; i > a; i--) {
+		for (int16 i = b; i > a; i--) {
 			c_palette[i] = c_palette[i - 1];
 		}
 
@@ -748,16 +745,11 @@
 }
 
 int16 checkCollision(int16 objIdx, int16 x, int16 y, int16 numZones, int16 zoneIdx) {
-	int16 i;
-	int16 lx;
-	int16 ly;
+	int16 lx = objectTable[objIdx].x + x;
+	int16 ly = objectTable[objIdx].y + y;
+	int16 idx;
 
-	lx = objectTable[objIdx].x + x;
-	ly = objectTable[objIdx].y + y;
-
-	for (i = 0; i < numZones; i++) {
-		int16 idx;
-
+	for (int16 i = 0; i < numZones; i++) {
 		idx = getZoneFromPositionRaw(page3Raw, lx + i, ly, 320);
 
 		assert(idx >= 0 && idx <= NUM_MAX_ZONE);
@@ -775,13 +767,9 @@
 
 	if (a == b) {
 		flag |= kCmpEQ;
-	}
-
-	if (a > b) {
+	} else if (a > b) {
 		flag |= kCmpGT;
-	}
-
-	if (a < b) {
+	} else if (a < b) {
 		flag |= kCmpLT;
 	}
 
@@ -2144,81 +2132,9 @@
 				break;
 			}
 		case 0x2:
-			{
-				byte param1;
-				byte param2;
-				int16 param3;
-
-				param1 = *(localScriptPtr + position);
-				position++;
-
-				param2 = *(localScriptPtr + position);
-				position++;
-
-				param3 = READ_BE_UINT16(localScriptPtr + position);
-				position += 2;
-
-				sprintf(lineBuffer, "obj[%d]%s+=%d\n", param1, getObjPramName(param2), param3);
-
-				break;
-			}
 		case 0x3:
-			{
-				byte param1;
-				byte param2;
-				int16 param3;
-
-				param1 = *(localScriptPtr + position);
-				position++;
-
-				param2 = *(localScriptPtr + position);
-				position++;
-
-				param3 = READ_BE_UINT16(localScriptPtr + position);
-				position += 2;
-
-				sprintf(lineBuffer, "obj[%d]%s-=%d\n", param1, getObjPramName(param2), param3);
-
-				break;
-			}
 		case 0x4:
-			{
-				byte param1;
-				byte param2;
-				int16 param3;
-
-				param1 = *(localScriptPtr + position);
-				position++;
-
-				param2 = *(localScriptPtr + position);
-				position++;
-
-				param3 = READ_BE_UINT16(localScriptPtr + position);
-				position += 2;
-
-				sprintf(lineBuffer, "obj[%d]%s+=obj[%d]%s\n", param1, getObjPramName(param2), param3, getObjPramName(param2));
-
-				break;
-			}
 		case 0x5:
-			{
-				byte param1;
-				byte param2;
-				int16 param3;
-
-				param1 = *(localScriptPtr + position);
-				position++;
-
-				param2 = *(localScriptPtr + position);
-				position++;
-
-				param3 = READ_BE_UINT16(localScriptPtr + position);
-				position += 2;
-
-				sprintf(lineBuffer, "obj[%d]%s-=obj[%d]%s\n", param1, getObjPramName(param2), param3, getObjPramName(param2));
-
-				break;
-			}
 		case 0x6:
 			{
 				byte param1;
@@ -2234,38 +2150,21 @@
 				param3 = READ_BE_UINT16(localScriptPtr + position);
 				position += 2;
 
-				sprintf(compareString1, "obj[%d]%s", param1, getObjPramName(param2));
-				sprintf(compareString2, "%d", param3);
-
+				if (opcode - 1 == 0x2) {
+					sprintf(lineBuffer, "obj[%d]%s+=%d\n", param1, getObjPramName(param2), param3);
+				} else if (opcode - 1 == 0x3) {
+					sprintf(lineBuffer, "obj[%d]%s-=%d\n", param1, getObjPramName(param2), param3);
+				} else if (opcode - 1 == 0x4) {
+					sprintf(lineBuffer, "obj[%d]%s+=obj[%d]%s\n", param1, getObjPramName(param2), param3, getObjPramName(param2));
+				} else if (opcode - 1 == 0x5) {
+					sprintf(lineBuffer, "obj[%d]%s-=obj[%d]%s\n", param1, getObjPramName(param2), param3, getObjPramName(param2));
+				} else if (opcode - 1 == 0x6) {
+					sprintf(compareString1, "obj[%d]%s", param1, getObjPramName(param2));
+					sprintf(compareString2, "%d", param3);
+				}
 				break;
 			}
 		case 0x7:
-			{
-				byte param1;
-				int16 param2;
-				int16 param3;
-				int16 param4;
-				int16 param5;
-
-				param1 = *(localScriptPtr + position);
-				position++;
-
-				param2 = READ_BE_UINT16(localScriptPtr + position);
-				position += 2;
-
-				param3 = READ_BE_UINT16(localScriptPtr + position);
-				position += 2;
-
-				param4 = READ_BE_UINT16(localScriptPtr + position);
-				position += 2;
-
-				param5 = READ_BE_UINT16(localScriptPtr + position);
-				position += 2;
-
-				sprintf(lineBuffer, "setupObject(Idx:%d,X:%d,Y:%d,mask:%d,frame:%d)\n", param1, param2, param3, param4, param5);
-
-				break;
-			}
 		case 0x8:
 			{
 				byte param1;
@@ -2289,8 +2188,11 @@
 				param5 = READ_BE_UINT16(localScriptPtr + position);
 				position += 2;
 
-				sprintf(lineBuffer, "checkCollision(%d,%d,%d,%d,%d)\n", param1, param2, param3, param4, param5);
-
+				if (opcode - 1 == 0x7) {
+					sprintf(lineBuffer, "setupObject(Idx:%d,X:%d,Y:%d,mask:%d,frame:%d)\n", param1, param2, param3, param4, param5);
+				} else if (opcode - 1 == 0x8) {
+					sprintf(lineBuffer, "checkCollision(%d,%d,%d,%d,%d)\n", param1, param2, param3, param4, param5);
+				}
 				break;
 			}
 		case 0x9:
@@ -2339,89 +2241,8 @@
 				break;
 			}
 		case 0xA:
-			{
-				byte param1;
-				byte param2;
-
-				param1 = *(localScriptPtr + position);
-				position++;
-
-				param2 = *(localScriptPtr + position);
-				position++;
-
-				if (param2) {
-					byte param3;
-
-					param3 = *(localScriptPtr + position);
-					position++;
-
-					sprintf(lineBuffer, "var[%d]+=var[%d]\n", param1, param3);
-				} else {
-					int16 param3;
-
-					param3 = READ_BE_UINT16(localScriptPtr +  position);
-					position += 2;
-
-					sprintf(lineBuffer, "var[%d]+=%d\n", param1, param3);
-				}
-				break;
-			}
 		case 0xB:
-			{
-				byte param1;
-				byte param2;
-
-				param1 = *(localScriptPtr + position);
-				position++;
-
-				param2 = *(localScriptPtr + position);
-				position++;
-
-				if (param2) {
-					byte param3;
-
-					param3 = *(localScriptPtr + position);
-					position++;
-
-					sprintf(lineBuffer, "var[%d]-=var[%d]\n", param1, param3);
-				} else {
-					int16 param3;
-
-					param3 = READ_BE_UINT16(localScriptPtr + position);
-					position += 2;
-
-					sprintf(lineBuffer, "var[%d]-=%d\n", param1, param3);
-				}
-				break;
-			}
 		case 0xC:
-			{
-				byte param1;
-				byte param2;
-
-				param1 = *(localScriptPtr + position);
-				position++;
-
-				param2 = *(localScriptPtr + position);
-				position++;
-
-				if (param2) {
-					byte param3;
-
-					param3 = *(localScriptPtr + position);
-					position++;
-
-					sprintf(lineBuffer, "var[%d]*=var[%d]\n", param1, param3);
-				} else {
-					int16 param3;
-
-					param3 = READ_BE_UINT16(localScriptPtr + position);
-					position += 2;
-
-					sprintf(lineBuffer, "var[%d]*=%d\n", param1, param3);
-				}
-				break;
-			}
 		case 0xD:
 			{
 				byte param1;
@@ -2439,14 +2260,30 @@
 					param3 = *(localScriptPtr + position);
 					position++;
 
-					sprintf(lineBuffer, "var[%d]/=var[%d]\n", param1, param3);
+					if (opcode - 1 == 0xA) {
+						sprintf(lineBuffer, "var[%d]+=var[%d]\n", param1, param3);
+					} else if (opcode - 1 == 0xB) {
+						sprintf(lineBuffer, "var[%d]-=var[%d]\n", param1, param3);
+					} else if (opcode - 1 == 0xC) {
+						sprintf(lineBuffer, "var[%d]*=var[%d]\n", param1, param3);
+					} else if (opcode - 1 == 0xD) {
+						sprintf(lineBuffer, "var[%d]/=var[%d]\n", param1, param3);
+					}
 				} else {
 					int16 param3;
 
-					param3 = READ_BE_UINT16(localScriptPtr + position);
+					param3 = READ_BE_UINT16(localScriptPtr +  position);
 					position += 2;
 
-					sprintf(lineBuffer, "var[%d]/=%d\n", param1, param3);
+					if (opcode - 1 == 0xA) {
+						sprintf(lineBuffer, "var[%d]+=%d\n", param1, param3);
+					} else if (opcode - 1 == 0xB) {
+						sprintf(lineBuffer, "var[%d]-=%d\n", param1, param3);
+					} else if (opcode - 1 == 0xC) {
+						sprintf(lineBuffer, "var[%d]*=%d\n", param1, param3);
+					} else if (opcode - 1 == 0xD) {
+						sprintf(lineBuffer, "var[%d]/=%d\n", param1, param3);
+					}
 				}
 				break;
 			}
@@ -2508,71 +2345,11 @@
 				break;
 			}
 		case 0x13:
-			{
-				byte param;
-
-				param = *(localScriptPtr + position);
-				position++;
-
-				sprintf(lineBuffer, "loadMask0(%d)\n", param);
-
-				break;
-			}
 		case 0x14:
-			{
-				byte param;
-
-				param = *(localScriptPtr + position);
-				position++;
-
-				sprintf(lineBuffer, "unloadMask0(%d)\n", param);
-
-				break;
-			}
 		case 0x15:
-			{
-				byte param;
-
-				param = *(localScriptPtr + position);
-				position++;
-
-				sprintf(lineBuffer, "OP_15(%d)\n", param);
-
-				break;
-			}
 		case 0x16:
-			{
-				byte param;
-
-				param = *(localScriptPtr + position);
-				position++;
-
-				sprintf(lineBuffer, "loadMask1(%d)\n", param);
-
-				break;
-			}
 		case 0x17:
-			{
-				byte param;
-
-				param = *(localScriptPtr + position);
-				position++;
-
-				sprintf(lineBuffer, "unloadMask0(%d)\n", param);
-
-				break;
-			}
 		case 0x18:
-			{
-				byte param;
-
-				param = *(localScriptPtr + position);
-				position++;
-
-				sprintf(lineBuffer, "loadMask4(%d)\n", param);
-
-				break;
-			}
 		case 0x19:
 			{
 				byte param;
@@ -2580,8 +2357,21 @@
 				param = *(localScriptPtr + position);
 				position++;
 
-				sprintf(lineBuffer, "unloadMask4(%d)\n", param);
-
+				if (opcode - 1 == 0x13) {
+					sprintf(lineBuffer, "loadMask0(%d)\n", param);
+				} else if (opcode - 1 == 0x14) {
+					sprintf(lineBuffer, "unloadMask0(%d)\n", param);
+				} else if (opcode - 1 == 0x15) {
+					sprintf(lineBuffer, "OP_15(%d)\n", param);
+				} else if (opcode - 1 == 0x16) {
+					sprintf(lineBuffer, "loadMask1(%d)\n", param);
+				} else if (opcode - 1 == 0x17) {
+					sprintf(lineBuffer, "unloadMask0(%d)\n", param);
+				} else if (opcode - 1 == 0x18) {
+					sprintf(lineBuffer, "loadMask4(%d)\n", param);
+				} else if (opcode - 1 == 0x19) {
+					sprintf(lineBuffer, "unloadMask4(%d)\n", param);
+				}
 				break;
 			}
 		case 0x1A:
@@ -2622,61 +2412,12 @@
 
 				break;
 			}
+		// If cases
 		case 0x1F:
-			{
-				byte param;
-
-				param = *(localScriptPtr + position);
-				position++;
-
-				sprintf(lineBuffer, "if(%s>%s) goto(%d)\n", compareString1, compareString2, param);
-
-				break;
-			}
 		case 0x20:
-			{
-				byte param;
-
-				param = *(localScriptPtr + position);
-				position++;
-
-				sprintf(lineBuffer, "if(%s>=%s) goto(%d)\n", compareString1, compareString2, param);
-
-				break;
-			}
 		case 0x21:
-			{
-				byte param;
-
-				param = *(localScriptPtr + position);
-				position++;
-
-				sprintf(lineBuffer, "if(%s<%s) goto(%d)\n", compareString1, compareString2, param);
-
-				break;
-			}
 		case 0x22:
-			{
-				byte param;
-
-				param = *(localScriptPtr + position);
-				position++;
-
-				sprintf(lineBuffer, "if(%s<=%s) goto(%d)\n", compareString1, compareString2, param);
-
-				break;
-			}
 		case 0x23:
-			{
-				byte param;
-
-				param = *(localScriptPtr + position);
-				position++;
-
-				sprintf(lineBuffer, "if(%s==%s) goto(%d)\n", compareString1, compareString2, param);
-
-				break;
-			}
 		case 0x24:
 			{
 				byte param;
@@ -2684,8 +2425,19 @@
 				param = *(localScriptPtr + position);
 				position++;
 
-				sprintf(lineBuffer, "if(%s!=%s) goto(%d)\n", compareString1, compareString2, param);
-
+				if (opcode - 1 == 0x1F) {
+					sprintf(lineBuffer, "if(%s>%s) goto(%d)\n", compareString1, compareString2, param);
+				} else if (opcode - 1 == 0x20) {
+					sprintf(lineBuffer, "if(%s>=%s) goto(%d)\n", compareString1, compareString2, param);
+				} else if (opcode - 1 == 0x21) {
+					sprintf(lineBuffer, "if(%s<%s) goto(%d)\n", compareString1, compareString2, param);
+				} else if (opcode - 1 == 0x22) {
+					sprintf(lineBuffer, "if(%s<=%s) goto(%d)\n", compareString1, compareString2, param);
+				} else if (opcode - 1 == 0x23) {
+					sprintf(lineBuffer, "if(%s==%s) goto(%d)\n", compareString1, compareString2, param);
+				} else if (opcode - 1 == 0x24) {
+					sprintf(lineBuffer, "if(%s!=%s) goto(%d)\n", compareString1, compareString2, param);
+				}
 				break;
 			}
 		case 0x25:
@@ -2714,16 +2466,6 @@
 				break;
 			}
 		case 0x31:
-			{
-				byte param;
-
-				param = *(localScriptPtr + position);
-				position++;
-
-				sprintf(lineBuffer, "startGlobalScript(%d)\n", param);
-
-				break;
-			}
 		case 0x32:
 			{
 				byte param;
@@ -2731,34 +2473,27 @@
 				param = *(localScriptPtr + position);
 				position++;
 
-				sprintf(lineBuffer, "endGlobalScript(%d)\n", param);
-
+				if (opcode - 1 == 0x31) {
+					sprintf(lineBuffer, "startGlobalScript(%d)\n", param);
+				} else if (opcode - 1 == 0x32) {
+					sprintf(lineBuffer, "endGlobalScript(%d)\n", param);
+				}
 				break;
 			}
 		case 0x3B:
-			{
-				sprintf(lineBuffer, "loadResource(%s)\n", localScriptPtr + position);
-
-				position += strlen((char *)localScriptPtr + position) + 1;
-				break;
-			}
 		case 0x3C:
-			{
-				sprintf(lineBuffer, "loadBg(%s)\n",	localScriptPtr + position);
-
-				position += strlen((char *)localScriptPtr + position) + 1;
-				break;
-			}
 		case 0x3D:
-			{
-				sprintf(lineBuffer, "loadCt(%s)\n", localScriptPtr + position);
-
-				position += strlen((char *)localScriptPtr + position) + 1;
-				break;
-			}
 		case OP_loadPart:
 			{
-				sprintf(lineBuffer, "loadPart(%s)\n", localScriptPtr + position);
+				if (opcode - 1 == 0x3B) {
+					sprintf(lineBuffer, "loadResource(%s)\n", localScriptPtr + position);
+				} else if (opcode - 1 == 0x3C) {
+					sprintf(lineBuffer, "loadBg(%s)\n",	localScriptPtr + position);
+				} else if (opcode - 1 == 0x3D) {
+					sprintf(lineBuffer, "loadCt(%s)\n", localScriptPtr + position);
+				} else if (opcode - 1 == OP_loadPart) {
+					sprintf(lineBuffer, "loadPart(%s)\n", localScriptPtr + position);
+				}
 
 				position += strlen((char *)localScriptPtr + position) + 1;
 				break;
@@ -2872,6 +2607,7 @@
 				break;
 			}
 		case 0x52:
+		case 0x53:
 			{
 				byte param1;
 				byte param2;
@@ -2889,11 +2625,25 @@
 					position++;
 
 					if (param2 == 1) {
-						sprintf(lineBuffer, "globalVar[%d] = var[%d]\n", param1, param3);
+						if (opcode - 1 == 0x52) {
+							sprintf(lineBuffer, "globalVar[%d] = var[%d]\n", param1, param3);
+						} else if (opcode - 1 == 0x53) {
+							sprintf(compareString1, "globalVar[%d]", param1);
+							sprintf(compareString2, "var[%d]", param3);
+						}
 					} else if (param2 == 2) {
-						sprintf(lineBuffer, "globalVar[%d] = globalVar[%d]\n", param1, param3);
+						if (opcode - 1 == 0x52) {
+							sprintf(lineBuffer, "globalVar[%d] = globalVar[%d]\n", param1, param3);
+						} else if (opcode - 1 == 0x53) {
+							sprintf(compareString1, "globalVar[%d]", param1);
+							sprintf(compareString2, "globalVar[%d]", param3);
+						}
 					} else {
-						error("decompileScript: 0x52: param2 = %d", param2);
+						if (opcode - 1 == 0x52) {
+							error("decompileScript: 0x52: param2 = %d", param2);
+						} else if (opcode - 1 == 0x53) {
+							error("decompileScript: 0x53: param2 = %d", param2);
+						}
 					}
 				} else {
 					int16 param3;
@@ -2901,44 +2651,12 @@
 					param3 = READ_BE_UINT16(localScriptPtr + position);
 					position += 2;
 
-					sprintf(lineBuffer, "globalVar[%d] = %d\n", param1, param3);
-				}
-				break;
-			}
-		case 0x53:
-			{
-				byte param1;
-				byte param2;
-
-				param1 = *(localScriptPtr + position);
-				position++;
-
-				param2 = *(localScriptPtr + position);
-				position++;
-
-				if (param2) {
-					byte param3;
-
-					param3 = *(localScriptPtr + position);
-					position++;
-
-					if (param2 == 1) {
+					if (opcode - 1 == 0x52) {
+						sprintf(lineBuffer, "globalVar[%d] = %d\n", param1, param3);
+					} else if (opcode - 1 == 0x53) {
 						sprintf(compareString1, "globalVar[%d]", param1);
-						sprintf(compareString2, "var[%d]", param3);
-					} else if (param2 == 2) {
-						sprintf(compareString1, "globalVar[%d]", param1);
-						sprintf(compareString2, "globalVar[%d]", param3);
-					} else {
-						error("decompileScript: 0x53: param2 = %d", param2);
+						sprintf(compareString2, "%d", param3);
 					}
-				} else {
-					int16 param3;
-
-					param3 = READ_BE_UINT16(localScriptPtr + position);
-					position += 2;
-
-					sprintf(compareString1, "globalVar[%d]", param1);
-					sprintf(compareString2, "%d", param3);
 				}
 				break;
 			}
@@ -3055,36 +2773,6 @@
 				break;
 			}
 		case 0x77:
-			{
-				byte param1;
-				byte param2;
-				int16 param3;
-				byte param4;
-				int16 param5;
-				int16 param6;
-
-				param1 = *(localScriptPtr + position);
-				position++;
-
-				param2 = *(localScriptPtr + position);
-				position++;
-
-				param3 = READ_BE_UINT16(localScriptPtr + position);
-				position += 2;
-
-				param4 = *(localScriptPtr + position);
-				position++;
-
-				param5 = READ_BE_UINT16(localScriptPtr + position);
-				position += 2;
-
-				param6 = READ_BE_UINT16(localScriptPtr + position);
-				position += 2;
-
-				sprintf(lineBuffer, "playSample(%d,%d,%d,%d,%d,%d)\n", param1, param2, param3, param4, param5, param6);
-
-				break;
-			}
 		case 0x78:
 			{
 				byte param1;
@@ -3112,7 +2800,11 @@
 				param6 = READ_BE_UINT16(localScriptPtr + position);
 				position += 2;
 
-				sprintf(lineBuffer, "OP_78(%d,%d,%d,%d,%d,%d)\n", param1, param2, param3, param4, param5, param6);
+				if (opcode - 1 == 0x77) {
+					sprintf(lineBuffer, "playSample(%d,%d,%d,%d,%d,%d)\n", param1, param2, param3, param4, param5, param6);
+				else if (opcode - 1 == 0x78) {
+					sprintf(lineBuffer, "OP_78(%d,%d,%d,%d,%d,%d)\n", param1, param2, param3, param4, param5, param6);
+				}
 
 				break;
 			}


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list