diff options
-rw-r--r-- | engines/cine/anim.cpp | 24 | ||||
-rw-r--r-- | engines/cine/bg.cpp | 10 | ||||
-rw-r--r-- | engines/cine/cine.cpp | 2 | ||||
-rw-r--r-- | engines/cine/msg.cpp | 8 | ||||
-rw-r--r-- | engines/cine/part.cpp | 46 | ||||
-rw-r--r-- | engines/cine/part.h | 9 | ||||
-rw-r--r-- | engines/cine/prc.cpp | 22 | ||||
-rw-r--r-- | engines/cine/script.cpp | 297 | ||||
-rw-r--r-- | engines/cine/script.h | 2 | ||||
-rw-r--r-- | engines/cine/various.cpp | 2 |
10 files changed, 146 insertions, 276 deletions
diff --git a/engines/cine/anim.cpp b/engines/cine/anim.cpp index cb8d24fe4c..e163af388a 100644 --- a/engines/cine/anim.cpp +++ b/engines/cine/anim.cpp @@ -385,11 +385,11 @@ void loadSpl(char *resourceName) { foundFileIdx = findFileInBundle(resourceName); dataPtr = readBundleFile(foundFileIdx); - entry = allocFrame((uint16) partBuffer[foundFileIdx].unpacked_size, 1, -1); + entry = allocFrame((uint16) partBuffer[foundFileIdx].unpackedSize, 1, -1); ASSERT(entry != -1); - memcpy(animDataTable[entry].ptr1, dataPtr, (uint16) partBuffer[foundFileIdx].unpacked_size); + memcpy(animDataTable[entry].ptr1, dataPtr, (uint16) partBuffer[foundFileIdx].unpackedSize); animDataTable[entry].fileIdx = foundFileIdx; animDataTable[entry].frameIdx = 0; @@ -625,9 +625,7 @@ void loadSet(char *resourceName) { ptr = dataPtr + 4; - numSpriteInAnim = *(uint16 *)ptr; - flipU16(&numSpriteInAnim); - ptr += 2; + numSpriteInAnim = READ_BE_UINT16(ptr); ptr += 2; startOfDataPtr = ptr + numSpriteInAnim * 0x10; @@ -710,9 +708,7 @@ void loadSetAbs(char *resourceName, uint16 idx) { ptr = dataPtr + 4; - numSpriteInAnim = *(uint16 *) ptr; - flipU16(&numSpriteInAnim); - ptr += 2; + numSpriteInAnim = READ_BE_UINT16(ptr); ptr += 2; startOfDataPtr = ptr + numSpriteInAnim * 0x10; @@ -785,9 +781,9 @@ void loadSeq(char *resourceName) { foundFileIdx = findFileInBundle(resourceName); dataPtr = readBundleFile(foundFileIdx); - entry = allocFrame2((uint16) partBuffer[foundFileIdx].unpacked_size, 1, 0); + entry = allocFrame2((uint16) partBuffer[foundFileIdx].unpackedSize, 1, 0); - memcpy(animDataTable[entry].ptr1, dataPtr + 0x16, (uint16) partBuffer[foundFileIdx].unpacked_size - 0x16); + memcpy(animDataTable[entry].ptr1, dataPtr + 0x16, (uint16) partBuffer[foundFileIdx].unpackedSize - 0x16); } void loadSeqAbs(char *resourceName, uint16 idx) { @@ -798,9 +794,9 @@ void loadSeqAbs(char *resourceName, uint16 idx) { foundFileIdx = findFileInBundle(resourceName); dataPtr = readBundleFile(foundFileIdx); - entry = reserveFrame((uint16) partBuffer[foundFileIdx].unpacked_size, 1, 0, idx); + entry = reserveFrame((uint16) partBuffer[foundFileIdx].unpackedSize, 1, 0, idx); - memcpy(animDataTable[entry].ptr1, dataPtr + 0x16, (uint16) partBuffer[foundFileIdx].unpacked_size - 0x16); + memcpy(animDataTable[entry].ptr1, dataPtr + 0x16, (uint16) partBuffer[foundFileIdx].unpackedSize - 0x16); } void loadResource(char *resourceName) { @@ -876,7 +872,7 @@ void loadResourcesFromSave() { foundFileIdx = currentPtr->fileIdx; - strcpy(animName, partBuffer[foundFileIdx].part_name); + strcpy(animName, partBuffer[foundFileIdx].partName); if (strstr(animName, ".SPL")) { isSpl = 1; @@ -893,7 +889,7 @@ void loadResourcesFromSave() { } if (isSpl) { - animHeader.frameWidth = (uint16) partBuffer[foundFileIdx].unpacked_size; + animHeader.frameWidth = (uint16) partBuffer[foundFileIdx].unpackedSize; animHeader.frameHeight = 1; animHeader.numFrames = 1; isMask = -1; diff --git a/engines/cine/bg.cpp b/engines/cine/bg.cpp index 3f9fb6e449..9b536946c2 100644 --- a/engines/cine/bg.cpp +++ b/engines/cine/bg.cpp @@ -40,7 +40,7 @@ uint8 loadCt(const char *ctName) { uint8 *ptr; uint8 *currentPtr; uint8 i; - uint16 header[0x20]; + uint16 header[32]; /// @@ -64,10 +64,10 @@ uint8 loadCt(const char *ctName) { ASSERT(strstr(ctName, ".NEO")); - memcpy(header, currentPtr, 0x20); - currentPtr += 0x20; + memcpy(header, currentPtr, 32); + currentPtr += 32; - for (i = 0; i < 0x20; i++) { + for (i = 0; i < 16; i++) { flipU16(&header[i]); } @@ -109,7 +109,7 @@ uint8 loadBg(const char *bgName) { currentPtr += 2; memcpy(tempPalette, currentPtr, 32); - currentPtr += 0x20; + currentPtr += 32; for (i = 0; i < 16; i++) { flipU16(&tempPalette[i]); diff --git a/engines/cine/cine.cpp b/engines/cine/cine.cpp index 9a91820747..cf3c3f014d 100644 --- a/engines/cine/cine.cpp +++ b/engines/cine/cine.cpp @@ -219,7 +219,7 @@ static void initialize() { for (i = 0; i < NUM_MAX_SCRIPT; i++) { scriptTable[i].ptr = NULL; - scriptTable[i].var4 = 0; + scriptTable[i].size = 0; } for (i = 0; i < NUM_MAX_MESSAGE; i++) { diff --git a/engines/cine/msg.cpp b/engines/cine/msg.cpp index b412118362..d0aa437afe 100644 --- a/engines/cine/msg.cpp +++ b/engines/cine/msg.cpp @@ -57,16 +57,12 @@ void loadMsg(char *pMsgName) { processPendingUpdates(1); - msgVar0 = *(uint16 *) ptr; - ptr += 2; - flipU16(&msgVar0); + msgVar0 = READ_BE_UINT16(ptr); ptr += 2; ASSERT(msgVar0 <= NUM_MAX_MESSAGE); for (i = 0; i < msgVar0; i++) { - messageTable[i].len = *(uint16 *) ptr; - ptr += 2; - flipU16(&messageTable[i].len); + messageTable[i].len = READ_BE_UINT16(ptr); ptr += 2; } for (i = 0; i < msgVar0; i++) { diff --git a/engines/cine/part.cpp b/engines/cine/part.cpp index 62f3098525..7ad3998546 100644 --- a/engines/cine/part.cpp +++ b/engines/cine/part.cpp @@ -38,13 +38,11 @@ partBufferStruct *partBuffer; void loadPart(const char *partName) { uint16 i; - ASSERT(sizeof(partBufferStruct) == 0x1E); - for (i = 0; i < 255; i++) { - partBuffer[i].part_name[0] = 0; + partBuffer[i].partName[0] = 0; partBuffer[i].offset = 0; - partBuffer[i].packed_size = 0; - partBuffer[i].unpacked_size = 0; + partBuffer[i].packedSize = 0; + partBuffer[i].unpackedSize = 0; partBuffer[i].var1A = 0; } @@ -61,20 +59,19 @@ void loadPart(const char *partName) { processPendingUpdates(-1); - partFileHandle.read(&numElementInPart, 2); - partFileHandle.read(&partVar1, 2); - - flipU16(&numElementInPart); - flipU16(&partVar1); + numElementInPart = partFileHandle.readUint16BE(); + partVar1 = partFileHandle.readUint16BE(); - partFileHandle.read(partBuffer, numElementInPart * partVar1); + assert(partVar1 == 30); strcpy(currentPartName, partName); for (i = 0; i < numElementInPart; i++) { - flipU32(&partBuffer[i].offset); - flipU32(&partBuffer[i].packed_size); - flipU32(&partBuffer[i].unpacked_size); + partFileHandle.read(partBuffer[i].partName, 14); + partBuffer[i].offset = partFileHandle.readUint32BE(); + partBuffer[i].packedSize = partFileHandle.readUint32BE(); + partBuffer[i].unpackedSize = partFileHandle.readUint32BE(); + partBuffer[i].var1A = partFileHandle.readUint32BE(); } if (gameType == Cine::GID_FW) @@ -167,7 +164,7 @@ int16 findFileInBundle(const char *fileName) { uint16 j; for (i = 0; i < numElementInPart; i++) { - if (!strcmp(fileName, partBuffer[i].part_name)) { + if (!strcmp(fileName, partBuffer[i].partName)) { return i; } } @@ -176,14 +173,14 @@ int16 findFileInBundle(const char *fileName) { loadPart(bundleNames[j]); for (i = 0; i < numElementInPart; i++) { - if (!strcmp(fileName, partBuffer[i].part_name)) { + if (!strcmp(fileName, partBuffer[i].partName)) { return i; } } } } else { for (i = 0; i < numElementInPart; i++) { - if (!strcmp(fileName, partBuffer[i].part_name)) { + if (!strcmp(fileName, partBuffer[i].partName)) { return i; } } @@ -195,26 +192,25 @@ void readFromPart(int16 idx, uint8 *dataPtr) { processPendingUpdates(1); partFileHandle.seek(partBuffer[idx].offset, SEEK_SET); - partFileHandle.read(dataPtr, partBuffer[idx].packed_size); + partFileHandle.read(dataPtr, partBuffer[idx].packedSize); } uint8 *readBundleFile(int16 foundFileIdx) { uint8 *dataPtr; - dataPtr = (uint8 *) malloc(partBuffer[foundFileIdx].unpacked_size + 2); - memset(dataPtr, 0, partBuffer[foundFileIdx].unpacked_size + 2); + dataPtr = (uint8 *) malloc(partBuffer[foundFileIdx].unpackedSize); + memset(dataPtr, 0, partBuffer[foundFileIdx].unpackedSize); - if (partBuffer[foundFileIdx].unpacked_size != partBuffer[foundFileIdx].packed_size) { + if (partBuffer[foundFileIdx].unpackedSize != partBuffer[foundFileIdx].packedSize) { uint8 *unpackBuffer; uint16 realSize; - unpackBuffer = (uint8 *)malloc(partBuffer[foundFileIdx].packed_size + 500); + unpackBuffer = (uint8 *)malloc(partBuffer[foundFileIdx].packedSize + 500); readFromPart(foundFileIdx, unpackBuffer); - realSize = *(uint16 *)(unpackBuffer + partBuffer[foundFileIdx].packed_size - 2); - flipU16(&realSize); + realSize = READ_BE_UINT32(unpackBuffer + partBuffer[foundFileIdx].packedSize - 4); - decomp(unpackBuffer + partBuffer[foundFileIdx].packed_size - 4, dataPtr + realSize, realSize); + decomp(unpackBuffer + partBuffer[foundFileIdx].packedSize - 4, dataPtr + realSize, realSize); free(unpackBuffer); } else { readFromPart(foundFileIdx, dataPtr); diff --git a/engines/cine/part.h b/engines/cine/part.h index be3f2c4523..77d7370d77 100644 --- a/engines/cine/part.h +++ b/engines/cine/part.h @@ -27,12 +27,11 @@ namespace Cine { -struct partBufferStruct{ - char part_name[10]; - uint32 varA; /* unused */ +struct partBufferStruct { + char partName[14]; uint32 offset; - uint32 packed_size; - uint32 unpacked_size; + uint32 packedSize; + uint32 unpackedSize; uint32 var1A; /* unused */ }; diff --git a/engines/cine/prc.cpp b/engines/cine/prc.cpp index db21ca6293..4034eeca4f 100644 --- a/engines/cine/prc.cpp +++ b/engines/cine/prc.cpp @@ -70,7 +70,7 @@ void loadPrc(const char *pPrcName) { free(scriptTable[i].ptr); scriptTable[i].ptr = NULL; - scriptTable[i].var4 = 0; + scriptTable[i].size = 0; } } @@ -80,22 +80,18 @@ void loadPrc(const char *pPrcName) { processPendingUpdates(1); - numEntry = *(unsigned short int *)readPtr; - readPtr += 2; - flipU16(&numEntry); + numEntry = READ_BE_UINT16(readPtr); readPtr += 2; ASSERT(numEntry <= NUM_MAX_SCRIPT); for (i = 0; i < numEntry; i++) { - scriptTable[i].var4 = *(unsigned short int *)readPtr; - readPtr += 2; - flipU16(&scriptTable[i].var4); + scriptTable[i].size = READ_BE_UINT16(readPtr); readPtr += 2; } for (i = 0; i < numEntry; i++) { uint16 size; - size = scriptTable[i].var4; + size = scriptTable[i].size; if (size) { scriptTable[i].ptr = (byte *)malloc(size); @@ -115,22 +111,18 @@ void loadPrc(const char *pPrcName) { processPendingUpdates(1); - numEntry = *(uint16 *) ptr; - ptr += 2; - flipU16(&numEntry); + numEntry = READ_BE_UINT16(ptr); ptr += 2; ASSERT(numEntry <= NUM_MAX_SCRIPT); for (i = 0; i < numEntry; i++) { - scriptTable[i].var4 = *(uint16 *) ptr; - ptr += 2; - flipU16(&scriptTable[i].var4); + scriptTable[i].size = READ_BE_UINT16(ptr); ptr += 2; } for (i = 0; i < numEntry; i++) { uint16 size; - size = scriptTable[i].var4; + size = scriptTable[i].size; if (size) { scriptTable[i].ptr = (byte *) malloc(size); diff --git a/engines/cine/script.cpp b/engines/cine/script.cpp index e19da540eb..c4f1575462 100644 --- a/engines/cine/script.cpp +++ b/engines/cine/script.cpp @@ -660,9 +660,8 @@ void executeScript(prcLinkedListStruct *scriptElement, uint16 params) { paramIdx = *(currentScriptPtr + currentPosition); currentPosition++; - newValue = *(int16 *)(currentScriptPtr + currentPosition); + newValue = READ_BE_UINT16(currentScriptPtr + currentPosition); currentPosition += 2; - flipU16((uint16 *)&newValue); DEBUG_SCRIPT(currentLine, "modifyObjectParam(objIdx:%d,paramIdx:%d,newValue:%d)", objIdx, paramIdx, newValue); @@ -703,9 +702,8 @@ void executeScript(prcLinkedListStruct *scriptElement, uint16 params) { paramIdx = *(currentScriptPtr + currentPosition); currentPosition++; - newValue = *(int16 *)(currentScriptPtr + currentPosition); + newValue = READ_BE_UINT16(currentScriptPtr + currentPosition); currentPosition += 2; - flipU16((uint16 *)&newValue); DEBUG_SCRIPT(currentLine, "addObjectParam(objIdx:%d,paramIdx:%d,newValue:%d)", objIdx, paramIdx, newValue); @@ -725,9 +723,8 @@ void executeScript(prcLinkedListStruct *scriptElement, uint16 params) { paramIdx = *(currentScriptPtr + currentPosition); currentPosition++; - newValue = *(int16 *)(currentScriptPtr + currentPosition); + newValue = READ_BE_UINT16(currentScriptPtr + currentPosition); currentPosition += 2; - flipU16((uint16 *)&newValue); DEBUG_SCRIPT(currentLine, "subObjectParam(objIdx:%d,paramIdx:%d,newValue:%d)", objIdx, paramIdx, newValue); @@ -747,9 +744,8 @@ void executeScript(prcLinkedListStruct *scriptElement, uint16 params) { param1 = *(currentScriptPtr + currentPosition); currentPosition++; - param2 = *(int16 *) (currentScriptPtr + currentPosition); + param2 = READ_BE_UINT16(currentScriptPtr + currentPosition); currentPosition += 2; - flipU16((uint16 *)¶m2); DEBUG_SCRIPT(currentLine, "compareObjectParam(objIdx:%d,type:%d,value:%d)", objIdx, param1, param2); @@ -768,21 +764,17 @@ void executeScript(prcLinkedListStruct *scriptElement, uint16 params) { objIdx = *(currentScriptPtr + currentPosition); currentPosition++; - param1 = *(int16 *)(currentScriptPtr + currentPosition); + param1 = READ_BE_UINT16(currentScriptPtr + currentPosition); currentPosition += 2; - flipU16((uint16 *)¶m1); - param2 = *(int16 *)(currentScriptPtr + currentPosition); + param2 = READ_BE_UINT16(currentScriptPtr + currentPosition); currentPosition += 2; - flipU16((uint16 *)¶m2); - param3 = *(int16 *)(currentScriptPtr + currentPosition); + param3 = READ_BE_UINT16(currentScriptPtr + currentPosition); currentPosition += 2; - flipU16((uint16 *)¶m3); - param4 = *(int16 *)(currentScriptPtr + currentPosition); + param4 = READ_BE_UINT16(currentScriptPtr + currentPosition); currentPosition += 2; - flipU16((uint16 *)¶m4); DEBUG_SCRIPT(currentLine, "setupObject(objIdx:%d,%d,%d,%d,%d)", objIdx, param1, param2, param3, param4); @@ -801,21 +793,17 @@ void executeScript(prcLinkedListStruct *scriptElement, uint16 params) { objIdx = *(currentScriptPtr + currentPosition); currentPosition++; - param1 = *(int16 *)(currentScriptPtr + currentPosition); + param1 = READ_BE_UINT16(currentScriptPtr + currentPosition); currentPosition += 2; - flipU16((uint16 *)¶m1); - param2 = *(int16 *)(currentScriptPtr + currentPosition); + param2 = READ_BE_UINT16(currentScriptPtr + currentPosition); currentPosition += 2; - flipU16((uint16 *)¶m2); - param3 = *(int16 *) (currentScriptPtr + currentPosition); + param3 = READ_BE_UINT16(currentScriptPtr + currentPosition); currentPosition += 2; - flipU16((uint16 *)¶m3); - param4 = *(int16 *) (currentScriptPtr + currentPosition); + param4 = READ_BE_UINT16(currentScriptPtr + currentPosition); currentPosition += 2; - flipU16((uint16 *)¶m4); DEBUG_SCRIPT(currentLine, "checkCollision(objIdx:%d,%d,%d,%d,%d)", objIdx, param1, param2, param3, param4); @@ -880,13 +868,13 @@ void executeScript(prcLinkedListStruct *scriptElement, uint16 params) { case 8: { DEBUG_SCRIPT(currentLine, "var[%d] = file[%d].packedSize", varIdx, dataIdx); - scriptElement->localVars[varIdx] = partBuffer[dataIdx].packed_size; + scriptElement->localVars[varIdx] = partBuffer[dataIdx].packedSize; break; } case 9: { DEBUG_SCRIPT(currentLine, "var[%d] = file[%d].unpackedSize", varIdx, dataIdx); - scriptElement->localVars[varIdx] = partBuffer[dataIdx].unpacked_size; + scriptElement->localVars[varIdx] = partBuffer[dataIdx].unpackedSize; break; } default: @@ -897,9 +885,8 @@ void executeScript(prcLinkedListStruct *scriptElement, uint16 params) { } else { int16 newData; - newData = *(int16 *)(currentScriptPtr + currentPosition); + newData = READ_BE_UINT16(currentScriptPtr + currentPosition); currentPosition += 2; - flipU16((uint16 *)&newData); DEBUG_SCRIPT(currentLine, "var[%d] = %d", varIdx, newData); @@ -930,9 +917,8 @@ void executeScript(prcLinkedListStruct *scriptElement, uint16 params) { } else { int16 param2; - param2 = *(int16 *) (currentScriptPtr + currentPosition); + param2 = READ_BE_UINT16(currentScriptPtr + currentPosition); currentPosition += 2; - flipU16((uint16 *)¶m2); DEBUG_SCRIPT(currentLine, "var[%d] += %d", param1, param2); @@ -964,9 +950,8 @@ void executeScript(prcLinkedListStruct *scriptElement, uint16 params) { } else { int16 param2; - param2 = *(int16 *)(currentScriptPtr + currentPosition); + param2 = READ_BE_UINT16(currentScriptPtr + currentPosition); currentPosition += 2; - flipU16((uint16 *)¶m2); DEBUG_SCRIPT(currentLine, "var[%d] -= %d", param1, param2); @@ -998,9 +983,8 @@ void executeScript(prcLinkedListStruct *scriptElement, uint16 params) { } else { int16 param2; - param2 = *(int16 *)(currentScriptPtr + currentPosition); + param2 = READ_BE_UINT16(currentScriptPtr + currentPosition); currentPosition += 2; - flipU16((uint16 *)¶m2); DEBUG_SCRIPT(currentLine, "var[%d] *= %d", param1, param2); @@ -1032,9 +1016,8 @@ void executeScript(prcLinkedListStruct *scriptElement, uint16 params) { } else { int16 param2; - param2 = *(int16 *) (currentScriptPtr + currentPosition); + param2 = READ_BE_UINT16(currentScriptPtr + currentPosition); currentPosition += 2; - flipU16((uint16 *)¶m2); DEBUG_SCRIPT(currentLine, "var[%d] /= %d", param1, param2); @@ -1079,9 +1062,8 @@ void executeScript(prcLinkedListStruct *scriptElement, uint16 params) { } else { int16 value; - value = *(int16 *) (currentScriptPtr + currentPosition); + value = READ_BE_UINT16(currentScriptPtr + currentPosition); currentPosition += 2; - flipU16((uint16 *)&value); DEBUG_SCRIPT(currentLine, "compare var[%d] and %d", varIdx, value); @@ -1529,17 +1511,14 @@ void executeScript(prcLinkedListStruct *scriptElement, uint16 params) { numColor = *(currentScriptPtr + currentPosition); currentPosition++; - r = *(int16 *)(currentScriptPtr + currentPosition); + r = READ_BE_UINT16(currentScriptPtr + currentPosition); currentPosition += 2; - flipU16(&r); - g = *(int16 *)(currentScriptPtr + currentPosition); + g = READ_BE_UINT16(currentScriptPtr + currentPosition); currentPosition += 2; - flipU16(&g); - b = *(int16 *)(currentScriptPtr + currentPosition); + b = READ_BE_UINT16(currentScriptPtr + currentPosition); currentPosition += 2; - flipU16(&b); DEBUG_SCRIPT(currentLine, "transformPaletteRange(from:%d,numIdx:%d,r:%d,g:%d,b:%d) -> unimplemented", startColor, numColor, r, g, b); @@ -1609,21 +1588,17 @@ void executeScript(prcLinkedListStruct *scriptElement, uint16 params) { param1 = *(currentScriptPtr + currentPosition); currentPosition++; - param2 = *(int16 *)(currentScriptPtr + currentPosition); + param2 = READ_BE_UINT16(currentScriptPtr + currentPosition); currentPosition += 2; - flipU16(¶m2); - param3 = *(int16 *)(currentScriptPtr + currentPosition); + param3 = READ_BE_UINT16(currentScriptPtr + currentPosition); currentPosition += 2; - flipU16(¶m3); - param4 = *(int16 *)(currentScriptPtr + currentPosition); + param4 = READ_BE_UINT16(currentScriptPtr + currentPosition); currentPosition += 2; - flipU16(¶m4); - param5 = *(int16 *)(currentScriptPtr + currentPosition); + param5 = READ_BE_UINT16(currentScriptPtr + currentPosition); currentPosition += 2; - flipU16(¶m5); DEBUG_SCRIPT(currentLine, "message(%d,%d,%d,%d,%d)", param1, param2, param3, param4, param5); @@ -1660,9 +1635,8 @@ void executeScript(prcLinkedListStruct *scriptElement, uint16 params) { } else { uint16 newData; - newData = *(int16 *)(currentScriptPtr + currentPosition); + newData = READ_BE_UINT16(currentScriptPtr + currentPosition); currentPosition += 2; - flipU16(&newData); DEBUG_SCRIPT(currentLine, "globalVars[%d] = %d", idx, newData); @@ -1694,9 +1668,8 @@ void executeScript(prcLinkedListStruct *scriptElement, uint16 params) { } else { uint16 newData; - newData = *(int16 *)(currentScriptPtr + currentPosition); + newData = READ_BE_UINT16(currentScriptPtr + currentPosition); currentPosition += 2; - flipU16(&newData); DEBUG_SCRIPT(currentLine, "compare globalVars[%d] and %d", @@ -1765,9 +1738,8 @@ void executeScript(prcLinkedListStruct *scriptElement, uint16 params) { zoneIdx = *(currentScriptPtr + currentPosition); currentPosition++; - var = *(int16 *)(currentScriptPtr + currentPosition); + var = READ_BE_UINT16(currentScriptPtr + currentPosition); currentPosition += 2; - flipU16(&var); DEBUG_SCRIPT(currentLine, "setZone[%d] = %d", zoneIdx, var); @@ -1857,13 +1829,11 @@ void executeScript(prcLinkedListStruct *scriptElement, uint16 params) { currentPosition++; - volume = *(int16 *) (currentScriptPtr + currentPosition); + volume = READ_BE_UINT16(currentScriptPtr + currentPosition); currentPosition += 2; - flipU16((uint16 *)&volume); - flag = *(uint16 *)(currentScriptPtr + currentPosition); + flag = READ_BE_UINT16(currentScriptPtr + currentPosition); currentPosition += 2; - flipU16(&flag); if (volume > 63) volume = 63; @@ -1941,19 +1911,15 @@ void executeScript(prcLinkedListStruct *scriptElement, uint16 params) { param4 = *(currentScriptPtr + currentPosition); currentPosition++; - param5 = *(int16 *)(currentScriptPtr + currentPosition); + param5 = READ_BE_UINT16(currentScriptPtr + currentPosition); currentPosition += 2; - param6 = *(int16 *)(currentScriptPtr + currentPosition); + param6 = READ_BE_UINT16(currentScriptPtr + currentPosition); currentPosition += 2; - param7 = *(int16 *)(currentScriptPtr + currentPosition); + param7 = READ_BE_UINT16(currentScriptPtr + currentPosition); currentPosition += 2; - flipU16(¶m5); - flipU16(¶m6); - flipU16(¶m7); - DEBUG_SCRIPT(currentLine, "addUnkListElement(%d,%d,%d,%d,%d)", param1, param2, param3, param4, param5, param6, param7); addUnkListElement(param1, 0, param2, param3, param4, param5, param6, 0, param7); @@ -2009,7 +1975,7 @@ void executeScript(prcLinkedListStruct *scriptElement, uint16 params) { DEBUG_SCRIPT(currentLine, "if(>) goto nearest %d (true)", labelIdx); ASSERT(scriptElement->stack[labelIdx] != -1); currentPosition = computeScriptStackFromScript(scriptElement->scriptPtr, currentPosition, labelIdx, - scriptTable[scriptElement->scriptIdx].var4); + scriptTable[scriptElement->scriptIdx].size); } else { DEBUG_SCRIPT(currentLine, "if(>) goto nearest %d (false)", labelIdx); } @@ -2027,7 +1993,7 @@ void executeScript(prcLinkedListStruct *scriptElement, uint16 params) { DEBUG_SCRIPT(currentLine, "if(>=) goto nearest %d (true)", labelIdx); ASSERT(scriptElement->stack[labelIdx] != -1); currentPosition = computeScriptStackFromScript(scriptElement->scriptPtr, currentPosition, labelIdx, - scriptTable[scriptElement->scriptIdx].var4); + scriptTable[scriptElement->scriptIdx].size); } else { DEBUG_SCRIPT(currentLine, "if(>=) goto nearest %d (false)", labelIdx); } @@ -2045,7 +2011,7 @@ void executeScript(prcLinkedListStruct *scriptElement, uint16 params) { DEBUG_SCRIPT(currentLine, "if(<) goto nearest %d (true)", labelIdx); ASSERT(scriptElement->stack[labelIdx] != -1); currentPosition = computeScriptStackFromScript(scriptElement->scriptPtr, - currentPosition, labelIdx, scriptTable[scriptElement->scriptIdx].var4); + currentPosition, labelIdx, scriptTable[scriptElement->scriptIdx].size); } else { DEBUG_SCRIPT(currentLine, "if(<) goto nearest %d (false)", labelIdx); } @@ -2063,7 +2029,7 @@ void executeScript(prcLinkedListStruct *scriptElement, uint16 params) { DEBUG_SCRIPT(currentLine, "if(<=) goto nearest %d (true)", labelIdx); ASSERT(scriptElement->stack[labelIdx] != -1); currentPosition = computeScriptStackFromScript(scriptElement->scriptPtr, - currentPosition, labelIdx, scriptTable[scriptElement->scriptIdx].var4); + currentPosition, labelIdx, scriptTable[scriptElement->scriptIdx].size); } else { DEBUG_SCRIPT(currentLine, "if(<=) goto nearest %d (false)", labelIdx); } @@ -2081,7 +2047,7 @@ void executeScript(prcLinkedListStruct *scriptElement, uint16 params) { DEBUG_SCRIPT(currentLine, "if(==) goto nearest %d (true)", labelIdx); ASSERT(scriptElement->stack[labelIdx] != -1); currentPosition = computeScriptStackFromScript(scriptElement->scriptPtr, - currentPosition, labelIdx, scriptTable[scriptElement->scriptIdx].var4); + currentPosition, labelIdx, scriptTable[scriptElement->scriptIdx].size); } else { DEBUG_SCRIPT(currentLine, "if(==) goto nearest %d (false)", labelIdx); } @@ -2099,7 +2065,7 @@ void executeScript(prcLinkedListStruct *scriptElement, uint16 params) { DEBUG_SCRIPT(currentLine, "if(!=) goto nearest %d (true)", labelIdx); ASSERT(scriptElement->stack[labelIdx] != -1); currentPosition = computeScriptStackFromScript(scriptElement->scriptPtr, - currentPosition, labelIdx, scriptTable[scriptElement->scriptIdx].var4); + currentPosition, labelIdx, scriptTable[scriptElement->scriptIdx].size); } else { DEBUG_SCRIPT(currentLine, "if(!=) goto nearest %d (false)", labelIdx); } @@ -2226,9 +2192,8 @@ void executeScript(prcLinkedListStruct *scriptElement, uint16 params) { } else { uint16 param2; - param2 = *(int16 *)(currentScriptPtr + currentPosition); + param2 = READ_BE_UINT16(currentScriptPtr + currentPosition); currentPosition += 2; - flipU16(¶m2); DEBUG_SCRIPT(currentLine, "additionalBgVScroll = %d", param2); @@ -2242,13 +2207,11 @@ void executeScript(prcLinkedListStruct *scriptElement, uint16 params) { uint16 param1; uint16 param2; - param1 = *(int16 *)(currentScriptPtr + currentPosition); + param1 = READ_BE_UINT16(currentScriptPtr + currentPosition); currentPosition += 2; - flipU16(¶m1); - param2 = *(int16 *)(currentScriptPtr + currentPosition); + param2 = READ_BE_UINT16(currentScriptPtr + currentPosition); currentPosition += 2; - flipU16(¶m2); DEBUG_SCRIPT(currentLine, "addGfxElementA0(%d,%d)", param1, param2); @@ -2400,11 +2363,9 @@ void decompileScript(uint8 *scriptPtr, int16 *stackPtr, uint16 scriptSize, uint1 param2 = *(localScriptPtr + position); position++; - param3 = *(int16 *) (localScriptPtr + position); + param3 = READ_BE_UINT16(localScriptPtr + position); position += 2; - flipU16(¶m3); - sprintf(lineBuffer, "obj[%d]%s = %d\n", param1, getObjPramName(param2), param3); break; @@ -2439,11 +2400,9 @@ void decompileScript(uint8 *scriptPtr, int16 *stackPtr, uint16 scriptSize, uint1 param2 = *(localScriptPtr + position); position++; - param3 = *(int16 *)(localScriptPtr + position); + param3 = READ_BE_UINT16(localScriptPtr + position); position += 2; - flipU16(¶m3); - sprintf(lineBuffer, "obj[%d]%s+=%d\n", param1, getObjPramName(param2), param3); break; @@ -2460,11 +2419,9 @@ void decompileScript(uint8 *scriptPtr, int16 *stackPtr, uint16 scriptSize, uint1 param2 = *(localScriptPtr + position); position++; - param3 = *(int16 *) (localScriptPtr + position); + param3 = READ_BE_UINT16(localScriptPtr + position); position += 2; - flipU16(¶m3); - sprintf(lineBuffer, "obj[%d]%s-=%d\n", param1, getObjPramName(param2), param3); break; @@ -2481,11 +2438,9 @@ void decompileScript(uint8 *scriptPtr, int16 *stackPtr, uint16 scriptSize, uint1 param2 = *(localScriptPtr + position); position++; - param3 = *(int16 *)(localScriptPtr + position); + param3 = READ_BE_UINT16(localScriptPtr + position); position += 2; - flipU16(¶m3); - sprintf(lineBuffer, "obj[%d]%s+=obj[%d]%s\n", param1, getObjPramName(param2), param3, getObjPramName(param2)); break; @@ -2502,11 +2457,9 @@ void decompileScript(uint8 *scriptPtr, int16 *stackPtr, uint16 scriptSize, uint1 param2 = *(localScriptPtr + position); position++; - param3 = *(int16 *)(localScriptPtr + position); + param3 = READ_BE_UINT16(localScriptPtr + position); position += 2; - flipU16(¶m3); - sprintf(lineBuffer, "obj[%d]%s-=obj[%d]%s\n", param1, getObjPramName(param2), param3, getObjPramName(param2)); break; @@ -2523,11 +2476,9 @@ void decompileScript(uint8 *scriptPtr, int16 *stackPtr, uint16 scriptSize, uint1 param2 = *(localScriptPtr + position); position++; - param3 = *(int16 *)(localScriptPtr + position); + param3 = READ_BE_UINT16(localScriptPtr + position); position += 2; - flipU16(¶m3); - sprintf(compareString1, "obj[%d]%s", param1, getObjPramName(param2)); sprintf(compareString2, "%d", param3); @@ -2544,23 +2495,18 @@ void decompileScript(uint8 *scriptPtr, int16 *stackPtr, uint16 scriptSize, uint1 param1 = *(localScriptPtr + position); position++; - param2 = *(int16 *)(localScriptPtr + position); + param2 = READ_BE_UINT16(localScriptPtr + position); position += 2; - param3 = *(int16 *)(localScriptPtr + position); + param3 = READ_BE_UINT16(localScriptPtr + position); position += 2; - param4 = *(int16 *)(localScriptPtr + position); + param4 = READ_BE_UINT16(localScriptPtr + position); position += 2; - param5 = *(int16 *)(localScriptPtr + position); + param5 = READ_BE_UINT16(localScriptPtr + position); position += 2; - flipU16(¶m2); - flipU16(¶m3); - flipU16(¶m4); - flipU16(¶m5); - sprintf(lineBuffer, "setupObject(Idx:%d,X:%d,Y:%d,mask:%d,frame:%d)\n", param1, param2, param3, param4, param5); break; @@ -2576,23 +2522,18 @@ void decompileScript(uint8 *scriptPtr, int16 *stackPtr, uint16 scriptSize, uint1 param1 = *(localScriptPtr + position); position++; - param2 = *(int16 *)(localScriptPtr + position); + param2 = READ_BE_UINT16(localScriptPtr + position); position += 2; - param3 = *(int16 *)(localScriptPtr + position); + param3 = READ_BE_UINT16(localScriptPtr + position); position += 2; - param4 = *(int16 *)(localScriptPtr + position); + param4 = READ_BE_UINT16(localScriptPtr + position); position += 2; - param5 = *(int16 *)(localScriptPtr + position); + param5 = READ_BE_UINT16(localScriptPtr + position); position += 2; - flipU16(¶m2); - flipU16(¶m3); - flipU16(¶m4); - flipU16(¶m5); - sprintf(lineBuffer, "checkCollision(%d,%d,%d,%d,%d)\n", param1, param2, param3, param4, param5); break; @@ -2630,11 +2571,9 @@ void decompileScript(uint8 *scriptPtr, int16 *stackPtr, uint16 scriptSize, uint1 } else { int16 param3; - param3 = *(int16 *) (localScriptPtr + position); + param3 = READ_BE_UINT16(localScriptPtr + position); position += 2; - flipU16(¶m3); - sprintf(lineBuffer, "var[%d]=%d\n", param1, param3); } @@ -2661,11 +2600,9 @@ void decompileScript(uint8 *scriptPtr, int16 *stackPtr, uint16 scriptSize, uint1 } else { int16 param3; - param3 = *(int16 *) (localScriptPtr + position); + param3 = READ_BE_UINT16(localScriptPtr + position); position += 2; - flipU16(¶m3); - sprintf(lineBuffer, "var[%d]+=%d\n", param1, param3); } break; @@ -2691,11 +2628,9 @@ void decompileScript(uint8 *scriptPtr, int16 *stackPtr, uint16 scriptSize, uint1 } else { int16 param3; - param3 = *(int16 *)(localScriptPtr + position); + param3 = READ_BE_UINT16(localScriptPtr + position); position += 2; - flipU16(¶m3); - sprintf(lineBuffer, "var[%d]-=%d\n", param1, param3); } break; @@ -2721,11 +2656,9 @@ void decompileScript(uint8 *scriptPtr, int16 *stackPtr, uint16 scriptSize, uint1 } else { int16 param3; - param3 = *(int16 *) (localScriptPtr + position); + param3 = READ_BE_UINT16(localScriptPtr + position); position += 2; - flipU16(¶m3); - sprintf(lineBuffer, "var[%d]*=%d\n", param1, param3); } break; @@ -2751,11 +2684,9 @@ void decompileScript(uint8 *scriptPtr, int16 *stackPtr, uint16 scriptSize, uint1 } else { int16 param3; - param3 = *(int16 *) (localScriptPtr + position); + param3 = READ_BE_UINT16(localScriptPtr + position); position += 2; - flipU16(¶m3); - sprintf(lineBuffer, "var[%d]/=%d\n", param1, param3); } break; @@ -2790,11 +2721,9 @@ void decompileScript(uint8 *scriptPtr, int16 *stackPtr, uint16 scriptSize, uint1 } else { int16 param3; - param3 = *(int16 *)(localScriptPtr + position); + param3 = READ_BE_UINT16(localScriptPtr + position); position += 2; - flipU16(¶m3); - sprintf(compareString1, "var[%d]", param1); sprintf(compareString2, "%d", param3); } @@ -3121,19 +3050,15 @@ void decompileScript(uint8 *scriptPtr, int16 *stackPtr, uint16 scriptSize, uint1 param2 = *(localScriptPtr + position); position++; - param3 = *(int16 *)(localScriptPtr + position); + param3 = READ_BE_UINT16(localScriptPtr + position); position += 2; - param4 = *(int16 *)(localScriptPtr + position); + param4 = READ_BE_UINT16)(localScriptPtr + position); position += 2; - param5 = *(int16 *)(localScriptPtr + position); + param5 = READ_BE_UINT16(localScriptPtr + position); position += 2; - flipU16(¶m3); - flipU16(¶m4); - flipU16(¶m5); - sprintf(lineBuffer, "transformPaletteRange(%d,%d,%d,%d,%d)\n", param1, param2, param3, param4, param5); break; @@ -3171,23 +3096,18 @@ void decompileScript(uint8 *scriptPtr, int16 *stackPtr, uint16 scriptSize, uint1 param1 = *(localScriptPtr + position); position++; - param2 = *(int16 *)(localScriptPtr + position); + param2 = READ_BE_UINT16(localScriptPtr + position); position += 2; - param3 = *(int16 *)(localScriptPtr + position); + param3 = READ_BE_UINT16(localScriptPtr + position); position += 2; - param4 = *(int16 *)(localScriptPtr + position); + param4 = READ_BE_UINT16(localScriptPtr + position); position += 2; - param5 = *(int16 *)(localScriptPtr + position); + param5 = READ_BE_UINT16(localScriptPtr + position); position += 2; - flipU16(¶m2); - flipU16(¶m3); - flipU16(¶m4); - flipU16(¶m5); - sprintf(lineBuffer, "message(%d,%d,%d,%d,%d)\n", param1, param2, param3, param4, param5); break; @@ -3219,11 +3139,9 @@ void decompileScript(uint8 *scriptPtr, int16 *stackPtr, uint16 scriptSize, uint1 } else { int16 param3; - param3 = *(int16 *)(localScriptPtr + position); + param3 = READ_BE_UINT16(localScriptPtr + position); position += 2; - flipU16(¶m3); - sprintf(lineBuffer, "globalVar[%d] = %d\n", param1, param3); } break; @@ -3257,11 +3175,9 @@ void decompileScript(uint8 *scriptPtr, int16 *stackPtr, uint16 scriptSize, uint1 } else { int16 param3; - param3 = *(int16 *)(localScriptPtr + position); + param3 = READ_BE_UINT16(localScriptPtr + position); position += 2; - flipU16(¶m3); - sprintf(compareString1, "globalVar[%d]", param1); sprintf(compareString2, "%d", param3); } @@ -3307,11 +3223,9 @@ void decompileScript(uint8 *scriptPtr, int16 *stackPtr, uint16 scriptSize, uint1 param1 = *(localScriptPtr + position); position++; - param2 = *(int16 *) (localScriptPtr + position); + param2 = READ_BE_UINT16(localScriptPtr + position); position += 2; - flipU16(¶m2); - sprintf(lineBuffer, "tableUnk1[%d] = %d\n", param1, param2); break; @@ -3396,22 +3310,18 @@ void decompileScript(uint8 *scriptPtr, int16 *stackPtr, uint16 scriptSize, uint1 param2 = *(localScriptPtr + position); position++; - param3 = *(int16 *)(localScriptPtr + position); + param3 = READ_BE_UINT16(localScriptPtr + position); position += 2; param4 = *(localScriptPtr + position); position++; - param5 = *(int16 *)(localScriptPtr + position); + param5 = READ_BE_UINT16(localScriptPtr + position); position += 2; - param6 = *(int16 *)(localScriptPtr + position); + param6 = READ_BE_UINT16(localScriptPtr + position); position += 2; - flipU16(¶m3); - flipU16(¶m5); - flipU16(¶m6); - sprintf(lineBuffer, "playSample(%d,%d,%d,%d,%d,%d)\n", param1, param2, param3, param4, param5, param6); break; @@ -3431,22 +3341,18 @@ void decompileScript(uint8 *scriptPtr, int16 *stackPtr, uint16 scriptSize, uint1 param2 = *(localScriptPtr + position); position++; - param3 = *(int16 *)(localScriptPtr + position); + param3 = READ_BE_UINT16(localScriptPtr + position); position += 2; param4 = *(localScriptPtr + position); position++; - param5 = *(int16 *)(localScriptPtr + position); + param5 = READ_BE_UINT16(localScriptPtr + position); position += 2; - param6 = *(int16 *)(localScriptPtr + position); + param6 = READ_BE_UINT16(localScriptPtr + position); position += 2; - flipU16(¶m3); - flipU16(¶m5); - flipU16(¶m6); - sprintf(lineBuffer, "OP_78(%d,%d,%d,%d,%d,%d)\n", param1, param2, param3, param4, param5, param6); break; @@ -3495,19 +3401,15 @@ void decompileScript(uint8 *scriptPtr, int16 *stackPtr, uint16 scriptSize, uint1 param4 = *(localScriptPtr + position); position++; - param5 = *(int16 *)(localScriptPtr + position); + param5 = READ_BE_UINT16(localScriptPtr + position); position += 2; - param6 = *(int16 *)(localScriptPtr + position); + param6 = READ_BE_UINT16(localScriptPtr + position); position += 2; - param7 = *(int16 *)(localScriptPtr + position); + param7 = READ_BE_UINT16(localScriptPtr + position); position += 2; - flipU16(¶m5); - flipU16(¶m6); - flipU16(¶m7); - sprintf(lineBuffer, "OP_7F(%d,%d,%d,%d,%d)\n", param1, param2, param3, param4, param5, param6, param7); break; @@ -3541,13 +3443,11 @@ void decompileScript(uint8 *scriptPtr, int16 *stackPtr, uint16 scriptSize, uint1 param2 = *(localScriptPtr + position); position++; - param3 = *(int16 *)(localScriptPtr + position); + param3 = READ_BE_UINT16(localScriptPtr + position); position += 2; - flipU16(¶m3); - param4 = *(int16 *)(localScriptPtr + position); + param4 = READ_BE_UINT16(localScriptPtr + position); position += 2; - flipU16(¶m4); param5 = *(localScriptPtr + position); position++; @@ -3615,37 +3515,29 @@ void decompileScript(uint8 *scriptPtr, int16 *stackPtr, uint16 scriptSize, uint1 int16 param7; int16 param8; - param1 = *(int16 *)(localScriptPtr + position); + param1 = READ_BE_UINT16(localScriptPtr + position); position += 2; - flipU16(¶m1); - param2 = *(int16 *)(localScriptPtr + position); + param2 = READ_BE_UINT16(localScriptPtr + position); position += 2; - flipU16(¶m2); - param3 = *(int16 *)(localScriptPtr + position); + param3 = READ_BE_UINT16(localScriptPtr + position); position += 2; - flipU16(¶m3); - param4 = *(int16 *)(localScriptPtr + position); + param4 = READ_BE_UINT16(localScriptPtr + position); position += 2; - flipU16(¶m4); - param5 = *(int16 *)(localScriptPtr + position); + param5 = READ_BE_UINT16(localScriptPtr + position); position += 2; - flipU16(¶m5); - param6 = *(int16 *)(localScriptPtr + position); + param6 = READ_BE_UINT16(localScriptPtr + position); position += 2; - flipU16(¶m6); - param7 = *(int16 *)(localScriptPtr + position); + param7 = READ_BE_UINT16(localScriptPtr + position); position += 2; - flipU16(¶m7); - param8 = *(int16 *)(localScriptPtr + position); + param8 = READ_BE_UINT16(localScriptPtr + position); position += 2; - flipU16(¶m8); sprintf(compareString1, "obj[%d]", param1); sprintf(compareString2, "{%d,%d,%d,%d,%d,%d,%d}", param2, param3, param4, param5, param6, param7, param8); @@ -3728,9 +3620,8 @@ void decompileScript(uint8 *scriptPtr, int16 *stackPtr, uint16 scriptSize, uint1 } else { int16 param2; - param2 = *(int16 *)(localScriptPtr + position); + param2 = READ_BE_UINT16(localScriptPtr + position); position += 2; - flipU16(¶m2); sprintf(lineBuffer, "OP_9E(%d,%d)\n", param, param2); } diff --git a/engines/cine/script.h b/engines/cine/script.h index 2fd598266f..7063e6082b 100644 --- a/engines/cine/script.h +++ b/engines/cine/script.h @@ -31,7 +31,7 @@ namespace Cine { struct scriptStruct { byte *ptr; - uint16 var4; + uint16 size; int16 stack[SCRIPT_STACK_SIZE]; }; diff --git a/engines/cine/various.cpp b/engines/cine/various.cpp index efb4be3247..0d9b042fad 100644 --- a/engines/cine/various.cpp +++ b/engines/cine/various.cpp @@ -512,7 +512,7 @@ int16 makeLoad(char *saveName) { if (scriptTable[i].ptr) { free(scriptTable[i].ptr); scriptTable[i].ptr = NULL; - scriptTable[i].var4 = 0; + scriptTable[i].size = 0; } } |