sgdk
|
Palette support (herited from vdp_pal.h unit) More...
Go to the source code of this file.
Classes | |
struct | Palette |
Palette structure contains color data. More... | |
Defines | |
#define | VDPPALETTE_REDSFT 1 |
#define | VDPPALETTE_GREENSFT 5 |
#define | VDPPALETTE_BLUESFT 9 |
#define | VDPPALETTE_REDMASK 0x000E |
#define | VDPPALETTE_GREENMASK 0x00E0 |
#define | VDPPALETTE_BLUEMASK 0x0E00 |
#define | VDPPALETTE_COLORMASK 0x0EEE |
#define | RGB24_TO_VDPCOLOR(color) (((color >> ((2 * 8) + 4)) & VDPPALETTE_REDMASK) | ((color >> ((1 * 4) + 4)) & VDPPALETTE_GREENMASK) | ((color << 4) & VDPPALETTE_BLUEMASK)) |
Convert a RGB 24 bits color to VDP color. | |
Functions | |
u16 | PAL_getColor (u16 index) |
Returns RGB color value from CRAM for the specified palette entry. | |
void | PAL_getColors (u16 index, u16 *dest, u16 count) |
Read count RGB colors from CRAM starting at specified index and store them in specified destination palette. | |
void | PAL_getPalette (u16 numPal, u16 *dest) |
Get a complete palette (16 colors) from CRAM. | |
void | PAL_setColor (u16 index, u16 value) |
Set RGB color into CRAM for the specified palette entry. | |
void | PAL_setColors (u16 index, const u16 *pal, u16 count) |
Write RGB colors into CRAM for the specified palette entries. | |
void | PAL_setPaletteColors (u16 index, const Palette *pal) |
Write the given Palette RGB colors into CRAM for the specified palette entries. | |
void | PAL_setPalette (u16 numPal, const u16 *pal) |
Set a complete palette (16 colors) into CRAM. | |
void | PAL_setColorsDMA (u16 index, const u16 *pal, u16 count) |
Write RGB colors into CRAM for the specified palette entries (DMA queue version). | |
void | PAL_setPaletteColorsDMA (u16 index, const Palette *pal) |
Write the given Palette RGB colors into CRAM for the specified palette entries (DMA queue version). | |
void | PAL_setPaletteDMA (u16 numPal, const u16 *pal) |
Set a complete palette (16 colors) into CRAM (DMA queue version). | |
bool | PAL_initFade (u16 fromCol, u16 toCol, const u16 *palSrc, const u16 *palDst, u16 numFrame) |
bool | PAL_doFadeStep () |
void | PAL_fade (u16 fromCol, u16 toCol, const u16 *palSrc, const u16 *palDst, u16 numFrame, bool async) |
General palette fading effect. | |
void | PAL_fadeTo (u16 fromCol, u16 toCol, const u16 *pal, u16 numFrame, bool async) |
Fade current color palette to specified one. | |
void | PAL_fadeOut (u16 fromCol, u16 toCol, u16 numFrame, bool async) |
Fade out (current color to black) effect. | |
void | PAL_fadeIn (u16 fromCol, u16 toCol, const u16 *pal, u16 numFrame, bool async) |
Fade in (black to specified color) effect. | |
void | PAL_fadePalette (u16 numPal, const u16 *palSrc, const u16 *palDst, u16 numFrame, bool async) |
Do palette fade effect. | |
void | PAL_fadeToPalette (u16 numPal, const u16 *pal, u16 numFrame, bool async) |
Fade current palette to specified one. | |
void | PAL_fadeOutPalette (u16 numPal, u16 numFrame, bool async) |
Fade out (current color to black) effect. | |
void | PAL_fadeInPalette (u16 numPal, const u16 *pal, u16 numFrame, bool async) |
Fade in (black to specified color) effect. | |
void | PAL_fadeAll (const u16 *palSrc, const u16 *palDst, u16 numFrame, bool async) |
Global palette fading effect. | |
void | PAL_fadeToAll (const u16 *pal, u16 numFrame, bool async) |
Palettes fade to specified one. | |
void | PAL_fadeOutAll (u16 numFrame, bool async) |
Fade out (current color to black) effect. | |
void | PAL_fadeInAll (const u16 *pal, u16 numFrame, bool async) |
Fade in (black to specified color) effect. | |
bool | PAL_isDoingFade () |
Returns TRUE if currently doing a asynchronous fade operation. | |
void | PAL_waitFadeCompletion () |
Wait for palette fading operation to complete (for asynchrone fading). | |
void | PAL_interruptFade () |
Interrupt any asynchronous palette fading effect. | |
Variables | |
const u16 *const | palette_black |
Default black palette. | |
const u16 | palette_grey [16] |
Default grey palette. | |
const u16 | palette_red [16] |
Default red palette. | |
const u16 | palette_green [16] |
Default green palette. | |
const u16 | palette_blue [16] |
Default blue palette. |
Palette support (herited from vdp_pal.h unit)
This unit provides methods to manipulate the VDP Color Palette.
The Sega Genesis VDP has 4 palettes of 16 colors.
Color is defined with 3 bits for each component : xxxxBBBxGGGxRRRx
#define RGB24_TO_VDPCOLOR | ( | color | ) | (((color >> ((2 * 8) + 4)) & VDPPALETTE_REDMASK) | ((color >> ((1 * 4) + 4)) & VDPPALETTE_GREENMASK) | ((color << 4) & VDPPALETTE_BLUEMASK)) |
Convert a RGB 24 bits color to VDP color.
color | RGB 24 bits color |
void PAL_fade | ( | u16 | fromCol, |
u16 | toCol, | ||
const u16 * | palSrc, | ||
const u16 * | palDst, | ||
u16 | numFrame, | ||
bool | async | ||
) |
General palette fading effect.
fromCol | Start color index for the fade effect (0-63). |
toCol | End color index for the fade effect (0-63 and >= fromCol). |
palSrc | Fade departure palette. |
palDst | Fade arrival palette. |
numFrame | Duration of palette fading in number of frame. |
async | Async process. If set the function return immediatly else the function wait for fading to complete. |
This function does general palette fading effect.
The fade operation is done to all palette entries between 'fromCol' and 'toCol'.
Example: fading to all palette entries --> fromCol = 0 and toCol = 63
Global palette fading effect.
palSrc | Fade departure palette (should contains 64 colors entries). |
palDst | Fade arrival palette (should contains 64 colors entries). |
numFrame | Duration of palette fading in number of frame. |
async | Async process. If set the function return immediatly else the function wait for fading to complete. |
The fade operation is done to all palette entries.
Fade in (black to specified color) effect.
fromCol | Start color index for the fade operation (0-63). |
toCol | End color index for the fade operation (0-63 and >= fromCol). |
pal | Fade arrival palette. |
numFrame | Duration of palette fading in number of frame. |
async | Async process. If set the function return immediatly else the function wait for fading to complete. |
See PAL_fade() for more informations.
Fade in (black to specified color) effect.
pal | Fade arrival palette (should contains 64 entries). |
numFrame | Duration of palette fading in number of frame. |
async | Async process. If set the function return immediatly else the function wait for fading to complete. |
The fade operation is done to all palette entries.
See PAL_fadeAll().
Fade in (black to specified color) effect.
numPal | Palette to fade. |
pal | Fade arrival palette. |
numFrame | Duration of palette fading in number of frame. |
async | Async process. If set the function return immediatly else the function wait for fading to complete. |
See PAL_fadePal() for more informations.
Fade out (current color to black) effect.
fromCol | Start color index for the fade operation (0-63). |
toCol | End color index for the fade operation (0-63 and >= fromCol). |
numFrame | Duration of palette fading in number of frame. |
async | Async process. If set the function return immediatly else the function wait for fading to complete. |
See PAL_fade() for more informations.
Fade out (current color to black) effect.
numFrame | Duration of palette fading in number of frame. |
async | Async process. If set the function return immediatly else the function wait for fading to complete. |
The fade operation is done to all palette entries.
See PAL_fadeAll().
Fade out (current color to black) effect.
numPal | Palette to fade. |
numFrame | Duration of palette fading in number of frame. |
async | Async process. If set the function return immediatly else the function wait for fading to complete. |
See PAL_fadePal() for more informations.
void PAL_fadePalette | ( | u16 | numPal, |
const u16 * | palSrc, | ||
const u16 * | palDst, | ||
u16 | numFrame, | ||
bool | async | ||
) |
Do palette fade effect.
numPal | Palette number to use for fade effect. |
palSrc | Fade departure palette. |
palDst | Fade arrival palette. |
numFrame | Duration of palette fading in number of frame. |
async | Async process. If set the function return immediatly else the function wait for fading to complete. |
The fade operation is done to all specified palette entries.
See PAL_fade() for more informations.
Fade current color palette to specified one.
fromCol | Start color index for the fade operation (0-63). |
toCol | End color index for the fade operation (0-63 and >= fromCol). |
pal | Fade arrival palette. |
numFrame | Duration of palette fading in number of frame. |
async | Async process. If set the function return immediatly else the function wait for fading to complete. |
See PAL_fade() for more informations.
Palettes fade to specified one.
pal | Fade arrival palette (should contains 64 entries). |
numFrame | Duration of palette fading in number of frame. |
async | Async process. If set the function return immediatly else the function wait for fading to complete. |
The fade operation is done to all palette entries.
See PAL_fadeAll().
Fade current palette to specified one.
numPal | Palette to fade. |
pal | Fade arrival palette. |
numFrame | Duration of palette fading in number of frame. |
async | Async process. If set the function return immediatly else the function wait for fading to complete. |
See PAL_fadePal() for more informations.
Returns RGB color value from CRAM for the specified palette entry.
index | Color index (0-63). |
Read count RGB colors from CRAM starting at specified index and store them in specified destination palette.
index | Color index where start to read (0-63). |
dest | Destination palette where to write read the RGB color values (should be large enough to store count colors). |
count | Number of color to get. |
Get a complete palette (16 colors) from CRAM.
numPal | Palette number: PAL0, PAL1, PAL2 or PAL3 |
dest | Destination where to write palette colors (should be 16 words long at least) |
Set RGB color into CRAM for the specified palette entry.
index | Color index to set (0-63). |
value | RGB intensity to set at the specified color index. |
Write RGB colors into CRAM for the specified palette entries.
index | Color index where to start to write (0-63). |
pal | RGB intensities to set. |
count | Number of color to set. |
Write RGB colors into CRAM for the specified palette entries (DMA queue version).
index | Color index where to start to write (0-63). |
pal | RGB intensities to set. |
count | Number of color to set. |
Set a complete palette (16 colors) into CRAM.
numPal | Palette number: PAL0, PAL1, PAL2 or PAL3 |
pal | Source palette. |