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  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]


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...


Généré le Tue Jan 30 23:10:50 2007 pour PAlib par  doxygen 1.3.9.1