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

Sprites on one screen using the DS's 3D GPU. Plus de détails...


Structures de données

struct  pa3dcorners
struct  pa3dsprites
struct  type_3danims

Macros

#define PA_NMAXSPRITES   1024
#define TEX_A3I5   1
#define TEX_A5I3   6
#define TEX_4COL   2
#define TEX_16COL   3
#define TEX_256COL   4
#define TEX_16BITS   7
#define BLOCKSIZE_3D   16
#define N_TEXTURES   1024
#define POLYGON_ATTR   *(u32*)0x040004A4
#define PA_PLTT_BASE   *(u32*)0x040004AC
#define PA_TEXIMAGE_PARAM   *(u32*)0x040004A8

Fonctions

u16 PA_GetGifWidth (void *gif)
 Récupérer la largeur d'un Gif en pixels.
u16 PA_GetGifHeight (void *gif)
 Récupérer la hauteur d'un Gif en pixels.
void PA_Set3D (bool texture_mapping, bool shader, bool alpha_test, bool alpha_blend, bool antialias, bool edgemark, bool fog_mode, bool fog, u8 fog_shift, bool rearplane)
void PA_Load3DSpritePal (u16 palette_number, void *palette)
void PA_glTexParameter (uint8 sizeX, uint8 sizeY, uint32 *addr, uint8 mode, uint32 param)
void PA_Init3D (void)
void PA_Init3D2Banks (void)
void PA_3DProcess (void)
s16 PA_3DCreateTex (void *obj_data, u16 width, u16 height, u8 type)
void PA_3DCreateSpriteFromTex (u16 sprite, u16 texture, u16 width, u16 height, u8 palette, s16 x, s16 y)
void PA_Reset3DSprites (void)
void PA_Reset3DSprites2Banks (void)
void PA_3DCreateSprite (u16 sprite, void *image, u16 width, u16 height, u8 type, u8 palette, s16 x, s16 y)
void PA_3DDeleteTex (u32 tex_gfx)
void PA_3DDeleteSprite (u16 sprite)
void PA_3DSetSpriteX (u16 sprite, s16 x)
void PA_3DSetSpriteY (u16 sprite, s16 y)
void PA_3DSetSpriteXY (u16 sprite, s16 x, s16 y)
void PA_3DSetSpriteRotateX (u16 sprite, s16 rotateX)
void PA_3DSetSpriteRotateY (u16 sprite, s16 rotateY)
void PA_3DSetSpriteRotate (u16 sprite, s16 rotate)
void PA_3DSetSpriteRotateXYZ (u16 sprite, s16 rotateX, s16 rotateY, s16 rotateZ)
void PA_3DSetSpriteZoomX (u16 sprite, float zoomx)
void PA_3DSetSpriteZoomY (u16 sprite, float zoomy)
void PA_3DSetSpriteZoomXY (u16 sprite, float zoomx, float zoomy)
void PA_3DSetSpriteWidth (u16 sprite, u16 width)
void PA_3DSetSpriteHeight (u16 sprite, u16 height)
void PA_3DSetSpriteWidthHeight (u16 sprite, u16 width, u16 height)
void PA_3DSetSpriteHflip (u16 sprite, u8 hflip)
void PA_3DSetSpriteVflip (u16 sprite, u8 vflip)
u8 PA_3DSpriteTouched (u16 sprite)
void PA_3DSetSpriteTex (u16 sprite, u16 texture)
void PA_3DSetSpritePal (u16 sprite, u16 palette)
void PA_3DUpdateGfx (u16 texture, void *image)
void PA_3DSetSpriteFrame (u16 sprite, u16 frame)
void PA_3DSetSpriteTopLeft (u16 sprite, s16 x, s16 y)
void PA_3DSetSpriteTopRight (u16 sprite, s16 x, s16 y)
void PA_3DSetSpriteBottomLeft (u16 sprite, s16 x, s16 y)
void PA_3DSetSpriteBottomRight (u16 sprite, s16 x, s16 y)
void PA_3DSetSpritePrio (u16 sprite, u16 priority)
void PA_3DSetSpritePolyID (u16 sprite, u8 polyID)
void PA_3DSetSpriteAlpha (u16 sprite, u8 alpha)
void PA_3DStartSpriteAnimEx (u16 sprite, s16 firstframe, s16 lastframe, s16 speed, u8 type, s16 ncycles)
void PA_3DStartSpriteAnim (u16 sprite, s16 firstframe, s16 lastframe, s16 speed)
void PA_3DStopSpriteAnim (u16 sprite)
void PA_3DSetSpriteAnimFrame (u16 sprite, u16 frame)
u16 PA_3DGetSpriteAnimFrame (u16 sprite)
void PA_3DSetSpriteAnimSpeed (u16 sprite, s16 speed)
u16 PA_3DGetSpriteAnimSpeed (u16 sprite)
void PA_3DSetSpriteNCycles (u16 sprite, s16 NCycles)
u16 PA_3DGetSpriteNCycles (u16 sprite)
void PA_3DSpriteAnimPause (u16 sprite, u8 pause)
void PA_GifToTexTransp (u16 color)
u16 PA_3DCreateTexFromGif (void *gif, u8 palette)
void PA_3DCreateSpriteFromGif (u16 sprite, void *gif, u8 palette, s16 x, s16 y)
static s32 PA_3DGetSpriteX (u16 sprite)
static s32 PA_3DGetSpriteY (u16 sprite)
static void PA_3DSetSpriteVisible (u16 sprite, u8 visible)
void PA_Init3DDual (void)

Variables

s16 obj_per_gfx3D [N_TEXTURES]
pa3dsprites pa_3dsprites [PA_NMAXSPRITES]
uint32 textures [MAX_TEXTURES]
void * texturesptr [MAX_TEXTURES]
uint32 activeTexture
type_3danims sprite3danims [PA_NMAXSPRITES]
u16 n3Dspriteanims


Description détaillée

Sprites on one screen using the DS's 3D GPU.

Allows to have up to 2048 sprites of pretty much any size !


Documentation des macros

#define BLOCKSIZE_3D   16

#define N_TEXTURES   1024

#define PA_NMAXSPRITES   1024

#define PA_PLTT_BASE   *(u32*)0x040004AC

#define PA_TEXIMAGE_PARAM   *(u32*)0x040004A8

#define POLYGON_ATTR   *(u32*)0x040004A4

#define TEX_16BITS   7

#define TEX_16COL   3

#define TEX_256COL   4

#define TEX_4COL   2

#define TEX_A3I5   1

#define TEX_A5I3   6


Documentation des fonctions

void PA_glTexParameter ( uint8  sizeX,
uint8  sizeY,
uint32 *  addr,
uint8  mode,
uint32  param 
) [inline]

void PA_Load3DSpritePal ( u16  palette_number,
void *  palette 
)

void PA_Set3D ( bool  texture_mapping,
bool  shader,
bool  alpha_test,
bool  alpha_blend,
bool  antialias,
bool  edgemark,
bool  fog_mode,
bool  fog,
u8  fog_shift,
bool  rearplane 
) [inline]


Documentation des variables

uint32 activeTexture

s16 obj_per_gfx3D[N_TEXTURES]

pa3dsprites pa_3dsprites[PA_NMAXSPRITES]

type_3danims sprite3danims[PA_NMAXSPRITES]

uint32 textures[MAX_TEXTURES]

void* texturesptr[MAX_TEXTURES]


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