aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/screen_lol.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/kyra/screen_lol.h')
-rw-r--r--engines/kyra/screen_lol.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/engines/kyra/screen_lol.h b/engines/kyra/screen_lol.h
index 017af4ba48..db355977f8 100644
--- a/engines/kyra/screen_lol.h
+++ b/engines/kyra/screen_lol.h
@@ -70,14 +70,14 @@ public:
// palette stuff
void fadeToBlack(int delay=0x54, const UpdateFunctor *upFunc = 0);
void fadeToPalette1(int delay);
- void loadSpecialColors(uint8 *destPalette);
+ void loadSpecialColors(Palette &dst);
void copyColor(int dstColorIndex, int srcColorIndex);
bool fadeColor(int dstColorIndex, int srcColorIndex, uint32 elapsedTime, uint32 targetTime);
bool fadePaletteStep(uint8 *pal1, uint8 *pal2, uint32 elapsedTime, uint32 targetTime);
uint8 *generateFadeTable(uint8 *dst, uint8 *src1, uint8 *src2, int numTabs);
- void generateGrayOverlay(const uint8 *srcPal, uint8 *grayOverlay, int factor, int addR, int addG, int addB, int lastColor, bool skipSpecialColors);
- uint8 *generateLevelOverlay(const uint8 *srcPal, uint8 *ovl, int opColor, int weight);
+ void generateGrayOverlay(const Palette &Pal, uint8 *grayOverlay, int factor, int addR, int addG, int addB, int lastColor, bool skipSpecialColors);
+ uint8 *generateLevelOverlay(const Palette &Pal, uint8 *ovl, int opColor, int weight);
uint8 *getLevelOverlay(int index) { return _levelOverlays[index]; }
void copyBlockAndApplyOverlay(int page1, int x1, int y1, int page2, int x2, int y2, int w, int h, int dim, uint8 *ovl);
@@ -92,6 +92,9 @@ public:
uint8 *_grayOverlay;
int _fadeFlag;
+ // PC98 specific
+ static void convertPC98Gfx(uint8 *data, int w, int h, int pitch);
+
private:
LoLEngine *_vm;
@@ -106,6 +109,10 @@ private:
uint8 *_levelOverlays[8];
+ static const uint8 _paletteConvTable[256];
+ void mergeOverlay(int x, int y, int w, int h);
+ void postProcessCursor(uint8 *data, int width, int height, int pitch);
+
// magic atlas
void calcBoundariesIntern(int dstX, int dstY, int c, int d);