aboutsummaryrefslogtreecommitdiff
path: root/engines/cruise/background.cpp
diff options
context:
space:
mode:
authorVincent Hamm2007-12-25 18:11:35 +0000
committerVincent Hamm2007-12-25 18:11:35 +0000
commita2d2f01835975aa28cbb03d56468abbc894643dd (patch)
tree7c1afd38442c5a1394843d4d6d70d33aab37f089 /engines/cruise/background.cpp
parent37d8bed89be174f37aeba1993f724c3889d88d10 (diff)
downloadscummvm-rg350-a2d2f01835975aa28cbb03d56468abbc894643dd.tar.gz
scummvm-rg350-a2d2f01835975aa28cbb03d56468abbc894643dd.tar.bz2
scummvm-rg350-a2d2f01835975aa28cbb03d56468abbc894643dd.zip
Bunch of gfx fix
svn-id: r29986
Diffstat (limited to 'engines/cruise/background.cpp')
-rw-r--r--engines/cruise/background.cpp17
1 files changed, 10 insertions, 7 deletions
diff --git a/engines/cruise/background.cpp b/engines/cruise/background.cpp
index fe83e5c3fb..f29cccf7b3 100644
--- a/engines/cruise/background.cpp
+++ b/engines/cruise/background.cpp
@@ -136,6 +136,7 @@ int loadBackground(const char *name, int idx) {
// read palette
switch(mode)
{
+ case 0:
case 4: // color on 3 bit
{
uint16 oldPalette[32];
@@ -148,7 +149,6 @@ int loadBackground(const char *name, int idx) {
{
gfxModuleData_convertOldPalColor(oldPalette[i], &palScreen[idx][i*3]);
}
- ptr2 += 32000;
break;
}
case 5: // color on 4 bit
@@ -158,9 +158,9 @@ int loadBackground(const char *name, int idx) {
uint8* inPtr = ptr2 + i * 2;
uint8* outPtr = palScreen[idx] +i * 3;
- outPtr[2] = ((inPtr[1])&0x0F) << 4;
- outPtr[1] = (((inPtr[1])&0xF0) >> 4) << 4;
- outPtr[0] = ((inPtr[0])&0x0F) << 4;
+ outPtr[2] = ((inPtr[1])&0x0F) * 17;
+ outPtr[1] = (((inPtr[1])&0xF0) >> 4) * 17;
+ outPtr[0] = ((inPtr[0])&0x0F) * 17;
}
ptr2 += 2*32;
break;
@@ -176,24 +176,27 @@ int loadBackground(const char *name, int idx) {
gfxModuleData_setPal256(palScreen[idx]);
- loadMEN(&ptr2);
- loadCVT(&ptr2);
-
// read image data
gfxModuleData_gfxClearFrameBuffer(backgroundPtrtable[idx]);
switch(mode)
{
+ case 0:
case 4:
convertGfxFromMode4(ptr2, 320, 200, backgroundPtrtable[idx]);
+ ptr2 += 32000;
break;
case 5:
convertGfxFromMode5(ptr2, 320, 200, backgroundPtrtable[idx]);
break;
case 8:
memcpy(backgroundPtrtable[idx], ptr2, 320 * 200);
+ ptr2 += 32000;
break;
}
+
+ loadMEN(&ptr2);
+ loadCVT(&ptr2);
}