diff --git a/.clang-format-ignore b/.clang-format-ignore index 50f695f0b6..919aef8938 100644 --- a/.clang-format-ignore +++ b/.clang-format-ignore @@ -1,5 +1,4 @@ # These files still contain inline-ASM functions; ignore them for formatting for now -src/unk_0208A3F4.c src/overlay107/ov107_02245EB0.c src/overlay107/ov107_02241AE0.c src/overlay065/ov65_0222DCE0.c diff --git a/include/struct_defs/struct_02089688.h b/include/struct_defs/struct_02089688.h index a27f8bee59..9045fff33f 100644 --- a/include/struct_defs/struct_02089688.h +++ b/include/struct_defs/struct_02089688.h @@ -8,27 +8,27 @@ typedef struct { UnkStruct_0208AF44 unk_00[16]; - UnkStruct_0208AF44 unk_1A0[3]; - UnkStruct_0208AF44 unk_1F0[3]; - UnkStruct_0208AF44 unk_240[2]; - s16 unk_274[5]; - u16 unk_27E[5][2]; - int unk_294; - int unk_298; - int unk_29C; - int unk_2A0; - int unk_2A4; - int unk_2A8; - int unk_2AC; - int unk_2B0; - int unk_2B4; - int unk_2B8; - int unk_2BC; - UnkStruct_02089688_sub1 unk_2C0; - UnkStruct_02089688_sub2 unk_380; - UnkStruct_02089438 unk_38C; - int unk_3C0; - int unk_3C4; + UnkStruct_0208AF44 unk_1C0[3]; + UnkStruct_0208AF44 unk_214[3]; + UnkStruct_0208AF44 unk_268[2]; + s16 unk_2A0[5]; + u16 unk_2AA[5][2]; + int unk_2C0; + int unk_2C4; + int unk_2C8; + int unk_2CC; + int unk_2D0; + int unk_2D4; + int unk_2D8; + int unk_2DC; + int unk_2E0; + int unk_2E4; + int unk_2E8; + UnkStruct_02089688_sub1 unk_2EC; + UnkStruct_02089688_sub2 unk_3AC; + UnkStruct_02089438 unk_3B8; + int unk_3EC; + int unk_3F0; } UnkStruct_02089688; #endif // POKEPLATINUM_STRUCT_02089688_H diff --git a/src/unk_020890F4.c b/src/unk_020890F4.c index 8e741593b4..1cee8f6dcd 100644 --- a/src/unk_020890F4.c +++ b/src/unk_020890F4.c @@ -50,7 +50,7 @@ static int sub_020890F4(ApplicationManager *appMan, int *param1) v0 = ApplicationManager_NewData(appMan, sizeof(UnkStruct_02089688), HEAP_ID_101); memset(v0, 0, sizeof(UnkStruct_02089688)); - v0->unk_38C = *((UnkStruct_02089438 *)ApplicationManager_Args(appMan)); + v0->unk_3B8 = *((UnkStruct_02089438 *)ApplicationManager_Args(appMan)); SetVBlankCallback(NULL, NULL); DisableHBlank(); @@ -60,16 +60,16 @@ static int sub_020890F4(ApplicationManager *appMan, int *param1) GX_SetVisiblePlane(0); GXS_SetVisiblePlane(0); - v0->unk_2C0.unk_00 = NARC_ctor(NARC_INDEX_ARC__CODEIN_GRA, HEAP_ID_101); - v0->unk_2C0.unk_0C = BgConfig_New(HEAP_ID_101); - v0->unk_2C0.unk_10 = PaletteData_New(HEAP_ID_101); + v0->unk_2EC.unk_00 = NARC_ctor(NARC_INDEX_ARC__CODEIN_GRA, HEAP_ID_101); + v0->unk_2EC.unk_0C = BgConfig_New(HEAP_ID_101); + v0->unk_2EC.unk_10 = PaletteData_New(HEAP_ID_101); - PaletteData_SetAutoTransparent(v0->unk_2C0.unk_10, 1); - PaletteData_AllocBuffer(v0->unk_2C0.unk_10, 0, 0x200, HEAP_ID_101); - PaletteData_AllocBuffer(v0->unk_2C0.unk_10, 1, 0x200, HEAP_ID_101); - PaletteData_AllocBuffer(v0->unk_2C0.unk_10, 2, 0x200, HEAP_ID_101); - PaletteData_AllocBuffer(v0->unk_2C0.unk_10, 3, 0x200, HEAP_ID_101); - sub_0208945C(v0->unk_2C0.unk_0C); + PaletteData_SetAutoTransparent(v0->unk_2EC.unk_10, 1); + PaletteData_AllocBuffer(v0->unk_2EC.unk_10, 0, 0x200, HEAP_ID_101); + PaletteData_AllocBuffer(v0->unk_2EC.unk_10, 1, 0x200, HEAP_ID_101); + PaletteData_AllocBuffer(v0->unk_2EC.unk_10, 2, 0x200, HEAP_ID_101); + PaletteData_AllocBuffer(v0->unk_2EC.unk_10, 3, 0x200, HEAP_ID_101); + sub_0208945C(v0->unk_2EC.unk_0C); sub_0208A3F4(v0); sub_02089688(v0); @@ -79,7 +79,7 @@ static int sub_020890F4(ApplicationManager *appMan, int *param1) sub_0208A0B8(v0); } - if (v0->unk_38C.unk_30 != 0) { + if (v0->unk_3B8.unk_30 != 0) { sub_02039734(); sub_020397C8(1, HEAP_ID_101); } @@ -98,7 +98,7 @@ static int sub_0208924C(ApplicationManager *appMan, int *param1) UnkStruct_02089688 *v1 = ApplicationManager_Data(appMan); v0 = sub_02089BEC(v1); - if (v1->unk_38C.unk_30 != 0) { + if (v1->unk_3B8.unk_30 != 0) { sub_020397B0(WM_LINK_LEVEL_3 - DWC_GetLinkLevel()); } @@ -109,7 +109,7 @@ static int sub_0208927C(ApplicationManager *appMan, int *param1) { UnkStruct_02089688 *v0 = ApplicationManager_Data(appMan); - if (v0->unk_38C.unk_30 != 0) { + if (v0->unk_3B8.unk_30 != 0) { sub_02039794(); } @@ -122,29 +122,29 @@ static int sub_0208927C(ApplicationManager *appMan, int *param1) GXLayers_EngineBToggleLayers(GX_PLANEMASK_BG1, 0); GXLayers_EngineBToggleLayers(GX_PLANEMASK_BG2, 0); GXLayers_EngineBToggleLayers(GX_PLANEMASK_BG3, 0); - Bg_FreeTilemapBuffer(v0->unk_2C0.unk_0C, 1); - Bg_FreeTilemapBuffer(v0->unk_2C0.unk_0C, 2); - Bg_FreeTilemapBuffer(v0->unk_2C0.unk_0C, 3); - Bg_FreeTilemapBuffer(v0->unk_2C0.unk_0C, 4); - Bg_FreeTilemapBuffer(v0->unk_2C0.unk_0C, 5); - Bg_FreeTilemapBuffer(v0->unk_2C0.unk_0C, 6); - Bg_FreeTilemapBuffer(v0->unk_2C0.unk_0C, 7); - Heap_Free(v0->unk_2C0.unk_0C); - PaletteData_FreeBuffer(v0->unk_2C0.unk_10, 0); - PaletteData_FreeBuffer(v0->unk_2C0.unk_10, 1); - PaletteData_FreeBuffer(v0->unk_2C0.unk_10, 2); - PaletteData_FreeBuffer(v0->unk_2C0.unk_10, 3); - PaletteData_Free(v0->unk_2C0.unk_10); - NARC_dtor(v0->unk_2C0.unk_00); + Bg_FreeTilemapBuffer(v0->unk_2EC.unk_0C, 1); + Bg_FreeTilemapBuffer(v0->unk_2EC.unk_0C, 2); + Bg_FreeTilemapBuffer(v0->unk_2EC.unk_0C, 3); + Bg_FreeTilemapBuffer(v0->unk_2EC.unk_0C, 4); + Bg_FreeTilemapBuffer(v0->unk_2EC.unk_0C, 5); + Bg_FreeTilemapBuffer(v0->unk_2EC.unk_0C, 6); + Bg_FreeTilemapBuffer(v0->unk_2EC.unk_0C, 7); + Heap_Free(v0->unk_2EC.unk_0C); + PaletteData_FreeBuffer(v0->unk_2EC.unk_10, 0); + PaletteData_FreeBuffer(v0->unk_2EC.unk_10, 1); + PaletteData_FreeBuffer(v0->unk_2EC.unk_10, 2); + PaletteData_FreeBuffer(v0->unk_2EC.unk_10, 3); + PaletteData_Free(v0->unk_2EC.unk_10); + NARC_dtor(v0->unk_2EC.unk_00); { u32 v1; v1 = DisableTouchPad(); } - SpriteSystem_FreeResourcesAndManager(v0->unk_2C0.unk_04, v0->unk_2C0.unk_08); - SpriteSystem_Free(v0->unk_2C0.unk_04); - TouchScreenActions_Free(v0->unk_2C0.unk_14); + SpriteSystem_FreeResourcesAndManager(v0->unk_2EC.unk_04, v0->unk_2EC.unk_08); + SpriteSystem_Free(v0->unk_2EC.unk_04); + TouchScreenActions_Free(v0->unk_2EC.unk_14); ApplicationManager_FreeData(appMan); Heap_Destroy(HEAP_ID_101); @@ -350,8 +350,8 @@ static void sub_020895CC(void *param0) VramTransfer_Process(); SpriteSystem_TransferOam(); - PaletteData_CommitFadedBuffers(v0->unk_2C0.unk_10); - Bg_RunScheduledUpdates(v0->unk_2C0.unk_0C); + PaletteData_CommitFadedBuffers(v0->unk_2EC.unk_10); + Bg_RunScheduledUpdates(v0->unk_2EC.unk_0C); OS_SetIrqCheckFlag(OS_IE_V_BLANK); } diff --git a/src/unk_02089604.c b/src/unk_02089604.c index 61334ce37d..9ff697ab32 100644 --- a/src/unk_02089604.c +++ b/src/unk_02089604.c @@ -21,88 +21,88 @@ void sub_02089604(UnkStruct_02089688 *param0, int param1) { int v0; - param0->unk_2AC = param0->unk_2A8; - param0->unk_2A8 = param1; - param0->unk_2B0 = 0; - param0->unk_2B4 = 0; - param0->unk_2B8 = 0; - param0->unk_2BC = 0; + param0->unk_2D8 = param0->unk_2D4; + param0->unk_2D4 = param1; + param0->unk_2DC = 0; + param0->unk_2E0 = 0; + param0->unk_2E4 = 0; + param0->unk_2E8 = 0; - if (param0->unk_2A8 != 0) { - param0->unk_2B0 = param0->unk_27E[param0->unk_2A8 - 1][0]; - param0->unk_2B4 = param0->unk_27E[param0->unk_2A8 - 1][1]; + if (param0->unk_2D4 != 0) { + param0->unk_2DC = param0->unk_2AA[param0->unk_2D4 - 1][0]; + param0->unk_2E0 = param0->unk_2AA[param0->unk_2D4 - 1][1]; } - if (param0->unk_2AC != 0) { - param0->unk_2B8 = param0->unk_27E[param0->unk_2AC - 1][0]; - param0->unk_2BC = param0->unk_27E[param0->unk_2AC - 1][1]; + if (param0->unk_2D8 != 0) { + param0->unk_2E4 = param0->unk_2AA[param0->unk_2D8 - 1][0]; + param0->unk_2E8 = param0->unk_2AA[param0->unk_2D8 - 1][1]; } } void sub_02089688(UnkStruct_02089688 *param0) { int v0; - param0->unk_2C0.unk_88 = 1; + param0->unk_2EC.unk_88 = 1; u16 v1 = 0; int v2, v3, v4, v5; for (v0 = 0; v0 < 4 + 1; v0++) { - param0->unk_27E[v0][0] = v1; - v1 += param0->unk_38C.unk_04[v0]; - param0->unk_27E[v0][1] = v1; + param0->unk_2AA[v0][0] = v1; + v1 += param0->unk_3B8.unk_04[v0]; + param0->unk_2AA[v0][1] = v1; } - sub_02089604(param0, param0->unk_38C.unk_24 + 1); + sub_02089604(param0, param0->unk_3B8.unk_24 + 1); for (v0 = 0; v0 < 4; v0++) { - if (param0->unk_38C.unk_04[v0] == 0) { + if (param0->unk_3B8.unk_04[v0] == 0) { break; } - param0->unk_2A4 += param0->unk_38C.unk_04[v0]; - param0->unk_3C0++; + param0->unk_2D0 += param0->unk_3B8.unk_04[v0]; + param0->unk_3EC++; } - param0->unk_3C0--; - v2 = 8 * (param0->unk_2A4 + param0->unk_3C0); - param0->unk_274[0] = 112 - v2 / 2; + param0->unk_3EC--; + v2 = 8 * (param0->unk_2D0 + param0->unk_3EC); + param0->unk_2A0[0] = 112 - v2 / 2; for (v0 = 0; v0 < 4; v0++) { - v2 = 8 * param0->unk_3C0 + (8 * (param0->unk_2A4 - param0->unk_38C.unk_04[v0]) + 32 * param0->unk_38C.unk_04[v0]); + v2 = 8 * param0->unk_3EC + (8 * (param0->unk_2D0 - param0->unk_3B8.unk_04[v0]) + 32 * param0->unk_3B8.unk_04[v0]); - param0->unk_274[v0 + 1] = 112 - v2 / 2; + param0->unk_2A0[v0 + 1] = 112 - v2 / 2; } - param0->unk_274[1] += 12; + param0->unk_2A0[1] += 12; v3 = 0; - for (v0 = 0; v0 < param0->unk_3C0; v0++) { - v3 += param0->unk_38C.unk_04[v0]; - param0->unk_1A0[v0].unk_00 = v3 - 1; + for (v0 = 0; v0 < param0->unk_3EC; v0++) { + v3 += param0->unk_3B8.unk_04[v0]; + param0->unk_1C0[v0].unk_00 = v3 - 1; } v5 = 0; v0 = 0; do { - for (v4 = 0; v4 < param0->unk_38C.unk_04[v5]; v4++) { + for (v4 = 0; v4 < param0->unk_3B8.unk_04[v5]; v4++) { param0->unk_00[v0].unk_04 = v5 + 1; v0++; } v5++; - } while (v0 < param0->unk_2A4); + } while (v0 < param0->unk_2D0); - for (v0 = 0; v0 < param0->unk_38C.unk_24; v0++) { - param0->unk_3C4 += param0->unk_38C.unk_04[v0]; + for (v0 = 0; v0 < param0->unk_3B8.unk_24; v0++) { + param0->unk_3F0 += param0->unk_3B8.unk_04[v0]; } } void sub_02089808(UnkStruct_02089688 *param0, int param1) { - param0->unk_294 = param1; - param0->unk_298 = 0; - param0->unk_29C = 0; - param0->unk_2A0 = 0; + param0->unk_2C0 = param1; + param0->unk_2C4 = 0; + param0->unk_2C8 = 0; + param0->unk_2CC = 0; } BOOL sub_02089820(UnkStruct_02089688 *param0) @@ -116,14 +116,14 @@ BOOL sub_02089820(UnkStruct_02089688 *param0) sub_0208AF44(param0); sub_0208AFCC(param0); sub_0208B064(param0); - sub_0208B1C4(param0->unk_2C0.unk_0C, ¶m0->unk_2C0.unk_B0, 4, 2, 21, 27, 2, 100, param0->unk_38C.unk_2C); + sub_0208B1C4(param0->unk_2EC.unk_0C, ¶m0->unk_2EC.unk_B0, 4, 2, 21, 27, 2, 100, param0->unk_3B8.unk_2C); - if (param0->unk_38C.unk_30 != 0) { + if (param0->unk_3B8.unk_30 != 0) { NNSG2dPaletteData *v0; void *v1 = sub_020394A8(HEAP_ID_101); NNS_G2dGetUnpackedPaletteData(v1, &v0); - PaletteData_LoadBuffer(param0->unk_2C0.unk_10, v0->pRawData, 0x1 | 0x2, 0xe0, 0x20); + PaletteData_LoadBuffer(param0->unk_2EC.unk_10, v0->pRawData, 0x1 | 0x2, 0xe0, 0x20); Heap_Free(v1); } @@ -135,14 +135,14 @@ BOOL sub_02089820(UnkStruct_02089688 *param0) BOOL sub_020898DC(UnkStruct_02089688 *param0) { - switch (param0->unk_29C) { + switch (param0->unk_2C8) { case 0: StartScreenFade(FADE_BOTH_SCREENS, FADE_TYPE_UNK_0, FADE_TYPE_UNK_0, FADE_TO_BLACK, 6, 1, HEAP_ID_101); - param0->unk_29C++; + param0->unk_2C8++; break; case 1: if (IsScreenFadeDone() == TRUE) { - param0->unk_29C++; + param0->unk_2C8++; } break; default: @@ -154,15 +154,15 @@ BOOL sub_020898DC(UnkStruct_02089688 *param0) BOOL sub_02089938(UnkStruct_02089688 *param0) { - switch (param0->unk_29C) { + switch (param0->unk_2C8) { case 0: if (IsScreenFadeDone() == TRUE) { - param0->unk_29C++; + param0->unk_2C8++; } break; default: sub_0208A328(param0); - TouchScreenActions_HandleAction(param0->unk_2C0.unk_14); + TouchScreenActions_HandleAction(param0->unk_2EC.unk_14); sub_02089C20(param0); break; } @@ -180,11 +180,11 @@ BOOL sub_02089974(UnkStruct_02089688 *param0) 0.8f, 0.6f, 0.4f, 0.2f, 0.8f, 1.0f, 1.0f }; - switch (param0->unk_29C) { + switch (param0->unk_2C8) { case 0: sub_0208AAB4(param0, 0, 0); { - for (v0 = 0; v0 < param0->unk_2A4; v0++) { + for (v0 = 0; v0 < param0->unk_2D0; v0++) { if (param0->unk_00[v0].unk_14.unk_04 == 0) { continue; } @@ -192,45 +192,45 @@ BOOL sub_02089974(UnkStruct_02089688 *param0) ManagedSprite_OffsetPositionXY(param0->unk_00[v0].unk_0C, param0->unk_00[v0].unk_14.unk_00, param0->unk_00[v0].unk_14.unk_02); param0->unk_00[v0].unk_14.unk_04--; - if ((v0 >= param0->unk_2B0) && (v0 < param0->unk_2B4)) { + if ((v0 >= param0->unk_2DC) && (v0 < param0->unk_2E0)) { ManagedSprite_SetAffineScale(param0->unk_00[v0].unk_0C, v1[param0->unk_00[v0].unk_14.unk_05], v1[param0->unk_00[v0].unk_14.unk_05]); param0->unk_00[v0].unk_14.unk_05++; } - if ((v0 >= param0->unk_2B8) && (v0 < param0->unk_2BC)) { + if ((v0 >= param0->unk_2E4) && (v0 < param0->unk_2E8)) { ManagedSprite_SetAffineScale(param0->unk_00[v0].unk_0C, v2[param0->unk_00[v0].unk_14.unk_05], v2[param0->unk_00[v0].unk_14.unk_05]); param0->unk_00[v0].unk_14.unk_05++; } } - for (v0 = 0; v0 < param0->unk_3C0; v0++) { - if (param0->unk_1A0[v0].unk_14.unk_04 == 0) { + for (v0 = 0; v0 < param0->unk_3EC; v0++) { + if (param0->unk_1C0[v0].unk_14.unk_04 == 0) { continue; } - ManagedSprite_OffsetPositionXY(param0->unk_1A0[v0].unk_0C, param0->unk_1A0[v0].unk_14.unk_00, param0->unk_1A0[v0].unk_14.unk_02); - param0->unk_1A0[v0].unk_14.unk_04--; + ManagedSprite_OffsetPositionXY(param0->unk_1C0[v0].unk_0C, param0->unk_1C0[v0].unk_14.unk_00, param0->unk_1C0[v0].unk_14.unk_02); + param0->unk_1C0[v0].unk_14.unk_04--; } if (param0->unk_00[0].unk_14.unk_04 == 0) { - for (v0 = param0->unk_2B0; v0 < param0->unk_2B4; v0++) { + for (v0 = param0->unk_2DC; v0 < param0->unk_2E0; v0++) { ManagedSprite_SetAnim(param0->unk_00[v0].unk_0C, sub_0208AD98(param0->unk_00[v0].unk_00, param0->unk_00[v0].unk_08)); ManagedSprite_TickFrame(param0->unk_00[v0].unk_0C); } - for (v0 = param0->unk_2B8; v0 < param0->unk_2BC; v0++) { + for (v0 = param0->unk_2E4; v0 < param0->unk_2E8; v0++) { ManagedSprite_SetAnim(param0->unk_00[v0].unk_0C, sub_0208AD98(param0->unk_00[v0].unk_00, param0->unk_00[v0].unk_08)); ManagedSprite_TickFrame(param0->unk_00[v0].unk_0C); } - param0->unk_29C++; + param0->unk_2C8++; } - param0->unk_2A0++; + param0->unk_2CC++; } break; case 1: - for (v0 = param0->unk_2B0; v0 < param0->unk_2B4; v0++) { + for (v0 = param0->unk_2DC; v0 < param0->unk_2E0; v0++) { if (param0->unk_00[v0].unk_14.unk_05 == 6) { continue; } @@ -239,7 +239,7 @@ BOOL sub_02089974(UnkStruct_02089688 *param0) param0->unk_00[v0].unk_14.unk_05++; } - for (v0 = param0->unk_2B8; v0 < param0->unk_2BC; v0++) { + for (v0 = param0->unk_2E4; v0 < param0->unk_2E8; v0++) { if (param0->unk_00[v0].unk_14.unk_05 == 6) { continue; } @@ -248,22 +248,22 @@ BOOL sub_02089974(UnkStruct_02089688 *param0) param0->unk_00[v0].unk_14.unk_05++; } - param0->unk_2A0++; + param0->unk_2CC++; - if (param0->unk_2A0 == 6) { - param0->unk_29C++; + if (param0->unk_2CC == 6) { + param0->unk_2C8++; } break; default: sub_0208AF44(param0); - if (param0->unk_380.unk_08 == 0) { - sub_0208AAE4(param0, sub_0208A398(param0, param0->unk_380.unk_04)); + if (param0->unk_3AC.unk_08 == 0) { + sub_0208AAE4(param0, sub_0208A398(param0, param0->unk_3AC.unk_04)); } else { - sub_0208AAE4(param0, sub_0208A3C0(param0, param0->unk_380.unk_04)); + sub_0208AAE4(param0, sub_0208A3C0(param0, param0->unk_3AC.unk_04)); } - if (param0->unk_2A8 != 0) { + if (param0->unk_2D4 != 0) { sub_0208AAB4(param0, 0, 1); } @@ -284,11 +284,11 @@ static BOOL (*const Unk_020F2EB8[])(UnkStruct_02089688 *) = { BOOL sub_02089BEC(UnkStruct_02089688 *param0) { - BOOL v0 = Unk_020F2EB8[param0->unk_294](param0); + BOOL v0 = Unk_020F2EB8[param0->unk_2C0](param0); sub_0208ABB4(param0); sub_0208AC8C(param0); - SpriteSystem_DrawSprites(param0->unk_2C0.unk_08); + SpriteSystem_DrawSprites(param0->unk_2EC.unk_08); return v0; } @@ -751,10 +751,10 @@ void sub_02089F80(UnkStruct_02089688 *param0) u32 v1 = 0; Strbuf *v2 = Strbuf_Init(100, HEAP_ID_101); - param0->unk_240[1].unk_00 = 1; - param0->unk_240[1].unk_14.unk_04 = 0; + param0->unk_268[1].unk_00 = 1; + param0->unk_268[1].unk_14.unk_04 = 0; - for (v0 = 0; v0 < param0->unk_2A4; v0++) { + for (v0 = 0; v0 < param0->unk_2D0; v0++) { if (param0->unk_00[v0].unk_00 == 0) { param0->unk_00[v0].unk_00 = 1; ManagedSprite_SetAnim(param0->unk_00[v0].unk_0C, sub_0208AD98(param0->unk_00[v0].unk_00, param0->unk_00[v0].unk_08)); @@ -762,7 +762,7 @@ void sub_02089F80(UnkStruct_02089688 *param0) v1 = param0->unk_00[v0].unk_00 - 1; Strbuf_FormatInt(v2, v1, 1, 1, 1); - Strbuf_Concat(param0->unk_38C.unk_1C, v2); + Strbuf_Concat(param0->unk_3B8.unk_1C, v2); } Strbuf_Free(v2); @@ -775,39 +775,39 @@ void sub_02089FFC(UnkStruct_02089688 *param0) int v1; int v2; - param0->unk_240[0].unk_00 = 1; - param0->unk_240[0].unk_14.unk_04 = 0; + param0->unk_268[0].unk_00 = 1; + param0->unk_268[0].unk_14.unk_04 = 0; - if (param0->unk_2A8 == 0) { - v0 = param0->unk_1F0[0].unk_00 = param0->unk_2A4 - 1; + if (param0->unk_2D4 == 0) { + v0 = param0->unk_214[0].unk_00 = param0->unk_2D0 - 1; v2 = param0->unk_00[v0].unk_04; - param0->unk_380.unk_00 = 1; - param0->unk_380.unk_04 = v2; - param0->unk_380.unk_08 = 1; + param0->unk_3AC.unk_00 = 1; + param0->unk_3AC.unk_04 = v2; + param0->unk_3AC.unk_08 = 1; return; } - v0 = param0->unk_1F0[0].unk_00; + v0 = param0->unk_214[0].unk_00; param0->unk_00[v0].unk_00 = 0; ManagedSprite_SetAnim(param0->unk_00[v0].unk_0C, sub_0208AD98(param0->unk_00[v0].unk_00, param0->unk_00[v0].unk_08)); v1 = param0->unk_00[v0].unk_04; - if (v0 > param0->unk_3C4) { + if (v0 > param0->unk_3F0) { v0--; ManagedSprite_SetAnim(param0->unk_00[v0].unk_0C, sub_0208AD98(param0->unk_00[v0].unk_00, param0->unk_00[v0].unk_08)); v2 = param0->unk_00[v0].unk_04; if (v1 != v2) { - param0->unk_380.unk_00 = 1; - param0->unk_380.unk_04 = v2; - param0->unk_380.unk_08 = 1; + param0->unk_3AC.unk_00 = 1; + param0->unk_3AC.unk_04 = v2; + param0->unk_3AC.unk_08 = 1; } else { - param0->unk_380.unk_00 = 2; - param0->unk_380.unk_04 = v0; + param0->unk_3AC.unk_00 = 2; + param0->unk_3AC.unk_04 = v0; } } } @@ -817,7 +817,7 @@ void sub_0208A0B8(UnkStruct_02089688 *param0) int v0; for (v0 = 0; v0 < 15 + 1; v0++) { - param0->unk_00[v0].unk_10 = ¶m0->unk_2C0.unk_18[v0]; + param0->unk_00[v0].unk_10 = ¶m0->unk_2EC.unk_18[v0]; } { @@ -837,55 +837,55 @@ void sub_0208A0B8(UnkStruct_02089688 *param0) }; for (; v0 < 0x1c; v0++) { - param0->unk_2C0.unk_18[v0].rect.top = v1[v0 - 16][1] - v1[v0 - 16][3]; - param0->unk_2C0.unk_18[v0].rect.left = v1[v0 - 16][0] - v1[v0 - 16][2]; - param0->unk_2C0.unk_18[v0].rect.bottom = v1[v0 - 16][1] + v1[v0 - 16][3]; - param0->unk_2C0.unk_18[v0].rect.right = v1[v0 - 16][0] + v1[v0 - 16][2]; + param0->unk_2EC.unk_18[v0].rect.top = v1[v0 - 16][1] - v1[v0 - 16][3]; + param0->unk_2EC.unk_18[v0].rect.left = v1[v0 - 16][0] - v1[v0 - 16][2]; + param0->unk_2EC.unk_18[v0].rect.bottom = v1[v0 - 16][1] + v1[v0 - 16][3]; + param0->unk_2EC.unk_18[v0].rect.right = v1[v0 - 16][0] + v1[v0 - 16][2]; } } - param0->unk_2C0.unk_14 = TouchScreenActions_RegisterHandler(param0->unk_2C0.unk_18, 0x1c, sub_0208A180, param0, HEAP_ID_101); + param0->unk_2EC.unk_14 = TouchScreenActions_RegisterHandler(param0->unk_2EC.unk_18, 0x1c, sub_0208A180, param0, HEAP_ID_101); } void sub_0208A180(u32 param0, enum TouchScreenButtonState param1, void *param2) { UnkStruct_02089688 *v0 = param2; - if (v0->unk_294 != 1) { + if (v0->unk_2C0 != 1) { return; } - if (v0->unk_2C0.unk_88 != 1) { - v0->unk_2C0.unk_88 = 1; + if (v0->unk_2EC.unk_88 != 1) { + v0->unk_2EC.unk_88 = 1; } if (param1 == TOUCH_BUTTON_PRESSED) { if ((param0 >= 0) && (param0 < 16)) { - if (param0 < v0->unk_3C4) { + if (param0 < v0->unk_3F0) { return; } if (v0->unk_00[param0].unk_08 == 1) { - v0->unk_380.unk_00 = 2; - v0->unk_380.unk_04 = param0; + v0->unk_3AC.unk_00 = 2; + v0->unk_3AC.unk_04 = param0; } else { - v0->unk_380.unk_00 = 1; - v0->unk_380.unk_04 = v0->unk_00[param0].unk_04; + v0->unk_3AC.unk_00 = 1; + v0->unk_3AC.unk_04 = v0->unk_00[param0].unk_04; } Sound_PlayEffect(SEQ_SE_DP_BUTTON3); } else { if (param0 == 26) { - v0->unk_1F0[1].unk_14.unk_00 = 0; - v0->unk_1F0[1].unk_14.unk_02 = 2; + v0->unk_214[1].unk_14.unk_00 = 0; + v0->unk_214[1].unk_14.unk_02 = 2; Sound_PlayEffect(SEQ_SE_DP_BUTTON3); } else if (param0 == 27) { - v0->unk_1F0[1].unk_14.unk_00 = 3; - v0->unk_1F0[1].unk_14.unk_02 = 2; + v0->unk_214[1].unk_14.unk_00 = 3; + v0->unk_214[1].unk_14.unk_02 = 2; Sound_PlayEffect(SEQ_SE_DP_PIRORIRO); } else { - v0->unk_1F0[1].unk_14.unk_00 = (param0 - 16) % 5; - v0->unk_1F0[1].unk_14.unk_02 = (param0 - 16) / 5; + v0->unk_214[1].unk_14.unk_00 = (param0 - 16) % 5; + v0->unk_214[1].unk_14.unk_02 = (param0 - 16) / 5; Sound_PlayEffect(SEQ_SE_DP_BUTTON3); } @@ -894,11 +894,11 @@ void sub_0208A180(u32 param0, enum TouchScreenButtonState param1, void *param2) int v2; int v3; - if (v0->unk_2A8 == 0) { + if (v0->unk_2D4 == 0) { return; } - v1 = v0->unk_1F0[0].unk_00; + v1 = v0->unk_214[0].unk_00; v0->unk_00[v1].unk_00 = param0 - 16 + 1; ManagedSprite_SetAnim(v0->unk_00[v1].unk_0C, sub_0208AD98(v0->unk_00[v1].unk_00, v0->unk_00[v1].unk_08)); @@ -907,25 +907,25 @@ void sub_0208A180(u32 param0, enum TouchScreenButtonState param1, void *param2) sub_0208AAB4(v0, 1, 0); sub_0208AAB4(v0, 2, 1); sub_0208AB6C(v0, param0 - 16, 2); - ManagedSprite_SetAnim(v0->unk_1F0[2].unk_0C, 3); + ManagedSprite_SetAnim(v0->unk_214[2].unk_0C, 3); v2 = v0->unk_00[v1].unk_04; v1++; - if (v1 == v0->unk_2A4) { - v0->unk_380.unk_00 = 1; - v0->unk_380.unk_04 = 0; - v0->unk_380.unk_08 = 0; + if (v1 == v0->unk_2D0) { + v0->unk_3AC.unk_00 = 1; + v0->unk_3AC.unk_04 = 0; + v0->unk_3AC.unk_08 = 0; } else { v3 = v0->unk_00[v1].unk_04; if (v2 != v3) { - v0->unk_380.unk_00 = 1; - v0->unk_380.unk_04 = v3; - v0->unk_380.unk_08 = 0; + v0->unk_3AC.unk_00 = 1; + v0->unk_3AC.unk_04 = v3; + v0->unk_3AC.unk_08 = 0; } else { - v0->unk_380.unk_00 = 2; - v0->unk_380.unk_04 = v1; + v0->unk_3AC.unk_00 = 2; + v0->unk_3AC.unk_04 = v1; } } } else { @@ -941,18 +941,18 @@ void sub_0208A180(u32 param0, enum TouchScreenButtonState param1, void *param2) void sub_0208A328(UnkStruct_02089688 *param0) { - switch (param0->unk_380.unk_00) { + switch (param0->unk_3AC.unk_00) { case 0: break; case 1: - sub_02089604(param0, param0->unk_380.unk_04); + sub_02089604(param0, param0->unk_3AC.unk_04); sub_0208ADA4(param0); sub_0208ADE4(param0, 1); sub_02089808(param0, 2); - param0->unk_380.unk_00 = 0xFF; + param0->unk_3AC.unk_00 = 0xFF; break; case 2: - sub_0208AAE4(param0, param0->unk_380.unk_04); + sub_0208AAE4(param0, param0->unk_3AC.unk_04); sub_0208A384(param0); break; case 0xFF: @@ -962,16 +962,16 @@ void sub_0208A328(UnkStruct_02089688 *param0) void sub_0208A384(UnkStruct_02089688 *param0) { - param0->unk_380.unk_00 = 0; - param0->unk_380.unk_04 = 0; - param0->unk_380.unk_08 = 0; + param0->unk_3AC.unk_00 = 0; + param0->unk_3AC.unk_04 = 0; + param0->unk_3AC.unk_08 = 0; } int sub_0208A398(UnkStruct_02089688 *param0, int param1) { int v0; - for (v0 = 0; v0 < param0->unk_2A4; v0++) { + for (v0 = 0; v0 < param0->unk_2D0; v0++) { if (param0->unk_00[v0].unk_04 == param1) { return v0; } @@ -986,7 +986,7 @@ int sub_0208A3C0(UnkStruct_02089688 *param0, int param1) int v1 = 0; int v2 = 0; - for (v0 = 0; v0 < param0->unk_2A4; v0++) { + for (v0 = 0; v0 < param0->unk_2D0; v0++) { if (param0->unk_00[v0].unk_04 == param1) { v2 = 1; } else { @@ -996,5 +996,5 @@ int sub_0208A3C0(UnkStruct_02089688 *param0, int param1) } } - return param0->unk_2A4 - 1; + return param0->unk_2D0 - 1; } diff --git a/src/unk_0208A3F4.c b/src/unk_0208A3F4.c index cda1972025..f15488aeee 100644 --- a/src/unk_0208A3F4.c +++ b/src/unk_0208A3F4.c @@ -25,7 +25,7 @@ void sub_0208A3F4(UnkStruct_02089688 *param0) { - param0->unk_2C0.unk_04 = SpriteSystem_Alloc(101); + param0->unk_2EC.unk_04 = SpriteSystem_Alloc(101); { const RenderOamTemplate v0 = { 0, @@ -41,7 +41,7 @@ void sub_0208A3F4(UnkStruct_02089688 *param0) 48 + 48, 1024 * 0x40, 512 * 0x20, GX_OBJVRAMMODE_CHAR_1D_64K, GX_OBJVRAMMODE_CHAR_1D_32K }; - SpriteSystem_Init(param0->unk_2C0.unk_04, &v0, &v1, 16 + 16); + SpriteSystem_Init(param0->unk_2EC.unk_04, &v0, &v1, 16 + 16); } { @@ -55,12 +55,12 @@ void sub_0208A3F4(UnkStruct_02089688 *param0) 16, }; - param0->unk_2C0.unk_08 = SpriteManager_New(param0->unk_2C0.unk_04); + param0->unk_2EC.unk_08 = SpriteManager_New(param0->unk_2EC.unk_04); - v2 = SpriteSystem_InitSprites(param0->unk_2C0.unk_04, param0->unk_2C0.unk_08, 64 + 64); + v2 = SpriteSystem_InitSprites(param0->unk_2EC.unk_04, param0->unk_2EC.unk_08, 64 + 64); GF_ASSERT(v2); - v2 = SpriteSystem_InitManagerWithCapacities(param0->unk_2C0.unk_04, param0->unk_2C0.unk_08, &v3); + v2 = SpriteSystem_InitManagerWithCapacities(param0->unk_2EC.unk_04, param0->unk_2EC.unk_08, &v3); GF_ASSERT(v2); } } @@ -69,11 +69,11 @@ void sub_0208A490(UnkStruct_02089688 *param0) { NARC *v0; BgConfig *v1; - SpriteSystem *v2 = param0->unk_2C0.unk_04; - SpriteManager *v3 = param0->unk_2C0.unk_08; - PaletteData *v4 = param0->unk_2C0.unk_10; - v1 = param0->unk_2C0.unk_0C; - v0 = param0->unk_2C0.unk_00; + SpriteSystem *v2 = param0->unk_2EC.unk_04; + SpriteManager *v3 = param0->unk_2EC.unk_08; + PaletteData *v4 = param0->unk_2EC.unk_10; + v1 = param0->unk_2EC.unk_0C; + v0 = param0->unk_2EC.unk_00; Graphics_LoadTilesToBgLayerFromOpenNARC(v0, 12, v1, 1, 0, 0, 0, HEAP_ID_101); Graphics_LoadTilemapToBgLayerFromOpenNARC(v0, 14, v1, 1, 0, 0, 0, HEAP_ID_101); @@ -99,7 +99,7 @@ void sub_0208A490(UnkStruct_02089688 *param0) SpriteSystem_LoadAnimResObjFromOpenNarc(v2, v3, v0, 11, FALSE, 1002); { - int v5 = Options_Frame(param0->unk_38C.options); + int v5 = Options_Frame(param0->unk_3B8.options); LoadMessageBoxGraphics(v1, BG_LAYER_SUB_0, 1, 10, v5, HEAP_ID_101); PaletteData_LoadBufferFromFileStart(v4, 38, GetMessageBoxPaletteNARCMember(v5), 101, 1, 0x20, 11 * 16); @@ -111,198 +111,81 @@ void sub_0208A6CC(UnkStruct_02089688 *param0) { int v0; - for (v0 = 0; v0 < param0->unk_2A4; v0++) { + for (v0 = 0; v0 < param0->unk_2D0; v0++) { Sprite_DeleteAndFreeResources(param0->unk_00[v0].unk_0C); } - for (v0 = 0; v0 < param0->unk_3C0; v0++) { - Sprite_DeleteAndFreeResources(param0->unk_1A0[v0].unk_0C); + for (v0 = 0; v0 < param0->unk_3EC; v0++) { + Sprite_DeleteAndFreeResources(param0->unk_1C0[v0].unk_0C); } for (v0 = 0; v0 < 2; v0++) { - Sprite_DeleteAndFreeResources(param0->unk_240[v0].unk_0C); + Sprite_DeleteAndFreeResources(param0->unk_268[v0].unk_0C); } for (v0 = 0; v0 < 3; v0++) { - Sprite_DeleteAndFreeResources(param0->unk_1F0[v0].unk_0C); + Sprite_DeleteAndFreeResources(param0->unk_214[v0].unk_0C); } sub_0208AFE8(param0); - Window_Remove(¶m0->unk_2C0.unk_B0); + Window_Remove(¶m0->unk_2EC.unk_B0); } -extern void _u32_div_f(void); - -// clang-format off -asm void sub_0208A758 (UnkStruct_02089688 * param0) +void sub_0208A758(UnkStruct_02089688 *param0) { - push {r4, r5, r6, r7, lr} - sub sp, #0x44 - str r0, [sp] - mov r0, #0 - str r0, [sp, #0xc] - mov r0, #0x2f - lsl r0, r0, #4 - ldr r1, [sp] - add r2, r0, #4 - ldr r1, [r1, r0] - str r1, [sp, #8] - ldr r1, [sp] - ldr r1, [r1, r2] - add r2, sp, #0x10 - str r1, [sp, #4] - ldr r1, [sp, #0xc] - strh r1, [r2] - strh r1, [r2, #2] - strh r1, [r2, #4] - strh r1, [r2, #6] - mov r1, #0xa - str r1, [sp, #0x18] - ldr r1, [sp, #0xc] - mov r2, #1 - str r1, [sp, #0x3c] - str r1, [sp, #0x40] - str r1, [sp, #0x1c] - add r1, r0, #0 - add r1, #0xf8 - str r1, [sp, #0x24] - str r1, [sp, #0x28] - str r1, [sp, #0x2c] - str r1, [sp, #0x30] - sub r1, r2, #2 - str r1, [sp, #0x34] - str r1, [sp, #0x38] - ldr r1, [sp] - str r2, [sp, #0x20] - add r0, #0xf0 - ldr r4, [r1, r0] - mov r1, #0x3f - ldr r0, [sp] - lsl r1, r1, #4 - ldr r0, [r0, r1] - sub r6, r0, #1 - bmi _0208A7DC - mov r0, #0x1c - add r1, r6, #0 - mul r1, r0 - ldr r0, [sp] - mov r7, #0xa - add r5, r0, r1 - _0208A7C0: - add r0, r4, #0 - add r1, r7, #0 - bl _u32_div_f - add r0, r1, #1 - str r0, [r5] - add r0, r4, #0 - mov r1, #0xa - bl _u32_div_f - add r4, r0, #0 - sub r5, #0x1c - sub r6, r6, #1 - bpl _0208A7C0 - _0208A7DC: - mov r1, #0xfb - ldr r0, [sp] - lsl r1, r1, #2 - ldr r0, [r0, r1] - mov r2, #0x2d - ldr r1, [sp] - lsl r2, r2, #4 - ldr r1, [r1, r2] - mov r6, #0 - add r1, r1, r0 - cmp r1, #0 - ble _0208A89C - ldr r4, [sp] - mov r7, #0x4c - add r5, r4, #0 - _0208A7FA: - cmp r0, #0 - beq _0208A84C - mov r0, #7 - lsl r0, r0, #6 - ldr r1, [r4, r0] - ldr r0, [sp, #0xc] - add r0, r0, r1 - add r0, r0, #1 - cmp r6, r0 - bne _0208A84C - ldr r0, [sp, #8] - ldr r1, [sp, #4] - add r2, sp, #0x10 - bl SpriteSystem_NewSprite - mov r1, #0x73 - lsl r1, r1, #2 - str r0, [r4, r1] - add r0, r1, #0 - lsl r1, r7, #0x10 - ldr r0, [r4, r0] - asr r1, r1, #0x10 - mov r2, #0x18 - bl ManagedSprite_SetPositionXY - mov r0, #0x73 - lsl r0, r0, #2 - ldr r0, [r4, r0] - mov r1, #0x16 - bl ManagedSprite_SetAnim - mov r0, #0x73 - lsl r0, r0, #2 - ldr r0, [r4, r0] - bl ManagedSprite_TickFrame - ldr r0, [sp, #0xc] - add r4, #0x1c - add r0, r0, #1 - str r0, [sp, #0xc] - b _0208A882 - _0208A84C: - ldr r0, [sp, #8] - ldr r1, [sp, #4] - add r2, sp, #0x10 - bl SpriteSystem_NewSprite - lsl r1, r7, #0x10 - str r0, [r5, #0xc] - asr r1, r1, #0x10 - mov r2, #0x18 - bl ManagedSprite_SetPositionXY - ldr r0, [r5, #0] - ldr r1, [r5, #8] - bl sub_0208AD98 - add r1, r0, #0 - ldr r0, [r5, #0xc] - bl ManagedSprite_SetAnim - ldr r0, [r5, #0xc] - mov r1, #2 - bl ManagedSprite_SetAffineOverwriteMode - ldr r0, [r5, #0xc] - bl ManagedSprite_TickFrame - add r5, #0x1c - _0208A882: - ldr r1, [sp] - mov r0, #0xfb - lsl r0, r0, #2 - ldr r0, [r1, r0] - add r2, r1, #0 - mov r1, #0x2d - lsl r1, r1, #4 - ldr r1, [r2, r1] - add r6, r6, #1 - add r1, r1, r0 - add r7, #8 - cmp r6, r1 - blt _0208A7FA - _0208A89C: - add sp, #0x44 - pop {r4, r5, r6, r7, pc} + int i; + int v0 = 0, v1 = 0; + + SpriteTemplate v2; + SpriteSystem *v3 = param0->unk_2EC.unk_04; + SpriteManager *v4 = param0->unk_2EC.unk_08; + + v2.x = 0; + v2.y = 0; + v2.z = 0; + v2.animIdx = 0; + v2.priority = 10; + v2.vramType = NNS_G2D_VRAM_TYPE_2DMAIN; + v2.bgPriority = 0; + v2.vramTransfer = FALSE; + v2.plttIdx = 0; + v2.resources[0] = 1000; + v2.resources[1] = 1000; + v2.resources[2] = 1000; + v2.resources[3] = 1000; + v2.resources[4] = SPRITE_RESOURCE_NONE; + v2.resources[5] = SPRITE_RESOURCE_NONE; + + u32 v5 = param0->unk_3B8.unk_28; + for (i = param0->unk_3F0 - 1; i >= 0; i--) { + param0->unk_00[i].unk_00 = (v5 % 10) + 1; + v5 /= 10; + } + + for (i = 0; i < param0->unk_2D0 + param0->unk_3EC; i++) { + if (param0->unk_3EC != 0 && i == param0->unk_1C0[v0].unk_00 + v0 + 1) { + param0->unk_1C0[v0].unk_0C = SpriteSystem_NewSprite(v3, v4, &v2); + ManagedSprite_SetPositionXY(param0->unk_1C0[v0].unk_0C, 76 + i * 8, 24); + ManagedSprite_SetAnim(param0->unk_1C0[v0].unk_0C, 22); + ManagedSprite_TickFrame(param0->unk_1C0[v0].unk_0C); + v0++; + } else { + param0->unk_00[v1].unk_0C = SpriteSystem_NewSprite(v3, v4, &v2); + ManagedSprite_SetPositionXY(param0->unk_00[v1].unk_0C, 76 + i * 8, 24); + ManagedSprite_SetAnim(param0->unk_00[v1].unk_0C, sub_0208AD98(param0->unk_00[v1].unk_00, param0->unk_00[v1].unk_08)); + ManagedSprite_SetAffineOverwriteMode(param0->unk_00[v1].unk_0C, AFFINE_OVERWRITE_MODE_DOUBLE); + ManagedSprite_TickFrame(param0->unk_00[v1].unk_0C); + v1++; + } + } } -// clang-format on void sub_0208A8A0(UnkStruct_02089688 *param0) { SpriteTemplate v0; - SpriteSystem *v1 = param0->unk_2C0.unk_04; - SpriteManager *v2 = param0->unk_2C0.unk_08; - PaletteData *v3 = param0->unk_2C0.unk_10; + SpriteSystem *v1 = param0->unk_2EC.unk_04; + SpriteManager *v2 = param0->unk_2EC.unk_08; + PaletteData *v3 = param0->unk_2EC.unk_10; v0.x = 0; v0.y = 0; @@ -320,31 +203,31 @@ void sub_0208A8A0(UnkStruct_02089688 *param0) v0.resources[4] = SPRITE_RESOURCE_NONE; v0.resources[5] = SPRITE_RESOURCE_NONE; - param0->unk_1F0[0].unk_0C = SpriteSystem_NewSprite(v1, v2, &v0); - param0->unk_1F0[1].unk_0C = SpriteSystem_NewSprite(v1, v2, &v0); - param0->unk_1F0[2].unk_0C = SpriteSystem_NewSprite(v1, v2, &v0); + param0->unk_214[0].unk_0C = SpriteSystem_NewSprite(v1, v2, &v0); + param0->unk_214[1].unk_0C = SpriteSystem_NewSprite(v1, v2, &v0); + param0->unk_214[2].unk_0C = SpriteSystem_NewSprite(v1, v2, &v0); - sub_0208AAE4(param0, param0->unk_3C4); - ManagedSprite_SetAnim(param0->unk_1F0[0].unk_0C, 0); - ManagedSprite_TickFrame(param0->unk_1F0[0].unk_0C); + sub_0208AAE4(param0, param0->unk_3F0); + ManagedSprite_SetAnim(param0->unk_214[0].unk_0C, 0); + ManagedSprite_TickFrame(param0->unk_214[0].unk_0C); - param0->unk_1F0[1].unk_14.unk_00 = 0; - param0->unk_1F0[1].unk_14.unk_02 = 0; - param0->unk_1F0[1].unk_00 = 1; + param0->unk_214[1].unk_14.unk_00 = 0; + param0->unk_214[1].unk_14.unk_02 = 0; + param0->unk_214[1].unk_00 = 1; sub_0208AB2C(param0, 0); - ManagedSprite_SetAnim(param0->unk_1F0[1].unk_0C, param0->unk_1F0[1].unk_00); - ManagedSprite_TickFrame(param0->unk_1F0[1].unk_0C); - ManagedSprite_SetExplicitOamMode(param0->unk_1F0[1].unk_0C, GX_OAM_MODE_XLU); + ManagedSprite_SetAnim(param0->unk_214[1].unk_0C, param0->unk_214[1].unk_00); + ManagedSprite_TickFrame(param0->unk_214[1].unk_0C); + ManagedSprite_SetExplicitOamMode(param0->unk_214[1].unk_0C, GX_OAM_MODE_XLU); - param0->unk_1F0[2].unk_14.unk_00 = 0; - param0->unk_1F0[2].unk_14.unk_02 = 0; - param0->unk_1F0[2].unk_00 = 1; + param0->unk_214[2].unk_14.unk_00 = 0; + param0->unk_214[2].unk_14.unk_02 = 0; + param0->unk_214[2].unk_00 = 1; sub_0208AB2C(param0, 0); - ManagedSprite_SetAnim(param0->unk_1F0[2].unk_0C, param0->unk_1F0[2].unk_00); - ManagedSprite_TickFrame(param0->unk_1F0[2].unk_0C); - ManagedSprite_SetExplicitOamMode(param0->unk_1F0[2].unk_0C, GX_OAM_MODE_XLU); + ManagedSprite_SetAnim(param0->unk_214[2].unk_0C, param0->unk_214[2].unk_00); + ManagedSprite_TickFrame(param0->unk_214[2].unk_0C); + ManagedSprite_SetExplicitOamMode(param0->unk_214[2].unk_0C, GX_OAM_MODE_XLU); sub_0208AAB4(param0, 1, 0); sub_0208AAB4(param0, 2, 0); } @@ -352,9 +235,9 @@ void sub_0208A8A0(UnkStruct_02089688 *param0) void sub_0208A9BC(UnkStruct_02089688 *param0) { SpriteTemplate v0; - SpriteSystem *v1 = param0->unk_2C0.unk_04; - SpriteManager *v2 = param0->unk_2C0.unk_08; - PaletteData *v3 = param0->unk_2C0.unk_10; + SpriteSystem *v1 = param0->unk_2EC.unk_04; + SpriteManager *v2 = param0->unk_2EC.unk_08; + PaletteData *v3 = param0->unk_2EC.unk_10; v0.x = 0; v0.y = 0; @@ -372,35 +255,35 @@ void sub_0208A9BC(UnkStruct_02089688 *param0) v0.resources[4] = SPRITE_RESOURCE_NONE; v0.resources[5] = SPRITE_RESOURCE_NONE; v0.plttIdx = 0; - param0->unk_240[0].unk_0C = SpriteSystem_NewSprite(v1, v2, &v0); + param0->unk_268[0].unk_0C = SpriteSystem_NewSprite(v1, v2, &v0); v0.plttIdx = 1; - param0->unk_240[1].unk_0C = SpriteSystem_NewSprite(v1, v2, &v0); + param0->unk_268[1].unk_0C = SpriteSystem_NewSprite(v1, v2, &v0); { s16 v4, v5; - v4 = (param0->unk_2C0.unk_18[26].rect.left + param0->unk_2C0.unk_18[26].rect.right) / 2; - v5 = (param0->unk_2C0.unk_18[26].rect.top + param0->unk_2C0.unk_18[26].rect.bottom) / 2; + v4 = (param0->unk_2EC.unk_18[26].rect.left + param0->unk_2EC.unk_18[26].rect.right) / 2; + v5 = (param0->unk_2EC.unk_18[26].rect.top + param0->unk_2EC.unk_18[26].rect.bottom) / 2; - ManagedSprite_SetPositionXY(param0->unk_240[0].unk_0C, v4, v5); - ManagedSprite_SetAnim(param0->unk_240[0].unk_0C, 0); - ManagedSprite_TickFrame(param0->unk_240[0].unk_0C); + ManagedSprite_SetPositionXY(param0->unk_268[0].unk_0C, v4, v5); + ManagedSprite_SetAnim(param0->unk_268[0].unk_0C, 0); + ManagedSprite_TickFrame(param0->unk_268[0].unk_0C); - v4 = (param0->unk_2C0.unk_18[27].rect.left + param0->unk_2C0.unk_18[27].rect.right) / 2; - v5 = (param0->unk_2C0.unk_18[27].rect.top + param0->unk_2C0.unk_18[27].rect.bottom) / 2; + v4 = (param0->unk_2EC.unk_18[27].rect.left + param0->unk_2EC.unk_18[27].rect.right) / 2; + v5 = (param0->unk_2EC.unk_18[27].rect.top + param0->unk_2EC.unk_18[27].rect.bottom) / 2; - ManagedSprite_SetPositionXY(param0->unk_240[1].unk_0C, v4, v5); - ManagedSprite_SetAnim(param0->unk_240[1].unk_0C, 0); - ManagedSprite_TickFrame(param0->unk_240[1].unk_0C); + ManagedSprite_SetPositionXY(param0->unk_268[1].unk_0C, v4, v5); + ManagedSprite_SetAnim(param0->unk_268[1].unk_0C, 0); + ManagedSprite_TickFrame(param0->unk_268[1].unk_0C); } } void sub_0208AAB4(UnkStruct_02089688 *param0, int param1, BOOL param2) { if (param2 == 1) { - ManagedSprite_SetDrawFlag(param0->unk_1F0[param1].unk_0C, 1); + ManagedSprite_SetDrawFlag(param0->unk_214[param1].unk_0C, 1); } else { - ManagedSprite_SetDrawFlag(param0->unk_1F0[param1].unk_0C, 0); + ManagedSprite_SetDrawFlag(param0->unk_214[param1].unk_0C, 0); } } @@ -409,38 +292,38 @@ void sub_0208AAE4(UnkStruct_02089688 *param0, int param1) s16 v0, v1; ManagedSprite *v2; - if (param1 < param0->unk_3C4) { + if (param1 < param0->unk_3F0) { return; } v2 = param0->unk_00[param1].unk_0C; - param0->unk_1F0[0].unk_00 = param1; + param0->unk_214[0].unk_00 = param1; ManagedSprite_GetPositionXY(v2, &v0, &v1); - ManagedSprite_SetPositionXY(param0->unk_1F0[0].unk_0C, v0, v1 + 16); + ManagedSprite_SetPositionXY(param0->unk_214[0].unk_0C, v0, v1 + 16); } void sub_0208AB2C(UnkStruct_02089688 *param0, int param1) { - s16 v0 = (param0->unk_2C0.unk_18[param1 + 16].rect.left + param0->unk_2C0.unk_18[param1 + 16].rect.right) / 2; - s16 v1 = (param0->unk_2C0.unk_18[param1 + 16].rect.top + param0->unk_2C0.unk_18[param1 + 16].rect.bottom) / 2; + s16 v0 = (param0->unk_2EC.unk_18[param1 + 16].rect.left + param0->unk_2EC.unk_18[param1 + 16].rect.right) / 2; + s16 v1 = (param0->unk_2EC.unk_18[param1 + 16].rect.top + param0->unk_2EC.unk_18[param1 + 16].rect.bottom) / 2; - ManagedSprite_SetPositionXY(param0->unk_1F0[1].unk_0C, v0, v1); + ManagedSprite_SetPositionXY(param0->unk_214[1].unk_0C, v0, v1); } void sub_0208AB6C(UnkStruct_02089688 *param0, int param1, int param2) { - s16 v0 = (param0->unk_2C0.unk_18[param1 + 16].rect.left + param0->unk_2C0.unk_18[param1 + 16].rect.right) / 2; - s16 v1 = (param0->unk_2C0.unk_18[param1 + 16].rect.top + param0->unk_2C0.unk_18[param1 + 16].rect.bottom) / 2; + s16 v0 = (param0->unk_2EC.unk_18[param1 + 16].rect.left + param0->unk_2EC.unk_18[param1 + 16].rect.right) / 2; + s16 v1 = (param0->unk_2EC.unk_18[param1 + 16].rect.top + param0->unk_2EC.unk_18[param1 + 16].rect.bottom) / 2; - ManagedSprite_SetPositionXY(param0->unk_1F0[param2].unk_0C, v0, v1); + ManagedSprite_SetPositionXY(param0->unk_214[param2].unk_0C, v0, v1); } void sub_0208ABB4(UnkStruct_02089688 *param0) { - ManagedSprite_TickFrame(param0->unk_1F0[0].unk_0C); - ManagedSprite_TickFrame(param0->unk_1F0[1].unk_0C); - ManagedSprite_TickFrame(param0->unk_1F0[2].unk_0C); + ManagedSprite_TickFrame(param0->unk_214[0].unk_0C); + ManagedSprite_TickFrame(param0->unk_214[1].unk_0C); + ManagedSprite_TickFrame(param0->unk_214[2].unk_0C); { int v0 = 2; @@ -448,15 +331,15 @@ void sub_0208ABB4(UnkStruct_02089688 *param0) BOOL v2; for (v0 = 1; v0 < 3; v0++) { - v1 = ManagedSprite_GetActiveAnim(param0->unk_1F0[v0].unk_0C); + v1 = ManagedSprite_GetActiveAnim(param0->unk_214[v0].unk_0C); if (v1 == 3) { - v2 = ManagedSprite_IsAnimated(param0->unk_1F0[v0].unk_0C); + v2 = ManagedSprite_IsAnimated(param0->unk_214[v0].unk_0C); if (v2 == 0) { - ManagedSprite_SetAnim(param0->unk_1F0[v0].unk_0C, param0->unk_1F0[v0].unk_00); + ManagedSprite_SetAnim(param0->unk_214[v0].unk_0C, param0->unk_214[v0].unk_00); - if (param0->unk_2C0.unk_88 == 1) { + if (param0->unk_2EC.unk_88 == 1) { sub_0208AAB4(param0, 1, 0); } else { sub_0208AAB4(param0, 1, 1); @@ -465,15 +348,15 @@ void sub_0208ABB4(UnkStruct_02089688 *param0) sub_0208AAB4(param0, 2, 0); } } else { - if (v1 != param0->unk_1F0[v0].unk_00) { - ManagedSprite_SetAnim(param0->unk_1F0[v0].unk_0C, param0->unk_1F0[v0].unk_00); + if (v1 != param0->unk_214[v0].unk_00) { + ManagedSprite_SetAnim(param0->unk_214[v0].unk_0C, param0->unk_214[v0].unk_00); } { - v1 = ManagedSprite_GetActiveAnim(param0->unk_1F0[2].unk_0C); + v1 = ManagedSprite_GetActiveAnim(param0->unk_214[2].unk_0C); if (v1 != 3) { - if (param0->unk_2C0.unk_88 == 1) { + if (param0->unk_2EC.unk_88 == 1) { sub_0208AAB4(param0, 1, 0); } else { sub_0208AAB4(param0, 1, 1); @@ -501,34 +384,34 @@ void sub_0208AC8C(UnkStruct_02089688 *param0) s16 v1, v2; for (v0 = 0; v0 < 2; v0++) { - v1 = (param0->unk_2C0.unk_18[v0 + 26].rect.left + param0->unk_2C0.unk_18[v0 + 26].rect.right) / 2; + v1 = (param0->unk_2EC.unk_18[v0 + 26].rect.left + param0->unk_2EC.unk_18[v0 + 26].rect.right) / 2; v1 -= 40; - v2 = (param0->unk_2C0.unk_18[v0 + 26].rect.top + param0->unk_2C0.unk_18[v0 + 26].rect.bottom) / 2; + v2 = (param0->unk_2EC.unk_18[v0 + 26].rect.top + param0->unk_2EC.unk_18[v0 + 26].rect.bottom) / 2; v2 -= 7; - switch (param0->unk_240[v0].unk_00) { + switch (param0->unk_268[v0].unk_00) { case 0: - param0->unk_240[v0].unk_14.unk_04 = 0; + param0->unk_268[v0].unk_14.unk_04 = 0; break; case 1: - param0->unk_240[v0].unk_14.unk_04++; + param0->unk_268[v0].unk_14.unk_04++; - if (param0->unk_240[v0].unk_14.unk_04 == 1) { - ManagedSprite_SetAnim(param0->unk_240[v0].unk_0C, 1); - sub_0208AC80(param0->unk_2C0.unk_90[v0], v1, v2 - 0); - } else if (param0->unk_240[v0].unk_14.unk_04 == 2) { - ManagedSprite_SetAnim(param0->unk_240[v0].unk_0C, 2); - sub_0208AC80(param0->unk_2C0.unk_90[v0], v1, v2 - 1); - } else if (param0->unk_240[v0].unk_14.unk_04 == 10) { - ManagedSprite_SetAnim(param0->unk_240[v0].unk_0C, 0); - sub_0208AC80(param0->unk_2C0.unk_90[v0], v1, v2 + 0); - param0->unk_240[v0].unk_00++; + if (param0->unk_268[v0].unk_14.unk_04 == 1) { + ManagedSprite_SetAnim(param0->unk_268[v0].unk_0C, 1); + sub_0208AC80(param0->unk_2EC.unk_90[v0], v1, v2 - 0); + } else if (param0->unk_268[v0].unk_14.unk_04 == 2) { + ManagedSprite_SetAnim(param0->unk_268[v0].unk_0C, 2); + sub_0208AC80(param0->unk_2EC.unk_90[v0], v1, v2 - 1); + } else if (param0->unk_268[v0].unk_14.unk_04 == 10) { + ManagedSprite_SetAnim(param0->unk_268[v0].unk_0C, 0); + sub_0208AC80(param0->unk_2EC.unk_90[v0], v1, v2 + 0); + param0->unk_268[v0].unk_00++; } break; default: - ManagedSprite_SetAnim(param0->unk_240[v0].unk_0C, 0); - sub_0208AC80(param0->unk_2C0.unk_90[v0], v1, v2); - param0->unk_240[v0].unk_00 = 0; + ManagedSprite_SetAnim(param0->unk_268[v0].unk_0C, 0); + sub_0208AC80(param0->unk_2EC.unk_90[v0], v1, v2); + param0->unk_268[v0].unk_00 = 0; break; } } @@ -551,8 +434,8 @@ void sub_0208ADA4(UnkStruct_02089688 *param0) { int v0; - for (v0 = 0; v0 < param0->unk_2A4; v0++) { - if ((v0 >= param0->unk_2B0) && (v0 < param0->unk_2B4)) { + for (v0 = 0; v0 < param0->unk_2D0; v0++) { + if ((v0 >= param0->unk_2DC) && (v0 < param0->unk_2E0)) { param0->unk_00[v0].unk_08 = 1; } else { param0->unk_00[v0].unk_08 = 0; @@ -567,12 +450,12 @@ void sub_0208ADE4(UnkStruct_02089688 *param0, int param1) s16 v2; s16 v3, v4; - v2 = param0->unk_274[param0->unk_2A8]; + v2 = param0->unk_2A0[param0->unk_2D4]; v1 = 0; - for (v0 = 0; v0 < param0->unk_2A4; v0++) { - if ((v0 >= param0->unk_2B0) && (v0 < param0->unk_2B4)) { - if (v0 == param0->unk_2B0) { + for (v0 = 0; v0 < param0->unk_2D0; v0++) { + if ((v0 >= param0->unk_2DC) && (v0 < param0->unk_2E0)) { + if (v0 == param0->unk_2DC) { v2 += ((32 + 8) / 2); } else { v2 += 32; @@ -596,13 +479,13 @@ void sub_0208ADE4(UnkStruct_02089688 *param0, int param1) param0->unk_00[v0].unk_14.unk_05 = 0; } - if ((v0 == param0->unk_1A0[v1].unk_00) && (v1 != param0->unk_3C0)) { - ManagedSprite_GetPositionXY(param0->unk_1A0[v1].unk_0C, &v3, &v4); + if ((v0 == param0->unk_1C0[v1].unk_00) && (v1 != param0->unk_3EC)) { + ManagedSprite_GetPositionXY(param0->unk_1C0[v1].unk_0C, &v3, &v4); - if (param0->unk_2B0 == param0->unk_2B4) { + if (param0->unk_2DC == param0->unk_2E0) { v2 += 8; } else { - if ((v0 > param0->unk_2B0) && (v0 < param0->unk_2B4)) { + if ((v0 > param0->unk_2DC) && (v0 < param0->unk_2E0)) { v2 += ((32 + 8) / 2); } else { v2 += 8; @@ -610,11 +493,11 @@ void sub_0208ADE4(UnkStruct_02089688 *param0, int param1) } if (param1 == 0) { - ManagedSprite_SetPositionXY(param0->unk_1A0[v1].unk_0C, v2, v4); + ManagedSprite_SetPositionXY(param0->unk_1C0[v1].unk_0C, v2, v4); } else { - param0->unk_1A0[v1].unk_14.unk_00 = (v2 - v3) / 2; - param0->unk_1A0[v1].unk_14.unk_02 = 0; - param0->unk_1A0[v1].unk_14.unk_04 = 2; + param0->unk_1C0[v1].unk_14.unk_00 = (v2 - v3) / 2; + param0->unk_1C0[v1].unk_14.unk_02 = 0; + param0->unk_1C0[v1].unk_14.unk_04 = 2; } v1++; @@ -641,8 +524,8 @@ void sub_0208AF44(UnkStruct_02089688 *param0) s16 v1; s16 v2; - for (v0 = 0; v0 < param0->unk_2A4; v0++) { - if ((v0 >= param0->unk_2B0) && (v0 < param0->unk_2B4)) { + for (v0 = 0; v0 < param0->unk_2D0; v0++) { + if ((v0 >= param0->unk_2DC) && (v0 < param0->unk_2E0)) { v1 = 32 / 2; v2 = 32 / 2; } else { @@ -656,23 +539,23 @@ void sub_0208AF44(UnkStruct_02089688 *param0) void sub_0208AFCC(UnkStruct_02089688 *param0) { - param0->unk_2C0.unk_8C = sub_02012744(2, HEAP_ID_101); + param0->unk_2EC.unk_8C = sub_02012744(2, HEAP_ID_101); Font_InitManager(FONT_SUBSCREEN, HEAP_ID_101); } void sub_0208AFE8(UnkStruct_02089688 *param0) { Font_Free(FONT_SUBSCREEN); - sub_02012870(param0->unk_2C0.unk_90[0]); - CharTransfer_ClearRange(¶m0->unk_2C0.unk_98[0]); - sub_02012870(param0->unk_2C0.unk_90[1]); - CharTransfer_ClearRange(¶m0->unk_2C0.unk_98[1]); - sub_020127BC(param0->unk_2C0.unk_8C); + sub_02012870(param0->unk_2EC.unk_90[0]); + CharTransfer_ClearRange(¶m0->unk_2EC.unk_98[0]); + sub_02012870(param0->unk_2EC.unk_90[1]); + CharTransfer_ClearRange(¶m0->unk_2EC.unk_98[1]); + sub_020127BC(param0->unk_2EC.unk_8C); } void sub_0208B028(UnkStruct_02089688 *param0) { - SpriteSystem_LoadPaletteBuffer(param0->unk_2C0.unk_10, 2, param0->unk_2C0.unk_04, param0->unk_2C0.unk_08, 14, 7, 0, 1, NNS_G2D_VRAM_TYPE_2DMAIN, 1003); + SpriteSystem_LoadPaletteBuffer(param0->unk_2EC.unk_10, 2, param0->unk_2EC.unk_04, param0->unk_2EC.unk_08, 14, 7, 0, 1, NNS_G2D_VRAM_TYPE_2DMAIN, 1003); } void sub_0208B064(UnkStruct_02089688 *param0) @@ -697,26 +580,26 @@ void sub_0208B090(UnkStruct_02089688 *param0, int param1, int param2, int param3 { Window_Init(&v7); - Window_AddToTopLeftCorner(param0->unk_2C0.unk_0C, &v7, 10, 2, 0, 0); + Window_AddToTopLeftCorner(param0->unk_2EC.unk_0C, &v7, 10, 2, 0, 0); Text_AddPrinterWithParamsAndColor(&v7, FONT_SUBSCREEN, v3, Font_CalcCenterAlignment(FONT_SUBSCREEN, v3, 0, 80), 0, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(15, 13, 2), NULL); } v4 = 1003; v5 = sub_02012898(&v7, NNS_G2D_VRAM_TYPE_2DMAIN, HEAP_ID_101); - CharTransfer_AllocRange(v5, 1, NNS_G2D_VRAM_TYPE_2DMAIN, ¶m0->unk_2C0.unk_98[param1]); + CharTransfer_AllocRange(v5, 1, NNS_G2D_VRAM_TYPE_2DMAIN, ¶m0->unk_2EC.unk_98[param1]); - v0 = (param0->unk_2C0.unk_18[param1 + 26].rect.left + param0->unk_2C0.unk_18[param1 + 26].rect.right) / 2; + v0 = (param0->unk_2EC.unk_18[param1 + 26].rect.left + param0->unk_2EC.unk_18[param1 + 26].rect.right) / 2; v0 -= 40; - v1 = (param0->unk_2C0.unk_18[param1 + 26].rect.top + param0->unk_2C0.unk_18[param1 + 26].rect.bottom) / 2; + v1 = (param0->unk_2EC.unk_18[param1 + 26].rect.top + param0->unk_2EC.unk_18[param1 + 26].rect.bottom) / 2; v1 -= 7; - v2.unk_00 = param0->unk_2C0.unk_8C; + v2.unk_00 = param0->unk_2EC.unk_8C; v2.unk_04 = &v7; - v2.unk_08 = SpriteManager_GetSpriteList(param0->unk_2C0.unk_08); - v2.unk_0C = SpriteManager_FindPlttResourceProxy(param0->unk_2C0.unk_08, v4); + v2.unk_08 = SpriteManager_GetSpriteList(param0->unk_2EC.unk_08); + v2.unk_0C = SpriteManager_FindPlttResourceProxy(param0->unk_2EC.unk_08, v4); v2.unk_10 = NULL; - v2.unk_14 = param0->unk_2C0.unk_98[param1].offset; + v2.unk_14 = param0->unk_2EC.unk_98[param1].offset; v2.unk_18 = v0; v2.unk_1C = v1; v2.unk_20 = 0; @@ -724,9 +607,9 @@ void sub_0208B090(UnkStruct_02089688 *param0, int param1, int param2, int param3 v2.unk_28 = NNS_G2D_VRAM_TYPE_2DMAIN; v2.heapID = HEAP_ID_101; - param0->unk_2C0.unk_90[param1] = sub_020127E8(&v2); + param0->unk_2EC.unk_90[param1] = sub_020127E8(&v2); - sub_02012AC0(param0->unk_2C0.unk_90[param1], param4); + sub_02012AC0(param0->unk_2EC.unk_90[param1], param4); Strbuf_Free(v3); MessageLoader_Free(v6); Window_Remove(&v7);