Label some GraphicElementManager init stuff

This commit is contained in:
Fexty12573 2024-06-24 12:42:46 +02:00
parent 291ddf2c3b
commit 3727cdf545
57 changed files with 154 additions and 157 deletions

View File

@ -5,9 +5,9 @@
#include <nnsys.h>
typedef struct {
int unk_00;
int maxElements;
NNSG2dRendererInstance * renderer;
int unk_08;
int heapID;
} GraphicElementManagerParams;
#endif // POKEPLATINUM_STRUCT_020095C4_H

View File

@ -12,7 +12,7 @@
#include <nitro/fx/fx.h>
GraphicElementManager * GraphicElementManager_New(const GraphicElementManagerParams * param0);
BOOL sub_02021964(GraphicElementManager * param0);
BOOL GraphicElementManager_Delete(GraphicElementManager * param0);
BOOL sub_020219A4(GraphicElementManager * param0, u8 param1);
BOOL sub_020219C0(GraphicElementManager * param0);
void sub_020219F8(const GraphicElementManager * param0);

View File

@ -781,7 +781,7 @@ static void MakeCellActors (ChooseStarterApp * param0, int param1)
static void ov78_021D1594 (ChooseStarterApp * param0)
{
sub_02021964(param0->unk_248);
GraphicElementManager_Delete(param0->unk_248);
sub_02009754(param0->unk_24C[0]);
sub_02009754(param0->unk_24C[1]);
sub_02009754(param0->unk_24C[2]);

View File

@ -749,7 +749,7 @@ void ov5_021DE4AC(UnkStruct_ov5_021DE47C *param0)
{
int v0;
sub_02021964(param0->unk_00);
GraphicElementManager_Delete(param0->unk_00);
for (v0 = 0; v0 < 4; v0++) {
sub_02009754(param0->unk_190[v0]);

View File

@ -88,7 +88,7 @@ void ov5_021D30A8 (UnkStruct_ov5_021D30A8 * param0)
{
u32 v0;
sub_02021964(param0->unk_00);
GraphicElementManager_Delete(param0->unk_00);
sub_020095A8(param0->unk_190);
sub_0200A508(param0->unk_1AC[0]);
sub_0200A700(param0->unk_1AC[1]);
@ -402,7 +402,7 @@ void ov5_021D375C (UnkStruct_ov5_021D30A8 * param0)
{
u32 v0;
sub_02021964(param0->unk_00);
GraphicElementManager_Delete(param0->unk_00);
sub_0200A508(param0->unk_1AC[0]);
sub_0200A700(param0->unk_1AC[1]);

View File

@ -802,9 +802,9 @@ static void ov5_021D61D0 (UnkStruct_ov5_021D61D0 * param0)
{
GraphicElementManagerParams v3;
v3.unk_00 = 96;
v3.unk_04 = &param0->unk_14;
v3.unk_08 = 4;
v3.maxElements = 96;
v3.renderer = &param0->unk_14;
v3.heapID = 4;
param0->unk_130 = GraphicElementManager_New(&v3);
param0->unk_134 = SysTask_Start(ov5_021D6284, param0, 10);
@ -844,7 +844,7 @@ static void ov5_021D62BC (UnkStruct_ov5_021D61D0 * param0)
Heap_FreeToHeap(param0->unk_10);
param0->unk_10 = NULL;
sub_02021964(param0->unk_130);
GraphicElementManager_Delete(param0->unk_130);
param0->unk_130 = NULL;
SysTask_Done(param0->unk_134);

View File

@ -148,7 +148,7 @@ void ov6_02242828 (UnkStruct_ov6_022426B8 * param0)
sub_02009754(param0->unk_00[v0]);
}
sub_02021964(param0->unk_38);
GraphicElementManager_Delete(param0->unk_38);
Heap_FreeToHeap(param0->unk_20);
Heap_FreeToHeap(param0->unk_24);
}

View File

@ -412,7 +412,7 @@ static void ov6_0224339C (UnkStruct_ov6_02243258 * param0)
Heap_FreeToHeap(param0->unk_1B0);
Heap_FreeToHeap(param0->unk_1B4);
sub_020219C0(param0->unk_08);
sub_02021964(param0->unk_08);
GraphicElementManager_Delete(param0->unk_08);
}
static void ov6_022434B0 (UnkStruct_ov6_02243258 * param0, NARC * param1, int param2, int param3)
@ -1829,7 +1829,7 @@ static void ov6_02244B6C (UnkStruct_ov6_02243FFC * param0)
sub_02009754(param0->unk_208);
sub_02009754(param0->unk_20C);
sub_020219C0(param0->unk_70);
sub_02021964(param0->unk_70);
GraphicElementManager_Delete(param0->unk_70);
}
static void ov6_02244C10 (UnkStruct_ov6_02243FFC * param0)

View File

@ -397,7 +397,7 @@ static void ov7_0224C3CC (UnkStruct_ov7_0224BEFC * param0)
static void ov7_0224C3E0 (UnkStruct_ov7_0224BEFC * param0)
{
sub_02021964(param0->unk_1C);
GraphicElementManager_Delete(param0->unk_1C);
}
static void ov7_0224C3EC (UnkStruct_ov7_0224C3EC * param0, BGL * param1, u32 param2, u32 param3)

View File

@ -2745,7 +2745,7 @@ static void ov9_0224B064 (UnkStruct_ov9_0224B064 * param0)
sub_02009754(param0->unk_19C);
sub_020219C0(param0->unk_00);
sub_02021964(param0->unk_00);
GraphicElementManager_Delete(param0->unk_00);
}
static void ov9_0224B124 (SysTask * param0, void * param1)

View File

@ -259,7 +259,7 @@ void ov19_021D64A0 (UnkStruct_ov19_021D61B0 * param0)
ov19_021D7A74(&(param0->unk_494));
ov19_021DA384(&(param0->unk_1C8));
sub_02021964(param0->unk_18);
GraphicElementManager_Delete(param0->unk_18);
sub_02019044(param0->unk_1C0, 3);
sub_02019044(param0->unk_1C0, 2);
sub_02019044(param0->unk_1C0, 1);

View File

@ -152,7 +152,7 @@ void ov20_021D2128 (UnkStruct_ov20_021D2128 * param0)
SysTask_Done(param0->unk_04);
sub_0200A878();
sub_02021964(param0->unk_24);
GraphicElementManager_Delete(param0->unk_24);
Heap_FreeToHeap(param0->unk_20);
Heap_FreeToHeap(param0);

View File

@ -120,7 +120,7 @@ void ov21_021D2098 (UnkStruct_ov21_021D13FC * param0)
ov21_021D299C(param0->unk_00);
Heap_FreeToHeap(param0->unk_00);
sub_02021964(param0->unk_138);
GraphicElementManager_Delete(param0->unk_138);
sub_02009754(param0->unk_13C[0]);
sub_02009754(param0->unk_13C[1]);
sub_02009754(param0->unk_13C[2]);

View File

@ -277,7 +277,7 @@ static void ov21_021E900C (UnkStruct_ov21_021E8D48 * param0)
ov21_021D2C58(&param0->unk_1B4, param0->unk_1A0);
ov21_021E9228(param0->unk_1A0);
sub_02021964(param0->unk_19C);
GraphicElementManager_Delete(param0->unk_19C);
ov21_021E91F0(param0->unk_04);
ov21_021E9194(param0->unk_00);

View File

@ -726,7 +726,7 @@ static void ov22_022559F8 (UnkStruct_ov22_0225A0E4 * param0)
static void ov22_02255A98 (UnkStruct_ov22_0225A0E4 * param0)
{
sub_02021964(param0->unk_44);
GraphicElementManager_Delete(param0->unk_44);
{
int v0;

View File

@ -1398,7 +1398,7 @@ static void ov23_0223F020 (UnkStruct_ov23_0223EE80 * param0)
}
}
sub_02021964(Unk_ov23_02257740->unk_20);
GraphicElementManager_Delete(Unk_ov23_02257740->unk_20);
sub_0200A878();
sub_0201E958();

View File

@ -3303,7 +3303,7 @@ static void ov23_02246370 (int param0)
}
if (Unk_ov23_02257764->unk_44) {
sub_02021964(Unk_ov23_02257764->unk_44);
GraphicElementManager_Delete(Unk_ov23_02257764->unk_44);
}
Unk_ov23_02257764->unk_44 = NULL;
@ -4856,7 +4856,7 @@ static void ov23_02248884 (SysTask * param0, void * param1)
Unk_ov23_02257764->unk_25C[v1] = NULL;
}
sub_02021964(Unk_ov23_02257764->unk_44);
GraphicElementManager_Delete(Unk_ov23_02257764->unk_44);
SysTask_Done(param0);
Heap_FreeToHeap(v0);

