Aller au code source de ce fichier.
Structures de données | |
struct | PA_BgDefaultInfos |
struct | PA_BgInfos |
struct | scrollpositions |
Macros | |
#define | BG_TILEDBG 2 |
#define | BG_ROTBG 3 |
#define | BG_LARGEMAP 4 |
#define | BG_INFINITEMAP 5 |
#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_SetMapTileAll(screen, bg_select, x, y, tile_info) *(u16*)(PA_BgInfo[screen][bg_select].Map + ((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_BgInfo[screen][bg_select].Map + ((x) << 1) + ((y) << 6)) &= ALL_BUT(TILE_PAL); *(u16*)(PA_BgInfo[screen][bg_select].Map + ((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_EasyBgLoad(screen, bg_number, bg_name) |
Moyen le plus simple de charger un fond créé avec PAGfx | |
Typedefs | |
typedef u8(* | EasyBgPixels )(u8, u8, s32, s32) |
Fonctions | |
void | PA_EasyBgLoadEx (u8 screen, u8 bg_number, u32 *Infos, void *Tiles, u32 TileSize, void *Map, u32 MapSize, void *Palette) |
u8 | PA_GetPAGfxBgSize (u16 width, u16 height) |
u8 | PA_GetPAGfxRotBgSize (u16 width) |
void | PA_ResetBgSys (void) |
Reinitialise le systeme de fonds | |
void | PA_ResetBgSysScreen (u8 screen) |
Reinitialise le systeme de fonds pour 1 écran | |
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, u32 size) |
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_BGScrollX (u8 screen, u8 bg_number, s32 x) |
Scroll horizontal d'un fond de type Tiled | |
void | PA_BGScrollY (u8 screen, u8 bg_number, s32 y) |
Scroll vertical d'un fond de type Tiled | |
void | PA_BGScrollXY (u8 screen, u8 bg_number, s32 x, s32 y) |
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_SetBgPrioSeq (u8 screen, u8 priority0, u8 priority1, u8 priority2, u8 priority3) |
void | PA_ClearBg (u8 screen, u8 bg_select) |
Effacer un fond donné (juste la map) | |
void | PA_EasyBgScrollX (u8 screen, u8 bg_number, s32 x) |
Scroll horizontal de n'importe quel fond | |
void | PA_EasyBgScrollY (u8 screen, u8 bg_number, s32 y) |
Scroll vertical de n'importe quel fond | |
void | PA_EasyBgScrollXY (u8 screen, u8 bg_number, s32 x, s32 y) |
Scroll horizontal et vertical de n'importe quel fond | |
u8 | PA_EasyBgGetPixel (u8 screen, u8 bg_number, s32 x, s32 y) |
Renvoie le numéro dans la palette du pixel à l'écran... | |
u16 | PA_EasyBgGetPixelCol (u8 screen, u8 bg_number, s32 x, s32 y) |
Renvoie la couleur (valeur u16) du pixel à l'écran... | |
u8 | PAEasyBgGetPixelTiled (u8 screen, u8 bg_number, s32 x, s32 y) |
u8 | PAEasyBgGetPixelLarge (u8 screen, u8 bg_number, s32 x, s32 y) |
u8 | PAEasyBgGetPixelInf (u8 screen, u8 bg_number, s32 x, s32 y) |
u8 | PANoPixel (u8 screen, u8 bg_number, s32 x, s32 y) |
void | PA_UpdateBgTile (u8 screen, u8 bg_select, u16 tilepos, void *tile) |
void | PA_StoreEasyBgInfos (u8 screen, u8 bg_number, u32 Type, u32 Width, u32 Height, void *Tiles, u32 TileSize, void *Map, u32 MapSize, void *Palette) |
Variables | |
EasyBgPixels | PA_EasyBgPixel [6] |
PA_BgInfos | PA_BgInfo [2][4] |
u8 | charblocks [2][70] |
u16 * | PA_DrawBg [2] |
u16 | bg_sizes [4] |
u8 | bg_place [4] |
u8 | charsetstart [2] |
s32 | PA_parallaxX [2][4] |
s32 | PA_parallaxY [2][4] |
scrollpositions | scrollpos [2][4] |
This file contains all the macros and variables regarding Tile modes, loading tiles and Bg, etc...