PAlib: Palette system

Page principale | Modules | Liste des fichiers | Portée globale | Rechercher

# Palette system

## Macros

#define | PA_LoadPal(palette, source)
| Charger une palette de 256 couleurs pour les fonds ou les sprites pour l'écran 0 ou 1. Ex : PA_LoadPal(PALETTE_BG1, bg_pal);
#define | PA_LoadPal16(palette, n_palette, source) DMA_Copy((void*)source, (void*)(palette + (n_palette << 5)), 16, DMA_16NOW);
| Charger une palette de 16 couleurs pour les fonds ou les sprites pour l'écran 0 ou 1. Ex : PA_LoadPal16(PALETTE_BG1, 4, bg_pal);
#define | PA_RGB(r, g, b) ((1 << 15) + (r) + ((g)<<5) + ((b)<<10))
| Convertir une couleurs au format Rouge, Vert, Bleu en un nombre utilisable par le système de palette. Attention : sur Gba, les valeurs vont de 0 à 31...
#define | PA_SetBgPalCol(screen, color_number, colorRGB) BG_PALETTE[color_number + (screen << 9)] = colorRGB
| Changer la couleur d'une des couleurs de la palette des fonds. Ne plus utiliser
#define | PA_AdjustCol(color, bright) color+= bright; if (color < 0) color = 0; if (color > 31) color = 31

## Fonctions

void | PA_LoadNormalBgPal (u8 screen, void *Pal)
void | PA_SetBrightness (u8 screen, s8 bright)
| Régler la luminosité de l'écran
void | PA_SetPalNeg (u32 palette)
| Négativer une palette donnée. Pour annuler, il suffit de négativer à nouveau.
void | PA_SetPal16Neg (u32 palette, u8 n_palette)
| Négativer une palette de 16 couleurs donnée. Pour annuler, il suffit de négativer à nouveau.
void | PA_InitSpriteExtPal (void)
| Initialise le mode 16 palettes pour sprites de 256 couleurs... Effectué par défaut
void | PA_InitBgExtPal (void)
| Initialise le mode 16 palettes pour fonds de 256 couleurs...
void | PA_LoadSpritePal (u8 screen, u8 palette_number, void *palette)
| Charger une palette de 256 couleurs pour les sprites
void | PA_LoadBgPal (u8 screen, u16 bg_number, void *palette)
| Charger une palette de 256 couleurs dans les palettes des fonds
void | PA_LoadBgPalN (u8 screen, u8 bg_number, u8 pal_number, void *palette)
| Charger une palette de 256 couleurs dans les palettes des fonds
void | PA_SetBgPalNCol (u8 screen, u8 bg_number, u8 pal_number, u8 color_number, u16 color)
| Changer la couleur d'une des couleurs d'une palette d'un fonds
void | PA_SetBgColor (u8 screen, u16 color)
| Changer la couleur de fond d'un écran
void | PA_SetSpritePalCol (u8 screen, u8 pal_number, u8 color_number, u16 color)
| Changer la couleur de fond d'un écran
void | PA_CreatePalBright (u16 *pal, u16 *newpal, s8 bright)
void | PA_CreatePalTransition (u16 *pal, u16 *newpal, s8 level, u8 destr, u8 destg, u8 destb)

## Description détaillée

Load palettes, change palette colors, set the gamma, etc...

## Documentation des macro

#define PA_LoadPal | ( | palette,
|  | source |  | ) |

Valeur:

    {\
           DMA_Copy((void*)source, (void*)palette, 256, DMA_16NOW);\
           if (palette == PAL_SPRITE0) PA_LoadSpritePal(0, 0, (void*)source);\
           if (palette == PAL_SPRITE1) PA_LoadSpritePal(1, 0, (void*)source);\
           if (palette == PAL_BG0) {u8 itemp; for (itemp = 0; itemp < 4; itemp++) PA_LoadBgPal(0, itemp, (void*)source);}\
           if (palette == PAL_BG1) {u8 itemp; for (itemp = 0; itemp < 4; itemp++) PA_LoadBgPal(1, itemp, (void*)source);}}

Charger une palette de 256 couleurs pour les fonds ou les sprites pour l'écran 0 ou 1. Ex : PA_LoadPal(PALETTE_BG1, bg_pal);

Paramètres:

  | palette | Charger pour les Bg ou les Sprites, sur l'écran 0 ou 1 : PAL_BG0, PAL_SPRITE0, PAL_BG1, ou PAL_SPRITE1
  | source | Nom de la palette (ex : master_Palette)

#define PA_LoadPal16 | ( | palette,
|  | n_palette,
|  | source |  | ) | DMA_Copy((void*)source, (void*)(palette + (n_palette << 5)), 16, DMA_16NOW);

Charger une palette de 16 couleurs pour les fonds ou les sprites pour l'écran 0 ou 1. Ex : PA_LoadPal16(PALETTE_BG1, 4, bg_pal);