View File

@ -181,7 +181,7 @@ static void ov23_02248F1C (SysTask * param0, void * param1)
sub_02009754(v0->unk_34C[v2]);
}
sub_02021964(v0->unk_1BC);
GraphicElementManager_Delete(v0->unk_1BC);
sub_0200E084(&v0->unk_3F4, 0);
BGL_DeleteWindow(&v0->unk_3F4);
sub_02019044(v1, 7);

View File

@ -267,7 +267,7 @@ void ov56_02256468 (UnkStruct_ov56_02256468 * param0)
sub_02009754(param0->unk_1B8[v1]);
}
sub_02021964(param0->unk_28);
GraphicElementManager_Delete(param0->unk_28);
MessageLoader_Free(param0->unk_1C);
StringTemplate_Free(param0->unk_18);

View File

@ -327,7 +327,7 @@ int ov58_021D1018 (OverlayManager * param0, int * param1)
sub_02009754(v0->unk_1C4[v2]);
}
sub_02021964(v0->unk_34);
GraphicElementManager_Delete(v0->unk_34);
sub_0200A878();
sub_0201E958();
sub_0201F8B4();

View File

@ -310,7 +310,7 @@ int ov59_021D0FF4 (OverlayManager * param0, int * param1)
sub_02009754(v0->unk_1E0[v1]);
}
sub_02021964(v0->unk_50);
GraphicElementManager_Delete(v0->unk_50);
sub_0200A878();
sub_0201E958();
sub_0201F8B4();

