NightFox’s Lib
Data Structures | Macros | Functions | Variables
nf_sprite3d.h File Reference

Functions related to sprites rendered by the 3D GPU. More...

#include <nds.h>

Data Structures

struct  NF_TYPE_3DSPRITE_INFO
 Struct that holds information about 3D sprites. More...
 
struct  NF_TYPE_TEX256VRAM_INFO
 Struct that holds information about 3D sprite textures in VRAM. More...
 
struct  NF_TYPE_3DSPRPALSLOT_INFO
 Struct that holds information about 3D sprite palettes in VRAM. More...
 
struct  NF_TYPE_TEXVRAM_INFO
 Struct with information of 3D sprite allocation in VRAM. More...
 
struct  NF_TYPE_CREATED_3DSPRITE_INFO
 Struct with information about created 3D sprites. More...
 

Macros

#define NF_3DSPRITES   256
 Maximum number of slots of 3D sprites.
 

Functions

void NF_Init3dSpriteSys (void)
 Initialize 3D sprite system. More...
 
void NF_Vram3dSpriteGfx (u32 ram, u32 vram, bool keepframes)
 Copy a texture from RAM to VRAM to use it for 3D sprites. More...
 
void NF_Free3dSpriteGfx (u32 id)
 Delete from VRAM the texture in the selected slot. More...
 
void NF_Vram3dSpriteGfxDefrag (void)
 Defragments the free VRAM used for 3D sprite textures. More...
 
void NF_Vram3dSpritePal (u32 id, u32 slot)
 Copy a palette from RAM to the specified slot in VRAM. More...
 
void NF_Create3dSprite (u32 id, u32 gfx, u32 pal, s32 x, s32 y)
 Create a 3D sprite with the specified ID and display it on the screen. More...
 
void NF_Delete3dSprite (u32 id)
 Remove the sprite with the specified ID from the screen. More...
 
void NF_Sort3dSprites (void)
 Sets the priorities of 3D sprites based on their sprite IDs. More...
 
void NF_Set3dSpritePriority (u32 id, u32 prio)
 Changes the draw priority of the 3D sprite with the specified ID. More...
 
void NF_Swap3dSpritePriority (u32 id_a, u32 id_b)
 Swaps the priority of two 3D sprites. More...
 
void NF_Set3dSpriteFrame (u32 id, u32 frame)
 Select the frame of an animation to display in the 3D sprite. More...
 
void NF_Draw3dSprites (void)
 Draw all created 3D sprites on the screen. More...
 
void NF_Update3dSpritesGfx (void)
 Update the textures of all animated 3D sprites that need it. More...
 
void NF_Rotate3dSprite (u32 id, s32 x, s32 y, s32 z)
 Rotates a 3D sprite on its 3 axes. More...
 
void NF_Scale3dSprite (u32 id, u32 x, u32 y)
 Scales 3D sprite on X and Y axes. More...
 
void NF_Blend3dSprite (u32 sprite, u32 poly_id, u32 alpha)
 Set the alpha level of a 3D sprite. More...
 
void NF_3dSpritesLayer (u32 layer)
 Select the layer where 3D sprites are drawn. More...
 
void NF_3dSpriteEditPalColor (u32 pal, u32 number, u32 r, u32 g, u32 b)
 Changes one color of one 3D sprite palette. More...
 
void NF_3dSpriteUpdatePalette (u32 pal)
 Updates the VRAM copy of a palette with the RAM copy of it. More...
 
void NF_3dSpriteGetPalColor (u32 pal, u32 number, u8 *r, u8 *g, u8 *b)
 Gets the RGB value of a color from a 3D sprite palette loaded in RAM. More...
 
void NF_3dSpriteSetDepth (u32 id, s32 z)
 Sets the depth of the selected 3D sprite. More...
 

Variables

NF_TYPE_3DSPRITE_INFO NF_3DSPRITE [NF_3DSPRITES]
 Information of all 3D sprites.
 
NF_TYPE_TEX256VRAM_INFO NF_TEX256VRAM [NF_3DSPRITES]
 Information of all 3D sprite textures in VRAM.
 
NF_TYPE_3DSPRPALSLOT_INFO NF_TEXPALSLOT [32]
 Information of all 3D sprite palettes in VRAM.
 
NF_TYPE_TEXVRAM_INFO NF_TEXVRAM
 Information of 3D sprite allocation in VRAM.
 
NF_TYPE_CREATED_3DSPRITE_INFO NF_CREATED_3DSPRITE
 Information of created 3D sprites.
 

Detailed Description

Functions related to sprites rendered by the 3D GPU.