[Scummvm-cvs-logs] SF.net SVN: scummvm:[39445] scummvm/trunk/engines/cruise

dreammaster at users.sourceforge.net dreammaster at users.sourceforge.net
Mon Mar 16 10:45:38 CET 2009


Revision: 39445
          http://scummvm.svn.sourceforge.net/scummvm/?rev=39445&view=rev
Author:   dreammaster
Date:     2009-03-16 09:45:37 +0000 (Mon, 16 Mar 2009)

Log Message:
-----------
Code formatting, added further constant references, and corrected method signatures

Modified Paths:
--------------
    scummvm/trunk/engines/cruise/background.cpp
    scummvm/trunk/engines/cruise/background.h
    scummvm/trunk/engines/cruise/backgroundIncrust.cpp
    scummvm/trunk/engines/cruise/cell.cpp
    scummvm/trunk/engines/cruise/cruise.h
    scummvm/trunk/engines/cruise/cruise_main.cpp
    scummvm/trunk/engines/cruise/cruise_main.h
    scummvm/trunk/engines/cruise/dataLoader.cpp
    scummvm/trunk/engines/cruise/debugger.cpp
    scummvm/trunk/engines/cruise/function.cpp
    scummvm/trunk/engines/cruise/gfxModule.cpp
    scummvm/trunk/engines/cruise/gfxModule.h
    scummvm/trunk/engines/cruise/mainDraw.cpp
    scummvm/trunk/engines/cruise/mainDraw.h

Modified: scummvm/trunk/engines/cruise/background.cpp
===================================================================
--- scummvm/trunk/engines/cruise/background.cpp	2009-03-16 09:38:20 UTC (rev 39444)
+++ scummvm/trunk/engines/cruise/background.cpp	2009-03-16 09:45:37 UTC (rev 39445)
@@ -29,7 +29,7 @@
 
 uint8 colorMode = 0;
 
-uint8 *backgroundPtrtable[8] = { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL };	// wasn't initialized in original, but it's probably better
+uint8 *backgroundScreens[8] = { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL };	// wasn't initialized in original, but it's probably better
 backgroundTableStruct backgroundTable[8];
 
 char hwPage[64000];
@@ -92,11 +92,11 @@
 
 	printf("Loading BG: %s\n", name);
 