View File

@ -1052,7 +1052,7 @@ static void ov64_0222E570 (UnkStruct_ov64_0222E21C * param0)
sub_02009754(param0->unk_204[v0]);
}
sub_02021964(param0->unk_04);
GraphicElementManager_Delete(param0->unk_04);
sub_0201E958();
sub_0201F8B4();
sub_0200A878();

View File

@ -879,7 +879,7 @@ static void ov65_0222E47C (UnkStruct_ov65_0222EBE0 * param0)
sub_02009754(param0->unk_31C[v0]);
}
sub_02021964(param0->unk_18C);
GraphicElementManager_Delete(param0->unk_18C);
sub_0200A878();
sub_0201E958();
sub_0201F8B4();

View File

@ -605,7 +605,7 @@ static void ov65_022358CC (UnkStruct_ov65_022358CC * param0)
sub_02009754(param0->unk_190[v0]);
}
sub_02021964(param0->unk_00);
GraphicElementManager_Delete(param0->unk_00);
}
static void ov65_022358F8 (UnkStruct_ov65_022358CC * param0, u32 param1, NARC * param2)

View File

@ -882,7 +882,7 @@ static void ov65_02236E04 (UnkStruct_ov65_02236840 * param0)
ov63_0222CD9C(param0->unk_1BC);
ov63_0222BE58(param0->unk_1B8);
sub_02021964(param0->unk_18);
GraphicElementManager_Delete(param0->unk_18);
for (v0 = 0; v0 < 4; v0++) {
sub_02009754(param0->unk_1A8[v0]);

View File

@ -559,7 +559,7 @@ static void ov68_0225CB44 (UnkStruct_ov68_0225C91C * param0)
{
int v0;
sub_02021964(param0->unk_04);
GraphicElementManager_Delete(param0->unk_04);
for (v0 = 0; v0 < 4; v0++) {
sub_02009754(param0->unk_194[v0]);

View File

@ -1511,7 +1511,7 @@ static void ov69_0225D5D8 (UnkStruct_ov69_0225D35C * param0)
{
int v0;
sub_02021964(param0->unk_04);
GraphicElementManager_Delete(param0->unk_04);
for (v0 = 0; v0 < 4; v0++) {
sub_02009754(param0->unk_194[v0]);

View File

@ -1391,7 +1391,7 @@ static void ov70_0225E6D0 (UnkStruct_ov70_0225E4EC * param0)
sub_02009754(param0->unk_194[v1]);
}
sub_02021964(param0->unk_04);
GraphicElementManager_Delete(param0->unk_04);
sub_0201E958();
sub_0201F8B4();
sub_0200A878();

View File

@ -192,7 +192,7 @@ void ov71_0223D238 (UnkStruct_ov71_0223D238 * param0)
sub_02009754(param0->unk_190[v0]);
}
sub_02021964(param0->unk_00);
GraphicElementManager_Delete(param0->unk_00);
sub_0200A878();
sub_0201E958();
sub_0201F8B4();

View File

@ -226,7 +226,7 @@ int ov72_0223D984 (OverlayManager * param0, int * param1)
sub_02009754(v0->unk_1CC[v1]);
}
sub_02021964(v0->unk_3C);
GraphicElementManager_Delete(v0->unk_3C);
sub_0200A878();
sub_0201E958();
sub_0201F8B4();

View File

@ -223,7 +223,7 @@ void ov77_021D5BAC (UnkStruct_ov77_021D5564 * param0)
sub_02009754(param0->unk_190[v0]);
}
sub_02021964(param0->unk_00);
GraphicElementManager_Delete(param0->unk_00);
for (v0 = 0; v0 < 3; v0++) {
sub_020094F0(&param0->unk_294[v0]);

View File

@ -232,7 +232,7 @@ static void ov77_021D691C (UnkStruct_ov77_021D6800 * param0)
sub_02009754(param0->unk_190[v0]);
}
sub_02021964(param0->unk_00);
GraphicElementManager_Delete(param0->unk_00);
sub_0200A878();
sub_0201E958();
sub_0201F8B4();

View File

@ -200,7 +200,7 @@ void ov83_0223D784 (UnkStruct_ov83_0223D784 * param0)
{
int v0;
sub_02021964(param0->unk_00);
GraphicElementManager_Delete(param0->unk_00);
param0->unk_00 = NULL;
for (v0 = 0; v0 < 4; v0++) {

View File

@ -900,7 +900,7 @@ static void ov86_0223BD68 (UnkStruct_ov86_0223B3C8 * param0)
Heap_FreeToHeap(param0->unk_1D4);
Heap_FreeToHeap(param0->unk_1D0);
sub_02021964(param0->unk_24);
GraphicElementManager_Delete(param0->unk_24);
sub_0200A878();
}

View File

@ -132,7 +132,7 @@ void ov87_021D1140 (UnkStruct_ov87_021D106C * param0)
MessageLoader_Free(param0->unk_1EC);
MessageLoader_Free(param0->unk_1E8);
MessageLoader_Free(param0->unk_1E4);
sub_02021964(param0->unk_34);
GraphicElementManager_Delete(param0->unk_34);
sub_0200A878();
Heap_FreeToHeap(param0->unk_10);
Heap_FreeToHeap(param0);

View File

@ -862,7 +862,7 @@ static void ov88_0223BF7C (UnkStruct_02095E80 * param0)
sub_02009754(param0->unk_324[v0]);
}
sub_02021964(param0->unk_194);
GraphicElementManager_Delete(param0->unk_194);
sub_0200A878();
sub_0201E958();
sub_0201F8B4();

View File

@ -520,7 +520,7 @@ static void ov94_0223C508 (UnkStruct_ov94_0223FD4C * param0)
sub_02009754(param0->unk_D74[v0]);
}
sub_02021964(param0->unk_BE4);
GraphicElementManager_Delete(param0->unk_BE4);
param0->unk_BE4 = NULL;
sub_0200A878();

