aboutsummaryrefslogtreecommitdiff
path: root/engines/cine
diff options
context:
space:
mode:
Diffstat (limited to 'engines/cine')
-rw-r--r--engines/cine/gfx.cpp51
1 files changed, 17 insertions, 34 deletions
diff --git a/engines/cine/gfx.cpp b/engines/cine/gfx.cpp
index a225436fb8..4352f2eba4 100644
--- a/engines/cine/gfx.cpp
+++ b/engines/cine/gfx.cpp
@@ -133,45 +133,32 @@ void setMouseCursor(int cursor) {
}
}
-static uint16 transformColor(uint16 baseColor, int8 r, int8 g, int8 b) {
- int8 oriR = (baseColor & 0x7);
- int8 oriG = (baseColor & 0x70) >> 4;
- int8 oriB = (baseColor & 0x700) >> 8;
-
- oriR += r;
- oriG += g;
- oriB += b;
-
- if (oriR < 0)
- oriR = 0;
- else if (oriR > 7)
- oriR = 7;
+int8 clipColor(int8 color) {
+ if (color < 0)
+ color = 0;
+ else if (color > 7)
+ color = 7;
- if (oriG < 0)
- oriG = 0;
- else if (oriG > 7)
- oriG = 7;
+ return color;
+}
- if (oriB < 0)
- oriB = 0;
- else if (oriB > 7)
- oriB = 7;
+static uint16 transformColor(uint16 baseColor, int8 r, int8 g, int8 b) {
+ int8 oriR = clipColor((baseColor & 0x7) + r);
+ int8 oriG = clipColor(((baseColor & 0x70) >> 4) + g);
+ int8 oriB = clipColor(((baseColor & 0x700) >> 8) + b);
return oriR | (oriG << 4) | (oriB << 8);
}
void transformPaletteRange(byte startColor, byte stopColor, int8 r, int8 g, int8 b) {
- byte i;
-
- for (i = startColor; i <= stopColor; i++) {
+ for (byte i = startColor; i <= stopColor; i++) {
c_palette[i] = transformColor(tempPalette[i], b, g, r);
}
//gfxFlipPage(page2);
}
void gfxFillSprite(byte *spritePtr, uint16 width, uint16 height, byte *page, int16 x, int16 y, uint8 fillColor) {
- int16 i;
- int16 j;
+ int16 i, j;
for (i = 0; i < height; i++) {
byte *destPtr = page + x + y * 320;
@@ -353,9 +340,10 @@ void gfxCopyRawPage(byte *source, byte *dest) {
void gfxFlipRawPage(byte *frontBuffer) {
byte *page = frontBuffer;
- int x, y;
+ int x, y, i;
byte *pixels = (byte *) screenBuffer;
byte c;
+ byte pal[256 * 4];
for (y = 0; y < 200; y++) {
for (x = 0; x < 320; x++) {
@@ -369,9 +357,6 @@ void gfxFlipRawPage(byte *frontBuffer) {
}
}
- byte pal[256 * 4];
- int i;
-
if (colorMode256) {
for (i = 0; i < 256; i++) {
pal[i * 4 + 0] = palette256[i * 3 + 0];
@@ -396,8 +381,7 @@ void gfxFlipRawPage(byte *frontBuffer) {
void drawSpriteRaw(byte *spritePtr, byte *maskPtr, int16 width, int16 height,
byte *page, int16 x, int16 y) {
- int16 i;
- int16 j;
+ int16 i, j;
// FIXME: Is it a bug if maskPtr == NULL?
if (!maskPtr)
@@ -424,8 +408,7 @@ void drawSpriteRaw(byte *spritePtr, byte *maskPtr, int16 width, int16 height,
void drawSpriteRaw2(byte *spritePtr, byte transColor, int16 width, int16 height,
byte *page, int16 x, int16 y) {
- int16 i;
- int16 j;
+ int16 i, j;
for (i = 0; i < height; i++) {
byte *destPtr = page + x + y * 320;