aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/cine/gfx.h2
-rw-r--r--engines/cine/various.cpp57
-rw-r--r--engines/cine/various.h2
3 files changed, 27 insertions, 34 deletions
diff --git a/engines/cine/gfx.h b/engines/cine/gfx.h
index 4ba32bfc9f..088e476732 100644
--- a/engines/cine/gfx.h
+++ b/engines/cine/gfx.h
@@ -34,6 +34,8 @@ extern byte *page1;
extern byte *page2;
extern byte *page3;
+extern uint16 c_palette[256];
+
void init_video();
void setMouseCursor(int cursor);
void convertGfx(byte *source, byte *dest, const uint16 width, const uint16 height);
diff --git a/engines/cine/various.cpp b/engines/cine/various.cpp
index 607d89e71a..cc79cd0932 100644
--- a/engines/cine/various.cpp
+++ b/engines/cine/various.cpp
@@ -104,8 +104,6 @@ int16 playerCommand;
char commandBuffer[80];
-uint16 palette_[256];
-
char currentPrcName[20];
char currentRelName[20];
char currentObjectName[20];
@@ -403,7 +401,7 @@ void loadObjectScritpFromSave(Common::File *fHandle) {
newElement->scriptPtr = (byte *)relTable[newElement->scriptIdx].data;
}
-void loadGlobalScritpFromSave(Common::File *fHandle) {
+void loadGlobalScriptFromSave(Common::File *fHandle) {
int16 i;
prcLinkedListStruct *newElement;
@@ -429,9 +427,7 @@ void loadGlobalScritpFromSave(Common::File *fHandle) {
newElement->localVars[i] = fHandle->readUint16BE();
newElement->compareResult = fHandle->readUint16BE();
-
newElement->scriptPosition = fHandle->readUint16BE();
-
newElement->scriptIdx = fHandle->readUint16BE();
newElement->scriptPtr = scriptTable[newElement->scriptIdx].ptr;
@@ -468,9 +464,7 @@ void loadOverlayFromSave(Common::File *fHandle) {
currentHead = &overlayHead;
newElement->previous = currentHead->previous;
-
currentHead->previous = newElement;
-
}
void setupGlobalScriptList(void) {
@@ -478,7 +472,6 @@ void setupGlobalScriptList(void) {
while (currentHead) {
currentHead->scriptPtr = scriptTable[currentHead->scriptIdx].ptr;
-
currentHead = currentHead->next;
}
}
@@ -583,7 +576,7 @@ int16 makeLoad(char *saveName) {
fadeRequired = 0;
for (i = 0; i < 16; i++) {
- palette_[i] = 0;
+ c_palette[i] = 0;
}
checkForPendingDataLoadSwitch = 0;
@@ -601,22 +594,21 @@ int16 makeLoad(char *saveName) {
fHandle.read(currentBgName[0], 13);
fHandle.read(currentCtName, 13);
- i = fHandle.readUint16BE();
- i = fHandle.readUint16BE();
-
- fHandle.read(objectTable, i * 255);
+ fHandle.readUint16BE();
+ fHandle.readUint16BE();
- for (i = 0; i < NUM_MAX_OBJECT; i++) {
- objectTable[i].x = TO_BE_16(objectTable[i].x);
- objectTable[i].y = TO_BE_16(objectTable[i].y);
- objectTable[i].mask = TO_BE_16(objectTable[i].mask);
- objectTable[i].frame = TO_BE_16(objectTable[i].frame);
- objectTable[i].costume = TO_BE_16(objectTable[i].costume);
- objectTable[i].part = TO_BE_16(objectTable[i].part);
+ for (i = 0; i < 255; i++) {
+ objectTable[i].x = fHandle.readSint16BE();
+ objectTable[i].y = fHandle.readSint16BE();
+ objectTable[i].mask = fHandle.readUint16BE();
+ objectTable[i].frame = fHandle.readSint16BE();
+ objectTable[i].costume = fHandle.readSint16BE();
+ fHandle.read(objectTable[i].name, 20);
+ objectTable[i].part = fHandle.readUint16BE();
}
for (i = 0; i < 16; i++) {
- palette_[i] = fHandle.readUint16BE();
+ c_palette[i] = fHandle.readUint16BE();
}
for (i = 0; i < 16; i++) {
@@ -650,23 +642,24 @@ int16 makeLoad(char *saveName) {
commandVar2 = fHandle.readSint16BE();
defaultMenuBoxColor2 = fHandle.readUint16BE();
- i = fHandle.readUint16BE();
- i = fHandle.readSint16BE();
- fHandle.read(animDataTable, i * 255);
+ fHandle.readUint16BE();
+ fHandle.readSint16BE();
+
for (i = 0; i < NUM_MAX_ANIMDATA; i++) {
- animDataTable[i].width = TO_BE_16(animDataTable[i].width);
- animDataTable[i].var1 = TO_BE_16(animDataTable[i].var1);
- animDataTable[i].bpp = TO_BE_16(animDataTable[i].bpp);
- animDataTable[i].height = TO_BE_16(animDataTable[i].height);
- animDataTable[i].fileIdx = TO_BE_16(animDataTable[i].fileIdx);
- animDataTable[i].frameIdx = TO_BE_16(animDataTable[i].frameIdx);
+ animDataTable[i].width = fHandle.readUint16BE();
+ animDataTable[i].var1 = fHandle.readUint16BE();
+ animDataTable[i].bpp = fHandle.readUint16BE();
+ animDataTable[i].height = fHandle.readUint16BE();
+ animDataTable[i].fileIdx = fHandle.readSint16BE();
+ animDataTable[i].frameIdx = fHandle.readSint16BE();
+ fHandle.read(animDataTable[i].name, 10);
}
fHandle.seek(12, SEEK_CUR); // TODO: handle screen params (realy required ?)
size = fHandle.readSint16BE();
for (i = 0; i < size; i++) {
- loadGlobalScritpFromSave(&fHandle);
+ loadGlobalScriptFromSave(&fHandle);
}
size = fHandle.readSint16BE();
@@ -761,7 +754,7 @@ void makeSave(char *saveFileName) {
}
for (i = 0; i < 16; i++) {
- fHandle.writeUint16BE(palette_[i]);
+ fHandle.writeUint16BE(c_palette[i]);
}
for (i = 0; i < 16; i++) {
diff --git a/engines/cine/various.h b/engines/cine/various.h
index e255c35329..eb71fd6835 100644
--- a/engines/cine/various.h
+++ b/engines/cine/various.h
@@ -117,8 +117,6 @@ extern int16 playerCommand;
extern char commandBuffer[80];
-extern uint16 c_palette[256];
-
extern char currentPrcName[20];
extern char currentRelName[20];
extern char currentObjectName[20];