View File

@ -220,7 +220,7 @@ int ov95_02246E1C (OverlayManager * param0, int * param1)
MessageLoader_Free(v1->unk_10);
Strbuf_Free(v1->unk_14);
Heap_FreeToHeap(v1->unk_08);
sub_02021964(v1->unk_18);
GraphicElementManager_Delete(v1->unk_18);
sub_0200A878();
OverlayManager_FreeData(param0);
Heap_Destroy(57);

View File

@ -416,7 +416,7 @@ static void ov96_0223BC8C (UnkStruct_ov96_0223BF40 * param0)
sub_02009754(param0->unk_D84[v0]);
}
sub_02021964(param0->unk_BF4);
GraphicElementManager_Delete(param0->unk_BF4);
param0->unk_BF4 = NULL;

View File

@ -1583,7 +1583,7 @@ static void ov97_022351F0 (UnkStruct_ov97_02234A2C * param0)
sub_02009754(param0->unk_1B8[v0]);
}
sub_02021964(param0->unk_28);
GraphicElementManager_Delete(param0->unk_28);
param0->unk_28 = NULL;
sub_0200A878();

View File

@ -505,7 +505,7 @@ void ov97_02237DA0 (void)
v1->unk_190[v2] = NULL;
}
sub_02021964(v1->unk_00);
GraphicElementManager_Delete(v1->unk_00);
v1->unk_00 = NULL;
sub_0200A878();

View File

@ -140,7 +140,7 @@ void ov101_021D7FB4 (UnkStruct_ov101_021D7E48 * param0)
sub_0201DC3C();
sub_0201DCF0(param0->unk_19C);
sub_020219C0(param0->unk_0C);
sub_02021964(param0->unk_0C);
GraphicElementManager_Delete(param0->unk_0C);
Heap_FreeToHeap(param0);
}

View File

@ -116,7 +116,7 @@ void ov105_02245C50 (UnkStruct_ov105_02245AAC * param0)
sub_02009754(param0->unk_190[v0]);
}
sub_02021964(param0->unk_00);
GraphicElementManager_Delete(param0->unk_00);
sub_0200A878();
sub_0201E958();
sub_0201F8B4();

View File

@ -131,7 +131,7 @@ void ov106_02243570 (UnkStruct_ov106_02243310 * param0)
sub_02009754(param0->unk_190[v0]);
}
sub_02021964(param0->unk_00);
GraphicElementManager_Delete(param0->unk_00);
sub_0200A878();
sub_0201E958();
sub_0201F8B4();

View File

@ -172,7 +172,7 @@ void ov107_02249954 (UnkStruct_ov107_02249954 * param0)
sub_02009754(param0->unk_190[v0]);
}
sub_02021964(param0->unk_00);
GraphicElementManager_Delete(param0->unk_00);
sub_0200A878();
sub_0201E958();
sub_0201F8B4();

