head 1.1; branch 1.1.1; access ; symbols start:1.1.1.1 PAlibDoc:1.1.1; locks ; strict; comment @# @; 1.1 date 2005.11.02.08.30.37; author jandujar; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2005.11.02.08.30.37; author jandujar; state Exp; branches ; next ; desc @@ 1.1 log @Initial revision @ text @
Macros | |
#define | PA_HideBg(screen, bg_select) _REG16(REG_BGSCREEN(screen)) &= ~(0x100 << (bg_select)) |
Cacher un fond. | |
#define | PA_ShowBg(screen, bg_select) _REG16(REG_BGSCREEN(screen)) |= (0x100 << (bg_select)) |
Afficher un fond auparavant caché. | |
#define | PA_ResetBg(screen) _REG16(REG_BGSCREEN(screen)) &= ~(0xF00) |
Reinitialiser les fonds d'un écran. En fait ca ne fait que cacher tous les fonds | |
#define | PA_LoadBgTiles(screen, bg_select, bg_tiles) PA_LoadBgTilesEx(screen, bg_select, (void*)bg_tiles, SIZEOF_16BIT(bg_tiles)) |
Charger un tileset en mémoire | |
#define | PA_LoadSimpleBg(screen, bg_select, bg_tiles, bg_map, bg_size, wraparound, color_mode) |
Facon la plus simple de cahrger un fond. Combine PA_InitBg, PA_LoadBgTiles, et PA_LoadBgMap | |
#define | PA_LoadRotBg(screen, bg_select, bg_tiles, bg_map, bg_size, wraparound) |
Charger un fond pour les rotations/zoom ! Attention, il faut avant utiliser PA_SetVideoMode avec 1 pour utiliser un fond rotatif (le fond 3 uniquement !), ou 2 pour 2 fonds (2 et 3). Le fond DOIT etre de 256 couleurs | |
#define | PA_LoadBg(screen, bg_select, bg_tiles, tile_size, bg_map, bg_size, wraparound, color_mode) |
Facon la plus simple de cahrger un fond. Combine PA_InitBg, PA_LoadBgTiles, et PA_LoadBgMap | |
#define | PA_BGScrollX(screen, bg_number, x) _REG16(REG_BGSCROLLX + ((screen) * 0x1000) + ((bg_number) << 2)) = (x)&1023 |
Scroll horizontal de n'importe quel fond | |
#define | PA_GetBGScrollX(screen, bg_number) ((_REG16(REG_BGSCROLLX + ((screen) * 0x1000) + ((bg_number) << 2))) &1023) |
Récupérer le scroll horizontal de n'importe quel fond | |
#define | PA_BGScrollY(screen, bg_number, y) _REG16(REG_BGSCROLLY + ((screen) * 0x1000) + ((bg_number) << 2)) = (y)&1023 |
Scroll vertical de n'importe quel fond | |
#define | PA_GetBGScrollY(screen, bg_number) ((_REG16(REG_BGSCROLLY + ((screen) * 0x1000) + ((bg_number) << 2))) &1023) |
Récupérer le scroll vertical de n'importe quel fond | |
#define | PA_BGScrollXY(screen, bg_number, x, y) {PA_BGScrollX(screen, bg_number, x); PA_BGScrollY(screen, bg_number, y);} |
Scroll horizontal et vertical de n'importe quel fond | |
#define | PA_SetMapTile(screen, bg_select, x, y, tile_number) {*(u16*)(PA_bgmap[screen][bg_select] + ((x) << 1) + ((y) << 6)) &= ALL_BUT(TILE_N); *(u16*)(PA_bgmap[screen][bg_select] + ((x) << 1) + ((y) << 6)) |= ((tile_number)&TILE_N);} |
Change la tile gfx utilisée pour une tile donnée dans la map | |
#define | PA_SetMapTileAll(screen, bg_select, x, y, tile_info) *(u16*)(PA_bgmap[screen][bg_select] + ((x) << 1) + ((y) << 6)) = tile_info |
Change les infos tiles utilisée pour une tile donnée dans la map | |
#define | PA_SetMapTileHflip(screen, bg_select, x, y, hflip) {*(u16*)(PA_bgmap[screen][bg_select] + ((x) << 1) + ((y) << 6)) &= ALL_BUT(TILE_HFLIP); *(u16*)(PA_bgmap[screen][bg_select] + ((x) << 1) + ((y) << 6)) |= ((hflip) << 10);} |
Flipper une tile de la carte, horizontalement | |
#define | PA_SetMapTileVflip(screen, bg_select, x, y, vflip) {*(u16*)(PA_bgmap[screen][bg_select] + ((x) << 1) + ((y) << 6)) &= ALL_BUT(TILE_VFLIP); *(u16*)(PA_bgmap[screen][bg_select] + ((x) << 1) + ((y) << 6)) |= ((vflip) << 11);} |
Flipper une tile de la carte, verticalement | |
#define | PA_SetMapTilePal(screen, bg_select, x, y, palette_number) {*(u16*)(PA_bgmap[screen][bg_select] + ((x) << 1) + ((y) << 6)) &= ALL_BUT(TILE_PAL); *(u16*)(PA_bgmap[screen][bg_select] + ((x) << 1) + ((y) << 6)) |= ((palette_number) << 12);} |
Changer la palette de 16 couleurs utilisée par une tile de la carte. Marche uniquement en mode 16 couleurs pour le Bg. | |
#define | PA_SetMapTileEx(screen, bg_select, x, y, tile_number, hflip, vflip, palette_number) *(u16*)(PA_bgmap[screen][bg_select] + ((x) << 1) + ((y) << 6)) = (tile_number) + ((hflip) << 10) + ((vflip) << 11) + ((palette_number) << 12) |
Changer tous les aspect d'une tile donnée dans la map. | |
#define | PA_LoadTiledBitmap(screen, tiled_bitmap) PA_LoadBg(screen, 0, tiled_bitmap, SCREEN_TILES, bitmap, BG_256X256, 1, 1) |
Charger un bitmap converti avec gfx2gba, comme pour un fond normal, mais sans aucune optimisation. Plus la peine d'inclure la map dans ce cas. Attention, prend tout la mémoire des fonds. | |
#define | PA_LoadLargeBg(screen, bg_select, bg_tiles, bg_map, color_mode, lx, ly) |
Charger et initialiser un fond pour le scrolling infini (pour les fonds de plus de 512 pixels de haut ou de large) | |
#define | PA_LoadLargeBgEx(screen, bg_select, bg_tiles, tile_size, bg_map, color_mode, lx, ly) |
Charger et initialiser un fond pour le scrolling infini (pour les fonds de plus de 512 pixels de haut ou de large), mais ici on met soi-meme la taille des tiles | |
Fonctions | |
void | PA_ResetBgSys (void) |
Reinitialise le systeme de fonds | |
void | PA_InitBg (bool screen, u8 bg_select, u8 bg_size, bool wraparound, bool color_mode) |
Initialise un fond. A faire uniquement après avoir chargé un tileset et une map. | |
void | PA_LoadBgTilesEx (bool screen, u8 bg_select, void *bg_tiles, u16 size) |
Charger un tileset en mémoire avec une taille donnée | |
void | PA_DeleteTiles (bool screen, u8 bg_select) |
Effacer un tileset en mémoire. A noter que charger un tileset efface automatiquement le tileset précédent, donc on n'aura pas souvent besoin de cette fonction... | |
void | PA_DeleteMap (bool screen, u8 bg_select) |
Effacer une map en mémoire. A noter que charger une map efface automatiquement la map précédent, donc on n'aura pas souvent besoin de cette fonction... | |
void | PA_DeleteBg (bool screen, u8 bg_select) |
Effacer un fond complètement (tiles + map + cacher) | |
void | PA_LoadBgMap (bool screen, u8 bg_select, void *bg_map, u8 bg_size) |
Charge la carte d'un fond | |
void | PA_SetBgRot (bool screen, u8 bg_select, s32 x_scroll, s32 y_scroll, s32 x_rotcentre, s32 y_rotcentre, s16 bg_angle, s32 bg_zoom) |
void | PA_SetLargeMapTile (bool screen, u8 bg_select, s32 x, s32 y, u32 tile_info) |
Change les infos tiles utilisée pour une tile donnée dans la map, seulement pour les grands fonds (512 de large ou haut) | |
void | PA_InfLargeScrollX (bool screen, u8 bg_select, s32 x) |
Déplacer un fond à scrolling 'infini' horizontalement. Doit etre initialisé avec PA_LoadLargeBg. | |
void | PA_InfLargeScrollY (bool screen, u8 bg_select, s32 y) |
Déplacer un fond à scrolling 'infini' verticalement. Doit etre initialisé avec PA_LoadLargeBg. | |
void | PA_InfLargeScrollXY (bool screen, u8 bg_select, s32 x, s32 y) |
Déplacer un fond à scrolling 'infini' horizontalement et verticalement. Doit etre initialisé avec PA_LoadLargeBg. | |
void | PA_LargeScrollX (bool screen, u8 bg_select, s32 x) |
Déplacer un grand fond à scrolling horizontalement.Doit etre initialisé avec PA_LoadLargeBg. Cette fonction ne permet pas au fond de 'boucler' sur lui-meme, mais est bien plus rapide que InfLargeScroll... | |
void | PA_LargeScrollY (bool screen, u8 bg_select, s32 y) |
Déplacer un grand fond à scrolling verticalement. Doit etre initialisé avec PA_LoadLargeBg. Cette fonction ne permet pas au fond de 'boucler' sur lui-meme, mais est bien plus rapide que InfLargeScroll... | |
void | PA_LargeScrollXY (bool screen, u8 bg_select, s32 x, s32 y) |
Déplacer un grand fond à scrolling horizontalement et verticalement. Doit etre initialisé avec PA_LoadLargeBg. Cette fonction ne permet pas au fond de 'boucler' sur lui-meme, mais est bien plus rapide que InfLargeScroll... | |
void | PA_InitParallaxX (bool screen, s32 bg0, s32 bg1, s32 bg2, s32 bg3) |
Initialiser le Parallax Scrolling pour plusieurs fonds, horizontalement. Choix de la vitesse à laquelle les fonds vont défiler par rapport aux autres... Utiliser PA_ParallaxScrollX par la suite pour scroller | |
void | PA_InitParallaxY (bool screen, s32 bg0, s32 bg1, s32 bg2, s32 bg3) |
Initialiser le Parallax Scrolling pour plusieurs fonds, horizontalement. Choix de la vitesse à laquelle les fonds vont défiler par rapport aux autres... Utiliser PA_ParallaxScrollX par la suite pour scroller | |
void | PA_ParallaxScrollX (bool screen, s32 x) |
Déplacer les fonds activés pour le parallax... | |
void | PA_ParallaxScrollY (bool screen, s32 y) |
Déplacer les fonds activés pour le parallax... | |
void | PA_ParallaxScrollXY (bool screen, s32 x, s32 y) |
Déplacer les fonds activés pour le parallax... | |
void | PA_SetBgPrio (bool screen, u8 bg, u8 prio) |
Changer la priorité d'un fond |
|
Scroll horizontal de n'importe quel fond
|
|
Scroll horizontal et vertical de n'importe quel fond
|
|
Scroll vertical de n'importe quel fond
|
|
Récupérer le scroll horizontal de n'importe quel fond
|
|
Récupérer le scroll vertical de n'importe quel fond
|
|
Cacher un fond.
|
|
Valeur: {\ PA_LoadBgTilesEx(screen, bg_select, (void*)bg_tiles, tile_size); \ PA_LoadBgMap(screen, bg_select, (void*)bg_map, bg_size); \ PA_InitBg(screen, bg_select, bg_size, wraparound, color_mode);\ PA_BGScrollXY(screen, bg_select, 0, 0);}
|
|
Charger un tileset en mémoire
|
|
Valeur: {\ PA_LoadSimpleBg(screen, bg_select, bg_tiles, Blank, BG_512X256, 1, color_mode);\ PA_InitLargeBg(screen, bg_select, lx, ly, (void*)bg_map);}
|
|
Valeur: {\ PA_LoadBg(screen, bg_select, bg_tiles, tile_size, Blank, BG_512X256, 1, color_mode);\ PA_InitLargeBg(screen, bg_select, lx, ly, (void*)bg_map);}
|
|
Valeur: {\ PA_DeleteBg(screen, bg_select);\ PA_LoadBgTiles(screen, bg_select, bg_tiles); \ PA_LoadRotBgMap(screen, bg_select, (void*)bg_map, bg_size); \ PA_InitBg(screen, bg_select, bg_size, wraparound, 1);\ PA_SetBgRot(screen, bg_select, 0, 0, 0, 0, 0, 256);\ }
|
|
Valeur: {\ PA_DeleteBg(screen, bg_select);\ PA_LoadBgTiles(screen, bg_select, bg_tiles); \ PA_LoadBgMap(screen, bg_select, (void*)bg_map, bg_size); \ PA_InitBg(screen, bg_select, bg_size, wraparound, color_mode);\ PA_BGScrollXY(screen, bg_select, 0, 0);}
|
|
Charger un bitmap converti avec gfx2gba, comme pour un fond normal, mais sans aucune optimisation. Plus la peine d'inclure la map dans ce cas. Attention, prend tout la mémoire des fonds.
|
|
Reinitialiser les fonds d'un écran. En fait ca ne fait que cacher tous les fonds
|
|
Change la tile gfx utilisée pour une tile donnée dans la map
|
|
Change les infos tiles utilisée pour une tile donnée dans la map
|
|
Changer tous les aspect d'une tile donnée dans la map.
|
|
Flipper une tile de la carte, horizontalement
|
|
Changer la palette de 16 couleurs utilisée par une tile de la carte. Marche uniquement en mode 16 couleurs pour le Bg.
|
|
Flipper une tile de la carte, verticalement
|
|
Afficher un fond auparavant caché.
|
|
Effacer un fond complètement (tiles + map + cacher)
|
|
Effacer une map en mémoire. A noter que charger une map efface automatiquement la map précédent, donc on n'aura pas souvent besoin de cette fonction...
|
|
Effacer un tileset en mémoire. A noter que charger un tileset efface automatiquement le tileset précédent, donc on n'aura pas souvent besoin de cette fonction...
|
|
Déplacer un fond à scrolling 'infini' horizontalement. Doit etre initialisé avec PA_LoadLargeBg.
|
|
Déplacer un fond à scrolling 'infini' horizontalement et verticalement. Doit etre initialisé avec PA_LoadLargeBg.
|
|
Déplacer un fond à scrolling 'infini' verticalement. Doit etre initialisé avec PA_LoadLargeBg.
|
|
Initialise un fond. A faire uniquement après avoir chargé un tileset et une map.
|
|
Initialiser le Parallax Scrolling pour plusieurs fonds, horizontalement. Choix de la vitesse à laquelle les fonds vont défiler par rapport aux autres... Utiliser PA_ParallaxScrollX par la suite pour scroller
|
|
Initialiser le Parallax Scrolling pour plusieurs fonds, horizontalement. Choix de la vitesse à laquelle les fonds vont défiler par rapport aux autres... Utiliser PA_ParallaxScrollX par la suite pour scroller
|
|
Déplacer un grand fond à scrolling horizontalement.Doit etre initialisé avec PA_LoadLargeBg. Cette fonction ne permet pas au fond de 'boucler' sur lui-meme, mais est bien plus rapide que InfLargeScroll...
|
|
Déplacer un grand fond à scrolling horizontalement et verticalement. Doit etre initialisé avec PA_LoadLargeBg. Cette fonction ne permet pas au fond de 'boucler' sur lui-meme, mais est bien plus rapide que InfLargeScroll...
|
|
Déplacer un grand fond à scrolling verticalement. Doit etre initialisé avec PA_LoadLargeBg. Cette fonction ne permet pas au fond de 'boucler' sur lui-meme, mais est bien plus rapide que InfLargeScroll...
|
|
Charge la carte d'un fond
|
|
Charger un tileset en mémoire avec une taille donnée
|
|
Déplacer les fonds activés pour le parallax...
|
|
Déplacer les fonds activés pour le parallax...
|
|
Déplacer les fonds activés pour le parallax...
|
|
Changer la priorité d'un fond
|
|
Change les infos tiles utilisée pour une tile donnée dans la map, seulement pour les grands fonds (512 de large ou haut)
|