-	if (!backgroundPtrtable[idx]) {
-		backgroundPtrtable[idx] = (uint8 *)mallocAndZero(320 * 200);
+	if (!backgroundScreens[idx]) {
+		backgroundScreens[idx] = (uint8 *)mallocAndZero(320 * 200);
 	}
 
-	if (!backgroundPtrtable[idx]) {
+	if (!backgroundScreens[idx]) {
 		backgroundTable[idx].name[0] = 0;
 		return (-2);
 	}
@@ -184,19 +184,19 @@
 		gfxModuleData_setPal256(palScreen[idx]);
 
 		// read image data
-		gfxModuleData_gfxClearFrameBuffer(backgroundPtrtable[idx]);
+		gfxModuleData_gfxClearFrameBuffer(backgroundScreens[idx]);
 
 		switch (mode) {
 		case 0:
 		case 4:
-			convertGfxFromMode4(ptr2, 320, 200, backgroundPtrtable[idx]);
+			convertGfxFromMode4(ptr2, 320, 200, backgroundScreens[idx]);
 			ptr2 += 32000;
 			break;
 		case 5:
-			convertGfxFromMode5(ptr2, 320, 200, backgroundPtrtable[idx]);
+			convertGfxFromMode5(ptr2, 320, 200, backgroundScreens[idx]);
 			break;
 		case 8:
-			memcpy(backgroundPtrtable[idx], ptr2, 320 * 200);
+			memcpy(backgroundScreens[idx], ptr2, 320 * 200);
 			ptr2 += 320 * 200;
 			break;
 		}

Modified: scummvm/trunk/engines/cruise/background.h
===================================================================
--- scummvm/trunk/engines/cruise/background.h	2009-03-16 09:38:20 UTC (rev 39444)
+++ scummvm/trunk/engines/cruise/background.h	2009-03-16 09:45:37 UTC (rev 39445)
@@ -35,7 +35,7 @@
 
 extern short int cvtPalette[0x20];
 extern int CVTLoaded;
-extern uint8 *backgroundPtrtable[8];
+extern uint8 *backgroundScreens[8];
 extern backgroundTableStruct backgroundTable[8];
 
 int loadBackground(const char *name, int idx);

Modified: scummvm/trunk/engines/cruise/backgroundIncrust.cpp
===================================================================
--- scummvm/trunk/engines/cruise/backgroundIncrust.cpp	2009-03-16 09:38:20 UTC (rev 39444)
+++ scummvm/trunk/engines/cruise/backgroundIncrust.cpp	2009-03-16 09:45:37 UTC (rev 39445)
@@ -24,6 +24,7 @@
  */
 
 #include "cruise/cruise_main.h"
+#include "cruise/cruise.h"
 
 namespace Cruise {
 
@@ -62,7 +63,7 @@
 	if (pIncrust->ptr == NULL)
 		return;
 
-	uint8* pBackground = backgroundPtrtable[pIncrust->backgroundIdx];
+	uint8* pBackground = backgroundScreens[pIncrust->backgroundIdx];
 	if (pBackground == NULL)
 		return;
 
@@ -90,16 +91,15 @@
 
 	ptr = filesDatabase[params.fileIdx].subData.ptr;
 
-	if (!ptr) {
+	// Don't process any further if not a sprite or polygon
+	if (!ptr) return NULL;
+	if ((filesDatabase[params.fileIdx].subData.resourceType != OBJ_TYPE_SPRITE) && 
+		(filesDatabase[params.fileIdx].subData.resourceType != OBJ_TYPE_POLY)) {
 		return NULL;
 	}
 
-	if (filesDatabase[params.fileIdx].subData.resourceType != 4 && filesDatabase[params.fileIdx].subData.resourceType != 8) {
-		return NULL;
-	}
+	backgroundPtr = backgroundScreens[backgroundIdx];
 
-	backgroundPtr = backgroundPtrtable[backgroundIdx];
-
 	assert(backgroundPtr != NULL);
 
 	currentHead = pHead;
@@ -139,16 +139,18 @@
 	newElement->ptr = NULL;
 	strcpy(newElement->name, filesDatabase[params.fileIdx].subData.name);
 
-	if (filesDatabase[params.fileIdx].subData.resourceType == 4) {	// sprite
+	if (filesDatabase[params.fileIdx].subData.resourceType == OBJ_TYPE_SPRITE) {
+		// sprite
 		int width = filesDatabase[params.fileIdx].width;
 		int height = filesDatabase[params.fileIdx].height;
-
 		if (saveBuffer == 1) {
 			backupBackground(newElement, newElement->X, newElement->Y, width, height, backgroundPtr);
 		}
 
-		drawSprite(width, height, NULL, filesDatabase[params.fileIdx].subData.ptr, newElement->Y, newElement->X, backgroundPtr, filesDatabase[params.fileIdx].subData.ptrMask);
-	} else {			// poly
+		drawSprite(width, height, NULL, filesDatabase[params.fileIdx].subData.ptr, newElement->Y,
+			newElement->X, backgroundPtr, filesDatabase[params.fileIdx].subData.ptrMask);
+	} else {
+		// poly
 		if (saveBuffer == 1) {
 			int newX;
 			int newY;
@@ -202,9 +204,9 @@
 				int width = filesDatabase[frame].width;
 				int height = filesDatabase[frame].height;
 
-				drawSprite(width, height, NULL, filesDatabase[frame].subData.ptr, pl->Y, pl->X, backgroundPtrtable[pl->backgroundIdx], filesDatabase[frame].subData.ptrMask);
+				drawSprite(width, height, NULL, filesDatabase[frame].subData.ptr, pl->Y, pl->X, backgroundScreens[pl->backgroundIdx], filesDatabase[frame].subData.ptrMask);
 			} else {			// poly
-				addBackgroundIncrustSub1(frame, pl->X, pl->Y, NULL, pl->scale, (char*)backgroundPtrtable[pl->backgroundIdx], (char *)filesDatabase[frame].subData.ptr);
+				addBackgroundIncrustSub1(frame, pl->X, pl->Y, NULL, pl->scale, (char*)backgroundScreens[pl->backgroundIdx], (char *)filesDatabase[frame].subData.ptr);
 			}
 		}
 

Modified: scummvm/trunk/engines/cruise/cell.cpp
===================================================================
--- scummvm/trunk/engines/cruise/cell.cpp	2009-03-16 09:38:20 UTC (rev 39444)
+++ scummvm/trunk/engines/cruise/cell.cpp	2009-03-16 09:45:37 UTC (rev 39445)
@@ -150,7 +150,7 @@
 	pObject->next = pNewElement;
 
 	pNewElement->idx = messageIdx;
-	pNewElement->type = OBJ_TYPE_MSG;
+	pNewElement->type = OBJ_TYPE_MESSAGE;
 	pNewElement->backgroundPlane = backgroundPlane;
 	pNewElement->overlay = overlayIdx;
 	pNewElement->x = x;

Modified: scummvm/trunk/engines/cruise/cruise.h
===================================================================
--- scummvm/trunk/engines/cruise/cruise.h	2009-03-16 09:38:20 UTC (rev 39444)
+++ scummvm/trunk/engines/cruise/cruise.h	2009-03-16 09:45:37 UTC (rev 39445)
@@ -40,7 +40,7 @@
 	GType_CRUISE = 1
 };
 
-#define GAME_FRAME_DELAY 70
+#define GAME_FRAME_DELAY 40
 
 #define MAX_LANGUAGE_STRINGS 25
 
@@ -117,7 +117,6 @@
 	kCmpLT = (1 << 2)
 };
 
-
 } // End of namespace Cruise
 
 #endif

Modified: scummvm/trunk/engines/cruise/cruise_main.cpp
===================================================================
--- scummvm/trunk/engines/cruise/cruise_main.cpp	2009-03-16 09:38:20 UTC (rev 39444)
+++ scummvm/trunk/engines/cruise/cruise_main.cpp	2009-03-16 09:45:37 UTC (rev 39445)
@@ -374,7 +374,7 @@
 	filesDatabase[entryNumber].subData.ptrMask = NULL;
 	filesDatabase[entryNumber].widthInColumn = 0;
 	filesDatabase[entryNumber].width = 0;
-	filesDatabase[entryNumber].resType = 0;
+	filesDatabase[entryNumber].resType = OBJ_TYPE_LINE;
 	filesDatabase[entryNumber].height = 0;
 	filesDatabase[entryNumber].subData.index = -1;
 	filesDatabase[entryNumber].subData.resourceType = 0;
@@ -578,7 +578,9 @@
 	cellStruct *currentObject = cellHead.prev;
 
 	while (currentObject) {
-		if (currentObject->overlay > 0 && overlayTable[currentObject->overlay].alreadyLoaded && (currentObject->type == OBJ_TYPE_SPRITE || currentObject->type == OBJ_TYPE_MASK || currentObject->type == OBJ_TYPE_EXIT || currentObject->type == OBJ_TYPE_VIRTUEL)) {
+		if (currentObject->overlay > 0 && overlayTable[currentObject->overlay].alreadyLoaded && 
+				(currentObject->type == OBJ_TYPE_SPRITE || currentObject->type == OBJ_TYPE_MASK || 
+				currentObject->type == OBJ_TYPE_EXIT || currentObject->type == OBJ_TYPE_VIRTUAL)) {
 			const char* pObjectName = getObjectName(currentObject->idx, overlayTable[currentObject->overlay].ovlData->arrayNameObj);
 
 			strcpy(objectName, pObjectName);
@@ -639,7 +641,8 @@
 								offset += j;
 
 								if (offset >= 0) {
-									if (filesDatabase[offset].resType == 0 && filesDatabase[offset].subData.ptr) {
+									if (filesDatabase[offset].resType == OBJ_TYPE_LINE && 
+											filesDatabase[offset].subData.ptr) {
 										dataPtr = (int16 *)filesDatabase[offset].subData.ptr;
 									}
 								}
@@ -675,7 +678,7 @@
 								}
 							}
 						}
-					} else if (currentObject->type == OBJ_TYPE_VIRTUEL) {
+					} else if (currentObject->type == OBJ_TYPE_VIRTUAL) {
 						int x = params.X + x2;
 						int y = params.Y + y2;
 						int width = params.fileIdx;

Modified: scummvm/trunk/engines/cruise/cruise_main.h
===================================================================
--- scummvm/trunk/engines/cruise/cruise_main.h	2009-03-16 09:38:20 UTC (rev 39444)
+++ scummvm/trunk/engines/cruise/cruise_main.h	2009-03-16 09:45:37 UTC (rev 39445)
@@ -73,16 +73,18 @@
 #define ASSERT_PTR assert
 #define ASSERT assert
 
-#define	OBJ_TYPE_LINE		  0
-#define	OBJ_TYPE_MASK		  1
-#define	OBJ_TYPE_BGMK		  2
-#define	OBJ_TYPE_VIRTUEL	  3
-#define	OBJ_TYPE_SPRITE		  4
-#define	OBJ_TYPE_MSG		  5
-#define	OBJ_TYPE_SOUND		  6
-#define	OBJ_TYPE_FONT		  7
-#define	OBJ_TYPE_POLY		  8
-#define	OBJ_TYPE_EXIT		  9
+enum ResType {
+	OBJ_TYPE_LINE = 0,
+	OBJ_TYPE_MASK = 1,
+	OBJ_TYPE_BGMASK = 2,
+	OBJ_TYPE_VIRTUAL = 3,
+	OBJ_TYPE_SPRITE = 4,
+	OBJ_TYPE_MESSAGE = 5,
+	OBJ_TYPE_SOUND = 6,
+	OBJ_TYPE_FONT = 7,
+	OBJ_TYPE_POLY = 8,
+	OBJ_TYPE_EXIT = 9
+};
 
 extern gfxEntryStruct* linkedMsgList;
 

Modified: scummvm/trunk/engines/cruise/dataLoader.cpp
===================================================================
--- scummvm/trunk/engines/cruise/dataLoader.cpp	2009-03-16 09:38:20 UTC (rev 39444)
+++ scummvm/trunk/engines/cruise/dataLoader.cpp	2009-03-16 09:45:37 UTC (rev 39445)
@@ -148,9 +148,9 @@
 
 	int maskSize = height * width;	// for sprites: width * height
 
-	if (resType == 4) {
+	if (resType == OBJ_TYPE_SPRITE) {
 		div = maskSize / 4;
-	} else if (resType == 5) {
+	} else if (resType == OBJ_TYPE_MESSAGE) {
 		width = (width * 8) / 5;
 	}
 
@@ -193,9 +193,9 @@
 
 	size = width * height;	// for sprites: width * height
 
-	if (resType == 4) {
+	if (resType == OBJ_TYPE_SPRITE) {
 		div = size / 4;
-	} else if (resType == 5) {
+	} else if (resType == OBJ_TYPE_MESSAGE) {
 		width = (width * 8) / 5;
 	}
 

Modified: scummvm/trunk/engines/cruise/debugger.cpp
===================================================================
--- scummvm/trunk/engines/cruise/debugger.cpp	2009-03-16 09:38:20 UTC (rev 39444)
+++ scummvm/trunk/engines/cruise/debugger.cpp	2009-03-16 09:45:37 UTC (rev 39445)
@@ -49,7 +49,7 @@
 	while (currentObject) {
 		if (currentObject->overlay > 0 && overlayTable[currentObject->overlay].alreadyLoaded && 
 			(currentObject->type == OBJ_TYPE_SPRITE || currentObject->type == OBJ_TYPE_MASK || 
-			currentObject->type == OBJ_TYPE_EXIT || currentObject->type == OBJ_TYPE_VIRTUEL)) {
+			currentObject->type == OBJ_TYPE_EXIT || currentObject->type == OBJ_TYPE_VIRTUAL)) {
 			const char *pObjectName = getObjectName(currentObject->idx, overlayTable[currentObject->overlay].ovlData->arrayNameObj);
 
 			switch (currentObject->type) {
@@ -62,8 +62,8 @@
 			case OBJ_TYPE_EXIT:
 				pObjType = "EXIT";
 				break;
-			case OBJ_TYPE_VIRTUEL:
-				pObjType = "VIRTUEL";
+			case OBJ_TYPE_VIRTUAL:
+				pObjType = "VIRTUAL";
 				break;
 			default:
 				pObjType = "UNKNOWN";

Modified: scummvm/trunk/engines/cruise/function.cpp
===================================================================
--- scummvm/trunk/engines/cruise/function.cpp	2009-03-16 09:38:20 UTC (rev 39444)
+++ scummvm/trunk/engines/cruise/function.cpp	2009-03-16 09:45:37 UTC (rev 39445)
@@ -828,7 +828,7 @@
 	int newPlane = popVar();
 
 	if (newPlane >= 0 && newPlane < 8) {
-		if (backgroundPtrtable[newPlane]) {
+		if (backgroundScreens[newPlane]) {
 			masterScreen = newPlane;
 			switchPal = 1;
 		}
@@ -841,8 +841,8 @@
 	int backgroundIdx = popVar();
 
 	if (backgroundIdx > 0 && backgroundIdx < 8) {
-		if (backgroundPtrtable[backgroundIdx])
-			free(backgroundPtrtable[backgroundIdx]);
+		if (backgroundScreens[backgroundIdx])
+			free(backgroundScreens[backgroundIdx]);
 
 		if (masterScreen == backgroundIdx)
 			masterScreen = 0;

Modified: scummvm/trunk/engines/cruise/gfxModule.cpp
===================================================================
--- scummvm/trunk/engines/cruise/gfxModule.cpp	2009-03-16 09:38:20 UTC (rev 39444)
+++ scummvm/trunk/engines/cruise/gfxModule.cpp	2009-03-16 09:45:37 UTC (rev 39445)
@@ -54,15 +54,15 @@
 	memset(ptr, 0, 64000);
 }
 
-void gfxModuleData_gfxCopyScreen(char *sourcePtr, char *destPtr) {
-	memcpy(destPtr, sourcePtr, 64000);
+void gfxModuleData_gfxCopyScreen(const uint8 *sourcePtr, uint8 *destPtr) {
+	memcpy(destPtr, sourcePtr, 320 * 200);
 }
 
 void outputBit(char *buffer, int bitPlaneNumber, uint8 data) {
 	*(buffer + (8000 * bitPlaneNumber)) = data;
 }
 
-void convertGfxFromMode4(uint8 *sourcePtr, int width, int height, uint8 *destPtr) {
+void convertGfxFromMode4(const uint8 *sourcePtr, int width, int height, uint8 *destPtr) {
 	for (int y = 0; y < height; ++y) {
 		for (int x = 0; x < width / 16; ++x) {
 			for (int bit = 0; bit < 16; ++bit) {
@@ -79,7 +79,7 @@
 	}
 }
 
-void convertGfxFromMode5(uint8 *sourcePtr, int width, int height, uint8 *destPtr) {
+void convertGfxFromMode5(const uint8 *sourcePtr, int width, int height, uint8 *destPtr) {
 	int range = (width / 8) * height;
 
 	for (int line = 0; line < 200; line++) {
@@ -169,7 +169,7 @@
 	gfxModuleData_setDirtyColors(0, 16);
 }*/
 
-void gfxModuleData_convertOldPalColor(uint16 oldColor, uint8* pOutput) {
+void gfxModuleData_convertOldPalColor(uint16 oldColor, uint8 *pOutput) {
 	int R;
 	int G;
 	int B;
@@ -198,7 +198,7 @@
 void gfxModuleData_flip(void) {
 }
 
-void gfxCopyRect(const byte *sourceBuffer, int width, int height, byte *dest, int x, int y, int colour) {
+void gfxCopyRect(const uint8 *sourceBuffer, int width, int height, byte *dest, int x, int y, int colour) {
 	int xp, yp;
 
 	for (yp = 0; yp < height; ++yp) {
@@ -253,6 +253,4 @@
 	memset(dataPtr, 0, dataSize);
 }
 
-
-
 } // End of namespace Cruise

Modified: scummvm/trunk/engines/cruise/gfxModule.h
===================================================================
--- scummvm/trunk/engines/cruise/gfxModule.h	2009-03-16 09:38:20 UTC (rev 39444)
+++ scummvm/trunk/engines/cruise/gfxModule.h	2009-03-16 09:45:37 UTC (rev 39445)
@@ -46,20 +46,20 @@
 
 extern gfxModuleDataStruct gfxModuleData;
 
-void gfxModuleData_gfxClearFrameBuffer(uint8 * ptr);
+void gfxModuleData_gfxClearFrameBuffer(uint8 *ptr);
 void gfxModuleData_setDirtyColors(int min, int max);
 void gfxModuleData_setPalColor(int idx, int r, int g, int b);
 void gfxModuleData_field_90(void);
 void gfxModuleData_gfxWaitVSync(void);
 void gfxModuleData_flip(void);
-void gfxCopyRect(const byte *sourceBuffer, int width, int height, byte *dest, int x, int y, int colour);
-void gfxModuleData_gfxCopyScreen(char *sourcePtr, char *destPtr);
-void convertGfxFromMode4(uint8 *sourcePtr, int width, int height, uint8 *destPtr);
-void convertGfxFromMode5(uint8 *sourcePtr, int width, int height, uint8 *destPtr);
+void gfxCopyRect(const uint8 *sourceBuffer, int width, int height, byte *dest, int x, int y, int colour);
+void gfxModuleData_gfxCopyScreen(const uint8 *sourcePtr, uint8 *destPtr);
+void convertGfxFromMode4(const uint8 *sourcePtr, int width, int height, uint8 *destPtr);
+void convertGfxFromMode5(const uint8 *sourcePtr, int width, int height, uint8 *destPtr);
 void gfxModuleData_flipScreen(void);
 //void gfxModuleData_setPal(uint8 * ptr);
-void gfxModuleData_convertOldPalColor(uint16 oldColor, uint8* pOutput);
-void gfxModuleData_setPal256(uint8 * ptr);
+void gfxModuleData_convertOldPalColor(uint16 oldColor, uint8 *pOutput);
+void gfxModuleData_setPal256(uint8 *ptr);
 void flip(void);
 void drawSolidBox(int32 x1, int32 y1, int32 x2, int32 y2, uint8 colour);
 void resetBitmap(uint8 *dataPtr, int32 dataSize);

Modified: scummvm/trunk/engines/cruise/mainDraw.cpp
===================================================================
--- scummvm/trunk/engines/cruise/mainDraw.cpp	2009-03-16 09:38:20 UTC (rev 39444)
+++ scummvm/trunk/engines/cruise/mainDraw.cpp	2009-03-16 09:45:37 UTC (rev 39445)
@@ -175,7 +175,7 @@
 		offset += fileId;
 
 		if (offset >= 0) {
-			if (filesDatabase[offset].resType == 0 && filesDatabase[offset].subData.ptr) {
+			if (filesDatabase[offset].resType == OBJ_TYPE_LINE && filesDatabase[offset].subData.ptr) {
 				dataPtr = (int16 *)filesDatabase[offset].subData.ptr;
 			}
 		}
@@ -1107,7 +1107,7 @@
 	int numPasses = 0;
 
 	while (plWork) {
-		if (plWork->type == OBJ_TYPE_BGMK && plWork->freeze == 0) {
+		if (plWork->type == OBJ_TYPE_BGMASK && plWork->freeze == 0) {
 			objectParamsQuery params;
 
 			getMultipleObjectParam(plWork->overlay, plWork->idx, &params);
@@ -1116,7 +1116,7 @@
 			int maskY = params.Y;
 			int maskFrame = params.fileIdx;
 
-			if (filesDatabase[maskFrame].subData.resourceType == OBJ_TYPE_BGMK && filesDatabase[maskFrame].subData.ptrMask) {
+			if (filesDatabase[maskFrame].subData.resourceType == OBJ_TYPE_BGMASK && filesDatabase[maskFrame].subData.ptrMask) {
 				drawMask(polygonMask, 40, 200, filesDatabase[maskFrame].subData.ptrMask, filesDatabase[maskFrame].width / 8, filesDatabase[maskFrame].height, maskX, maskY, numPasses++);
 			} else
 				if (filesDatabase[maskFrame].subData.resourceType == OBJ_TYPE_SPRITE && filesDatabase[maskFrame].subData.ptrMask) {
@@ -1181,20 +1181,20 @@
 	}
 }
 
-void drawSprite(int objX1, int height, cellStruct *currentObjPtr, uint8 *data1, int objY2, int objX2, uint8 *output, uint8 *data2) {
+void drawSprite(int width, int height, cellStruct *currentObjPtr, const uint8 *dataIn, int ys, int xs, uint8 *output, const uint8 *dataBuf) {
 	int x = 0;
 	int y = 0;
 
 	cellStruct* plWork = currentObjPtr;
-	int workBufferSize = height * (objX1 / 8);
+	int workBufferSize = height * (width / 8);
 
 	unsigned char* workBuf = (unsigned char*)malloc(workBufferSize);
-	memcpy(workBuf, data2, workBufferSize);
+	memcpy(workBuf, dataBuf, workBufferSize);
 
 	int numPasses = 0;
 
 	while (plWork) {
-		if (plWork->type == OBJ_TYPE_BGMK && plWork->freeze == 0) {
+		if (plWork->type == OBJ_TYPE_BGMASK && plWork->freeze == 0) {
 			objectParamsQuery params;
 
 			getMultipleObjectParam(plWork->overlay, plWork->idx, &params);
@@ -1203,11 +1203,11 @@
 			int maskY = params.Y;
 			int maskFrame = params.fileIdx;
 
-			if (filesDatabase[maskFrame].subData.resourceType == OBJ_TYPE_BGMK && filesDatabase[maskFrame].subData.ptrMask) {
-				drawMask(workBuf, objX1 / 8, height, filesDatabase[maskFrame].subData.ptrMask, filesDatabase[maskFrame].width / 8, filesDatabase[maskFrame].height, maskX - objX2, maskY - objY2, numPasses++);
+			if (filesDatabase[maskFrame].subData.resourceType == OBJ_TYPE_BGMASK && filesDatabase[maskFrame].subData.ptrMask) {
+				drawMask(workBuf, width / 8, height, filesDatabase[maskFrame].subData.ptrMask, filesDatabase[maskFrame].width / 8, filesDatabase[maskFrame].height, maskX - xs, maskY - ys, numPasses++);
 			} else
 				if (filesDatabase[maskFrame].subData.resourceType == OBJ_TYPE_SPRITE && filesDatabase[maskFrame].subData.ptrMask) {
-					drawMask(workBuf, objX1 / 8, height, filesDatabase[maskFrame].subData.ptrMask, filesDatabase[maskFrame].width / 8, filesDatabase[maskFrame].height, maskX - objX2, maskY - objY2, numPasses++);
+					drawMask(workBuf, width / 8, height, filesDatabase[maskFrame].subData.ptrMask, filesDatabase[maskFrame].width / 8, filesDatabase[maskFrame].height, maskX - xs, maskY - ys, numPasses++);
 				}
 
 		}
@@ -1216,13 +1216,12 @@
 	}
 
 	for (y = 0; y < height; y++) {
-		for (x = 0; x < (objX1); x++) {
-			uint8 color = (data1[0]);
-			data1++;
+		for (x = 0; x < (width); x++) {
+			uint8 color = *dataIn++;
 
-			if ((x + objX2) >= 0 && (x + objX2) < 320 && (y + objY2) >= 0 && (y + objY2) < 200) {
-				if (testMask(x, y, workBuf, objX1 / 8)) {
-					output[320 * (y + objY2) + x + objX2] = color;
+			if ((x + xs) >= 0 && (x + xs) < 320 && (y + ys) >= 0 && (y + ys) < 200) {
+				if (testMask(x, y, workBuf, width / 8)) {
+					output[320 * (y + ys) + x + xs] = color;
 				}
 			}
 		}
@@ -1382,10 +1381,10 @@
 		return;
 	}*/
 
-	bgPtr = backgroundPtrtable[masterScreen];
+	bgPtr = backgroundScreens[masterScreen];
 
 	if (bgPtr) {
-		gfxModuleData_gfxCopyScreen((char *)bgPtr, (char *)gfxModuleData.pPage10);
+		gfxModuleData_gfxCopyScreen(bgPtr, gfxModuleData.pPage10);
 	}
 
 	autoCellHead.next = NULL;
@@ -1433,9 +1432,9 @@
 			if ((params.state >= 0) && (objZ2 >= 0) && filesDatabase[objZ2].subData.ptr) {
 				if (filesDatabase[objZ2].subData.resourceType == 8) {	// Poly
 					mainDrawPolygons(objZ2, currentObjPtr, objX2, params.scale, objY2, (char *)gfxModuleData.pPage10, (char *)filesDatabase[objZ2].subData.ptr);	// poly
-				} else if (filesDatabase[objZ2].subData.resourceType == 6) {	// sound
-				} else if (filesDatabase[objZ2].resType == 1) {	//(num plan == 1)
-				} else if (filesDatabase[objZ2].subData.resourceType == 4) {
+				} else if (filesDatabase[objZ2].subData.resourceType == OBJ_TYPE_SOUND) {
+				} else if (filesDatabase[objZ2].resType == OBJ_TYPE_MASK) {
+				} else if (filesDatabase[objZ2].subData.resourceType == OBJ_TYPE_SPRITE) {
 					objX1 = filesDatabase[objZ2].width;	// width
 					spriteHeight = filesDatabase[objZ2].height;	// height
 
@@ -1535,7 +1534,7 @@
 	currentObjPtr = cellHead.next;
 
 	while (currentObjPtr) {
-		if (currentObjPtr->type == OBJ_TYPE_MSG && currentObjPtr->freeze == 0) {
+		if (currentObjPtr->type == OBJ_TYPE_MESSAGE && currentObjPtr->freeze == 0) {
 			drawMessage(currentObjPtr->gfxPtr, currentObjPtr->x, currentObjPtr->field_C, currentObjPtr->spriteIdx, currentObjPtr->color, gfxModuleData.pPage10);
 			isMessage = 1;
 		}

Modified: scummvm/trunk/engines/cruise/mainDraw.h
===================================================================
--- scummvm/trunk/engines/cruise/mainDraw.h	2009-03-16 09:38:20 UTC (rev 39444)
+++ scummvm/trunk/engines/cruise/mainDraw.h	2009-03-16 09:45:37 UTC (rev 39445)
@@ -39,7 +39,7 @@
 void mainDraw(int16 param);
 void flipScreen(void);
 void buildPolyModel(int X, int Y, int scale, char *ptr2, char *destBuffer, char *dataPtr);
-void drawSprite(int objX1, int height, cellStruct *currentObjPtr, uint8 *data1, int objY2, int objX2, uint8 *output, uint8 *data2);
+void drawSprite(int width, int height, cellStruct *currentObjPtr, const uint8 *dataIn, int ys, int xs, uint8 *output, const uint8 *dataBuf);
 void flipPoly(int fileId, int16 *dataPtr, int scale, char** newFrame, int X, int Y, int *outX, int *outY, int *outScale);
 void getPolySize(int positionX, int positionY, int scale, int sizeTable[4], unsigned char *dataPtr);
 bool findPoly(char* dataPtr, int x, int y, int zoom, int mouseX, int mouseY);


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