View File

@ -130,7 +130,7 @@ void ov108_02243194 (UnkStruct_ov108_02243030 * param0)
sub_02009754(param0->unk_190[v0]);
}
sub_02021964(param0->unk_00);
GraphicElementManager_Delete(param0->unk_00);
sub_0200A878();
sub_0201E958();
sub_0201F8B4();

View File

@ -309,7 +309,7 @@ int ov109_021D3F9C (OverlayManager * param0, int * param1)
sub_02009754(v1->unk_1F0[v0]);
}
sub_02021964(v1->unk_60);
GraphicElementManager_Delete(v1->unk_60);
sub_0200A878();
sub_0201E958();
sub_0201F8B4();

View File

@ -165,7 +165,7 @@ void ov111_021D3320 (UnkStruct_ov111_021D2F80 * param0)
sub_02009754(param0->unk_190[v0]);
}
sub_02021964(param0->unk_00);
GraphicElementManager_Delete(param0->unk_00);
sub_0200A878();
sub_0201E958();
sub_0201F8B4();

View File

@ -587,7 +587,7 @@ static void ov112_0225CC38 (UnkStruct_ov112_0225C9BC * param0)
{
int v0;
sub_02021964(param0->unk_04);
GraphicElementManager_Delete(param0->unk_04);
for (v0 = 0; v0 < 4; v0++) {
sub_02009754(param0->unk_194[v0]);

View File

@ -1413,7 +1413,7 @@ static void ov114_0225CFCC (UnkStruct_ov114_0225CFCC * param0, u32 param1, u32 p
static void ov114_0225D058 (UnkStruct_ov114_0225CFCC * param0)
{
sub_02021964(param0->unk_00);
GraphicElementManager_Delete(param0->unk_00);
sub_0201E958();
sub_0201F8B4();
sub_0200A878();

View File

@ -3212,7 +3212,7 @@ static void ov115_02263A3C (UnkStruct_ov115_02261ADC * param0)
int v0;
sub_020127BC(param0->unk_1F0);
sub_02021964(param0->unk_1C);
GraphicElementManager_Delete(param0->unk_1C);
for (v0 = 0; v0 < 4; v0++) {
sub_02009754(param0->unk_1AC[v0]);

View File

@ -158,9 +158,9 @@ GraphicElementManager * sub_020095C4 (int param0, UnkStruct_0200C738 * param1, i
sub_0200A8B0(&param1->unk_94[1], &v1, NNS_G2D_SURFACETYPE_SUB2D, &param1->unk_00);
v0.unk_00 = param0;
v0.unk_04 = &param1->unk_00;
v0.unk_08 = param2;
v0.maxElements = param0;
v0.renderer = &param1->unk_00;
v0.heapID = param2;
return GraphicElementManager_New(&v0);
}

View File

@ -172,7 +172,7 @@ void sub_0200C808 (void)
void sub_0200C810 (SpriteGfxHandler * param0)
{
sub_02021964(param0->unk_00);
GraphicElementManager_Delete(param0->unk_00);
}
void sub_0200C81C (SpriteGfxHandler * param0)

View File

@ -56,14 +56,14 @@ typedef struct GraphicElementData_t {
u16 unk_F0;
u8 unk_F2;
u16 unk_F4;
NNS_G2D_VRAM_TYPE unk_F8;
struct GraphicElementData_t * unk_FC;
struct GraphicElementData_t * unk_100;
NNS_G2D_VRAM_TYPE type;
struct GraphicElementData_t *prev;
struct GraphicElementData_t *next;
} GraphicElementData;
typedef struct GraphicElementManager_t {
GraphicElementData * unk_00;
int unk_04;
GraphicElementData * elements;
int maxElements;
GraphicElementData ** unk_08;
int unk_0C;
GraphicElementData sentinelData;
@ -93,7 +93,7 @@ static void sub_02022454(GraphicElementData * param0);
static void sub_02022460(GraphicElementData * param0);
static void sub_02022464(GraphicElementManager * param0, GraphicElementData * param1);
static void sub_020224FC(GraphicElementData * param0);
static void sub_02022518(GraphicElementManager * param0);
static void GraphicElementManager_InitElements(GraphicElementManager * param0);
static GraphicElementData * sub_02022550(GraphicElementManager * param0);
static BOOL sub_0202256C(GraphicElementManager * param0, GraphicElementData * param1);
@ -105,25 +105,25 @@ GraphicElementManager *GraphicElementManager_New(const GraphicElementManagerPara
GF_ASSERT(params);
GF_ASSERT(params->renderer);
gfxElemMgr = Heap_AllocFromHeap(params->unk_08, sizeof(GraphicElementManager));
gfxElemMgr = Heap_AllocFromHeap(params->heapID, sizeof(GraphicElementManager));
GF_ASSERT(gfxElemMgr);
GraphicElementManager_Reset(gfxElemMgr);
gfxElemMgr->unk_00 = Heap_AllocFromHeap(params->unk_08, sizeof(GraphicElementData) * params->unk_00);
GF_ASSERT(gfxElemMgr->unk_00);
gfxElemMgr->unk_04 = params->unk_00;
gfxElemMgr->elements = Heap_AllocFromHeap(params->heapID, sizeof(GraphicElementData) * params->maxElements);
GF_ASSERT(gfxElemMgr->elements);
gfxElemMgr->maxElements = params->maxElements;
gfxElemMgr->unk_08 = Heap_AllocFromHeap(params->unk_08, sizeof(GraphicElementData *) * params->unk_00);
gfxElemMgr->unk_08 = Heap_AllocFromHeap(params->heapID, sizeof(GraphicElementData *) * params->maxElements);
GF_ASSERT(gfxElemMgr->unk_08);
sub_02022518(gfxElemMgr);
GraphicElementManager_InitElements(gfxElemMgr);
GraphicElementData_Reset(&gfxElemMgr->sentinelData);
gfxElemMgr->sentinelData.unk_FC = &gfxElemMgr->sentinelData;
gfxElemMgr->sentinelData.unk_100 = &gfxElemMgr->sentinelData;
gfxElemMgr->sentinelData.prev = &gfxElemMgr->sentinelData;
gfxElemMgr->sentinelData.next = &gfxElemMgr->sentinelData;
gfxElemMgr->renderer = params->renderer;
gfxElemMgr->rawAnimData = ReadFileToHeap(params->unk_08, "data/clact_default.NANR");
gfxElemMgr->rawAnimData = ReadFileToHeap(params->heapID, "data/clact_default.NANR");
NNS_G2dGetUnpackedAnimBank(gfxElemMgr->rawAnimData, &gfxElemMgr->animData);
gfxElemMgr->unk_11C = 1;
@ -131,28 +131,28 @@ GraphicElementManager *GraphicElementManager_New(const GraphicElementManagerPara
return gfxElemMgr;
}
BOOL sub_02021964 (GraphicElementManager * param0)
BOOL GraphicElementManager_Delete(GraphicElementManager *gfxElemMgr)
{
if (param0 == NULL) {
return 0;
if (gfxElemMgr == NULL) {
return FALSE;
}
if (param0->unk_00 == NULL) {
return 1;
if (gfxElemMgr->elements == NULL) {
return TRUE;
}
sub_020219C0(param0);
sub_020219C0(gfxElemMgr);
Heap_FreeToHeap(param0->rawAnimData);
Heap_FreeToHeap(param0->unk_08);
Heap_FreeToHeap(param0->unk_00);
Heap_FreeToHeap(gfxElemMgr->rawAnimData);
Heap_FreeToHeap(gfxElemMgr->unk_08);
Heap_FreeToHeap(gfxElemMgr->elements);
GraphicElementManager_Reset(param0);
Heap_FreeToHeap(param0);
GraphicElementManager_Reset(gfxElemMgr);
Heap_FreeToHeap(gfxElemMgr);
param0 = NULL;
gfxElemMgr = NULL;
return 1;
return TRUE;
}
BOOL sub_020219A4 (GraphicElementManager * param0, u8 param1)
@ -161,7 +161,7 @@ BOOL sub_020219A4 (GraphicElementManager * param0, u8 param1)
return 0;
}
if (param0->unk_00 == NULL) {
if (param0->elements == NULL) {
return 0;
}
@ -170,28 +170,27 @@ BOOL sub_020219A4 (GraphicElementManager * param0, u8 param1)
return 1;
}
BOOL sub_020219C0 (GraphicElementManager * param0)
BOOL sub_020219C0(GraphicElementManager *gfxElemMgr)
{
GraphicElementData * v0;
GraphicElementData * v1;
GraphicElementData *elem;
GraphicElementData *next;
if (param0 == NULL) {
return 0;
if (gfxElemMgr == NULL) {
return FALSE;
}
if (param0->unk_00 == NULL) {
return 1;
if (gfxElemMgr->elements == NULL) {
return TRUE;
}
v0 = param0->sentinelData.unk_100;
while (v0 != &param0->sentinelData) {
v1 = v0->unk_100;
sub_02021BD4(v0);
v0 = v1;
elem = gfxElemMgr->sentinelData.next;
while (elem != &gfxElemMgr->sentinelData) {
next = elem->next;
sub_02021BD4(elem);
elem = next;
}
return 1;
return TRUE;
}
void sub_020219F8 (const GraphicElementManager * param0)
@ -212,19 +211,19 @@ void sub_020219F8 (const GraphicElementManager * param0)
return;
}
v0 = param0->sentinelData.unk_100;
v0 = param0->sentinelData.next;
while (v0 != &param0->sentinelData) {
v1[v0->unk_34](param0, v0);
v2[v0->unk_35](v0);
v0 = v0->unk_100;
v0 = v0->next;
}
}
static void GraphicElementManager_Reset(GraphicElementManager *gfxElemMgr)
{
gfxElemMgr->unk_00 = NULL;
gfxElemMgr->unk_04 = 0;
gfxElemMgr->elements = NULL;
gfxElemMgr->maxElements = 0;
gfxElemMgr->unk_08 = NULL;
gfxElemMgr->unk_0C = 0;
gfxElemMgr->renderer = NULL;
@ -261,7 +260,7 @@ GraphicElementData * sub_02021AA0 (const UnkStruct_ov115_02261520 * param0)
v0->unk_00 = param0->unk_08;
v0->unk_18 = param0->unk_14;
v0->unk_24 = param0->unk_20;
v0->unk_F8 = param0->unk_28;
v0->type = param0->unk_28;
v0->unk_F4 = param0->unk_24;
v0->unk_26 = 0;
v0->unk_27 = 0;
@ -281,7 +280,7 @@ GraphicElementData * sub_02021AA0 (const UnkStruct_ov115_02261520 * param0)
return NULL;
}
v0->unk_2A = sub_020222C4(&v0->paletteProxy, v0->unk_F8);
v0->unk_2A = sub_020222C4(&v0->paletteProxy, v0->type);
v0->unk_29 = v0->unk_2A;
sub_02022464(param0->unk_00, v0);
@ -307,27 +306,27 @@ GraphicElementData * sub_02021B90 (const UnkStruct_ov83_0223D9A8 * param0)
return sub_02021AA0(&v0);
}
void sub_02021BD4 (GraphicElementData * param0)
void sub_02021BD4 (GraphicElementData *gfxElem)
{
GraphicElementManager * v0;
GraphicElementManager *gfxElemMgr;
if (param0->unk_EC != 0) {
CellAnimationData * v1 = (CellAnimationData *)&param0->unk_40;
if (gfxElem->unk_EC != 0) {
CellAnimationData *v1 = (CellAnimationData *)&gfxElem->unk_40;
if (param0->unk_FC != NULL) {
sub_020224FC(param0);
if (gfxElem->prev != NULL) {
sub_020224FC(gfxElem);
}
if (param0->unk_EC == 3) {
CellDataAnimationWrapper * v2 = (CellDataAnimationWrapper *)&param0->unk_40;
if (gfxElem->unk_EC == 3) {
CellDataAnimationWrapper * v2 = (CellDataAnimationWrapper *)&gfxElem->unk_40;
if (NNS_G2dGetImageLocation(&param0->imageProxy, param0->unk_F8) != NNS_G2D_VRAM_ADDR_NONE) {
if (NNS_G2dGetImageLocation(&gfxElem->imageProxy, gfxElem->type) != NNS_G2D_VRAM_ADDR_NONE) {
NNS_G2dFreeCellTransferStateHandle(v2->unk_60);
}
}
if (param0->unk_EC == 2) {
MultiCellAnimationData * v3 = (MultiCellAnimationData *)&param0->unk_40;
if (gfxElem->unk_EC == 2) {
MultiCellAnimationData * v3 = (MultiCellAnimationData *)&gfxElem->unk_40;
if (v3->unk_74 != NULL) {
Heap_FreeToHeap(v3->unk_74);
@ -338,10 +337,10 @@ void sub_02021BD4 (GraphicElementData * param0)
}
}
param0->unk_EC = 0;
gfxElem->unk_EC = 0;
v0 = (GraphicElementManager *)param0->manager;
sub_0202256C(v0, param0);
gfxElemMgr = (GraphicElementManager *)gfxElem->manager;
sub_0202256C(gfxElemMgr, gfxElem);
}
}
@ -567,7 +566,7 @@ void sub_02021E90 (GraphicElementData * param0, u32 param1)
void sub_02021EC4 (GraphicElementData * param0, u32 param1)
{
sub_02021E90(param0, param1);
param0->unk_29 += sub_020222C4(&param0->paletteProxy, param0->unk_F8);
param0->unk_29 += sub_020222C4(&param0->paletteProxy, param0->type);
}
u32 sub_02021EE8 (const GraphicElementData * param0)
@ -587,7 +586,7 @@ void sub_02021EF0 (GraphicElementData * param0, u32 param1)
void sub_02021F24 (GraphicElementData * param0, u32 param1)
{
sub_02021EF0(param0, param1);
param0->unk_2A += sub_020222C4(&param0->paletteProxy, param0->unk_F8);
param0->unk_2A += sub_020222C4(&param0->paletteProxy, param0->type);
}
u32 sub_02021F48 (const GraphicElementData * param0)
@ -639,7 +638,7 @@ void sub_02021FA0 (GraphicElementData * param0, BOOL param1)
NNS_G2D_VRAM_TYPE sub_02021FC8 (const GraphicElementData * param0)
{
return param0->unk_F8;
return param0->type;
}
BOOL sub_02021FD0 (GraphicElementData * param0)
@ -941,30 +940,30 @@ static void sub_02022464 (GraphicElementManager * param0, GraphicElementData * p
{
GraphicElementData * v0;
if (param0->sentinelData.unk_100 == &param0->sentinelData) {
param0->sentinelData.unk_100 = param1;
param0->sentinelData.unk_FC = param1;
param1->unk_FC = &param0->sentinelData;
param1->unk_100 = &param0->sentinelData;
if (param0->sentinelData.next == &param0->sentinelData) {
param0->sentinelData.next = param1;
param0->sentinelData.prev = param1;
param1->prev = &param0->sentinelData;
param1->next = &param0->sentinelData;
} else {
if (param0->sentinelData.unk_FC->unk_F4 <= param1->unk_F4) {
param1->unk_FC = param0->sentinelData.unk_FC;
param0->sentinelData.unk_FC->unk_100 = param1;
param1->unk_100 = &param0->sentinelData;
param0->sentinelData.unk_FC = param1;
if (param0->sentinelData.prev->unk_F4 <= param1->unk_F4) {
param1->prev = param0->sentinelData.prev;
param0->sentinelData.prev->next = param1;
param1->next = &param0->sentinelData;
param0->sentinelData.prev = param1;
} else {
v0 = param0->sentinelData.unk_100;
v0 = param0->sentinelData.next;
while (v0 != &param0->sentinelData) {
if (v0->unk_F4 > param1->unk_F4) {
v0->unk_FC->unk_100 = param1;
param1->unk_FC = v0->unk_FC;
v0->unk_FC = param1;
param1->unk_100 = v0;
v0->prev->next = param1;
param1->prev = v0->prev;
v0->prev = param1;
param1->next = v0;
break;
}
v0 = v0->unk_100;
v0 = v0->next;
}
}
}
@ -972,27 +971,25 @@ static void sub_02022464 (GraphicElementManager * param0, GraphicElementData * p
static void sub_020224FC (GraphicElementData * param0)
{
param0->unk_FC->unk_100 = param0->unk_100;
param0->unk_100->unk_FC = param0->unk_FC;
param0->prev->next = param0->next;
param0->next->prev = param0->prev;
}
static void sub_02022518 (GraphicElementManager * param0)
static void GraphicElementManager_InitElements(GraphicElementManager *gfxElemMgr)
{
int v0;
for (v0 = 0; v0 < param0->unk_04; v0++) {
GraphicElementData_Reset(&param0->unk_00[v0]);
param0->unk_08[v0] = param0->unk_00 + v0;
for (int i = 0; i < gfxElemMgr->maxElements; i++) {
GraphicElementData_Reset(&gfxElemMgr->elements[i]);
gfxElemMgr->unk_08[i] = gfxElemMgr->elements + i;
}
param0->unk_0C = 0;
gfxElemMgr->unk_0C = 0;
}
static GraphicElementData * sub_02022550 (GraphicElementManager * param0)
{
GraphicElementData * v0;
if (param0->unk_0C >= param0->unk_04) {
if (param0->unk_0C >= param0->maxElements) {
return NULL;
}

View File

@ -501,7 +501,7 @@ static void sub_0205D22C (UnkStruct_0205D094 * param0)
{
int v0;
sub_02021964(param0->unk_00);
GraphicElementManager_Delete(param0->unk_00);
param0->unk_00 = NULL;
sub_020095A8(param0->unk_04);

View File

@ -1164,7 +1164,7 @@ static int sub_02086F3C (OverlayManager * param0, int * param1)
sub_02009754(v0->unk_318[v2]);
}
sub_02021964(v0->unk_188);
GraphicElementManager_Delete(v0->unk_188);
sub_0200A878();
Heap_FreeToHeapExplicit(18, v0->unk_510);

View File

@ -87,7 +87,7 @@ static void sub_02099118 (UnkStruct_0209903C * param0)
u32 v0;
Heap_FreeToHeap(param0->unk_1C4);
sub_02021964(param0->unk_10);
GraphicElementManager_Delete(param0->unk_10);
sub_0200A508(param0->unk_1B4[0]);
sub_0200A700(param0->unk_1B4[1]);