5#ifndef __LIBDRAGON_SPRITE_INTERNAL_H
6#define __LIBDRAGON_SPRITE_INTERNAL_H
11#define SPRITE_FLAG_NUMLODS 0x0007
12#define SPRITE_FLAG_HAS_TEXPARMS 0x0008
13#define SPRITE_FLAG_HAS_DETAIL 0x0010
14#define SPRITE_FLAG_FITS_TMEM 0x0020
25typedef struct sprite_ext_s {
58_Static_assert(
sizeof(
sprite_ext_t) == 124,
"invalid sizeof(sprite_ext_t)");
Sprite structure.
Definition sprite.h:42
uint32_t pal_file_pos
Definition sprite_internal.h:28
uint32_t fmt_file_pos
Top 8 bits: format; lowest 24 bits: absolute offset in the file.
Definition sprite_internal.h:33
bool use_main_texture
True if the detail texture is the same as the LOD0 of the main texture.
Definition sprite_internal.h:53
uint16_t version
Version of the structure (currently 1)
Definition sprite_internal.h:27
bool __sprite_upgrade(sprite_t *sprite)
Convert a sprite from the old format with implicit texture format.
Definition sprite.c:39
uint16_t height
Height of this LOD.
Definition sprite_internal.h:32
uint16_t size
Size of the structure itself (for forward compatibility)
Definition sprite_internal.h:26
float blend_factor
Blending factor for the detail texture at maximum zoom (0=hidden, 1=opaque)
Definition sprite_internal.h:52
uint16_t width
Width of this LOD.
Definition sprite_internal.h:31
Internal structure used as additional sprite header.
Definition sprite_internal.h:25
Detail texture parameters.
Definition sprite_internal.h:50
Information on LODs.
Definition sprite_internal.h:30
RDP texture parameters.
Definition sprite_internal.h:40
Surface buffers used to draw images.