Paramètres:

  | palette | Charger pour les Bg ou les Sprites, sur l'écran 0 ou 1 : PAL_BG0, PAL_SPRITE0, PAL_BG1, ou PAL_SPRITE1
  | n_palette | Numéro de la palette de 16 couleurs que l'on veut charger (0-15)
  | source | Nom de la palette (ex : master_Palette)

#define PA_RGB | ( | r,
|  | g,
|  | b |  | ) | ((1 << 15) + (r) + ((g)<<5) + ((b)<<10))

Convertir une couleurs au format Rouge, Vert, Bleu en un nombre utilisable par le système de palette. Attention : sur Gba, les valeurs vont de 0 à 31...

Paramètres:

  | r | Rouge (0-31)
  | g | Vert (0-31)
  | b | Bleu (0-31)

#define PA_SetBgPalCol | ( | screen,
|  | color_number,
|  | colorRGB |  | ) | BG_PALETTE[color_number + (screen << 9)] = colorRGB

Changer la couleur d'une des couleurs de la palette des fonds. Ne plus utiliser

Paramètres:

  | screen | Ecran...
  | color_number | Numéro de la couleur dans la palette (0-255)
  | colorRGB | Valeur RGB, comme PA_RGB(31, 31, 31) pour blanc

## Documentation des fonctions

void PA_LoadBgPal | ( | u8 | screen,
|  | u16 | bg_number,
|  | void * | palette
| ) | `[inline]`

Charger une palette de 256 couleurs dans les palettes des fonds

Paramètres:

  | screen | Ecran...
  | bg_number | Numéro du fond (0-3)
  | palette | Nom de la palette à charger ((void*)nom_palette)

void PA_LoadBgPalN | ( | u8 | screen,
|  | u8 | bg_number,
|  | u8 | pal_number,
|  | void * | palette
| ) |

Charger une palette de 256 couleurs dans les palettes des fonds

Paramètres:

  | screen | Ecran...
  | bg_number | Numéro du fond (0-3)
  | pal_number | Numéro de la palette (0-15)
  | palette | Nom de la palette à charger ((void*)nom_palette)

void PA_LoadSpritePal | ( | u8 | screen,
|  | u8 | palette_number,
|  | void * | palette
| ) | `[inline]`

Charger une palette de 256 couleurs pour les sprites

Paramètres:

  | screen | Ecran...
  | palette_number | Numéro de la palette (0-15)
  | palette | Nom de la palette à charger ((void*)nom_palette)

inline void PA_SetBgColor | ( | u8 | screen,
|  | u16 | color
| ) | `[inline]`

Changer la couleur de fond d'un écran

Paramètres:

  | screen | Ecran...
  | color | Valeur RGB, comme PA_RGB(31, 31, 31) pour blanc

void PA_SetBgPalNCol | ( | u8 | screen,
|  | u8 | bg_number,
|  | u8 | pal_number,
|  | u8 | color_number,
|  | u16 | color
| ) |

Changer la couleur d'une des couleurs d'une palette d'un fonds

Paramètres:

  | screen | Ecran...
  | bg_number | Numéro du fond (0-3)
  | pal_number | Numéro de palette (0-15), laisser à 0 si pas sur...
  | color_number | Numéro de la couleur dans la palette (0-255)
  | color | Valeur RGB, comme PA_RGB(31, 31, 31) pour blanc

void PA_SetBrightness | ( | u8 | screen,
|  | s8 | bright
| ) |

Régler la luminosité de l'écran

Paramètres:

  | screen | Choix de l'écran (0 ou 1)
  | bright | Luminosité, de -32 à 32, 0 étant neutre

inline void PA_SetPal16Neg | ( | u32 | palette,
|  | u8 | n_palette
| ) | `[inline]`

Négativer une palette de 16 couleurs donnée. Pour annuler, il suffit de négativer à nouveau.

Paramètres:

  | palette | Charger pour les Bg ou les Sprites, sur l'écran 0 ou 1 : PAL_BG0, PAL_SPRITE0, PAL_BG1, ou PAL_SPRITE1
  | n_palette | Numéro de la palette de 16 couleurs (0-15)

inline void PA_SetPalNeg | ( | u32 | palette | ) | `[inline]`

Négativer une palette donnée. Pour annuler, il suffit de négativer à nouveau.

Paramètres:

  | palette | Charger pour les Bg ou les Sprites, sur l'écran 0 ou 1 : PAL_BG0, PAL_SPRITE0, PAL_BG1, ou PAL_SPRITE1

void PA_SetSpritePalCol | ( | u8 | screen,
|  | u8 | pal_number,
|  | u8 | color_number,
|  | u16 | color
| ) |

Changer la couleur de fond d'un écran

Paramètres:

  | screen | Ecran...
  | pal_number | Numéro de la palette
  | color_number | Numéro de la couleur
  | color | Couleur (venant de PA_RGB...)