PAlib: Référence du fichier PA_BgTiles.h

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

# Référence du fichier PA_BgTiles.h

Everything concerning the Bg Tile modes. Plus de détails...

Aller au code source de ce fichier.

## Structures de données

struct | scrollpositions

## Macros

#define | CharBaseBlock(screen, n) (((n)*0x4000) + 0x6000000 + (0x200000 * screen))
#define | ScreenBaseBlock(screen, n) (((n)*0x800) + 0x6000000 + (0x200000 * screen))
#define | BG_COLOR16 0x00
#define | BG_COLOR256 0x80
#define | CHAR_SHIFT 2
#define | SCREEN_SHIFT 8
#define | WRAPAROUND 0x1
#define | SCREEN_TILES 24576
#define | REG_BGSCREEN0 0x04000000
#define | REG_BGSCREEN1 0x04001000
#define | REG_BGSCREEN(screen) (0x04000000 + (screen * 0x1000))
#define | REG_BGCNT(screen, bg_number) (0x4000008 + (screen * 0x1000) + (bg_number << 1))
#define | REG_BGSCROLLX 0x4000010
#define | REG_BGSCROLLY 0x4000012
#define | BG_256X256 0
#define | BG_512X256 1
#define | BG_256X512 2
#define | BG_512X512 3
#define | TILE_N 1023
#define | TILE_PAL 61440
#define | TILE_HFLIP 1024
#define | TILE_VFLIP 2048
#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_LoadTiledBg(screen, bg_number, bg_name)
| On ne pourra jamais rendre ca plus simple... Charge un fond de type TiledBg converti avec PAGfx, en mettant les tiles, la map, et meme la palette ! Seulement en mode 256 couleurs
#define | PA_LoadSimpleBg(screen, bg_select, bg_tiles, bg_map, bg_size, wraparound, color_mode)
| Facon simple de cahrger un fond. Combine PA_InitBg, PA_LoadBgTiles, et PA_LoadBgMap
#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_BGScrollY(screen, bg_number, y) _REG16(REG_BGSCROLLY + ((screen) * 0x1000) + ((bg_number) << 2)) = (y)&1023
| 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_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.

## Fonctions

u8 | PA_GetPAGfxBgSize (u16 width, u16 height)
u8 | PA_GetPAGfxRotBgSize (u16 width)
void | PA_ResetBgSys (void)
| Reinitialise le systeme de fonds
void | PA_InitBg (u8 screen, u8 bg_select, u8 bg_size, u8 wraparound, u8 color_mode)
| Initialise un fond. A faire uniquement après avoir chargé un tileset et une map.
void | PA_LoadBgTilesEx (u8 screen, u8 bg_select, void *bg_tiles, u16 size)
| Charger un tileset en mémoire avec une taille donnée
void | PA_ReLoadBgTiles (u8 screen, u8 bg_select, void *bg_tiles)
| ReCharger un tileset en mémoire
void | PA_DeleteTiles (u8 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 (u8 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 (u8 screen, u8 bg_select)
| Effacer un fond complètement (tiles + map + cacher)
void | PA_LoadBgMap (u8 screen, u8 bg_select, void *bg_map, u8 bg_size)
| Charge la carte d'un fond
void | PA_SetMapTile (u8 screen, u8 bg_select, s16 x, s16 y, s16 tile_number)
| Change la tile gfx utilisée pour une tile donnée dans la map
void | PA_SetLargeMapTile (u8 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_SetMapTileEx (u8 screen, u8 bg_select, s16 x, s16 y, u16 tile_number, u8 hflip, u8 vflip, u8 palette_number)
void | PA_SetBgPrio (u8 screen, u8 bg, u8 prio)
| Changer la priorité d'un fond
void | PA_CreateBgFromTiles (u8 screen, u8 bg_select, u8 bg_tiles, void *bg_map, u8 bg_size)
void | PA_ClearBg (u8 screen, u8 bg_select)
| Effacer un fond donné (juste la map)

## Variables

u32 | PA_bgmap [2][4]
u8 | tilesetchar [2][4]
u16 | bg_sizes [4]
u8 | bg_place [4]
u16 * | PA_DrawBg [2]
u8 | charblocks [2][70]
u16 | tilesetsize [2][4]
u16 | mapsize [2][4]
u8 | mapchar [2][4]
u8 | charsetstart [2]
s32 | PA_parallaxX [2][4]
s32 | PA_parallaxY [2][4]
scrollpositions | scrollpos [2][4]

## Description détaillée

Everything concerning the Bg Tile modes.

This file contains all the macros and variables regarding Tile modes, loading tiles and Bg, etc...