mirror of
https://github.com/pret/pokeplatinum.git
synced 2026-04-26 00:32:20 -05:00
69 lines
5.7 KiB
C
69 lines
5.7 KiB
C
#ifndef POKEPLATINUM_SPRITE_RESOURCE_H
|
|
#define POKEPLATINUM_SPRITE_RESOURCE_H
|
|
|
|
#include "constants/heap.h"
|
|
|
|
#include "struct_decls/struct_02006C24_decl.h"
|
|
#include "struct_decls/struct_02009714_decl.h"
|
|
#include "struct_defs/struct_02009CFC.h"
|
|
#include "struct_decls/struct_02009DC8_decl.h"
|
|
#include "struct_decls/struct_02009F38_decl.h"
|
|
|
|
#include <nnsys.h>
|
|
|
|
enum SpriteResourceType {
|
|
SPRITE_RESOURCE_CHAR = 0,
|
|
SPRITE_RESOURCE_PALETTE,
|
|
SPRITE_RESOURCE_CELL,
|
|
SPRITE_RESOURCE_CELL_ANIM,
|
|
SPRITE_RESOURCE_MULTI_CELL,
|
|
SPRITE_RESOURCE_MULTI_CELL_ANIM,
|
|
};
|
|
|
|
SpriteResourceCollection *SpriteResourceCollection_New(int capacity, enum SpriteResourceType type, enum HeapId heapID);
|
|
void SpriteResourceCollection_Delete(SpriteResourceCollection *spriteResources);
|
|
SpriteResource *SpriteResourceCollection_AddFromTable(SpriteResourceCollection *spriteResources, const SpriteResourceTable *table, int index, enum HeapId heapID);
|
|
SpriteResource *SpriteResourceCollection_AddChar(SpriteResourceCollection *spriteResources, int narcIdx, int memberIdx, BOOL compressed, int id, NNS_G2D_VRAM_TYPE vramType, enum HeapId heapID);
|
|
SpriteResource *SpriteResourceCollection_AddPalette(SpriteResourceCollection *spriteResources, int narcIdx, int memberIdx, BOOL compressed, int id, NNS_G2D_VRAM_TYPE vramType, int paletteIdx, enum HeapId heapID);
|
|
SpriteResource *SpriteResourceCollection_Add(SpriteResourceCollection *spriteResources, int narcIdx, int memberIdx, BOOL compressed, int id, enum SpriteResourceType type, enum HeapId heapID);
|
|
void SpriteResourceCollection_ModifyChar(SpriteResourceCollection *spriteResources, SpriteResource *spriteRes, int narcIdx, int memberIdx, BOOL compressed, enum HeapId heapID);
|
|
void SpriteResourceCollection_ModifyPalette(SpriteResourceCollection *spriteResources, SpriteResource *spriteRes, int narcIdx, int memberIdx, BOOL compressed, enum HeapId heapID);
|
|
SpriteResource *SpriteResourceCollection_AddCharFrom(SpriteResourceCollection *spriteResources, NARC *narc, int memberIdx, BOOL compressed, int id, NNS_G2D_VRAM_TYPE vramType, enum HeapId heapID);
|
|
SpriteResource *SpriteResourceCollection_AddCharFromEx(SpriteResourceCollection *spriteResources, NARC *narc, int memberIdx, BOOL compressed, int id, NNS_G2D_VRAM_TYPE vramType, enum HeapId heapID, int param7);
|
|
SpriteResource *SpriteResourceCollection_AddPaletteFrom(SpriteResourceCollection *spriteResources, NARC *narc, int memberIdx, BOOL compressed, int id, NNS_G2D_VRAM_TYPE vramType, int paletteIdx, enum HeapId heapID);
|
|
SpriteResource *SpriteResourceCollection_AddPaletteFromEx(SpriteResourceCollection *spriteResources, NARC *narc, int memberIdx, BOOL compressed, int id, NNS_G2D_VRAM_TYPE vramType, int paletteIdx, enum HeapId heapID, int param8);
|
|
SpriteResource *SpriteResourceCollection_AddFrom(SpriteResourceCollection *spriteResources, NARC *narc, int memberIdx, BOOL compressed, int id, enum SpriteResourceType type, enum HeapId heapID);
|
|
void SpriteResourceCollection_ModifyCharFrom(SpriteResourceCollection *spriteResources, SpriteResource *spriteRes, NARC *narc, int memberIdx, BOOL compressed, enum HeapId heapID);
|
|
int SpriteResourceCollection_AddTable(SpriteResourceCollection *spriteResources, const SpriteResourceTable *table, SpriteResourceList *outList, enum HeapId heapID);
|
|
void SpriteResoureCollection_AddTableEx(SpriteResourceCollection *spriteResources, const SpriteResourceTable *table, int first, int count, SpriteResourceList *outList, enum HeapId heapID);
|
|
SpriteResourceList *SpriteResourceList_New(int capacity, enum HeapId heapID);
|
|
void SpriteResourceList_Delete(SpriteResourceList *list);
|
|
BOOL SpriteResourceCollection_IsIDUnused(const SpriteResourceCollection *spriteResources, int id);
|
|
void SpriteResource_ReleaseData(SpriteResource *spriteRes);
|
|
void SpriteResourceCollection_Remove(SpriteResourceCollection *spriteResources, SpriteResource *resource);
|
|
void SpriteResourceCollection_Clear(SpriteResourceCollection *spriteResources);
|
|
SpriteResource *SpriteResourceCollection_Find(const SpriteResourceCollection *spriteResources, int id);
|
|
int SpriteResource_GetID(const SpriteResource *spriteRes);
|
|
NNSG2dCharacterData *SpriteResource_GetCharData(const SpriteResource *spriteRes);
|
|
NNSG2dPaletteData *SpriteResource_GetPaletteData(const SpriteResource *spriteRes);
|
|
NNSG2dCellDataBank *SpriteResource_GetCellData(const SpriteResource *spriteRes);
|
|
NNSG2dCellAnimBankData *SpriteResource_GetCellAnimData(const SpriteResource *spriteRes);
|
|
NNSG2dMultiCellDataBank *SpriteResource_GetMultiCellData(const SpriteResource *spriteRes);
|
|
NNSG2dMultiCellAnimBankData *SpriteResource_GetMultiCellAnimData(const SpriteResource *spriteRes);
|
|
enum SpriteResourceType SpriteResource_GetType(const SpriteResource *spriteRes);
|
|
NNS_G2D_VRAM_TYPE SpriteResource_GetVRAMType(const SpriteResource *spriteRes);
|
|
int SpriteResource_GetPaletteIndex(const SpriteResource *spriteRes);
|
|
void SpriteResource_SetVRAMType(SpriteResource *spriteRes, NNS_G2D_VRAM_TYPE vramType);
|
|
int SpriteResourceTable_Size(void);
|
|
SpriteResourceTable *SpriteResourceTable_GetArrayElement(SpriteResourceTable *table, int index);
|
|
void SpriteResourceTable_LoadFromBinary(const void *data, SpriteResourceTable *table, enum HeapId heapID);
|
|
void SpriteResourceTable_Clear(SpriteResourceTable *table);
|
|
int SpriteResourceTable_GetCount(const SpriteResourceTable *table);
|
|
int SpriteResourceTable_GetEntryID(const SpriteResourceTable *table, int index);
|
|
int SpriteResourceTable_GetNARCEntryMemberIndex(const SpriteResourceTable *table, int index);
|
|
BOOL SpriteResourceTable_IsNARCEntryCompressed(const SpriteResourceTable *table, int index);
|
|
NNS_G2D_VRAM_TYPE SpriteResourceTable_GetEntryVRAMType(const SpriteResourceTable *table, int index);
|
|
int SpriteResourceTable_GetPaletteIndex(const SpriteResourceTable *table, int index);
|
|
|
|
#endif // POKEPLATINUM_SPRITE_RESOURCE_H
|