PAlib: Special Effects

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

# Special Effects

## Macros

#define | PA_EnableBgMosaic(screen, bg) _REG16(REG_BGCNT(screen, bg)) |= (1 << 6)
| Activer l'effet de mosaic pour un fond donné
#define | PA_DisableBgMosaic(screen, bg) _REG16(REG_BGCNT(screen, bg)) &= ~(1 << 6)
| Désactiver l'effet de mosaic pour un fond donné
#define | PA_SetBgMosaicXY(screen, h_size, v_size) {REG_MOSAIC(screen) &= 255; REG_MOSAIC(screen) |= ((h_size) + ((v_size) << 4));}
| Régler les paramètres de la mosaic pour les fonds
#define | PA_SetSpriteMosaicXY(screen, h_size, v_size) {REG_MOSAIC(screen) &= (255 << 8); REG_MOSAIC(screen) |= (((h_size) << 8) + ((v_size) << 12));}
| Régler les paramètres de la mosaic pour les sprites
#define | PA_EnableSpecialFx(screen, EffectType, FirstTarget, SecondTarget) REG_BLDCNT(screen) = ((FirstTarget) + ((SecondTarget) << 8) + ((EffectType) << 6))
| Activer les Effets Speciaux et choisir si les fonds et sprites l'utiliseront ou pas. On choisit aussi au passage quel Effet utiliser
#define | PA_DisableSpecialFx(screen) REG_BLDCNT(screen) = 0
| Désactiver les Effets Speciaux
#define | PA_SetSFXAlpha(screen, Coeff1, Coeff2) REG_BLDALPHA(screen) = (Coeff1) + ((Coeff2) << 8)
| Régler les paramètres pour l'Alpha-Blending

## Description détaillée

Set the sprite special effects (alpha-blending, luminosity, mosaic effects...)

## Documentation des macro

#define PA_DisableBgMosaic | ( | screen,
|  | bg |  | ) | _REG16(REG_BGCNT(screen, bg)) &= ~(1 << 6)

Désactiver l'effet de mosaic pour un fond donné

Paramètres:

  | screen | Ecran du bg (0 ou 1)
  | bg | Numéro du fond

#define PA_DisableSpecialFx | ( | screen |  | ) | REG_BLDCNT(screen) = 0

Désactiver les Effets Speciaux

Paramètres:

  | screen | Ecran...

#define PA_EnableBgMosaic | ( | screen,
|  | bg |  | ) | _REG16(REG_BGCNT(screen, bg)) |= (1 << 6)

Activer l'effet de mosaic pour un fond donné

Paramètres:

  | screen | Ecran du bg (0 ou 1)
  | bg | Numéro du fond

#define PA_EnableSpecialFx | ( | screen,
|  | EffectType,
|  | FirstTarget,
|  | SecondTarget |  | ) | REG_BLDCNT(screen) = ((FirstTarget) + ((SecondTarget) << 8) + ((EffectType) << 6))

Activer les Effets Speciaux et choisir si les fonds et sprites l'utiliseront ou pas. On choisit aussi au passage quel Effet utiliser

Paramètres:

  | screen | Ecran...
  | EffectType | Type d'effet. 0 pour aucun, 1 pour transparence, 2 pour augmentation de la luminosité, et 3 pour diminution de celle-ci... On peut utiliser les macors SFX_NONE, SFX_ALPHA, SFX_BRIGHTINC, SFX_BRIGHTDEC
  | FirstTarget | Fond et sprites à afficher aevc l'effet spécial, que l'on choisi de la facon suivante : SFX_BG0 | SFX_BG1 | SFX_BG2 | SFX_BG3 | SFX_OBJ | SFX_BD (aucune idée !)
  | SecondTarget | Fond et sprites à afficher derrière la transparence, que l'on choisi de la facon suivante : SFX_BG0 | SFX_BG1 | SFX_BG2 | SFX_BG3 | SFX_OBJ | SFX_BD (aucune idée !)

#define PA_SetBgMosaicXY | ( | screen,
|  | h_size,
|  | v_size |  | ) | {REG_MOSAIC(screen) &= 255; REG_MOSAIC(screen) |= ((h_size) + ((v_size) << 4));}

Régler les paramètres de la mosaic pour les fonds

Paramètres:

  | screen | Ecran...
  | h_size | Taille horizontale de la mosaic (1 pour 1 pixel, 2 pour 2 pixels, etc...)
  | v_size | Taille verticale de la mosaic (1 pour 1 pixel, 2 pour 2 pixels, etc...)

#define PA_SetSFXAlpha | ( | screen,
|  | Coeff1,
|  | Coeff2 |  | ) | REG_BLDALPHA(screen) = (Coeff1) + ((Coeff2) << 8)

Régler les paramètres pour l'Alpha-Blending

Paramètres:

  | screen | Ecran...
  | Coeff1 | Coefficient pour la première couche, de 0 à 31. A priori vaut mieux le mettre entre 0 et 16
  | Coeff2 | Coefficient pour la deuxième couche, de 0 à 31. A priori vaut mieux le mettre entre 0 et 16

#define PA_SetSpriteMosaicXY | ( | screen,
|  | h_size,
|  | v_size |  | ) | {REG_MOSAIC(screen) &= (255 << 8); REG_MOSAIC(screen) |= (((h_size) << 8) + ((v_size) << 12));}

Régler les paramètres de la mosaic pour les sprites

Paramètres:

  | screen | Ecran...
  | h_size | Taille horizontale de la mosaic (1 pour 1 pixel, 2 pour 2 pixels, etc...)
  | v_size | Taille verticale de la mosaic (1 pour 1 pixel, 2 pour 2 pixels, etc...)