Rename documented instances of SpriteSystem, SpriteManager, and ManagedSprite

This commit is contained in:
Rachel 2025-02-13 18:58:50 -08:00
parent 41abbde3c6
commit 3049148851
10 changed files with 121 additions and 121 deletions

View File

@ -420,10 +420,10 @@ typedef struct PokemonSummaryScreen {
ConditionRectangle maxRects[MAX_CONDITION_RECT];
u32 conditionState;
SpriteSystem *renderer;
SpriteManager *gfxHandler;
SpriteSystem *spriteSys;
SpriteManager *spriteMan;
Sprite *sprites[SUMMARY_SPRITE_MAX];
ManagedSprite *sprite[SUMMARY_SPRITE_MAX];
ManagedSprite *managedSprites[SUMMARY_SPRITE_MAX];
UnkStruct_0200C440 *unk_684;
MessageLoader *msgLoader;

View File

@ -62,8 +62,8 @@ enum HealthbarGaugeType {
* @param palette
* @param healthbarType
*/
void Healthbar_LoadResources(SpriteSystem *renderer, SpriteManager *gfxHandler, NARC *narc, PaletteData *palette, enum HealthbarType healthbarType);
ManagedSprite *Healthbar_LoadCellActor(SpriteSystem *renderer, SpriteManager *handler, int type);
void Healthbar_LoadResources(SpriteSystem *spriteSys, SpriteManager *spriteMan, NARC *narc, PaletteData *palette, enum HealthbarType healthbarType);
ManagedSprite *Healthbar_DrawSprite(SpriteSystem *spriteSys, SpriteManager *spriteMan, int type);
/**
* @brief Draw the informational parts of the healthbar, according to a set

View File

@ -39,14 +39,14 @@ enum HideArrowType {
* @param gfxHandler
* @param palette
*/
void PartyGauge_LoadGraphics(SpriteSystem *renderer, SpriteManager *gfxHandler, PaletteData *palette);
void PartyGauge_LoadGraphics(SpriteSystem *spriteSys, SpriteManager *spriteMan, PaletteData *palette);
/**
* @brief Free the graphics resources needed for the Party Gauge from memory.
*
* @param gfxHandler
*/
void PartyGauge_FreeGraphics(SpriteManager *gfxHandler);
void PartyGauge_FreeGraphics(SpriteManager *spriteMan);
/**
* @brief Show the Party Gauge.
@ -68,7 +68,7 @@ void PartyGauge_FreeGraphics(SpriteManager *gfxHandler);
* @return Pointer to the constructed PartyGauge struct, for tracking its progress
* and eventually hiding it.
*/
PartyGauge *PartyGauge_Show(u8 ballStatus[], enum PartyGaugeSide side, enum ShowPartyGaugeType showType, enum PartyGaugePosition pos, SpriteSystem *renderer, SpriteManager *gfxHandler);
PartyGauge *PartyGauge_Show(u8 ballStatus[], enum PartyGaugeSide side, enum ShowPartyGaugeType showType, enum PartyGaugePosition pos, SpriteSystem *spriteSys, SpriteManager *spriteMan);
/**
* @brief Check if the Party Gauge has finished the inward scrolling animation.

View File

@ -320,7 +320,7 @@ Static main
Object main.nef.p/src_unk_0208C010.c.o
Object main.nef.p/src_unk_0208C098.c.o
Object main.nef.p/src_applications_pokemon_summary_screen_main.c.o
Object main.nef.p/src_applications_pokemon_summary_screen_sprite.c.o
Object main.nef.p/src_applications_pokemon_summary_screen_sprites.c.o
Object main.nef.p/src_applications_pokemon_summary_screen_window.c.o
Object main.nef.p/src_applications_pokemon_summary_screen_3d_anim.c.o
Object main.nef.p/src_applications_pokemon_summary_screen_subscreen.c.o

View File

@ -328,7 +328,7 @@ static int PokemonSummaryScreen_Main(OverlayManager *ovyManager, int *state)
PokemonSummaryScreen_UpdateArrowAndTapAnims(summaryScreen);
PokemonSummaryScreen_DrawSheenSprites(summaryScreen);
PokemonSummaryScreen_UpdateRibbonFlashAnim(summaryScreen);
SpriteSystem_DrawSprites(summaryScreen->gfxHandler);
SpriteSystem_DrawSprites(summaryScreen->spriteMan);
PokemonSummaryScreen_Update3DGfx(summaryScreen);
return FALSE;

View File

@ -1,4 +1,4 @@
#include "sprite.h"
#include "applications/pokemon_summary_screen/sprites.h"
#include <nitro.h>
#include <string.h>
@ -8,7 +8,6 @@
#include "generated/items.h"
#include "applications/pokemon_summary_screen/main.h"
#include "applications/pokemon_summary_screen/sprites.h"
#include "applications/pokemon_summary_screen/subscreen.h"
#include "graphics/pokemon_summary_screen/pl_pst_gra.naix"
@ -18,6 +17,7 @@
#include "pokemon.h"
#include "pokemon_icon.h"
#include "ribbon.h"
#include "sprite.h"
#include "sprite_system.h"
#include "unk_0207C908.h"
#include "vram_transfer.h"
@ -218,8 +218,8 @@ void PokemonSummaryScreen_InitSpriteResources(PokemonSummaryScreen *summaryScree
GXLayers_EngineBToggleLayers(GX_PLANEMASK_OBJ, TRUE);
VramTransfer_New(32, HEAP_ID_POKEMON_SUMMARY_SCREEN);
summaryScreen->renderer = SpriteSystem_Alloc(HEAP_ID_POKEMON_SUMMARY_SCREEN);
summaryScreen->gfxHandler = SpriteManager_New(summaryScreen->renderer);
summaryScreen->spriteSys = SpriteSystem_Alloc(HEAP_ID_POKEMON_SUMMARY_SCREEN);
summaryScreen->spriteMan = SpriteManager_New(summaryScreen->spriteSys);
RenderOamTemplate v0 = {
0,
@ -240,8 +240,8 @@ void PokemonSummaryScreen_InitSpriteResources(PokemonSummaryScreen *summaryScree
GX_OBJVRAMMODE_CHAR_1D_32K
};
SpriteSystem_Init(summaryScreen->renderer, &v0, &v1, 32);
SpriteSystem_InitSprites(summaryScreen->renderer, summaryScreen->gfxHandler, SUMMARY_SPRITE_MAX);
SpriteSystem_Init(summaryScreen->spriteSys, &v0, &v1, 32);
SpriteSystem_InitSprites(summaryScreen->spriteSys, summaryScreen->spriteMan, SUMMARY_SPRITE_MAX);
SpriteResourceDataPaths v2 = {
"data/pst_chr.resdat",
@ -253,13 +253,13 @@ void PokemonSummaryScreen_InitSpriteResources(PokemonSummaryScreen *summaryScree
"data/pst_h.cldat"
};
SpriteSystem_LoadResourceDataFromFilepaths(summaryScreen->renderer, summaryScreen->gfxHandler, &v2);
SpriteSystem_LoadResourceDataFromFilepaths(summaryScreen->spriteSys, summaryScreen->spriteMan, &v2);
}
void PokemonSummaryScreen_FreeSpriteResources(PokemonSummaryScreen *summaryScreen)
{
SpriteSystem_DestroySpriteManager(summaryScreen->renderer, summaryScreen->gfxHandler);
SpriteSystem_Free(summaryScreen->renderer);
SpriteSystem_DestroySpriteManager(summaryScreen->spriteSys, summaryScreen->spriteMan);
SpriteSystem_Free(summaryScreen->spriteSys);
}
void PokemonSummaryScreen_UpdateArrowAndTapAnims(PokemonSummaryScreen *summaryScreen)
@ -274,7 +274,7 @@ void PokemonSummaryScreen_UpdateArrowAndTapAnims(PokemonSummaryScreen *summarySc
void PokemonSummaryScreen_SetDefaultSpriteStates(PokemonSummaryScreen *summaryScreen)
{
for (u16 i = 0; i < SUMMARY_SPRITE_MAX; i++) {
summaryScreen->sprites[i] = SpriteSystem_NewSpriteFromResourceHeader(summaryScreen->renderer, summaryScreen->gfxHandler, &Unk_020F41A8[i]);
summaryScreen->sprites[i] = SpriteSystem_NewSpriteFromResourceHeader(summaryScreen->spriteSys, summaryScreen->spriteMan, &Unk_020F41A8[i]);
}
SetMonAndTypeIcons(summaryScreen);
@ -389,8 +389,8 @@ void PokemonSummaryScreen_SetCaughtBallGfx(PokemonSummaryScreen *summaryScreen)
ballMember = master_ball_NCGR + summaryScreen->monData.caughtBall - 1;
}
SpriteSystem_ReplaceCharResObj(summaryScreen->renderer, summaryScreen->gfxHandler, NARC_INDEX_GRAPHIC__PL_PST_GRA, ballMember, FALSE, 0);
SpriteSystem_ReplacePlttResObj(summaryScreen->renderer, summaryScreen->gfxHandler, NARC_INDEX_GRAPHIC__PL_PST_GRA, balls_0_NCLR + sBallIDToPaletteNum[summaryScreen->monData.caughtBall], FALSE, 6);
SpriteSystem_ReplaceCharResObj(summaryScreen->spriteSys, summaryScreen->spriteMan, NARC_INDEX_GRAPHIC__PL_PST_GRA, ballMember, FALSE, 0);
SpriteSystem_ReplacePlttResObj(summaryScreen->spriteSys, summaryScreen->spriteMan, NARC_INDEX_GRAPHIC__PL_PST_GRA, balls_0_NCLR + sBallIDToPaletteNum[summaryScreen->monData.caughtBall], FALSE, 6);
}
void PokemonSummaryScreen_UpdateStatusIcon(PokemonSummaryScreen *summaryScreen)
@ -495,7 +495,7 @@ void PokemonSummaryScreen_SetMonTypeIcons(PokemonSummaryScreen *summaryScreen)
static void SetTypeIcon(PokemonSummaryScreen *summaryScreen, u8 spriteIndex, u8 param2, u8 type)
{
SpriteSystem_ReplaceCharResObj(summaryScreen->renderer, summaryScreen->gfxHandler, sub_0207C944(), sub_0207C908(type), 1, param2);
SpriteSystem_ReplaceCharResObj(summaryScreen->spriteSys, summaryScreen->spriteMan, sub_0207C944(), sub_0207C908(type), 1, param2);
Sprite_SetExplicitPalette2(summaryScreen->sprites[spriteIndex], sub_0207C92C(type) + 3);
}
@ -528,7 +528,7 @@ void PokemonSummaryScreen_UpdateMoveCategoryIcon(PokemonSummaryScreen *summarySc
{
u32 category = MoveTable_LoadParam(move, MOVEATTRIBUTE_CLASS);
SpriteSystem_ReplaceCharResObj(summaryScreen->renderer, summaryScreen->gfxHandler, sub_0207CAC0(), sub_0207CA90(category), 1, 10);
SpriteSystem_ReplaceCharResObj(summaryScreen->spriteSys, summaryScreen->spriteMan, sub_0207CAC0(), sub_0207CA90(category), 1, 10);
Sprite_SetExplicitPalette2(summaryScreen->sprites[SUMMARY_SPRITE_MOVE_CATEGORY_ICON], sub_0207CAA8(category) + 3);
}
@ -725,14 +725,14 @@ void PokemonSummaryScreen_SetMonIcon(PokemonSummaryScreen *summaryScreen)
iconIndex = Pokemon_IconSpriteIndex(monData);
}
SpriteSystem_ReplaceCharResObj(summaryScreen->renderer, summaryScreen->gfxHandler, NARC_INDEX_POKETOOL__ICONGRA__PL_POKE_ICON, iconIndex, 0, 11);
SpriteSystem_ReplaceCharResObj(summaryScreen->spriteSys, summaryScreen->spriteMan, NARC_INDEX_POKETOOL__ICONGRA__PL_POKE_ICON, iconIndex, 0, 11);
Sprite_SetExplicitPalette2(summaryScreen->sprites[SUMMARY_SPRITE_MON_ICON], PokeIconPaletteIndex(summaryScreen->monData.species, summaryScreen->monData.form, summaryScreen->monData.isEgg) + 7);
Sprite_SetFlipMode(summaryScreen->sprites[SUMMARY_SPRITE_MON_ICON], (SpeciesData_GetFormValue(summaryScreen->monData.species, summaryScreen->monData.form, 28) ^ 1));
}
void PokemonSummaryScreen_ShowMonIcon(PokemonSummaryScreen *summaryScreen)
{
SpriteSystem_ReplacePlttResObj(summaryScreen->renderer, summaryScreen->gfxHandler, NARC_INDEX_POKETOOL__ICONGRA__PL_POKE_ICON, PokeIconPalettesFileIndex(), FALSE, 5);
SpriteSystem_ReplacePlttResObj(summaryScreen->spriteSys, summaryScreen->spriteMan, NARC_INDEX_POKETOOL__ICONGRA__PL_POKE_ICON, PokeIconPalettesFileIndex(), FALSE, 5);
if (summaryScreen->page == SUMMARY_PAGE_BATTLE_MOVES) {
Sprite_SetPositionXY(summaryScreen->sprites[SUMMARY_SPRITE_MON_ICON], 24, 48);
@ -788,7 +788,7 @@ void PokemonSummaryScreen_HideContestStatDots(PokemonSummaryScreen *summaryScree
static void SetRibbonSpriteGfx(PokemonSummaryScreen *summaryScreen, u8 ribbonNum, u8 ribbonIndex)
{
SpriteSystem_ReplaceCharResObj(summaryScreen->renderer, summaryScreen->gfxHandler, NARC_INDEX_GRAPHIC__PL_PST_GRA, Ribbon_GetData(ribbonNum, RIBBON_DATA_SPRITE_ID), 0, 26 + ribbonIndex);
SpriteSystem_ReplaceCharResObj(summaryScreen->spriteSys, summaryScreen->spriteMan, NARC_INDEX_GRAPHIC__PL_PST_GRA, Ribbon_GetData(ribbonNum, RIBBON_DATA_SPRITE_ID), 0, 26 + ribbonIndex);
Sprite_SetExplicitPalette2(summaryScreen->sprites[SUMMARY_SPRITE_RIBBON_1 + ribbonIndex], Ribbon_GetData(ribbonNum, RIBBON_DATA_PALETTE_NUM) + 7);
}
@ -803,7 +803,7 @@ void PokemonSummaryScreen_UpdateRibbonSprites(PokemonSummaryScreen *summaryScree
return;
}
SpriteSystem_ReplacePlttResObj(summaryScreen->renderer, summaryScreen->gfxHandler, NARC_INDEX_GRAPHIC__PL_PST_GRA, ribbons_NCLR, FALSE, 5);
SpriteSystem_ReplacePlttResObj(summaryScreen->spriteSys, summaryScreen->spriteMan, NARC_INDEX_GRAPHIC__PL_PST_GRA, ribbons_NCLR, FALSE, 5);
for (i = 0; i < RIBBONS_PER_PAGE; i++) {
if (i < summaryScreen->ribbonMax) {

View File

@ -88,7 +88,7 @@ static void Healthbar_DrawCaughtIcon(Healthbar *param0);
static void Healthbar_DrawStatusIcon(Healthbar *param0, int param1);
static void Healthbar_DrawBallCount(Healthbar *param0, u32 param1);
static void Healthbar_DrawBallsLeftMessage(Healthbar *param0, u32 param1);
static void Healthbar_LoadMainPalette(SpriteSystem *renderer, SpriteManager *handler, NARC *narc, PaletteData *palette, int type);
static void Healthbar_LoadMainPalette(SpriteSystem *spriteSys, SpriteManager *handler, NARC *narc, PaletteData *palette, int type);
static void ov16_02267244(Healthbar *param0);
static void ov16_0226728C(Healthbar *param0);
static const SpriteTemplate *Healthbar_SpriteTemplate(u8 type);
@ -511,40 +511,40 @@ static const SpriteTemplate sHealthbarTemplate_NoPlayerMon = {
#include "battle/rodata_ov16_0226F6AC.h"
void Healthbar_LoadResources(SpriteSystem *renderer, SpriteManager *gfxHandler, NARC *narc, PaletteData *palette, enum HealthbarType healthbarType)
void Healthbar_LoadResources(SpriteSystem *spriteSys, SpriteManager *spriteMan, NARC *narc, PaletteData *palette, enum HealthbarType healthbarType)
{
const SpriteTemplate *template = Healthbar_SpriteTemplate(healthbarType);
SpriteSystem_LoadCharResObjFromOpenNarc(renderer, gfxHandler, narc, template->resources[SPRITE_RESOURCE_CHAR], TRUE, NNS_G2D_VRAM_TYPE_2DMAIN, template->resources[SPRITE_RESOURCE_CHAR]);
SpriteSystem_LoadPaletteBufferFromOpenNarc(palette, PLTTBUF_MAIN_OBJ, renderer, gfxHandler, narc, 71, FALSE, 1, NNS_G2D_VRAM_TYPE_2DMAIN, HEALTHBAR_MAIN_PALETTE_RESID);
SpriteSystem_LoadCellResObjFromOpenNarc(renderer, gfxHandler, narc, template->resources[SPRITE_RESOURCE_CELL], TRUE, template->resources[SPRITE_RESOURCE_CELL]);
SpriteSystem_LoadAnimResObjFromOpenNarc(renderer, gfxHandler, narc, template->resources[SPRITE_RESOURCE_ANIM], TRUE, template->resources[SPRITE_RESOURCE_ANIM]);
SpriteSystem_LoadPaletteBufferFromOpenNarc(palette, PLTTBUF_MAIN_OBJ, renderer, gfxHandler, narc, 71, FALSE, 1, NNS_G2D_VRAM_TYPE_2DMAIN, HEALTHBAR_EFFECTS_PALETTE_RESID);
SpriteSystem_LoadCharResObjFromOpenNarc(spriteSys, spriteMan, narc, template->resources[SPRITE_RESOURCE_CHAR], TRUE, NNS_G2D_VRAM_TYPE_2DMAIN, template->resources[SPRITE_RESOURCE_CHAR]);
SpriteSystem_LoadPaletteBufferFromOpenNarc(palette, PLTTBUF_MAIN_OBJ, spriteSys, spriteMan, narc, 71, FALSE, 1, NNS_G2D_VRAM_TYPE_2DMAIN, HEALTHBAR_MAIN_PALETTE_RESID);
SpriteSystem_LoadCellResObjFromOpenNarc(spriteSys, spriteMan, narc, template->resources[SPRITE_RESOURCE_CELL], TRUE, template->resources[SPRITE_RESOURCE_CELL]);
SpriteSystem_LoadAnimResObjFromOpenNarc(spriteSys, spriteMan, narc, template->resources[SPRITE_RESOURCE_ANIM], TRUE, template->resources[SPRITE_RESOURCE_ANIM]);
SpriteSystem_LoadPaletteBufferFromOpenNarc(palette, PLTTBUF_MAIN_OBJ, spriteSys, spriteMan, narc, 71, FALSE, 1, NNS_G2D_VRAM_TYPE_2DMAIN, HEALTHBAR_EFFECTS_PALETTE_RESID);
if (healthbarType == HEALTHBAR_TYPE_SAFARI_ZONE || healthbarType == HEALTHBAR_TYPE_PAL_PARK) {
SpriteSystem_LoadPaletteBufferFromOpenNarc(palette, PLTTBUF_MAIN_OBJ, renderer, gfxHandler, narc, 81, 0, 1, NNS_G2D_VRAM_TYPE_2DMAIN, HEALTHBAR_SAFARI_PALETTE_RESID);
SpriteSystem_LoadPaletteBufferFromOpenNarc(palette, PLTTBUF_MAIN_OBJ, spriteSys, spriteMan, narc, 81, 0, 1, NNS_G2D_VRAM_TYPE_2DMAIN, HEALTHBAR_SAFARI_PALETTE_RESID);
}
}
static void Healthbar_LoadMainPalette(SpriteSystem *renderer, SpriteManager *handler, NARC *narc, PaletteData *palette, int type)
static void Healthbar_LoadMainPalette(SpriteSystem *spriteSys, SpriteManager *handler, NARC *narc, PaletteData *palette, int type)
{
const SpriteTemplate *template = ov16_02268314(type);
if (template != NULL) {
SpriteSystem_LoadCharResObjFromOpenNarc(renderer, handler, narc, template->resources[SPRITE_RESOURCE_CHAR], TRUE, NNS_G2D_VRAM_TYPE_2DMAIN, template->resources[SPRITE_RESOURCE_CHAR]);
SpriteSystem_LoadPaletteBufferFromOpenNarc(palette, PLTTBUF_MAIN_OBJ, renderer, handler, narc, 71, FALSE, 1, NNS_G2D_VRAM_TYPE_2DMAIN, HEALTHBAR_MAIN_PALETTE_RESID);
SpriteSystem_LoadCellResObjFromOpenNarc(renderer, handler, narc, template->resources[SPRITE_RESOURCE_CELL], TRUE, template->resources[SPRITE_RESOURCE_CELL]);
SpriteSystem_LoadAnimResObjFromOpenNarc(renderer, handler, narc, template->resources[SPRITE_RESOURCE_ANIM], TRUE, template->resources[SPRITE_RESOURCE_ANIM]);
SpriteSystem_LoadCharResObjFromOpenNarc(spriteSys, handler, narc, template->resources[SPRITE_RESOURCE_CHAR], TRUE, NNS_G2D_VRAM_TYPE_2DMAIN, template->resources[SPRITE_RESOURCE_CHAR]);
SpriteSystem_LoadPaletteBufferFromOpenNarc(palette, PLTTBUF_MAIN_OBJ, spriteSys, handler, narc, 71, FALSE, 1, NNS_G2D_VRAM_TYPE_2DMAIN, HEALTHBAR_MAIN_PALETTE_RESID);
SpriteSystem_LoadCellResObjFromOpenNarc(spriteSys, handler, narc, template->resources[SPRITE_RESOURCE_CELL], TRUE, template->resources[SPRITE_RESOURCE_CELL]);
SpriteSystem_LoadAnimResObjFromOpenNarc(spriteSys, handler, narc, template->resources[SPRITE_RESOURCE_ANIM], TRUE, template->resources[SPRITE_RESOURCE_ANIM]);
}
}
ManagedSprite *Healthbar_LoadCellActor(SpriteSystem *renderer, SpriteManager *handler, int type)
ManagedSprite *Healthbar_DrawSprite(SpriteSystem *spriteSys, SpriteManager *handler, int type)
{
const SpriteTemplate *template = Healthbar_SpriteTemplate(type);
ManagedSprite *data = SpriteSystem_NewSprite(renderer, handler, template);
ManagedSprite *managedSprite = SpriteSystem_NewSprite(spriteSys, handler, template);
Sprite_TickFrame(data->sprite);
return data;
Sprite_TickFrame(managedSprite->sprite);
return managedSprite;
}
void Healthbar_DrawInfo(Healthbar *healthbar, u32 hp, u32 flags)
@ -742,7 +742,7 @@ void ov16_022672C4(Healthbar *param0)
v0 = Healthbar_SpriteTemplate(param0->type);
Healthbar_LoadResources(v1, v2, v4, v3, param0->type);
param0->mainSprite = Healthbar_LoadCellActor(v1, v2, param0->type);
param0->mainSprite = Healthbar_DrawSprite(v1, v2, param0->type);
Healthbar_LoadMainPalette(v1, v2, v4, v3, param0->type);

View File

@ -22,7 +22,7 @@
#include "unk_02005474.h"
typedef struct {
ManagedSprite *cells;
ManagedSprite *managedSprite;
SysTask *task;
enum HideArrowType hideType;
enum PartyGaugeSide side;
@ -34,7 +34,7 @@ typedef struct {
} PartyGaugeArrow;
typedef struct {
ManagedSprite *cells;
ManagedSprite *managedSprite;
SysTask *task;
enum PartyGaugeSide side;
enum PartyGaugePosition position;
@ -70,9 +70,9 @@ enum PartyGaugeAnimIndex {
PGANM_ARROW_OURS,
};
static void ShowArrow(PartyGaugeArrow *arrow, enum PartyGaugeSide side, enum PartyGaugePosition pos, SpriteSystem *renderer, SpriteManager *gfxHandler);
static void ShowArrow(PartyGaugeArrow *arrow, enum PartyGaugeSide side, enum PartyGaugePosition pos, SpriteSystem *spriteSys, SpriteManager *spriteMan);
static void HideArrow(PartyGaugeArrow *arrow, enum HideArrowType type);
static void ShowPokeballs(PartyGaugePokeballs *pokeballs, s8 *numBalls, enum PartyGaugeSide side, enum ShowPartyGaugeType type, enum PartyGaugePosition pos, int slot, int frame, SpriteSystem *renderer, SpriteManager *gfxHandler);
static void ShowPokeballs(PartyGaugePokeballs *pokeballs, s8 *numBalls, enum PartyGaugeSide side, enum ShowPartyGaugeType type, enum PartyGaugePosition pos, int slot, int frame, SpriteSystem *spriteSys, SpriteManager *spriteMan);
static void HidePokeballs(PartyGaugePokeballs *pokeballs, int slot, enum HidePartyGaugeType type, s16 *arrowAlpha);
static void ShowArrowTask(SysTask *task, void *data);
static void HideArrowTask(SysTask *task, void *data);
@ -198,24 +198,24 @@ __attribute__((aligned(4))) static const u16 sPokeballYPosTheirs[] = {
#define PARTY_GAUGE_NCER_BIN 341
#define PARTY_GAUGE_NANR_BIN 342
void PartyGauge_LoadGraphics(SpriteSystem *renderer, SpriteManager *gfxHandler, PaletteData *palette)
void PartyGauge_LoadGraphics(SpriteSystem *spriteSys, SpriteManager *spriteMan, PaletteData *palette)
{
NARC *narc = NARC_ctor(NARC_INDEX_BATTLE__GRAPHIC__PL_BATT_OBJ, HEAP_ID_BATTLE);
SpriteSystem_LoadPaletteBufferFromOpenNarc(palette, PLTTBUF_MAIN_OBJ, renderer, gfxHandler, narc, PARTY_GAUGE_NCLR, FALSE, 1, NNS_G2D_VRAM_TYPE_2DMAIN, PARTY_GAUGE_PLTT_RES_ID);
SpriteSystem_LoadCharResObjFromOpenNarc(renderer, gfxHandler, narc, PARTY_GAUGE_NCGR_BIN, TRUE, NNS_G2D_VRAM_TYPE_2DMAIN, PARTY_GAUGE_CHAR_RES_ID);
SpriteSystem_LoadCellResObjFromOpenNarc(renderer, gfxHandler, narc, PARTY_GAUGE_NCER_BIN, TRUE, PARTY_GAUGE_CELL_RES_ID);
SpriteSystem_LoadAnimResObjFromOpenNarc(renderer, gfxHandler, narc, PARTY_GAUGE_NANR_BIN, TRUE, PARTY_GAUGE_ANIM_RES_ID);
SpriteSystem_LoadPaletteBufferFromOpenNarc(palette, PLTTBUF_MAIN_OBJ, spriteSys, spriteMan, narc, PARTY_GAUGE_NCLR, FALSE, 1, NNS_G2D_VRAM_TYPE_2DMAIN, PARTY_GAUGE_PLTT_RES_ID);
SpriteSystem_LoadCharResObjFromOpenNarc(spriteSys, spriteMan, narc, PARTY_GAUGE_NCGR_BIN, TRUE, NNS_G2D_VRAM_TYPE_2DMAIN, PARTY_GAUGE_CHAR_RES_ID);
SpriteSystem_LoadCellResObjFromOpenNarc(spriteSys, spriteMan, narc, PARTY_GAUGE_NCER_BIN, TRUE, PARTY_GAUGE_CELL_RES_ID);
SpriteSystem_LoadAnimResObjFromOpenNarc(spriteSys, spriteMan, narc, PARTY_GAUGE_NANR_BIN, TRUE, PARTY_GAUGE_ANIM_RES_ID);
NARC_dtor(narc);
}
void PartyGauge_FreeGraphics(SpriteManager *gfxHandler)
void PartyGauge_FreeGraphics(SpriteManager *spriteMan)
{
SpriteManager_UnloadCharObjById(gfxHandler, PARTY_GAUGE_CHAR_RES_ID);
SpriteManager_UnloadPlttObjById(gfxHandler, PARTY_GAUGE_PLTT_RES_ID);
SpriteManager_UnloadCellObjById(gfxHandler, PARTY_GAUGE_CELL_RES_ID);
SpriteManager_UnloadAnimObjById(gfxHandler, PARTY_GAUGE_ANIM_RES_ID);
SpriteManager_UnloadCharObjById(spriteMan, PARTY_GAUGE_CHAR_RES_ID);
SpriteManager_UnloadPlttObjById(spriteMan, PARTY_GAUGE_PLTT_RES_ID);
SpriteManager_UnloadCellObjById(spriteMan, PARTY_GAUGE_CELL_RES_ID);
SpriteManager_UnloadAnimObjById(spriteMan, PARTY_GAUGE_ANIM_RES_ID);
}
static PartyGauge *NewPartyGauge()
@ -231,14 +231,14 @@ static void FreePartyGauge(PartyGauge *gauge)
Heap_FreeToHeap(gauge);
}
PartyGauge *PartyGauge_Show(u8 ballStatus[], enum PartyGaugeSide side, enum ShowPartyGaugeType showType, enum PartyGaugePosition pos, SpriteSystem *renderer, SpriteManager *gfxHandler)
PartyGauge *PartyGauge_Show(u8 ballStatus[], enum PartyGaugeSide side, enum ShowPartyGaugeType showType, enum PartyGaugePosition pos, SpriteSystem *spriteSys, SpriteManager *spriteMan)
{
PartyGauge *gauge = NewPartyGauge();
ShowArrow(&gauge->arrow, side, pos, renderer, gfxHandler);
ShowArrow(&gauge->arrow, side, pos, spriteSys, spriteMan);
for (int slot = 0; slot < MAX_PARTY_SIZE; slot++) {
int frame = PokeballsAnimationFrame(ballStatus[slot], side);
ShowPokeballs(&gauge->pokeballs[slot], &gauge->pokeballCount, side, showType, pos, slot, frame, renderer, gfxHandler);
ShowPokeballs(&gauge->pokeballs[slot], &gauge->pokeballCount, side, showType, pos, slot, frame, spriteSys, spriteMan);
}
return gauge;
@ -292,10 +292,10 @@ BOOL PartyGauge_HideIsDone(PartyGauge *gauge)
void PartyGauge_Free(PartyGauge *gauge)
{
Sprite_DeleteAndFreeResources(gauge->arrow.cells);
Sprite_DeleteAndFreeResources(gauge->arrow.managedSprite);
for (int i = 0; i < MAX_PARTY_SIZE; i++) {
Sprite_DeleteAndFreeResources(gauge->pokeballs[i].cells);
Sprite_DeleteAndFreeResources(gauge->pokeballs[i].managedSprite);
}
FreePartyGauge(gauge);
@ -307,22 +307,22 @@ enum ShowArrowState {
SHOW_ARROW_DONE,
};
static void ShowArrow(PartyGaugeArrow *arrow, enum PartyGaugeSide side, enum PartyGaugePosition pos, SpriteSystem *renderer, SpriteManager *gfxHandler)
static void ShowArrow(PartyGaugeArrow *arrow, enum PartyGaugeSide side, enum PartyGaugePosition pos, SpriteSystem *spriteSys, SpriteManager *spriteMan)
{
GF_ASSERT(arrow->cells == NULL && arrow->task == NULL);
GF_ASSERT(arrow->managedSprite == NULL && arrow->task == NULL);
MI_CpuClear8(arrow, sizeof(PartyGaugeArrow));
arrow->cells = SpriteSystem_NewSprite(renderer, gfxHandler, &sArrowTemplate);
arrow->managedSprite = SpriteSystem_NewSprite(spriteSys, spriteMan, &sArrowTemplate);
if (side == PARTY_GAUGE_OURS) {
ManagedSprite_SetPositionXY(arrow->cells, ARROW_X_START_OURS, sArrowYPosOurs[pos]);
Sprite_SetAnim(arrow->cells->sprite, PGANM_ARROW_OURS);
ManagedSprite_SetPositionXY(arrow->managedSprite, ARROW_X_START_OURS, sArrowYPosOurs[pos]);
Sprite_SetAnim(arrow->managedSprite->sprite, PGANM_ARROW_OURS);
} else {
ManagedSprite_SetPositionXY(arrow->cells, ARROW_X_START_THEIRS, sArrowYPosTheirs[pos]);
Sprite_SetAnim(arrow->cells->sprite, PGANM_ARROW_THEIRS);
ManagedSprite_SetPositionXY(arrow->managedSprite, ARROW_X_START_THEIRS, sArrowYPosTheirs[pos]);
Sprite_SetAnim(arrow->managedSprite->sprite, PGANM_ARROW_THEIRS);
}
Sprite_TickFrame(arrow->cells->sprite);
Sprite_TickFrame(arrow->managedSprite->sprite);
arrow->side = side;
arrow->position = pos;
@ -340,7 +340,7 @@ static void ShowArrowTask(SysTask *task, void *data)
case SHOW_ARROW_INIT:
s16 x, y;
ManagedSprite_GetPositionXY(arrow->cells, &x, &y);
ManagedSprite_GetPositionXY(arrow->managedSprite, &x, &y);
arrow->x = x << 8;
arrow->state++;
// fall-through
@ -352,7 +352,7 @@ static void ShowArrowTask(SysTask *task, void *data)
arrow->state++;
}
ManagedSprite_SetPositionXY(arrow->cells, arrow->x >> 8, sArrowYPosOurs[arrow->position]);
ManagedSprite_SetPositionXY(arrow->managedSprite, arrow->x >> 8, sArrowYPosOurs[arrow->position]);
} else {
arrow->x += ARROW_IN_SPEED;
if (arrow->x >= ARROW_X_END_THEIRS << 8) {
@ -360,7 +360,7 @@ static void ShowArrowTask(SysTask *task, void *data)
arrow->state++;
}
ManagedSprite_SetPositionXY(arrow->cells, arrow->x >> 8, sArrowYPosTheirs[arrow->position]);
ManagedSprite_SetPositionXY(arrow->managedSprite, arrow->x >> 8, sArrowYPosTheirs[arrow->position]);
}
break;
@ -379,7 +379,7 @@ enum HideArrowState {
static void HideArrow(PartyGaugeArrow *arrow, enum HideArrowType type)
{
GF_ASSERT(arrow->cells != NULL && arrow->task == NULL);
GF_ASSERT(arrow->managedSprite != NULL && arrow->task == NULL);
arrow->state = HIDE_ARROW_INIT;
arrow->hideType = type;
@ -401,10 +401,10 @@ static void HideArrowTask(SysTask *task, void *data)
case HIDE_ARROW_INIT:
s16 x, y;
ManagedSprite_GetPositionXY(arrow->cells, &x, &y);
ManagedSprite_GetPositionXY(arrow->managedSprite, &x, &y);
arrow->x = x << 8;
ManagedSprite_SetExplicitOamMode(arrow->cells, GX_OAM_MODE_XLU);
ManagedSprite_SetExplicitOamMode(arrow->managedSprite, GX_OAM_MODE_XLU);
arrow->alpha = 16 << 8;
G2_SetBlendAlpha(GX_BLEND_PLANEMASK_NONE, GX_BLEND_PLANEMASK_BG0 | GX_BLEND_PLANEMASK_BG1 | GX_BLEND_PLANEMASK_BG2 | GX_BLEND_PLANEMASK_BG3 | GX_BLEND_PLANEMASK_OBJ | GX_BLEND_PLANEMASK_BD, (arrow->alpha >> 8), 16 - (arrow->alpha >> 8));
@ -422,10 +422,10 @@ static void HideArrowTask(SysTask *task, void *data)
if (arrow->hideType == HIDE_ARROW_FADE_AND_SCROLL) {
if (arrow->side == PARTY_GAUGE_OURS) {
arrow->x -= ARROW_OUT_SPEED;
ManagedSprite_SetPositionXY(arrow->cells, arrow->x >> 8, sArrowYPosOurs[arrow->position]);
ManagedSprite_SetPositionXY(arrow->managedSprite, arrow->x >> 8, sArrowYPosOurs[arrow->position]);
} else {
arrow->x += ARROW_OUT_SPEED;
ManagedSprite_SetPositionXY(arrow->cells, arrow->x >> 8, sArrowYPosTheirs[arrow->position]);
ManagedSprite_SetPositionXY(arrow->managedSprite, arrow->x >> 8, sArrowYPosTheirs[arrow->position]);
}
}
@ -433,7 +433,7 @@ static void HideArrowTask(SysTask *task, void *data)
if (arrow->alpha <= 0) {
arrow->alpha = 0;
Sprite_SetDrawFlag2(arrow->cells->sprite, 0);
Sprite_SetDrawFlag2(arrow->managedSprite->sprite, 0);
arrow->state++;
}
@ -458,21 +458,21 @@ enum {
SHOW_POKEBALLS_DONE,
};
static void ShowPokeballs(PartyGaugePokeballs *pokeballs, s8 *numBalls, enum PartyGaugeSide side, enum ShowPartyGaugeType type, enum PartyGaugePosition pos, int slot, int frame, SpriteSystem *renderer, SpriteManager *gfxHandler)
static void ShowPokeballs(PartyGaugePokeballs *pokeballs, s8 *numBalls, enum PartyGaugeSide side, enum ShowPartyGaugeType type, enum PartyGaugePosition pos, int slot, int frame, SpriteSystem *spriteSys, SpriteManager *spriteMan)
{
GF_ASSERT(pokeballs->cells == NULL && pokeballs->task == NULL);
GF_ASSERT(pokeballs->managedSprite == NULL && pokeballs->task == NULL);
MI_CpuClear8(pokeballs, sizeof(PartyGaugePokeballs));
pokeballs->cells = SpriteSystem_NewSprite(renderer, gfxHandler, &sPokeballTemplate);
pokeballs->managedSprite = SpriteSystem_NewSprite(spriteSys, spriteMan, &sPokeballTemplate);
if (side == PARTY_GAUGE_OURS) {
ManagedSprite_SetPositionXY(pokeballs->cells, POKEBALL_X_START_OURS, sPokeballYPosOurs[pos]);
ManagedSprite_SetPositionXY(pokeballs->managedSprite, POKEBALL_X_START_OURS, sPokeballYPosOurs[pos]);
} else {
ManagedSprite_SetPositionXY(pokeballs->cells, POKEBALL_X_START_THEIRS, sPokeballYPosTheirs[pos]);
ManagedSprite_SetPositionXY(pokeballs->managedSprite, POKEBALL_X_START_THEIRS, sPokeballYPosTheirs[pos]);
}
Sprite_SetAnim(pokeballs->cells->sprite, frame);
Sprite_TickFrame(pokeballs->cells->sprite);
Sprite_SetAnim(pokeballs->managedSprite->sprite, frame);
Sprite_TickFrame(pokeballs->managedSprite->sprite);
pokeballs->side = side;
pokeballs->ballSlot = slot;
@ -509,7 +509,7 @@ static void ShowPokeballsStartOfBattleTask(SysTask *task, void *data)
switch (pokeballs->state) {
case SHOW_POKEBALLS_INIT:
s16 x, y;
ManagedSprite_GetPositionXY(pokeballs->cells, &x, &y);
ManagedSprite_GetPositionXY(pokeballs->managedSprite, &x, &y);
pokeballs->xStart = x << 8;
pokeballs->state++;
@ -530,7 +530,7 @@ static void ShowPokeballsStartOfBattleTask(SysTask *task, void *data)
pokeballs->state++;
}
ManagedSprite_SetPositionXY(pokeballs->cells, pokeballs->xStart >> 8, sPokeballYPosOurs[pokeballs->position]);
ManagedSprite_SetPositionXY(pokeballs->managedSprite, pokeballs->xStart >> 8, sPokeballYPosOurs[pokeballs->position]);
} else {
pokeballs->xStart += POKEBALL_IN_SPEED;
@ -539,10 +539,10 @@ static void ShowPokeballsStartOfBattleTask(SysTask *task, void *data)
pokeballs->state++;
}
ManagedSprite_SetPositionXY(pokeballs->cells, pokeballs->xStart >> 8, sPokeballYPosTheirs[pokeballs->position]);
ManagedSprite_SetPositionXY(pokeballs->managedSprite, pokeballs->xStart >> 8, sPokeballYPosTheirs[pokeballs->position]);
}
Sprite_TickFrame(pokeballs->cells->sprite);
Sprite_TickFrame(pokeballs->managedSprite->sprite);
break;
case SHOW_POKEBALLS_INCREMENT:
@ -551,14 +551,14 @@ static void ShowPokeballsStartOfBattleTask(SysTask *task, void *data)
// fall-through
case SHOW_POKEBALLS_SET_FRAME:
if (*(pokeballs->pokeballCount) != 6) {
Sprite_TickFrame(pokeballs->cells->sprite);
Sprite_TickFrame(pokeballs->managedSprite->sprite);
break;
}
if (pokeballs->side == PARTY_GAUGE_OURS) {
Sprite_SetAnimFrame(pokeballs->cells->sprite, 1);
Sprite_SetAnimFrame(pokeballs->managedSprite->sprite, 1);
} else {
Sprite_SetAnimFrame(pokeballs->cells->sprite, 1);
Sprite_SetAnimFrame(pokeballs->managedSprite->sprite, 1);
}
pokeballs->delay = 0;
@ -571,7 +571,7 @@ static void ShowPokeballsStartOfBattleTask(SysTask *task, void *data)
break;
}
Sprite_SetAnim(pokeballs->cells->sprite, pokeballs->flipAnimation);
Sprite_SetAnim(pokeballs->managedSprite->sprite, pokeballs->flipAnimation);
pokeballs->delay = 0;
pokeballs->state++;
// fall-through
@ -584,7 +584,7 @@ static void ShowPokeballsStartOfBattleTask(SysTask *task, void *data)
pokeballs->state++;
}
ManagedSprite_SetPositionXY(pokeballs->cells, pokeballs->xStart >> 8, sPokeballYPosOurs[pokeballs->position]);
ManagedSprite_SetPositionXY(pokeballs->managedSprite, pokeballs->xStart >> 8, sPokeballYPosOurs[pokeballs->position]);
} else {
pokeballs->xStart -= POKEBALL_IN_SPEED_SLOW;
@ -593,14 +593,14 @@ static void ShowPokeballsStartOfBattleTask(SysTask *task, void *data)
pokeballs->state++;
}
ManagedSprite_SetPositionXY(pokeballs->cells, pokeballs->xStart >> 8, sPokeballYPosTheirs[pokeballs->position]);
ManagedSprite_SetPositionXY(pokeballs->managedSprite, pokeballs->xStart >> 8, sPokeballYPosTheirs[pokeballs->position]);
}
Sprite_TickFrame(pokeballs->cells->sprite);
Sprite_TickFrame(pokeballs->managedSprite->sprite);
break;
default:
Sprite_SetAnimFrame(pokeballs->cells->sprite, 0);
Sprite_SetAnimFrame(pokeballs->managedSprite->sprite, 0);
SysTask_Done(task);
pokeballs->task = NULL;
}
@ -613,10 +613,10 @@ static void ShowPokeballsMidBattleTask(SysTask *task, void *data)
switch (pokeballs->state) {
case SHOW_POKEBALLS_INIT:
s16 x, y;
ManagedSprite_GetPositionXY(pokeballs->cells, &x, &y);
ManagedSprite_GetPositionXY(pokeballs->managedSprite, &x, &y);
pokeballs->xStart = x << 8;
Sprite_SetAnimFrame(pokeballs->cells->sprite, 0);
Sprite_SetAnimFrame(pokeballs->managedSprite->sprite, 0);
pokeballs->state++;
// fall-through
case SHOW_POKEBALLS_DELAY:
@ -634,7 +634,7 @@ static void ShowPokeballsMidBattleTask(SysTask *task, void *data)
pokeballs->state++;
}
ManagedSprite_SetPositionXY(pokeballs->cells, pokeballs->xStart >> 8, sPokeballYPosOurs[pokeballs->position]);
ManagedSprite_SetPositionXY(pokeballs->managedSprite, pokeballs->xStart >> 8, sPokeballYPosOurs[pokeballs->position]);
} else {
pokeballs->xStart += POKEBALL_IN_SPEED;
@ -643,7 +643,7 @@ static void ShowPokeballsMidBattleTask(SysTask *task, void *data)
pokeballs->state++;
}
ManagedSprite_SetPositionXY(pokeballs->cells, pokeballs->xStart >> 8, sPokeballYPosTheirs[pokeballs->position]);
ManagedSprite_SetPositionXY(pokeballs->managedSprite, pokeballs->xStart >> 8, sPokeballYPosTheirs[pokeballs->position]);
}
break;
@ -655,7 +655,7 @@ static void ShowPokeballsMidBattleTask(SysTask *task, void *data)
static void HidePokeballs(PartyGaugePokeballs *pokeballs, int slot, enum HidePartyGaugeType type, s16 *arrowAlpha)
{
GF_ASSERT(pokeballs->cells != NULL && pokeballs->task == NULL);
GF_ASSERT(pokeballs->managedSprite != NULL && pokeballs->task == NULL);
pokeballs->state = 0;
@ -693,10 +693,10 @@ static void HidePokeballsStartOfBattleTask(SysTask *task, void *data)
case HIDE_POKEBALLS_INIT:
s16 x, y;
ManagedSprite_GetPositionXY(pokeballs->cells, &x, &y);
ManagedSprite_GetPositionXY(pokeballs->managedSprite, &x, &y);
pokeballs->xStart = x << 8;
ManagedSprite_SetExplicitOamMode(pokeballs->cells, GX_OAM_MODE_XLU);
ManagedSprite_SetExplicitOamMode(pokeballs->managedSprite, GX_OAM_MODE_XLU);
pokeballs->state++;
// fall-through
case HIDE_POKEBALLS_DELAY:
@ -713,10 +713,10 @@ static void HidePokeballsStartOfBattleTask(SysTask *task, void *data)
case HIDE_POKEBALLS_FADE:
if (pokeballs->side == PARTY_GAUGE_OURS) {
pokeballs->xStart -= POKEBALL_OUT_SPEED;
ManagedSprite_SetPositionXY(pokeballs->cells, pokeballs->xStart >> 8, sPokeballYPosOurs[pokeballs->position]);
ManagedSprite_SetPositionXY(pokeballs->managedSprite, pokeballs->xStart >> 8, sPokeballYPosOurs[pokeballs->position]);
} else {
pokeballs->xStart += POKEBALL_OUT_SPEED;
ManagedSprite_SetPositionXY(pokeballs->cells, pokeballs->xStart >> 8, sPokeballYPosTheirs[pokeballs->position]);
ManagedSprite_SetPositionXY(pokeballs->managedSprite, pokeballs->xStart >> 8, sPokeballYPosTheirs[pokeballs->position]);
}
// Need some more documentation on this one
@ -724,12 +724,12 @@ static void HidePokeballsStartOfBattleTask(SysTask *task, void *data)
pokeballs->state++;
}
Sprite_TickFrame(pokeballs->cells->sprite);
Sprite_TickFrame(pokeballs->managedSprite->sprite);
break;
case HIDE_POKEBALLS_BREAK:
default:
Sprite_SetDrawFlag2(pokeballs->cells->sprite, 0);
Sprite_SetDrawFlag2(pokeballs->managedSprite->sprite, 0);
SysTask_Done(task);
pokeballs->task = NULL;
}
@ -745,7 +745,7 @@ static void HidePokeballsMidBattleTask(SysTask *task, void *data)
switch (pokeballs->state) {
case HIDE_POKEBALLS_INIT:
ManagedSprite_SetExplicitOamMode(pokeballs->cells, GX_OAM_MODE_XLU);
ManagedSprite_SetExplicitOamMode(pokeballs->managedSprite, GX_OAM_MODE_XLU);
pokeballs->state++;
// fall-through
case HIDE_POKEBALLS_DELAY:
@ -754,7 +754,7 @@ static void HidePokeballsMidBattleTask(SysTask *task, void *data)
case HIDE_POKEBALLS_BREAK:
default:
Sprite_SetDrawFlag2(pokeballs->cells->sprite, 0);
Sprite_SetDrawFlag2(pokeballs->managedSprite->sprite, 0);
SysTask_Done(task);
pokeballs->task = NULL;
}

View File

@ -304,7 +304,7 @@ pokeplatinum_c = files(
'unk_0208C010.c',
'unk_0208C098.c',
'applications/pokemon_summary_screen/main.c',
'applications/pokemon_summary_screen/sprite.c',
'applications/pokemon_summary_screen/sprites.c',
'applications/pokemon_summary_screen/window.c',
'applications/pokemon_summary_screen/3d_anim.c',
'applications/pokemon_summary_screen/subscreen.c',

View File

@ -613,15 +613,15 @@ void SpriteSystem_FreeResourcesAndManager(SpriteSystem *spriteSys, SpriteManager
SpriteSystem_FreeSpriteManager(spriteSys, spriteMan);
}
void Sprite_DeleteAndFreeResources(ManagedSprite *sprite)
void Sprite_DeleteAndFreeResources(ManagedSprite *managedSprite)
{
if (sprite->vramTransfer) {
SpriteTransfer_DeleteCharTransfer(sprite->resourceHeader->imageProxy);
if (managedSprite->vramTransfer) {
SpriteTransfer_DeleteCharTransfer(managedSprite->resourceHeader->imageProxy);
}
Sprite_Delete(sprite->sprite);
SpriteResourcesHeaderList_Free(sprite->resourceHeaderList);
Heap_FreeToHeap(sprite);
Sprite_Delete(managedSprite->sprite);
SpriteResourcesHeaderList_Free(managedSprite->resourceHeaderList);
Heap_FreeToHeap(managedSprite);
}
static BOOL LoadResObjInternal(SpriteSystem *spriteSys, SpriteManager *spriteMan, int narcID, int memberIdx, int compressed, int type, int resourceID)