Loading...
Searching...
No Matches
t_sprites Struct Reference

Dynamic sprite state structure (16 bytes, PVSnesLib compatible) More...

#include <sprite.h>

Public Attributes

u8 _pad
 
u16 _reserved1
 
u16 _reserved2
 
u8 oamattribute
 
u16 oamframeid
 
u16 oamgfxaddr
 
u8 oamgfxbank
 
u8 oamrefresh
 
s16 oamx
 
s16 oamy
 

Detailed Description

Dynamic sprite state structure (16 bytes, PVSnesLib compatible)

Used by the dynamic sprite engine to track per-sprite state including position, animation frame, and graphics pointer for VRAM uploads.

// Set up sprite 0
oambuffer[0].oamx = 100;
oambuffer[0].oamy = 80;
oambuffer[0].oamrefresh = 1; // Request VRAM upload
OAM_SET_GFX(0, sprite_tiles); // Set 24-bit graphics address
// In game loop
oamDynamicDraw(0); // Draw + queue VRAM upload (NMI auto-flushes)
u8 sprite_tiles[]
Sprite sheet tile data containing all animation frames (defined in data.asm)
#define OAM_SET_GFX(id, gfx)
Set sprite graphics address (bank $00 only)
Definition sprite.h:225
t_sprites oambuffer[128]
Dynamic sprite buffer (128 entries, 2048 bytes)
void oamDynamicDraw(u16 id)
Draw a dynamic sprite — engine picks the size routine.
#define OBJ_PRIO(prio)
Metasprite priority attribute macro.
Definition sprite.h:479
#define OBJ_PAL(pal)
Metasprite palette attribute macro.
Definition sprite.h:476
u16 oamframeid
Definition sprite.h:191
s16 oamx
Definition sprite.h:189
s16 oamy
Definition sprite.h:190
u8 oamattribute
Definition sprite.h:192
u8 oamrefresh
Definition sprite.h:193

Member Data Documentation

◆ _pad

u8 t_sprites::_pad

11: Padding byte

◆ _reserved1

u16 t_sprites::_reserved1

12-13: Padding for 16-byte alignment

◆ _reserved2

u16 t_sprites::_reserved2

14-15: Padding for 16-byte alignment

◆ oamattribute

u8 t_sprites::oamattribute

6: Attributes (vhoopppc) - flip, priority, palette, tile high bit

◆ oamframeid

u16 t_sprites::oamframeid

4-5: Frame index in sprite sheet

◆ oamgfxaddr

u16 t_sprites::oamgfxaddr

8-9: Low 16-bit address of graphics data

◆ oamgfxbank

u8 t_sprites::oamgfxbank

10: Bank byte of graphics address

◆ oamrefresh

u8 t_sprites::oamrefresh

7: Set to 1 to request VRAM upload of graphics

◆ oamx

s16 t_sprites::oamx

0-1: X position on screen

◆ oamy

s16 t_sprites::oamy

2-3: Y position on screen


The documentation for this struct was generated from the following file: