Référence du fichier include/nds/arm9/PA_BgTiles.h

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

#include <nds.h>
#include "../PA_Shared.h"
#include "PA_General.h"

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_EasyBgLoad(screen, bg_number, bg_name)
#define PA_EasyBgLoadPtr(screen, bg_number, bg_name)   PA_EasyBgLoadEx(screen, bg_number, (u32*)bg_name->Info, bg_name->Tiles, bg_name->TileSize, bg_name->Map, bg_name->MapSize, bg_name->Palette)
 Moyen le plus simple de charger un fond créé avec PAGfx... Peut prendre des pointeurs !

Définition de type

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)
 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 et reinitialiser un fond complètement.
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_SetMapTileHflip (u8 screen, u8 bg_select, u8 x, u8 y, u8 hflip)
 Flipper une tile de la carte, horizontalement.
void PA_SetMapTileVflip (u8 screen, u8 bg_select, u8 x, u8 y, u8 vflip)
void PA_SetMapTilePal (u8 screen, u8 bg_select, u8 x, u8 y, u8 palette_number)
 Changer la palette de 16 couleurs utilisée par une tile de la carte. Marche uniquement en mode 16 couleurs pour le Bg.
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)
 Changer la priorité des fonds pour qu'ils soient dans un ordre donné.
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...
void PA_SetBgWrap (u8 screen, u8 bg, u8 wrap)
 Active ou non le wrapping des fonds (rotatifs, 8bit, et 16bit).
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...


Documentation des macros

#define BG_256X256   0

#define BG_256X512   2

#define BG_512X256   1

#define BG_512X512   3

#define BG_COLOR16   0x00

#define BG_COLOR256   0x80

#define BG_INFINITEMAP   5

#define BG_LARGEMAP   4

#define BG_ROTBG   3

#define BG_TILEDBG   2

#define CHAR_SHIFT   2

#define CharBaseBlock ( screen,
 )     (((n)*0x4000) + 0x6000000 + (0x200000 * screen))

#define REG_BGCNT ( screen,
bg_number   )     (0x4000008 + (screen * 0x1000) + (bg_number << 1))

#define REG_BGSCREEN ( screen   )     (0x04000000 + (screen * 0x1000))

#define REG_BGSCREEN0   0x04000000

#define REG_BGSCREEN1   0x04001000

#define REG_BGSCROLLX   0x4000010

#define REG_BGSCROLLY   0x4000012

#define SCREEN_SHIFT   8

#define SCREEN_TILES   24576

#define ScreenBaseBlock ( screen,
 )     (((n)*0x800) + 0x6000000 + (0x200000 * screen))

#define TILE_HFLIP   1024

#define TILE_N   1023

#define TILE_PAL   61440

#define TILE_VFLIP   2048

#define WRAPAROUND   0x1


Documentation des définition de type

typedef u8(* EasyBgPixels)(u8, u8, s32, s32)


Documentation des 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 
) [inline]

u8 PA_GetPAGfxRotBgSize ( u16  width  )  [inline]

void PA_StoreEasyBgInfos ( u8  screen,
u8  bg_number,
u32  Type,
u32  Width,
u32  Height,
void *  Tiles,
u32  TileSize,
void *  Map,
u32  MapSize,
void *  Palette 
)

void PA_UpdateBgTile ( u8  screen,
u8  bg_select,
u16  tilepos,
void *  tile 
) [inline]

u8 PAEasyBgGetPixelInf ( u8  screen,
u8  bg_number,
s32  x,
s32  y 
)

u8 PAEasyBgGetPixelLarge ( u8  screen,
u8  bg_number,
s32  x,
s32  y 
)

u8 PAEasyBgGetPixelTiled ( u8  screen,
u8  bg_number,
s32  x,
s32  y 
)

u8 PANoPixel ( u8  screen,
u8  bg_number,
s32  x,
s32  y 
)


Documentation des variables

u8 bg_place[4]

u16 bg_sizes[4]

u8 charblocks[2][70]

u8 charsetstart[2]

u16* PA_DrawBg[2]

s32 PA_parallaxX[2][4]

s32 PA_parallaxY[2][4]


Généré le Sat Jun 13 12:56:59 2009 pour PAlib - Programmer's Arsenal par  doxygen 1.5.8