aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/graphics/screen_eob.h
diff options
context:
space:
mode:
authorathrxx2019-03-26 22:37:50 +0100
committerathrxx2019-04-13 18:55:01 +0200
commit69f2e0caaa3b7257318f2e9943d233da45bfab80 (patch)
tree4fbd19a73fd00d6bac849185388f76b32ab986fe /engines/kyra/graphics/screen_eob.h
parentcbe81aa021bab1082ee6a652cbd15fe323ea2069 (diff)
downloadscummvm-rg350-69f2e0caaa3b7257318f2e9943d233da45bfab80.tar.gz
scummvm-rg350-69f2e0caaa3b7257318f2e9943d233da45bfab80.tar.bz2
scummvm-rg350-69f2e0caaa3b7257318f2e9943d233da45bfab80.zip
KYRA: (EOB2/Amiga) - fix ingame colors
Diffstat (limited to 'engines/kyra/graphics/screen_eob.h')
-rw-r--r--engines/kyra/graphics/screen_eob.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/engines/kyra/graphics/screen_eob.h b/engines/kyra/graphics/screen_eob.h
index 66efc25cc0..5df67df506 100644
--- a/engines/kyra/graphics/screen_eob.h
+++ b/engines/kyra/graphics/screen_eob.h
@@ -93,6 +93,12 @@ public:
// Amiga specific
void loadSpecialAmigaCPS(const char *fileName, int destPage, bool isGraphics);
+ // This is a simple way of emulating the Amiga copper list palette magic for more than 32 colors.
+ // I use colors 32 to 63 for these extra colors (which the Amiga copper sends to the color
+ // registers on the fly at vertical beam position 120).
+ void setupDualPalettesSplitScreen(Palette &top, Palette &bottom);
+ void disableDualPalettesSplitScreen();
+
private:
void updateDirtyRects();
void ditherRect(const uint8 *src, uint8 *dst, int dstPitch, int srcW, int srcH, int colorKey = -1);
@@ -122,6 +128,7 @@ private:
uint8 *_dsTempPage;
uint8 *_shpBuffer;
uint8 *_convertHiColorBuffer;
+ bool _dualPaletteMode;
uint16 *_cgaDitheringTables[2];
const uint8 *_cgaMappingDefault;