aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/cine/anim.cpp24
-rw-r--r--engines/cine/bg.cpp10
-rw-r--r--engines/cine/cine.cpp2
-rw-r--r--engines/cine/msg.cpp8
-rw-r--r--engines/cine/part.cpp46
-rw-r--r--engines/cine/part.h9
-rw-r--r--engines/cine/prc.cpp22
-rw-r--r--engines/cine/script.cpp297
-rw-r--r--engines/cine/script.h2
-rw-r--r--engines/cine/various.cpp2
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 *)&param2);
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 *)&param1);
- param2 = *(int16 *)(currentScriptPtr + currentPosition);
+ param2 = READ_BE_UINT16(currentScriptPtr + currentPosition);
currentPosition += 2;
- flipU16((uint16 *)&param2);
- param3 = *(int16 *)(currentScriptPtr + currentPosition);
+ param3 = READ_BE_UINT16(currentScriptPtr + currentPosition);
currentPosition += 2;
- flipU16((uint16 *)&param3);
- param4 = *(int16 *)(currentScriptPtr + currentPosition);
+ param4 = READ_BE_UINT16(currentScriptPtr + currentPosition);
currentPosition += 2;
- flipU16((uint16 *)&param4);
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 *)&param1);
- param2 = *(int16 *)(currentScriptPtr + currentPosition);
+ param2 = READ_BE_UINT16(currentScriptPtr + currentPosition);
currentPosition += 2;
- flipU16((uint16 *)&param2);
- param3 = *(int16 *) (currentScriptPtr + currentPosition);
+ param3 = READ_BE_UINT16(currentScriptPtr + currentPosition);
currentPosition += 2;
- flipU16((uint16 *)&param3);
- param4 = *(int16 *) (currentScriptPtr + currentPosition);
+ param4 = READ_BE_UINT16(currentScriptPtr + currentPosition);
currentPosition += 2;
- flipU16((uint16 *)&param4);
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 *)&param2);
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 *)&param2);
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 *)&param2);
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 *)&param2);
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(&param2);
- param3 = *(int16 *)(currentScriptPtr + currentPosition);
+ param3 = READ_BE_UINT16(currentScriptPtr + currentPosition);
currentPosition += 2;
- flipU16(&param3);
- param4 = *(int16 *)(currentScriptPtr + currentPosition);
+ param4 = READ_BE_UINT16(currentScriptPtr + currentPosition);
currentPosition += 2;
- flipU16(&param4);
- param5 = *(int16 *)(currentScriptPtr + currentPosition);
+ param5 = READ_BE_UINT16(currentScriptPtr + currentPosition);
currentPosition += 2;
- flipU16(&param5);
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(&param5);
- flipU16(&param6);
- flipU16(&param7);
-
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(&param2);
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(&param1);
- param2 = *(int16 *)(currentScriptPtr + currentPosition);
+ param2 = READ_BE_UINT16(currentScriptPtr + currentPosition);
currentPosition += 2;
- flipU16(&param2);
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(&param3);
-
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(&param3);
-
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(&param3);
-
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(&param3);
-
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(&param3);
-
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(&param3);
-
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(&param2);
- flipU16(&param3);
- flipU16(&param4);
- flipU16(&param5);
-
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(&param2);
- flipU16(&param3);
- flipU16(&param4);
- flipU16(&param5);
-
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(&param3);
-
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(&param3);
-
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(&param3);
-
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(&param3);
-
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(&param3);
-
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(&param3);
-
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(&param3);
- flipU16(&param4);
- flipU16(&param5);
-
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(&param2);
- flipU16(&param3);
- flipU16(&param4);
- flipU16(&param5);
-
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(&param3);
-
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(&param3);
-
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(&param2);
-
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(&param3);
- flipU16(&param5);
- flipU16(&param6);
-
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(&param3);
- flipU16(&param5);
- flipU16(&param6);
-
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(&param5);
- flipU16(&param6);
- flipU16(&param7);
-
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(&param3);
- param4 = *(int16 *)(localScriptPtr + position);
+ param4 = READ_BE_UINT16(localScriptPtr + position);
position += 2;
- flipU16(&param4);
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(&param1);
- param2 = *(int16 *)(localScriptPtr + position);
+ param2 = READ_BE_UINT16(localScriptPtr + position);
position += 2;
- flipU16(&param2);
- param3 = *(int16 *)(localScriptPtr + position);
+ param3 = READ_BE_UINT16(localScriptPtr + position);
position += 2;
- flipU16(&param3);
- param4 = *(int16 *)(localScriptPtr + position);
+ param4 = READ_BE_UINT16(localScriptPtr + position);
position += 2;
- flipU16(&param4);
- param5 = *(int16 *)(localScriptPtr + position);
+ param5 = READ_BE_UINT16(localScriptPtr + position);
position += 2;
- flipU16(&param5);
- param6 = *(int16 *)(localScriptPtr + position);
+ param6 = READ_BE_UINT16(localScriptPtr + position);
position += 2;
- flipU16(&param6);
- param7 = *(int16 *)(localScriptPtr + position);
+ param7 = READ_BE_UINT16(localScriptPtr + position);
position += 2;
- flipU16(&param7);
- param8 = *(int16 *)(localScriptPtr + position);
+ param8 = READ_BE_UINT16(localScriptPtr + position);
position += 2;
- flipU16(&param8);
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(&param2);
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;
}
}