diff options
author | Johannes Schickel | 2011-08-26 05:51:08 +0200 |
---|---|---|
committer | Johannes Schickel | 2011-08-26 05:54:47 +0200 |
commit | 4ea4172cbad466738836f7be8ebdcad4eabd0bb9 (patch) | |
tree | d8c58fbaeb01f7c653ba27778ffd3acbe91742b0 /engines/scumm/scumm.h | |
parent | 479eeb7e47e8bb27551ba49f7d37c36b3b1b88ee (diff) | |
download | scummvm-rg350-4ea4172cbad466738836f7be8ebdcad4eabd0bb9.tar.gz scummvm-rg350-4ea4172cbad466738836f7be8ebdcad4eabd0bb9.tar.bz2 scummvm-rg350-4ea4172cbad466738836f7be8ebdcad4eabd0bb9.zip |
SCUMM: Implement proper Indy4 Amiga palette handling.
This should fix incorrect text colors in some scenes.
Diffstat (limited to 'engines/scumm/scumm.h')
-rw-r--r-- | engines/scumm/scumm.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/engines/scumm/scumm.h b/engines/scumm/scumm.h index 04a175e732..8ffa893f33 100644 --- a/engines/scumm/scumm.h +++ b/engines/scumm/scumm.h @@ -970,6 +970,7 @@ protected: void setCurrentPalette(int pal); void setRoomPalette(int pal, int room); void setPCEPaletteFromPtr(const byte *ptr); + void setAmigaPaletteFromPtr(const byte *ptr); virtual void setPaletteFromPtr(const byte *ptr, int numcolor = -1); virtual void setPalColor(int index, int r, int g, int b); @@ -1065,6 +1066,9 @@ public: uint16 _hePaletteSlot; uint16 *_16BitPalette; + // Indy4 Amiga specific + byte *_verbPalette; + protected: int _shadowPaletteSize; byte _currentPalette[3 * 256]; @@ -1085,6 +1089,13 @@ protected: bool _enable_gs; bool _copyProtection; + uint16 _amigaFirstUsedColor; + byte _amigaPalette[3 * 64]; + void mapRoomPalette(int idx); + int remapRoomPaletteColor(int r, int g, int b); + void mapVerbPalette(int idx); + int remapVerbPaletteColor(int r, int g, int b); + public: uint16 _extraBoxFlags[65]; |