aboutsummaryrefslogtreecommitdiff
path: root/engines/hopkins
diff options
context:
space:
mode:
Diffstat (limited to 'engines/hopkins')
-rw-r--r--engines/hopkins/graphics.cpp933
1 files changed, 457 insertions, 476 deletions
diff --git a/engines/hopkins/graphics.cpp b/engines/hopkins/graphics.cpp
index 01d61d51e9..d0ec1d6545 100644
--- a/engines/hopkins/graphics.cpp
+++ b/engines/hopkins/graphics.cpp
@@ -475,88 +475,88 @@ void GraphicsManager::SCANLINE(int pitch) {
}
void GraphicsManager::m_scroll(const byte *surface, int xs, int ys, int width, int height, int destX, int destY) {
- const byte *v7;
- byte *v8;
- int v9;
- int v10;
- byte *v11;
- const byte *v12;
- unsigned int v13;
+ const byte *srcP;
+ byte *destP;
+ int yNext;
+ int yCtr;
+ byte *dest2P;
+ const byte *src2P;
+ unsigned int widthRemaining;
assert(VideoPtr);
- v7 = xs + nbrligne2 * ys + surface;
- v8 = destX + WinScan * destY + (byte *)VideoPtr->pixels;
- v9 = height;
+ srcP = xs + nbrligne2 * ys + surface;
+ destP = destX + WinScan * destY + (byte *)VideoPtr->pixels;
+ yNext = height;
do {
- v10 = v9;
- memcpy((byte *)v8, (const byte *)v7, 4 * (width >> 2));
- v12 = (const byte *)(v7 + 4 * (width >> 2));
- v11 = (byte *)(v8 + 4 * (width >> 2));
- v13 = width - 4 * (width >> 2);
- memcpy(v11, v12, v13);
- v8 = v11 + v13 + WinScan - width;
- v7 = v12 + v13 + nbrligne2 - width;
- v9 = v10 - 1;
- } while (v10 != 1);
+ yCtr = yNext;
+ memcpy((byte *)destP, (const byte *)srcP, 4 * (width >> 2));
+ src2P = (const byte *)(srcP + 4 * (width >> 2));
+ dest2P = (byte *)(destP + 4 * (width >> 2));
+ widthRemaining = width - 4 * (width >> 2);
+ memcpy(dest2P, src2P, widthRemaining);
+ destP = dest2P + widthRemaining + WinScan - width;
+ srcP = src2P + widthRemaining + nbrligne2 - width;
+ yNext = yCtr - 1;
+ } while (yCtr != 1);
}
void GraphicsManager::m_scroll2(const byte *surface, int xs, int ys, int width, int height, int destX, int destY) {
- const byte *v7;
- byte *v8;
- int v9;
- int v10;
- int v11;
+ const byte *srcP;
+ byte *destP;
+ int destPitch;
+ int srcPitch;
+ int yCtr;
assert(VideoPtr);
- v7 = xs + nbrligne2 * ys + surface;
- v8 = destX + WinScan * destY + (byte *)VideoPtr->pixels;
- v9 = WinScan - SCREEN_WIDTH;
- v10 = nbrligne2 - SCREEN_WIDTH;
- v11 = height;
+ srcP = xs + nbrligne2 * ys + surface;
+ destP = destX + WinScan * destY + (byte *)VideoPtr->pixels;
+ destPitch = WinScan - SCREEN_WIDTH;
+ srcPitch = nbrligne2 - SCREEN_WIDTH;
+ yCtr = height;
do {
- memcpy(v8, v7, SCREEN_WIDTH);
- v8 = v8 + v9 + SCREEN_WIDTH;
- v7 = v7 + v10 + SCREEN_WIDTH;
- --v11;
- } while (v11);
+ memcpy(destP, srcP, SCREEN_WIDTH);
+ destP = destP + destPitch + SCREEN_WIDTH;
+ srcP = srcP + srcPitch + SCREEN_WIDTH;
+ --yCtr;
+ } while (yCtr);
}
void GraphicsManager::m_scroll2A(const byte *surface, int xs, int ys, int width, int height, int destX, int destY) {
- const byte *v7;
- byte *v8;
- int v9;
- int v10;
- byte v11;
- const byte *v12;
- byte *v13;
+ const byte *srcP;
+ byte *destP;
+ int yCtr;
+ int xCtr;
+ byte srcByte;
+ const byte *srcCopyP;
+ byte *destCopyP;
assert(VideoPtr);
- v7 = xs + nbrligne2 * ys + surface;
- v8 = destX + WinScan * destY + (byte *)VideoPtr->pixels;
- v9 = height;
+ srcP = xs + nbrligne2 * ys + surface;
+ destP = destX + WinScan * destY + (byte *)VideoPtr->pixels;
+ yCtr = height;
Agr_x = 0;
Agr_y = 0;
Agr_Flag_y = 0;
do {
for (;;) {
- v13 = v8;
- v12 = v7;
- v10 = width;
+ destCopyP = destP;
+ srcCopyP = srcP;
+ xCtr = width;
Agr_x = 0;
do {
- v11 = *v7;
- *v8++ = *v7++;
+ srcByte = *srcP;
+ *destP++ = *srcP++;
Agr_x += SDL_ECHELLE;
if ((unsigned int)Agr_x >= 100) {
Agr_x -= 100;
- *v8++ = v11;
+ *destP++ = srcByte;
}
- --v10;
- } while ( v10 );
+ --xCtr;
+ } while ( xCtr );
- v7 = v12;
- v8 = WinScan + v13;
+ srcP = srcCopyP;
+ destP = WinScan + destCopyP;
if (Agr_Flag_y)
break;
@@ -569,9 +569,9 @@ void GraphicsManager::m_scroll2A(const byte *surface, int xs, int ys, int width,
}
Agr_Flag_y = 0;
- v7 = nbrligne2 + v12;
- --v9;
- } while (v9);
+ srcP = nbrligne2 + srcCopyP;
+ --yCtr;
+ } while (yCtr);
}
/**
@@ -600,52 +600,53 @@ void GraphicsManager::m_scroll16(const byte *surface, int xs, int ys, int width,
DD_Unlock();
}
+// TODO: See if PAL_PIXELS can be converted to a uint16 array
void GraphicsManager::m_scroll16A(const byte *surface, int xs, int ys, int width, int height, int destX, int destY) {
- const byte *v7;
- const byte *v8;
- int v9;
- int v10;
- const byte *v11;
- int v12;
- int v13;
- const byte *v14;
- const byte *v15;
+ const byte *srcP;
+ const byte *destP;
+ int yNext;
+ int xCtr;
+ const byte *palette;
+ int pixelWord;
+ int yCtr;
+ const byte *srcCopyP;
+ const byte *destCopyP;
assert(VideoPtr);
- v7 = xs + nbrligne2 * ys + surface;
- v8 = destX + destX + WinScan * destY + (byte *)VideoPtr->pixels;
- v9 = height;
+ srcP = xs + nbrligne2 * ys + surface;
+ destP = destX + destX + WinScan * destY + (byte *)VideoPtr->pixels;
+ yNext = height;
Agr_x = 0;
Agr_y = 0;
Agr_Flag_y = 0;
do {
for (;;) {
- v15 = v8;
- v14 = v7;
- v10 = width;
- v13 = v9;
- v11 = PAL_PIXELS;
+ destCopyP = destP;
+ srcCopyP = srcP;
+ xCtr = width;
+ yCtr = yNext;
+ palette = PAL_PIXELS;
Agr_x = 0;
do {
- v12 = *(uint16 *)(v11 + 2 * *v7);
- *(uint16 *)v8 = v12;
- ++v7;
- v8 += 2;
+ pixelWord = *(uint16 *)(palette + 2 * *srcP);
+ *(uint16 *)destP = pixelWord;
+ ++srcP;
+ destP += 2;
Agr_x += SDL_ECHELLE;
if ((unsigned int)Agr_x >= 100) {
Agr_x -= 100;
- *(uint16 *)v8 = v12;
- v8 += 2;
+ *(uint16 *)destP = pixelWord;
+ destP += 2;
}
- --v10;
- } while (v10);
+ --xCtr;
+ } while (xCtr);
- v9 = v13;
- v7 = v14;
- v8 = WinScan + v15;
+ yNext = yCtr;
+ srcP = srcCopyP;
+ destP = WinScan + destCopyP;
if (Agr_Flag_y == 1)
break;
@@ -659,102 +660,102 @@ void GraphicsManager::m_scroll16A(const byte *surface, int xs, int ys, int width
}
Agr_Flag_y = 0;
- v7 = nbrligne2 + v14;
- v9 = v13 - 1;
- } while (v13 != 1);
+ srcP = nbrligne2 + srcCopyP;
+ yNext = yCtr - 1;
+ } while (yCtr != 1);
}
void GraphicsManager::Copy_Vga(const byte *surface, int xp, int yp, int width, int height, int destX, int destY) {
- const byte *v7;
- byte *v8;
- int v9;
- int v10;
- byte v11;
- byte *v12;
- byte *v13;
- byte *v14;
- byte *v15;
- const byte *v16;
- int v17;
+ const byte *srcP;
+ byte *destP;
+ int yCount;
+ int xCount;
+ byte srcByte;
+ byte *loopDestP;
+ byte *loopSrcP;
+ byte *loopSrc2P;
+ byte *tempDestP;
+ const byte *tempSrcP;
+ int yCtr;
assert(VideoPtr);
- v7 = xp + 320 * yp + surface;
- v8 = 30 * WinScan + destX + destX + WinScan * 2 * destY + (byte *)VideoPtr->pixels;
- v9 = height;
+ srcP = xp + 320 * yp + surface;
+ destP = 30 * WinScan + destX + destX + WinScan * 2 * destY + (byte *)VideoPtr->pixels;
+ yCount = height;
do {
- v17 = v9;
- v10 = width;
- v16 = v7;
- v15 = v8;
+ yCtr = yCount;
+ xCount = width;
+ tempSrcP = srcP;
+ tempDestP = destP;
do {
- v11 = *v7;
- *v8 = *v7;
- v12 = WinScan + v8;
- *v12 = v11;
- v13 = v12 - WinScan + 1;
- *v13 = v11;
- v14 = WinScan + v13;
- *v14 = v11;
- ++v7;
- v8 = v14 - WinScan + 1;
- --v10;
- } while (v10);
+ srcByte = *srcP;
+ *destP = *srcP;
+ loopDestP = WinScan + destP;
+ *loopDestP = srcByte;
+ loopSrcP = loopDestP - WinScan + 1;
+ *loopSrcP = srcByte;
+ loopSrc2P = WinScan + loopSrcP;
+ *loopSrc2P = srcByte;
+ ++srcP;
+ destP = loopSrc2P - WinScan + 1;
+ --xCount;
+ } while (xCount);
- v8 = WinScan + WinScan + v15;
- v7 = v16 + 320;
- v9 = v17 - 1;
- } while (v17 != 1);
+ destP = WinScan + WinScan + tempDestP;
+ srcP = tempSrcP + 320;
+ yCount = yCtr - 1;
+ } while (yCtr != 1);
}
void GraphicsManager::Copy_Vga16(const byte *surface, int xp, int yp, int width, int height, int destX, int destY) {
- const byte *v7;
- uint16 *v8;
- int v9;
- int v10;
- int v11;
- const byte *v12;
- uint16 *v13;
- uint16 v14;
- uint16 *v15;
- int v16;
- uint16 *v17;
- const byte *v18;
- int v19;
+ const byte *srcP;
+ uint16 *destP;
+ int yCount;
+ int xCount;
+ int xCtr;
+ const byte *palette;
+ uint16 *tempSrcP;
+ uint16 srcByte;
+ uint16 *tempDestP;
+ int savedXCount;
+ uint16 *loopDestP;
+ const byte *loopSrcP;
+ int yCtr;
assert(VideoPtr);
- v7 = xp + 320 * yp + surface;
- v8 = (uint16 *)(30 * WinScan + destX + destX + destX + destX + WinScan * 2 * destY + (byte *)VideoPtr->pixels);
- v9 = height;
- v10 = width;
+ srcP = xp + 320 * yp + surface;
+ destP = (uint16 *)(30 * WinScan + destX + destX + destX + destX + WinScan * 2 * destY + (byte *)VideoPtr->pixels);
+ yCount = height;
+ xCount = width;
do {
- v19 = v9;
- v11 = v10;
- v18 = v7;
- v17 = v8;
- v16 = v10;
- v12 = PAL_PIXELS;
+ yCtr = yCount;
+ xCtr = xCount;
+ loopSrcP = srcP;
+ loopDestP = destP;
+ savedXCount = xCount;
+ palette = PAL_PIXELS;
do {
- v13 = (uint16 *)(v12 + 2 * *v7);
- v14 = *v13;
- *v8 = *v13;
- *(v8 + 1) = v14;
+ tempSrcP = (uint16 *)(palette + 2 * *srcP);
+ srcByte = *tempSrcP;
+ *destP = *tempSrcP;
+ *(destP + 1) = srcByte;
- v15 = (uint16 *)((byte *)v8 + WinScan);
- *v15 = v14;
- *(v15 + 1) = v14;
- ++v7;
- v8 = (uint16 *)((byte *)v15 - WinScan + 4);
- --v11;
- } while (v11);
+ tempDestP = (uint16 *)((byte *)destP + WinScan);
+ *tempDestP = srcByte;
+ *(tempDestP + 1) = srcByte;
+ ++srcP;
+ destP = (uint16 *)((byte *)tempDestP - WinScan + 4);
+ --xCtr;
+ } while (xCtr);
- v10 = v16;
- v8 = (uint16 *)((byte *)v17 + WinScan * 2);
- v7 = v18 + 320;
- v9 = v19 - 1;
- } while (v19 != 1);
+ xCount = savedXCount;
+ destP = (uint16 *)((byte *)loopDestP + WinScan * 2);
+ srcP = loopSrcP + 320;
+ yCount = yCtr - 1;
+ } while (yCtr != 1);
}
void GraphicsManager::fade_in(const byte *palette, int step, const byte *surface) {
@@ -819,29 +820,29 @@ void GraphicsManager::fade_in(const byte *palette, int step, const byte *surface
}
void GraphicsManager::fade_out(const byte *palette, int step, const byte *surface) {
- int v3;
- int v4;
- int v5;
- int v6;
- int v7;
- int v8;
- int v9;
- int v10;
- int v12;
- uint16 v13;
+ int palByte;
+ int palIndex;
+ int palDataIndex;
+ int palCtr3;
+ int palCtr4;
+ int palCtr5;
+ int palValue;
+ int palCtr2;
+ int palCtr1;
+ uint16 palMax;
byte palData[PALETTE_BLOCK_SIZE];
- int v15[PALETTE_BLOCK_SIZE];
+ int tempPalette[PALETTE_BLOCK_SIZE];
- v13 = v3 = FADESPD;
+ palMax = palByte = FADESPD;
if (palette) {
- v4 = 0;
+ palIndex = 0;
do {
- v5 = v4;
- v3 = *(v4 + palette);
- v3 <<= 8;
- v15[v5] = v3;
- palData[v5] = *(v4++ + palette);
- } while (v4 < PALETTE_BLOCK_SIZE);
+ palDataIndex = palIndex;
+ palByte = *(palIndex + palette);
+ palByte <<= 8;
+ tempPalette[palDataIndex] = palByte;
+ palData[palDataIndex] = *(palIndex++ + palette);
+ } while (palIndex < PALETTE_BLOCK_SIZE);
setpal_vga256(palData);
if (Winbpp == 2) {
@@ -852,17 +853,17 @@ void GraphicsManager::fade_out(const byte *palette, int step, const byte *surfac
DD_VBL();
}
- v6 = 0;
- if ((int)v13 > 0) {
+ palCtr3 = 0;
+ if (palMax > 0) {
do {
- v7 = 0;
+ palCtr4 = 0;
do {
- v8 = v7;
- v9 = v15[v7] - (*(v7 + palette) << 8) / v13;
- v15[v8] = v9;
- palData[v8] = (v9 >> 8) & 0xff;
- ++v7;
- } while (v7 < (PALETTE_BLOCK_SIZE));
+ palCtr5 = palCtr4;
+ palValue = tempPalette[palCtr4] - (*(palCtr4 + palette) << 8) / palMax;
+ tempPalette[palCtr5] = palValue;
+ palData[palCtr5] = (palValue >> 8) & 0xff;
+ ++palCtr4;
+ } while (palCtr4 < (PALETTE_BLOCK_SIZE));
setpal_vga256(palData);
if (Winbpp == 2) {
@@ -873,14 +874,14 @@ void GraphicsManager::fade_out(const byte *palette, int step, const byte *surfac
DD_VBL();
}
- ++v6;
- } while ((int)v13 > v6);
+ ++palCtr3;
+ } while (palMax > palCtr3);
}
- v10 = 0;
+ palCtr2 = 0;
do {
- palData[v10++] = 0;
- } while (v10 < (PALETTE_BLOCK_SIZE));
+ palData[palCtr2++] = 0;
+ } while (palCtr2 < (PALETTE_BLOCK_SIZE));
setpal_vga256(palData);
@@ -892,10 +893,10 @@ void GraphicsManager::fade_out(const byte *palette, int step, const byte *surfac
goto LABEL_28;
}
} else {
- v12 = 0;
+ palCtr1 = 0;
do {
- palData[v12++] = 0;
- } while (v12 < (PALETTE_BLOCK_SIZE));
+ palData[palCtr1++] = 0;
+ } while (palCtr1 < (PALETTE_BLOCK_SIZE));
setpal_vga256(palData);
if (Winbpp == 2) {
@@ -1035,139 +1036,123 @@ void GraphicsManager::FADE_INW_LINUX(const byte *surface) {
}
void GraphicsManager::Copy_WinScan_Vbe3(const byte *srcData, byte *destSurface) {
- int v;
- int v3;
- int v4;
- const byte *v5;
- byte v6;
- int v7;
- byte v8;
- byte *v9;
- int v10;
- byte v11;
- byte *v12;
-
- v = 0;
- v3 = 0;
- v4 = 0;
- v5 = srcData;
+ int rleValue;
+ int destOffset;
+ const byte *srcP;
+ byte srcByte;
+ byte destLen1;
+ byte *destSlice1P;
+ byte destLen2;
+ byte *destSlice2P;
+
+ rleValue = 0;
+ destOffset = 0;
+ srcP = srcData;
for (;;) {
- v6 = *v5;
- if (*v5 < 0xDEu)
+ srcByte = *srcP;
+ if (*srcP < 0xDEu)
goto Video_Cont3_wVbe;
- if (v6 == (byte)-4)
+ if (srcByte == (byte)-4)
return;
- if (v6 < 0xFBu) {
- v3 += (byte)(*v5 + 35);
- v6 = *(v5++ + 1);
- } else if (v6 == (byte)-3) {
- v3 += *(v5 + 1);
- v6 = *(v5 + 2);
- v5 += 2;
- } else if (v6 == (byte)-2) {
- v3 += READ_LE_UINT16(v5 + 1);
- v6 = *(v5 + 3);
- v5 += 3;
+ if (srcByte < 0xFBu) {
+ destOffset += (byte)(*srcP + 35);
+ srcByte = *(srcP++ + 1);
+ } else if (srcByte == (byte)-3) {
+ destOffset += *(srcP + 1);
+ srcByte = *(srcP + 2);
+ srcP += 2;
+ } else if (srcByte == (byte)-2) {
+ destOffset += READ_LE_UINT16(srcP + 1);
+ srcByte = *(srcP + 3);
+ srcP += 3;
} else {
- v3 += READ_LE_UINT32(v5 + 1);
- v6 = *(v5 + 5);
- v5 += 5;
+ destOffset += READ_LE_UINT32(srcP + 1);
+ srcByte = *(srcP + 5);
+ srcP += 5;
}
Video_Cont3_wVbe:
- if (v6 > 0xD2u) {
- if (v6 == (byte)-45) {
- v7 = v4;
- v8 = *(v5 + 1);
- v = *(v5 + 2);
- v9 = v3 + destSurface;
- v3 += v8;
- memset(v9, v, v8);
- v5 += 3;
- v4 = v7;
+ if (srcByte > 0xD2u) {
+ if (srcByte == (byte)-45) {
+ destLen1 = *(srcP + 1);
+ rleValue = *(srcP + 2);
+ destSlice1P = destOffset + destSurface;
+ destOffset += destLen1;
+ memset(destSlice1P, rleValue, destLen1);
+ srcP += 3;
} else {
- v10 = v4;
- v11 = (byte)(*v5 + 45);
- v = *(v5 + 1);
- v12 = v3 + destSurface;
- v3 += v11;
- memset(v12, v, v11);
- v5 += 2;
- v4 = v10;
+ destLen2 = (byte)(*srcP + 45);
+ rleValue = *(srcP + 1);
+ destSlice2P = destOffset + destSurface;
+ destOffset += destLen2;
+ memset(destSlice2P, rleValue, destLen2);
+ srcP += 2;
}
} else {
- *(v3 + destSurface) = v6;
- ++v5;
- ++v3;
+ *(destOffset + destSurface) = srcByte;
+ ++srcP;
+ ++destOffset;
}
}}
void GraphicsManager::Copy_Video_Vbe3(const byte *srcData) {
- int result;
- int v2;
- int v3;
- const byte *v4;
- uint8 v5;
- int v6;
- unsigned int v7;
- byte *v8;
- int v9;
- unsigned int v10;
- byte *v11;
+ int rleValue;
+ int destOffset;
+ const byte *srcP;
+ uint8 srcByte;
+ int destLen1;
+ byte *destSlice1P;
+ int destLen2;
+ byte *destSlice2P;
assert(VideoPtr);
- result = 0;
- v2 = 0;
- v3 = 0;
- v4 = srcData;
+ rleValue = 0;
+ destOffset = 0;
+ srcP = srcData;
for (;;) {
- v5 = *v4;
- if (*v4 < 222)
+ srcByte = *srcP;
+ if (*srcP < 222)
goto Video_Cont3_Vbe;
- if (v5 == 252)
+ if (srcByte == 252)
return;
- if (v5 < 251) {
- v2 += *v4 + 35;
- v5 = *(v4++ + 1);
- } else if (v5 == (byte)-3) {
- v2 += *(v4 + 1);
- v5 = *(v4 + 2);
- v4 += 2;
- } else if (v5 == (byte)-2) {
- v2 += READ_LE_UINT16(v4 + 1);
- v5 = *(v4 + 3);
- v4 += 3;
+ if (srcByte < 251) {
+ destOffset += *srcP + 35;
+ srcByte = *(srcP++ + 1);
+ } else if (srcByte == (byte)-3) {
+ destOffset += *(srcP + 1);
+ srcByte = *(srcP + 2);
+ srcP += 2;
+ } else if (srcByte == (byte)-2) {
+ destOffset += READ_LE_UINT16(srcP + 1);
+ srcByte = *(srcP + 3);
+ srcP += 3;
} else {
- v2 += READ_LE_UINT32(v4 + 1);
- v5 = *(v4 + 5);
- v4 += 5;
+ destOffset += READ_LE_UINT32(srcP + 1);
+ srcByte = *(srcP + 5);
+ srcP += 5;
}
Video_Cont3_Vbe:
- if (v5 > 210) {
- if (v5 == 211) {
- v6 = v3;
- v7 = *(v4 + 1);
- result = *(v4 + 2);
- v8 = v2 + (byte *)VideoPtr->pixels;
- v2 += v7;
- memset(v8, result, v7);
- v4 += 3;
- v3 = v6;
+ if (srcByte > 210) {
+ if (srcByte == 211) {
+ destLen1 = *(srcP + 1);
+ rleValue = *(srcP + 2);
+ destSlice1P = destOffset + (byte *)VideoPtr->pixels;
+ destOffset += destLen1;
+ memset(destSlice1P, rleValue, destLen1);
+ srcP += 3;
} else {
- v9 = v3;
- v10 = (byte)(*v4 + 45);
- result = *(v4 + 1);
- v11 = (byte *)(v2 + (byte *)VideoPtr->pixels);
- v2 += v10;
- memset(v11, result, v10);
- v4 += 2;
- v3 = v9;
+ destLen2 = (byte)(*srcP + 45);
+ rleValue = *(srcP + 1);
+ destSlice2P = (byte *)(destOffset + (byte *)VideoPtr->pixels);
+ destOffset += destLen2;
+ memset(destSlice2P, rleValue, destLen2);
+ srcP += 2;
}
} else {
- *(v2 + (byte *)VideoPtr->pixels) = v5;
- ++v4;
- ++v2;
+ *(destOffset + (byte *)VideoPtr->pixels) = srcByte;
+ ++srcP;
+ ++destOffset;
}
}
}
@@ -1233,35 +1218,35 @@ void GraphicsManager::Copy_Video_Vbe16(const byte *srcData) {
}
void GraphicsManager::Copy_Video_Vbe16a(const byte *srcData) {
- int v2;
- const byte *v3;
- byte v4;
+ int destOffset;
+ const byte *srcP;
+ byte pixelIndex;
- v2 = 0;
- v3 = srcData;
+ destOffset = 0;
+ srcP = srcData;
for (;;) {
- v4 = *v3;
- if (*v3 < 0xFCu)
+ pixelIndex = *srcP;
+ if (*srcP < 0xFCu)
goto Video_Cont_Vbe16a;
- if (v4 == (byte)-4)
+ if (pixelIndex == (byte)-4)
return;
- if (v4 == (byte)-3) {
- v2 += *(v3 + 1);
- v4 = *(v3 + 2);
- v3 += 2;
- } else if (v4 == (byte)-2) {
- v2 += READ_LE_UINT16(v3 + 1);
- v4 = *(v3 + 3);
- v3 += 3;
+ if (pixelIndex == (byte)-3) {
+ destOffset += *(srcP + 1);
+ pixelIndex = *(srcP + 2);
+ srcP += 2;
+ } else if (pixelIndex == (byte)-2) {
+ destOffset += READ_LE_UINT16(srcP + 1);
+ pixelIndex = *(srcP + 3);
+ srcP += 3;
} else {
- v2 += READ_LE_UINT32(v3 + 1);
- v4 = *(v3 + 5);
- v3 += 5;
+ destOffset += READ_LE_UINT32(srcP + 1);
+ pixelIndex = *(srcP + 5);
+ srcP += 5;
}
Video_Cont_Vbe16a:
- WRITE_LE_UINT16((byte *)VideoPtr->pixels + v2 * 2, READ_LE_UINT16(PAL_PIXELS + 2 * v4));
- ++v3;
- ++v2;
+ WRITE_LE_UINT16((byte *)VideoPtr->pixels + destOffset * 2, READ_LE_UINT16(PAL_PIXELS + 2 * pixelIndex));
+ ++srcP;
+ ++destOffset;
}
}
@@ -1269,7 +1254,7 @@ void GraphicsManager::Capture_Mem(const byte *srcSurface, byte *destSurface, int
const byte *srcP;
byte *destP;
int rowCount;
- unsigned int i;
+ int i;
int rowCount2;
// TODO: This code in the original is potentially dangerous, as it doesn't clip the area to within
@@ -1455,15 +1440,15 @@ void GraphicsManager::VISU_ALL() {
}
void GraphicsManager::RESET_SEGMENT_VESA() {
- int v1;
- int v2;
+ int idx;
+ int blocCount;
if (_vm->_globals.NBBLOC > 0) {
- v1 = 0;
- v2 = _vm->_globals.NBBLOC;
+ idx = 0;
+ blocCount = _vm->_globals.NBBLOC;
do {
- _vm->_globals.BLOC[v1++].field0 = 0;
- } while (v1 != v2);
+ _vm->_globals.BLOC[idx++].field0 = 0;
+ } while (idx != blocCount);
_vm->_globals.NBBLOC = 0;
}
@@ -1471,44 +1456,44 @@ void GraphicsManager::RESET_SEGMENT_VESA() {
// Add VESA Segment
void GraphicsManager::Ajoute_Segment_Vesa(int x1, int y1, int x2, int y2) {
- int v4;
- int v5;
- int16 v6;
- int16 v10;
+ int tempX;
+ int blocCount;
+ int16 blocIndex;
+ bool addFlag;
- v4 = x1;
- v10 = 1;
+ tempX = x1;
+ addFlag = true;
if (x2 > max_x)
x2 = max_x;
if (y2 > max_y)
y2 = max_y;
if (x1 < min_x)
- v4 = min_x;
+ tempX = min_x;
if (y1 < min_y)
y1 = min_y;
- v5 = _vm->_globals.NBBLOC;
+ blocCount = _vm->_globals.NBBLOC;
if (_vm->_globals.NBBLOC > 1) {
- v6 = 0;
+ blocIndex = 0;
do {
- BlocItem &bloc = _vm->_globals.BLOC[v6];
+ BlocItem &bloc = _vm->_globals.BLOC[blocIndex];
if (bloc.field0 == 1
- && v4 >= bloc.x1 && x2 <= bloc.x2
+ && tempX >= bloc.x1 && x2 <= bloc.x2
&& y1 >= bloc.y1 && y2 <= bloc.y2)
- v10 = 0;
- ++v6;
- v5 = v6;
- } while (_vm->_globals.NBBLOC + 1 != v6);
+ addFlag = false;
+ ++blocIndex;
+ blocCount = blocIndex;
+ } while (_vm->_globals.NBBLOC + 1 != blocIndex);
}
- if (v10 == 1) {
+ if (addFlag) {
assert(_vm->_globals.NBBLOC < 50);
BlocItem &bloc = _vm->_globals.BLOC[++_vm->_globals.NBBLOC];
bloc.field0 = 1;
- bloc.x1 = v4;
+ bloc.x1 = tempX;
bloc.x2 = x2;
bloc.y1 = y1;
bloc.y2 = y2;
@@ -1629,76 +1614,76 @@ void GraphicsManager::Affiche_Segment_Vesa() {
}
void GraphicsManager::CopyAsm(const byte *surface) {
- const byte *v1;
+ const byte *srcP;
byte srcByte;
- byte *v3;
- signed int v4;
- signed int v5;
- byte *v6;
- byte *v7;
- byte *v8;
- byte *v9;
- const byte *v10;
+ byte *destP;
+ int yCtr;
+ int xCtr;
+ byte *dest1P;
+ byte *dest2P;
+ byte *dest3P;
+ byte *destPitch;
+ const byte *srcPitch;
assert(VideoPtr);
- v1 = surface;
+ srcP = surface;
srcByte = 30 * WinScan;
- v3 = (byte *)VideoPtr->pixels + 30 * WinScan;
- v4 = 200;
+ destP = (byte *)VideoPtr->pixels + 30 * WinScan;
+ yCtr = 200;
do {
- v10 = v1;
- v9 = v3;
- v5 = 320;
+ srcPitch = srcP;
+ destPitch = destP;
+ xCtr = 320;
do {
- srcByte = *v1;
- *v3 = *v1;
- v6 = WinScan + v3;
- *v6 = srcByte;
- v7 = v6 - WinScan + 1;
- *v7 = srcByte;
- v8 = WinScan + v7;
- *v8 = srcByte;
- v3 = v8 - WinScan + 1;
- ++v1;
- --v5;
- } while (v5);
+ srcByte = *srcP;
+ *destP = *srcP;
+ dest1P = WinScan + destP;
+ *dest1P = srcByte;
+ dest2P = dest1P - WinScan + 1;
+ *dest2P = srcByte;
+ dest3P = WinScan + dest2P;
+ *dest3P = srcByte;
+ destP = dest3P - WinScan + 1;
+ ++srcP;
+ --xCtr;
+ } while (xCtr);
- v1 = v10 + 320;
- v3 = WinScan + WinScan + v9;
- --v4;
- } while (v4);
+ srcP = srcPitch + 320;
+ destP = WinScan + WinScan + destPitch;
+ --yCtr;
+ } while (yCtr);
}
void GraphicsManager::Restore_Mem(byte *destSurface, const byte *src, int xp, int yp, int width, int height) {
- byte *v6;
- int v7;
+ byte *destP;
+ int yNext;
const byte *srcP;
- unsigned int i;
+ int i;
int yCtr;
- v6 = xp + nbrligne2 * yp + destSurface;
- v7 = height;
+ destP = xp + nbrligne2 * yp + destSurface;
+ yNext = height;
srcP = src;
do {
- yCtr = v7;
+ yCtr = yNext;
if (width & 1) {
- memcpy(v6, srcP, width);
+ memcpy(destP, srcP, width);
srcP += width;
- v6 += width;
+ destP += width;
} else if (width & 2) {
for (i = width >> 1; i; --i) {
- *(uint16 *)v6 = *(uint16 *)srcP;
+ *(uint16 *)destP = *(uint16 *)srcP;
srcP += 2;
- v6 += 2;
+ destP += 2;
}
} else {
- memcpy(v6, srcP, 4 * (width >> 2));
+ memcpy(destP, srcP, 4 * (width >> 2));
srcP += 4 * (width >> 2);
- v6 += 4 * (width >> 2);
+ destP += 4 * (width >> 2);
}
- v6 = nbrligne2 + v6 - width;
- v7 = yCtr - 1;
+ destP = nbrligne2 + destP - width;
+ yNext = yCtr - 1;
} while (yCtr != 1);
}
@@ -2163,7 +2148,7 @@ void GraphicsManager::SCOPY(const byte *surface, int x1, int y1, int width, int
int top;
int croppedWidth;
int croppedHeight;
- int v11;
+ int xRight;
int height2;
int top2;
int left;
@@ -2184,8 +2169,8 @@ void GraphicsManager::SCOPY(const byte *surface, int x1, int y1, int width, int
top2 = top;
if (top + croppedHeight > max_y)
croppedHeight = max_y - top;
- v11 = left + croppedWidth;
- if (v11 > max_x)
+ xRight = left + croppedWidth;
+ if (xRight > max_x)
croppedWidth = max_x - left;
if (croppedWidth > 0 && croppedHeight > 0) {
@@ -2223,51 +2208,51 @@ void GraphicsManager::Copy_Mem(const byte *srcSurface, int x1, int y1, unsigned
// Display Font
void GraphicsManager::Affiche_Fonte(byte *surface, const byte *spriteData, int xp, int yp,
int characterIndex, int colour) {
- const byte *v6;
+ const byte *spriteDataP;
int i;
- const byte *v8;
- int v9;
- int v10;
- const byte *v11;
+ const byte *spriteSizeP;
+ int spriteWidth;
+ int spriteHeight;
+ const byte *spritePixelsP;
byte *destP;
- int v13;
- byte v14;
+ int xCtr;
+ byte destByte;
byte *destLineP;
- int v16;
+ int yCtr;
- v6 = spriteData + 3;
+ spriteDataP = spriteData + 3;
for (i = characterIndex; i; --i)
- v6 += READ_LE_UINT32(v6) + 16;
-
- v9 = 0;
- v10 = 0;
- v8 = v6 + 4;
- v9 = (int16)READ_LE_UINT16(v8);
- v8 += 2;
- v10 = (int16)READ_LE_UINT16(v8);
- v11 = v8 + 10;
+ spriteDataP += READ_LE_UINT32(spriteDataP) + 16;
+
+ spriteWidth = 0;
+ spriteHeight = 0;
+ spriteSizeP = spriteDataP + 4;
+ spriteWidth = (int16)READ_LE_UINT16(spriteSizeP);
+ spriteSizeP += 2;
+ spriteHeight = (int16)READ_LE_UINT16(spriteSizeP);
+ spritePixelsP = spriteSizeP + 10;
destP = surface + xp + nbrligne2 * yp;
- Largeur = v9;
+ Largeur = spriteWidth;
do {
- v16 = v10;
+ yCtr = spriteHeight;
destLineP = destP;
- v13 = v9;
+ xCtr = spriteWidth;
do {
- v14 = *v11;
- if (*v11) {
- if (v14 == (byte)-4)
- v14 = colour;
- *destP = v14;
+ destByte = *spritePixelsP;
+ if (*spritePixelsP) {
+ if (destByte == (byte)-4)
+ destByte = colour;
+ *destP = destByte;
}
++destP;
- ++v11;
- --v13;
- } while (v13);
+ ++spritePixelsP;
+ --xCtr;
+ } while (xCtr);
destP = nbrligne2 + destLineP;
- v10 = v16 - 1;
- } while (v16 != 1);
+ spriteHeight = yCtr - 1;
+ } while (yCtr != 1);
}
// Init Screen
@@ -2281,33 +2266,29 @@ void GraphicsManager::INI_ECRAN2(const Common::String &file) {
}
void GraphicsManager::OPTI_INI(const Common::String &file, int mode) {
- int v2;
- unsigned int v3;
- int v6;
- unsigned int v9;
- signed int v11;
+ int dataOffset;
+ int dataVal1;
+ bool doneFlag;
byte *ptr;
- Common::String v13;
+ Common::String filename;
- v2 = 1;
- v3 = 0;
- v9 = 0;
+ dataOffset = 1;
- v13 = file + ".ini";
- ptr = _vm->_fileManager.RECHERCHE_CAT(v13, 1);
+ filename = file + ".ini";
+ ptr = _vm->_fileManager.RECHERCHE_CAT(filename, 1);
if (ptr == g_PTRNUL) {
- _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPLINK, v13);
+ _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPLINK, filename);
ptr = _vm->_fileManager.CHARGE_FICHIER(_vm->_globals.NFICHIER);
}
if (!mode) {
- v13 = file + ".spr";
+ filename = file + ".spr";
if (g_PTRNUL != _vm->_globals.SPRITE_ECRAN)
_vm->_globals.SPRITE_ECRAN = _vm->_fileManager.LIBERE_FICHIER(_vm->_globals.SPRITE_ECRAN);
if (!_vm->_globals.NOSPRECRAN) {
- _vm->_globals.SPRITE_ECRAN = _vm->_fileManager.RECHERCHE_CAT(v13, 8);
+ _vm->_globals.SPRITE_ECRAN = _vm->_fileManager.RECHERCHE_CAT(filename, 8);
if (_vm->_globals.SPRITE_ECRAN) {
_vm->_globals.CAT_FLAG = false;
- _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPLINK, v13);
+ _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPLINK, filename);
} else {
_vm->_globals.CAT_FLAG = true;
_vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPLINK, "RES_SLI.RES");
@@ -2319,34 +2300,34 @@ void GraphicsManager::OPTI_INI(const Common::String &file, int mode) {
if (*ptr != 'I' || *(ptr + 1) != 'N' || *(ptr + 2) != 'I') {
error("Error, file not ini");
} else {
- v11 = 0;
+ doneFlag = false;
do {
- v6 = _vm->_scriptManager.Traduction(ptr + 20 * v2);
+ dataVal1 = _vm->_scriptManager.Traduction(ptr + 20 * dataOffset);
if (_vm->shouldQuit())
return;
- if (v6 == 2)
- v2 = _vm->_scriptManager.Control_Goto((ptr + 20 * v2));
- if (v6 == 3)
- v2 = _vm->_scriptManager.Control_If(ptr, v2);
- if (v2 == -1)
+ if (dataVal1 == 2)
+ dataOffset = _vm->_scriptManager.Control_Goto((ptr + 20 * dataOffset));
+ if (dataVal1 == 3)
+ dataOffset = _vm->_scriptManager.Control_If(ptr, dataOffset);
+ if (dataOffset == -1)
error("Error, defective IFF");
- if (v6 == 1 || v6 == 4)
- ++v2;
- if (!v6 || v6 == 5)
- v11 = 1;
- } while (v11 != 1);
+ if (dataVal1 == 1 || dataVal1 == 4)
+ ++dataOffset;
+ if (!dataVal1 || dataVal1 == 5)
+ doneFlag = true;
+ } while (!doneFlag);
}
_vm->_globals.dos_free2(ptr);
if (mode != 1) {
if (g_PTRNUL != _vm->_globals.COUCOU)
_vm->_globals.COUCOU = _vm->_globals.dos_free2(_vm->_globals.COUCOU);
- v13 = file + ".rep";
- byte *dataP = _vm->_fileManager.RECHERCHE_CAT(v13, 2);
+ filename = file + ".rep";
+ byte *dataP = _vm->_fileManager.RECHERCHE_CAT(filename, 2);
_vm->_globals.COUCOU = dataP;
if (g_PTRNUL == dataP) {
- _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPLINK, v13);
+ _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPLINK, filename);
dataP = _vm->_fileManager.CHARGE_FICHIER(_vm->_globals.NFICHIER);
_vm->_globals.COUCOU = dataP;
}
@@ -2356,8 +2337,8 @@ void GraphicsManager::OPTI_INI(const Common::String &file, int mode) {
}
void GraphicsManager::NB_SCREEN() {
- byte *v0;
- const byte *v1;
+ byte *destP;
+ const byte *srcP;
if (!_vm->_globals.NECESSAIRE)
INIT_TABLE(50, 65, Palette);
@@ -2380,13 +2361,13 @@ void GraphicsManager::NB_SCREEN() {
}
_vm->_graphicsManager.DD_Unlock();
- v0 = VESA_SCREEN;
- v1 = VESA_BUFFER;
+ destP = VESA_SCREEN;
+ srcP = VESA_BUFFER;
memcpy(VESA_SCREEN, VESA_BUFFER, 0x95FFCu);
- v1 = v1 + 614396;
- v0 = v0 + 614396;
- *v0 = *v1;
- *(v0 + 2) = *(v1 + 2);
+ srcP = srcP + 614396;
+ destP = destP + 614396;
+ *destP = *srcP;
+ *(destP + 2) = *(srcP + 2);
DD_VBL();
}
@@ -2510,16 +2491,16 @@ void GraphicsManager::Plot_Hline(byte *surface, int xp, int yp, unsigned int wid
}
void GraphicsManager::Plot_Vline(byte *surface, int xp, int yp, int height, byte col) {
- byte *v5;
- int v6;
+ byte *destP;
+ int yCtr;
- v5 = surface + xp + nbrligne2 * yp;
- v6 = height;
+ destP = surface + xp + nbrligne2 * yp;
+ yCtr = height;
do {
- *v5 = col;
- v5 += nbrligne2;
- --v6;
- } while (v6);
+ *destP = col;
+ destP += nbrligne2;
+ --yCtr;
+ } while (yCtr);
}