aboutsummaryrefslogtreecommitdiff
path: root/engines/tinsel/palette.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/tinsel/palette.h')
-rw-r--r--engines/tinsel/palette.h40
1 files changed, 38 insertions, 2 deletions
diff --git a/engines/tinsel/palette.h b/engines/tinsel/palette.h
index fdc4826dbd..1d43e6d31f 100644
--- a/engines/tinsel/palette.h
+++ b/engines/tinsel/palette.h
@@ -43,7 +43,7 @@ enum {
MAX_COLOURS = 256, //!< maximum number of colours - for VGA 256
BITS_PER_PIXEL = 8, //!< number of bits per pixel for VGA 256
MAX_INTENSITY = 255, //!< the biggest value R, G or B can have
- NUM_PALETTES = 3, //!< number of palettes
+ NUM_PALETTES = 32, //!< number of palettes
// Discworld has some fixed apportioned bits in the palette.
BGND_DAC_INDEX = 0, //!< index of background colour in Video DAC
@@ -84,8 +84,11 @@ struct PALQ {
int objCount; //!< number of objects using this palette
int posInDAC; //!< palette position in the video DAC
int numColours; //!< number of colours in the palette
+ // Discworld 2 fields
+ bool bFading; // Whether or not fading
+ COLORREF palRGB[MAX_COLOURS]; // actual palette colours
};
-
+typedef PALQ *PPALQ;
#define PALETTE_MOVED 0x8000 // when this bit is set in the "posInDAC"
// field - the palette entry has moved
@@ -137,8 +140,41 @@ COLORREF GetBgndColour(void); // returns current background colour
void SetBgndColour( // sets current background colour
COLORREF colour); // colour to set the background to
+void FadingPalette(PPALQ pPalQ, bool bFading);
+
void CreateTranslucentPalette(SCNHANDLE BackPal);
+void CreateGhostPalette(SCNHANDLE hPalette);
+
+void NoFadingPalettes(void); // All fading processes have just been killed
+
+void DimPartPalette(
+ SCNHANDLE hPal,
+ int startColour,
+ int length,
+ int brightness); // 0 = black, 10 == 100%
+
+
+int TranslucentColour(void);
+
+#define BoxColour TranslucentColour
+
+int HighlightColour(void);
+
+int TalkColour(void);
+
+void SetTalkColourRef(COLORREF colRef);
+
+COLORREF GetTalkColourRef(void);
+
+void SetTagColorRef(COLORREF colRef);
+
+COLORREF GetTagColorRef(void);
+
+void SetTalkTextOffset(int offset);
+
+void SetTranslucencyOffset(int offset);
+
} // end of namespace Tinsel
#endif // TINSEL_PALETTE_H