diff --git a/include/battle/battle_system.h b/include/battle/battle_system.h index 1dce8ca450..bfe64e97e1 100644 --- a/include/battle/battle_system.h +++ b/include/battle/battle_system.h @@ -247,7 +247,7 @@ void *BattleSystem_GetHealthBox(BattleSystem *battleSys, int battler); void ov16_0223F36C(BattleSystem *battleSys); void ov16_0223F3BC(BattleSystem *battleSys); void ov16_0223F3EC(BattleSystem *battleSys); -void ov16_0223F414(BattleSystem *battleSys); +void BattleSystem_DestroyHealthboxes(BattleSystem *battleSys); u8 BattleSystem_GetResultMask(BattleSystem *battleSys); void BattleSystem_SetResultMask(BattleSystem *battleSys, u8 value); u8 BattleSystem_GetRedHPSoundFlag(BattleSystem *battleSys); @@ -273,7 +273,7 @@ u8 BattleSystem_GetRecordedChatter(BattleSystem *battleSys, int battler); void ov16_0223F858(BattleSystem *battleSys, u8 *param1); void BattleSystem_SetBattlerTypes(BattleSystem *battleSys, u8 *battlerTypes); void ov16_0223F8AC(BattleSystem *battleSys, PokemonSprite **monSprites); -void BattleSystem_SetGaugePriority(BattleSystem *battleSys, int param1); +void BattleSystem_SetHealthboxPriority(BattleSystem *battleSys, int param1); /** * @brief Calculate the money penalty for losing a battle. diff --git a/include/battle/healthbox.h b/include/battle/healthbox.h index 9d13e22c71..78b7a5c0b6 100644 --- a/include/battle/healthbox.h +++ b/include/battle/healthbox.h @@ -84,7 +84,7 @@ typedef struct HealthBox { u8 unused_4F_2 : 1; u8 numberMode : 1; u8 padding : 4; - SysTask *task_50; + SysTask *bobbingAnimTask; u16 degrees; } HealthBox; @@ -112,11 +112,11 @@ ManagedSprite *HealthBox_DrawSprite(SpriteSystem *spriteSys, SpriteManager *spri * @param flags The components to be drawn, as a bitmask. */ void HealthBox_DrawInfo(HealthBox *healthbox, u32 hp, u32 flags); -void ov16_02267220(HealthBox *healthbox); -void ov16_02267258(HealthBox *healthbox); -void ov16_022672C4(HealthBox *healthbox); -void ov16_02267360(HealthBox *healthbox); -void ov16_0226737C(HealthBox *healthbox); +void Healthbox_DeleteMainSprite(HealthBox *healthbox); +void Healthbox_UnloadMainSpriteObjects(HealthBox *healthbox); +void Healthbox_CreateMainSprite(HealthBox *healthbox); +void Healthbox_DestroySprites(HealthBox *healthbox); +void Healthbox_ToggleHPDisplayMode(HealthBox *healthbox); /** * @brief Compute the battler's new HP after taking a given amount of @@ -129,12 +129,12 @@ void ov16_0226737C(HealthBox *healthbox); * values are damage, positive values are recovery. */ void HealthBox_CalcHP(HealthBox *healthbox, int damage); -s32 ov16_022674F8(HealthBox *healthbox); +s32 Healthbox_DrawHPBar(HealthBox *healthbox); void HealthBox_CalcExp(HealthBox *healthbox, int expReward); -s32 ov16_02267560(HealthBox *healthbox); -void ov16_0226757C(HealthBox *healthbox); -void ov16_022675AC(HealthBox *healthbox); -void ov16_022675D8(HealthBox *healthbox, int priority); +s32 Healthbox_DrawExpBar(HealthBox *healthbox); +void Healthbox_Activate(HealthBox *healthbox); +void Healthbox_Deactivate(HealthBox *healthbox); +void Healthbox_SetExplicitPriority(HealthBox *healthbox, int priority); /** * @brief Enable (or disable) the healthbox. @@ -172,10 +172,10 @@ void HealthBox_Scroll(HealthBox *healthbox, enum HealthBoxScrollDirection direct * @return The resulting healthbox type; see enum HealthBoxType. */ u8 HealthBox_Type(int battlerType, u32 battleType); -void ov16_0226834C(HealthBox *healthbox, u8 *param1); +void Healthbox_StartLevelUpFlash(HealthBox *healthbox, u8 *param1); void ov16_02268468(HealthBox *healthbox); void ov16_0226846C(HealthBox *healthbox); -void ov16_02268470(HealthBox *healthbox); -void ov16_02268498(HealthBox *healthbox); +void Healthbox_StartBobAnimation(HealthBox *healthbox); +void Healthbox_StopBobAnimation(HealthBox *healthbox); #endif // POKEPLATINUM_HEALTHBOX_H diff --git a/src/battle/battle_display.c b/src/battle/battle_display.c index 88e0d35f45..f76a81c85a 100644 --- a/src/battle/battle_display.c +++ b/src/battle/battle_display.c @@ -3253,7 +3253,7 @@ static void Task_PlayerSetCommandSelection(SysTask *task, void *data) } break; case 3: - ov16_0226757C(commandSetData->healthbox); + Healthbox_Activate(commandSetData->healthbox); ov16_02264798(battlerData, commandSetData->battleSys); commandSetData->state = 4; case 4: @@ -3324,7 +3324,7 @@ static void Task_PlayerSetCommandSelection(SysTask *task, void *data) for (int i = 0; i < BattleSystem_GetMaxBattlers(commandSetData->battleSys); i++) { battlerData = BattleSystem_GetBattlerData(commandSetData->battleSys, i); - ov16_0226737C(&battlerData->healthbox); + Healthbox_ToggleHPDisplayMode(&battlerData->healthbox); } } @@ -3351,7 +3351,7 @@ static void Task_PlayerSetCommandSelection(SysTask *task, void *data) ov16_02268C04(bgNarc, objNarc, v2, 0, 0, NULL); ov16_0226BCCC(v2, 0); ov16_0226846C(healthbox); - ov16_022675AC(commandSetData->healthbox); + Healthbox_Deactivate(commandSetData->healthbox); ov16_022647D8(battlerData); NARC_dtor(bgNarc); NARC_dtor(objNarc); @@ -3363,7 +3363,7 @@ static void Task_PlayerSetCommandSelection(SysTask *task, void *data) ov16_02268C04(bgNarc, objNarc, v2, 0, 0, NULL); ov16_0226BCCC(v2, 0); ov16_0226846C(healthbox); - ov16_022675AC(commandSetData->healthbox); + Healthbox_Deactivate(commandSetData->healthbox); ov16_022647D8(battlerData); NARC_dtor(bgNarc); NARC_dtor(objNarc); @@ -3398,7 +3398,7 @@ static void Task_PlayerSetCommandSelection(SysTask *task, void *data) ov16_02268C04(bgNarc, objNarc, v2, 0, 0, NULL); ov16_0226BCCC(v2, 0); ov16_0226846C(healthbox); - ov16_022675AC(commandSetData->healthbox); + Healthbox_Deactivate(commandSetData->healthbox); ov16_022647D8(battlerData); ov16_02269218(v2); @@ -3570,7 +3570,7 @@ static void Task_PlayerShowMoveSelectMenu(SysTask *task, void *data) if ((BattleSystem_GetBattleType(moveSelectMenuData->battleSys) & BATTLE_TYPE_DOUBLES) == FALSE) { ov16_0226BCCC(v2, 0); ov16_0226846C(healthbox); - ov16_022675AC(moveSelectMenuData->healthbox); + Healthbox_Deactivate(moveSelectMenuData->healthbox); ov16_022647D8(battlerData); } } @@ -3717,7 +3717,7 @@ static void Task_PlayerShowTargetSelectMenu(SysTask *task, void *data) break; case 2: if (targetSelectMenuData->input != 0xFF) { - ov16_022675AC(targetSelectMenuData->healthbox); + Healthbox_Deactivate(targetSelectMenuData->healthbox); ov16_022647D8(battlerData); ov16_0226846C(healthbox); @@ -4185,7 +4185,7 @@ static void Task_PlayerShowBagMenu(SysTask *task, void *data) int battler = bagMenuData->partyMenuData->battlePartyCtx->selectedPartyIndex * 2; HealthBox *healthbox = BattleSystem_GetHealthBox(bagMenuData->battleSys, battler); - if (ov16_022674F8(healthbox) == -1) { + if (Healthbox_DrawHPBar(healthbox) == -1) { HealthBox_DrawInfo(healthbox, NULL, HEALTHBOX_INFO_STATUS); bagMenuData->state++; } @@ -4720,7 +4720,7 @@ static void Task_PlayerShowYesNoMenu(SysTask *task, void *data) NARC *bgNarc = NARC_ctor(NARC_INDEX_BATTLE__GRAPHIC__PL_BATT_BG, HEAP_ID_BATTLE); NARC *objNarc = NARC_ctor(NARC_INDEX_BATTLE__GRAPHIC__PL_BATT_OBJ, HEAP_ID_BATTLE); - ov16_022675AC(yesNoMenuData->healthbox); + Healthbox_Deactivate(yesNoMenuData->healthbox); ov16_022647D8(battlerData); ov16_0226846C(healthbox); ov16_02269218(v2); @@ -4917,7 +4917,7 @@ static void Task_UpdateHPGauge(SysTask *task, void *data) HealthBox_CalcHP(healthbox, healthbox->damage); healthbox->state++; case 1: - result = ov16_022674F8(healthbox); + result = Healthbox_DrawHPBar(healthbox); if (result == -1) { healthbox->state++; @@ -4947,7 +4947,7 @@ static void Task_UpdateExpGauge(SysTask *task, void *data) healthbox->unk_4E++; } - result = ov16_02267560(healthbox); + result = Healthbox_DrawExpBar(healthbox); if (result == -1) { if (healthbox->unk_4E >= 8) { @@ -5190,7 +5190,7 @@ static void Task_PlayLevelUpAnimation(SysTask *task, void *data) switch (playLevelUpAnimationData->state) { case 0: - ov16_0226834C(playLevelUpAnimationData->healthbox, &playLevelUpAnimationData->unk_0B); + Healthbox_StartLevelUpFlash(playLevelUpAnimationData->healthbox, &playLevelUpAnimationData->unk_0B); Sound_PlayEffect(SEQ_SE_DP_EXPMAX); playLevelUpAnimationData->state++; break; diff --git a/src/battle/battle_io_command.c b/src/battle/battle_io_command.c index 2aa88ebf30..3eee092987 100644 --- a/src/battle/battle_io_command.c +++ b/src/battle/battle_io_command.c @@ -238,7 +238,7 @@ void BattleSystem_ExecuteBattlerCommand(BattleSystem *battleSys, BattlerData *ba void ov16_0225C104(BattleSystem *battleSys, BattlerData *battlerData, int param2) { if (param2 != 2) { - ov16_02267360(&battlerData->healthbox); + Healthbox_DestroySprites(&battlerData->healthbox); } if (battlerData->managedSprite) { @@ -626,7 +626,7 @@ static void ov16_0225C558(BattleSystem *battleSys, BattlerData *battlerData) static void BtlIOCmd_StopGaugeAnimation(BattleSystem *battleSys, BattlerData *battlerData) { - ov16_022675AC(&battlerData->healthbox); + Healthbox_Deactivate(&battlerData->healthbox); ov16_022647D8(battlerData); BattleController_EmitClearCommand(battleSys, battlerData->battler, battlerData->data[0]); ZeroDataBuffer(battlerData); @@ -739,7 +739,7 @@ static void BtlIOCmd_ClearTouchScreen(BattleSystem *battleSys, BattlerData *batt ov16_0226846C(healthbox); } - ov16_022675AC(&battlerData->healthbox); + Healthbox_Deactivate(&battlerData->healthbox); ov16_02269218(v0); ov16_022647D8(battlerData); } diff --git a/src/battle/battle_script.c b/src/battle/battle_script.c index 9482804a21..e2f15ce477 100644 --- a/src/battle/battle_script.c +++ b/src/battle/battle_script.c @@ -9902,7 +9902,7 @@ static void BattleScript_GetExpTask(SysTask *task, void *inData) Bg_SetPriority(BG_LAYER_MAIN_1, 1); Bg_SetPriority(BG_LAYER_MAIN_2, 0); - BattleSystem_SetGaugePriority(data->battleSys, 0 + 2); // gauge's default is 0 + BattleSystem_SetHealthboxPriority(data->battleSys, 0 + 2); // gauge's default is 0 LoadStandardWindowTiles(bgl, 2, 1, 0, HEAP_ID_BATTLE); PaletteData_LoadBufferFromFileStart(paletteSys, NARC_INDEX_GRAPHIC__PL_WINFRAME, GetStandardWindowPaletteNARCMember(), HEAP_ID_BATTLE, 0, 0x20, 8 * 0x10); @@ -9990,7 +9990,7 @@ static void BattleScript_GetExpTask(SysTask *task, void *inData) Bg_SetPriority(BG_LAYER_MAIN_1, 0); Bg_SetPriority(BG_LAYER_MAIN_2, 1); - BattleSystem_SetGaugePriority(data->battleSys, 0); + BattleSystem_SetHealthboxPriority(data->battleSys, 0); if (data->battleCtx->selectedPartySlot[expBattler] != slot) { BattleScript_FreePartyLevelUpIcon(data->battleSys, data); @@ -10672,7 +10672,7 @@ static void BattleScript_CatchMonTask(SysTask *task, void *inData) data->tmpPtr[0] = ApplicationManager_New(&gNamingScreenAppTemplate, namingScreenArgs, HEAP_ID_BATTLE); data->seqNum = SEQ_CATCH_MON_FREE_NAMING_SCREEN; - ov16_0223F414(data->battleSys); + BattleSystem_DestroyHealthboxes(data->battleSys); int i; BattlerData *battlerData; diff --git a/src/battle/battle_system.c b/src/battle/battle_system.c index b052853de1..7b0f1e3b9a 100644 --- a/src/battle/battle_system.c +++ b/src/battle/battle_system.c @@ -1234,7 +1234,7 @@ void ov16_0223F36C(BattleSystem *battleSys) healthbox->battleSys = battleSys; healthbox->type = HealthBox_Type(BattlerData_GetBattlerType(battleSys->battlers[i]), BattleSystem_GetBattleType(battleSys)); - ov16_022672C4(healthbox); + Healthbox_CreateMainSprite(healthbox); HealthBox_Enable(healthbox, FALSE); } } @@ -1264,14 +1264,13 @@ void ov16_0223F3EC(BattleSystem *battleSys) } } -void ov16_0223F414(BattleSystem *battleSys) +void BattleSystem_DestroyHealthboxes(BattleSystem *battleSys) { int i; HealthBox *healthbox; for (i = 0; i < battleSys->maxBattlers; i++) { - healthbox = BattlerData_GetHealthBox(battleSys->battlers[i]); - ov16_02267360(healthbox); + Healthbox_DestroySprites(BattlerData_GetHealthBox(battleSys->battlers[i])); } } @@ -1515,14 +1514,13 @@ void ov16_0223F8AC(BattleSystem *battleSys, PokemonSprite **monSprites) } } -void BattleSystem_SetGaugePriority(BattleSystem *battleSys, int param1) +void BattleSystem_SetHealthboxPriority(BattleSystem *battleSys, int param1) { int battler; HealthBox *healthbox; for (battler = 0; battler < battleSys->maxBattlers; battler++) { - healthbox = BattlerData_GetHealthBox(battleSys->battlers[battler]); - ov16_022675D8(healthbox, param1); + Healthbox_SetExplicitPriority(BattlerData_GetHealthBox(battleSys->battlers[battler]), param1); } } diff --git a/src/battle/healthbox.c b/src/battle/healthbox.c index e1e1e3fd2e..b984cfa52b 100644 --- a/src/battle/healthbox.c +++ b/src/battle/healthbox.c @@ -71,13 +71,13 @@ typedef struct VRAMTransfer { u16 size; } VRAMTransfer; -typedef struct { +typedef struct HealthboxLevelUpFlashState { HealthBox *healthbox; - u8 *unk_04; + u8 *done; u8 state; - u8 unk_09; - s8 unk_0A; -} UnkStruct_ov16_0226834C; + u8 paletteOffset; + s8 blendIntensity; +} HealthboxLevelUpFlashState; enum HealthBoxPart { HEALTHBOX_PART_HP_H = 0, @@ -176,15 +176,15 @@ static void HealthBox_DrawStatusIcon(HealthBox *healthbox, enum HealthBoxPart pa static void HealthBox_DrawBallCount(HealthBox *healthbox, u32 flags); static void HealthBox_DrawBallsLeftMessage(HealthBox *healthbox, u32 flags); static void HealthBox_LoadMainPalette(SpriteSystem *spriteSys, SpriteManager *handler, NARC *narc, PaletteData *palette, int type); -static void ov16_02267244(HealthBox *healthbox); -static void ov16_0226728C(HealthBox *healthbox); -static const SpriteTemplate *HealthBox_SpriteTemplate(u8 type); -static const SpriteTemplate *ov16_02268314(u8 type); -static void ScrollHealthBoxTask(SysTask *task, void *data); -static void ov16_02268380(SysTask *task, void *param1); -void ov16_02268470(HealthBox *healthbox); -void ov16_02268498(HealthBox *healthbox); -static void ov16_022684BC(SysTask *task, void *data); +static void Healthbox_DeleteArrowSprite(HealthBox *healthbox); +static void Healthbox_UnloadArrowSpriteObjects(HealthBox *healthbox); +static const SpriteTemplate *HealthBox_MainSpriteTemplate(u8 type); +static const SpriteTemplate *HealthBox_ArrowSpriteTemplate(u8 type); +static void Healthbox_Task_Scroll(SysTask *task, void *data); +static void Healthbox_Task_LevelUpFlashAnimation(SysTask *task, void *param1); +static void Healthbox_StartBobAnimation(HealthBox *healthbox); +static void Healthbox_StopBobAnimation(HealthBox *healthbox); +static void Healthbox_Task_Bob(SysTask *task, void *data); static void HealthBox_EnableArrow(HealthBox *healthbox, BOOL enable); ALIGN_4 static const s8 sArrowOffsetX[] = { @@ -235,7 +235,7 @@ static const VRAMTransfer sBattlerNameVRAMTransfer[][4] = { }, }; -static const VRAMTransfer Unk_ov16_0226F47C[][2] = { +static const VRAMTransfer sLevelIconVRAMTransfer[][2] = { { { 0xA60, 0x40 }, { 0xB60, 0x40 }, @@ -262,7 +262,7 @@ static const VRAMTransfer Unk_ov16_0226F47C[][2] = { }, }; -static const VRAMTransfer Unk_ov16_0226F3EC[][2] = { +static const VRAMTransfer sLevelNumberVRAMTransfer[][2] = { { { 0xAA0, 0x60 }, { 0xBA0, 0x60 }, @@ -289,7 +289,7 @@ static const VRAMTransfer Unk_ov16_0226F3EC[][2] = { }, }; -static const VRAMTransfer Unk_ov16_0226F41C[][2] = { +static const VRAMTransfer sCurrentHPNumberVRAMTransfer[][2] = { { { 0x0, 0x0 }, { 0xD00, 0x60 }, @@ -316,7 +316,7 @@ static const VRAMTransfer Unk_ov16_0226F41C[][2] = { }, }; -static const VRAMTransfer Unk_ov16_0226F3BC[] = { +static const VRAMTransfer sMaxHPNumberVRAMTransfer[] = { { 0xD80, 0x60 }, { 0x6A0, 0x60 }, { 0xC80, 0x60 }, @@ -325,7 +325,7 @@ static const VRAMTransfer Unk_ov16_0226F3BC[] = { { 0x6A0, 0x60 }, }; -static const VRAMTransfer Unk_ov16_0226F44C[][2] = { +static const VRAMTransfer sHPGaugeVRAMTransfer[][2] = { { { 0x4E0, 0x0 }, { 0xC20, 0xC0 }, @@ -352,7 +352,7 @@ static const VRAMTransfer Unk_ov16_0226F44C[][2] = { }, }; -static const VRAMTransfer Unk_ov16_0226F38C[] = { +static const VRAMTransfer sCaughtIconVRAMTransfer[] = { { 0x460, HEALTHBOX_WINDOW_BLOCK_SIZE }, { 0x420, HEALTHBOX_WINDOW_BLOCK_SIZE }, { 0x440, HEALTHBOX_WINDOW_BLOCK_SIZE }, @@ -361,7 +361,7 @@ static const VRAMTransfer Unk_ov16_0226F38C[] = { { 0x420, HEALTHBOX_WINDOW_BLOCK_SIZE }, }; -static const VRAMTransfer Unk_ov16_0226F35C[] = { +static const VRAMTransfer sStatusIconVRAMTransfer[] = { { 0x480, 0x60 }, { 0x440, 0x60 }, { 0x460, 0x60 }, @@ -370,21 +370,21 @@ static const VRAMTransfer Unk_ov16_0226F35C[] = { { 0x440, 0x60 }, }; -static const VRAMTransfer Unk_ov16_0226F33C[4] = { +static const VRAMTransfer sBallCountVRAMTransfer[4] = { { 0x240, 0xC0 }, { 0x340, 0xC0 }, { 0xA00, 0xE0 }, { 0xB00, 0xE0 }, }; -static const VRAMTransfer Unk_ov16_0226F34C[4] = { +static const VRAMTransfer sBallsLeftVRAMTransfer[4] = { { 0x440, 0xC0 }, { 0x540, 0xC0 }, { 0xC00, 0xE0 }, { 0xD00, 0xE0 }, }; -static const VRAMTransfer Unk_ov16_0226F374[] = { +static const VRAMTransfer sHPDisplayLeftVRAMTransfer[] = { { 0x0, 0x0 }, { 0x0, 0x0 }, { 0x4C0, 0x40 }, @@ -393,7 +393,7 @@ static const VRAMTransfer Unk_ov16_0226F374[] = { { 0x0, 0x0 }, }; -static const VRAMTransfer Unk_ov16_0226F3A4[] = { +static const VRAMTransfer sHPDisplayRightVRAMTransfer[] = { { 0x0, 0x0 }, { 0x0, 0x0 }, { 0xCC0, HEALTHBOX_WINDOW_BLOCK_SIZE }, @@ -402,7 +402,7 @@ static const VRAMTransfer Unk_ov16_0226F3A4[] = { { 0x0, 0x0 }, }; -static const VRAMTransfer Unk_ov16_0226F3D4[] = { +static const VRAMTransfer sHPDisplaySlashVRAMTransfer[] = { { 0x0, 0x0 }, { 0x0, 0x0 }, { 0xC60, HEALTHBOX_WINDOW_BLOCK_SIZE }, @@ -535,7 +535,7 @@ static const SpriteTemplate sHealthBoxTemplate_EnemySlot2 = { .vramTransfer = FALSE, }; -static const SpriteTemplate sHealthBoxTemplate_Unk_ov16_0226F514 = { +static const SpriteTemplate sHealthBoxTemplate_Arrow = { .x = 0, .y = 0, .z = 0, @@ -579,7 +579,7 @@ static const SpriteTemplate sHealthBoxTemplate_NoPlayerMon = { void HealthBox_LoadResources(SpriteSystem *spriteSys, SpriteManager *spriteMan, NARC *narc, PaletteData *palette, enum HealthBoxType healthboxType) { - const SpriteTemplate *template = HealthBox_SpriteTemplate(healthboxType); + const SpriteTemplate *template = HealthBox_MainSpriteTemplate(healthboxType); 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, healthbox_primary_NCLR, FALSE, 1, NNS_G2D_VRAM_TYPE_2DMAIN, HEALTHBOX_MAIN_PALETTE_RESID); @@ -594,7 +594,7 @@ void HealthBox_LoadResources(SpriteSystem *spriteSys, SpriteManager *spriteMan, static void HealthBox_LoadMainPalette(SpriteSystem *spriteSys, SpriteManager *handler, NARC *narc, PaletteData *palette, int type) { - const SpriteTemplate *template = ov16_02268314(type); + const SpriteTemplate *template = HealthBox_ArrowSpriteTemplate(type); if (template != NULL) { SpriteSystem_LoadCharResObjFromOpenNarc(spriteSys, handler, narc, template->resources[SPRITE_RESOURCE_CHAR], TRUE, NNS_G2D_VRAM_TYPE_2DMAIN, template->resources[SPRITE_RESOURCE_CHAR]); @@ -606,7 +606,7 @@ static void HealthBox_LoadMainPalette(SpriteSystem *spriteSys, SpriteManager *ha ManagedSprite *HealthBox_DrawSprite(SpriteSystem *spriteSys, SpriteManager *handler, int type) { - const SpriteTemplate *template = HealthBox_SpriteTemplate(type); + const SpriteTemplate *template = HealthBox_MainSpriteTemplate(type); ManagedSprite *managedSprite = SpriteSystem_NewSprite(spriteSys, handler, template); Sprite_TickFrame(managedSprite->sprite); @@ -733,11 +733,11 @@ void HealthBox_DrawInfo(HealthBox *healthbox, u32 hp, u32 flags) } } -void ov16_02267220(HealthBox *healthbox) +void Healthbox_DeleteMainSprite(HealthBox *healthbox) { - if (healthbox->task_50 != NULL) { - SysTask_Done(healthbox->task_50); - healthbox->task_50 = NULL; + if (healthbox->bobbingAnimTask != NULL) { + SysTask_Done(healthbox->bobbingAnimTask); + healthbox->bobbingAnimTask = NULL; } if (healthbox->mainSprite == NULL) { @@ -748,7 +748,7 @@ void ov16_02267220(HealthBox *healthbox) healthbox->mainSprite = NULL; } -static void ov16_02267244(HealthBox *healthbox) +static void Healthbox_DeleteArrowSprite(HealthBox *healthbox) { if (healthbox->arrowSprite == NULL) { return; @@ -758,11 +758,11 @@ static void ov16_02267244(HealthBox *healthbox) healthbox->arrowSprite = NULL; } -void ov16_02267258(HealthBox *healthbox) +void Healthbox_UnloadMainSpriteObjects(HealthBox *healthbox) { SpriteSystem *spriteSystem; SpriteManager *spriteManager; - const SpriteTemplate *spriteTemplate = HealthBox_SpriteTemplate(healthbox->type); + const SpriteTemplate *spriteTemplate = HealthBox_MainSpriteTemplate(healthbox->type); spriteSystem = BattleSystem_GetSpriteSystem(healthbox->battleSys); spriteManager = BattleSystem_GetSpriteManager(healthbox->battleSys); @@ -771,11 +771,11 @@ void ov16_02267258(HealthBox *healthbox) SpriteManager_UnloadAnimObjById(spriteManager, spriteTemplate->resources[3]); } -static void ov16_0226728C(HealthBox *healthbox) +static void Healthbox_UnloadArrowSpriteObjects(HealthBox *healthbox) { SpriteSystem *spriteSystem; SpriteManager *spriteManager; - const SpriteTemplate *spriteTemplate = ov16_02268314(healthbox->type); + const SpriteTemplate *spriteTemplate = HealthBox_ArrowSpriteTemplate(healthbox->type); if (spriteTemplate == NULL) { return; @@ -789,13 +789,13 @@ static void ov16_0226728C(HealthBox *healthbox) SpriteManager_UnloadAnimObjById(spriteManager, spriteTemplate->resources[3]); } -void ov16_022672C4(HealthBox *healthbox) +void Healthbox_CreateMainSprite(HealthBox *healthbox) { NARC *narc = NARC_ctor(NARC_INDEX_BATTLE__GRAPHIC__PL_BATT_OBJ, HEAP_ID_BATTLE); SpriteSystem *spriteSystem = BattleSystem_GetSpriteSystem(healthbox->battleSys); SpriteManager *spriteManager = BattleSystem_GetSpriteManager(healthbox->battleSys); PaletteData *paletteData = BattleSystem_GetPaletteData(healthbox->battleSys); - const SpriteTemplate *spriteTemplate = HealthBox_SpriteTemplate(healthbox->type); + const SpriteTemplate *spriteTemplate = HealthBox_MainSpriteTemplate(healthbox->type); HealthBox_LoadResources(spriteSystem, spriteManager, narc, paletteData, healthbox->type); healthbox->mainSprite = HealthBox_DrawSprite(spriteSystem, spriteManager, healthbox->type); @@ -809,19 +809,19 @@ void ov16_022672C4(HealthBox *healthbox) NARC_dtor(narc); } -void ov16_02267360(HealthBox *healthbox) +void Healthbox_DestroySprites(HealthBox *healthbox) { - ov16_02267220(healthbox); - ov16_02267258(healthbox); - ov16_02267244(healthbox); - ov16_0226728C(healthbox); + Healthbox_DeleteMainSprite(healthbox); + Healthbox_UnloadMainSpriteObjects(healthbox); + Healthbox_DeleteArrowSprite(healthbox); + Healthbox_UnloadArrowSpriteObjects(healthbox); } -void ov16_0226737C(HealthBox *healthbox) +void Healthbox_ToggleHPDisplayMode(HealthBox *healthbox) { const u8 *tileNum; NNSG2dImageProxy *imgProxy; - void *v2; + void *objCharPtr; switch (healthbox->type) { case HEALTHBOX_TYPE_PLAYER_SLOT_1: @@ -833,34 +833,34 @@ void ov16_0226737C(HealthBox *healthbox) healthbox->numberMode ^= 1; - v2 = G2_GetOBJCharPtr(); + objCharPtr = G2_GetOBJCharPtr(); imgProxy = Sprite_GetImageProxy(healthbox->mainSprite->sprite); if (healthbox->numberMode == 1) { tileNum = GetHealthBoxPartsTile(HEALTHBOX_PART_NUMBERS_LEFT); - MI_CpuCopy16(tileNum, (void *)((u32)v2 + Unk_ov16_0226F374[healthbox->type].pos + HEALTHBOX_WINDOW_BLOCK_SIZE + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), HEALTHBOX_WINDOW_BLOCK_SIZE); + MI_CpuCopy16(tileNum, (void *)((u32)objCharPtr + sHPDisplayLeftVRAMTransfer[healthbox->type].pos + HEALTHBOX_WINDOW_BLOCK_SIZE + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), HEALTHBOX_WINDOW_BLOCK_SIZE); tileNum = GetHealthBoxPartsTile(HEALTHBOX_PART_NUMBERS_RIGHT); - MI_CpuCopy16(tileNum, (void *)((u32)v2 + Unk_ov16_0226F3A4[healthbox->type].pos + HEALTHBOX_WINDOW_BLOCK_SIZE + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), HEALTHBOX_WINDOW_BLOCK_SIZE); + MI_CpuCopy16(tileNum, (void *)((u32)objCharPtr + sHPDisplayRightVRAMTransfer[healthbox->type].pos + HEALTHBOX_WINDOW_BLOCK_SIZE + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), HEALTHBOX_WINDOW_BLOCK_SIZE); tileNum = GetHealthBoxPartsTile(HEALTHBOX_PART_SLASH); - MI_CpuCopy16(tileNum, (void *)((u32)v2 + Unk_ov16_0226F3D4[healthbox->type].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), Unk_ov16_0226F3D4[healthbox->type].size); + MI_CpuCopy16(tileNum, (void *)((u32)objCharPtr + sHPDisplaySlashVRAMTransfer[healthbox->type].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), sHPDisplaySlashVRAMTransfer[healthbox->type].size); HealthBox_DrawInfo(healthbox, healthbox->curHP, HEALTHBOX_INFO_CURRENT_HP | HEALTHBOX_INFO_MAX_HP); } else { tileNum = GetHealthBoxPartsTile(HEALTHBOX_PART_HP_H_2); - MI_CpuCopy16(tileNum, (void *)((u32)v2 + Unk_ov16_0226F374[healthbox->type].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), Unk_ov16_0226F374[healthbox->type].size); + MI_CpuCopy16(tileNum, (void *)((u32)objCharPtr + sHPDisplayLeftVRAMTransfer[healthbox->type].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), sHPDisplayLeftVRAMTransfer[healthbox->type].size); tileNum = GetHealthBoxPartsTile(HEALTHBOX_PART_BAR_END); - MI_CpuCopy16(tileNum, (void *)((u32)v2 + Unk_ov16_0226F3A4[healthbox->type].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), Unk_ov16_0226F3A4[healthbox->type].size); + MI_CpuCopy16(tileNum, (void *)((u32)objCharPtr + sHPDisplayRightVRAMTransfer[healthbox->type].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), sHPDisplayRightVRAMTransfer[healthbox->type].size); tileNum = GetHealthBoxPartsTile(HEALTHBOX_PART_STATUS_HEALTHY_0); - MI_CpuCopy16(tileNum, (void *)((u32)v2 + Unk_ov16_0226F3A4[healthbox->type].pos + HEALTHBOX_WINDOW_BLOCK_SIZE + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), HEALTHBOX_WINDOW_BLOCK_SIZE); + MI_CpuCopy16(tileNum, (void *)((u32)objCharPtr + sHPDisplayRightVRAMTransfer[healthbox->type].pos + HEALTHBOX_WINDOW_BLOCK_SIZE + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), HEALTHBOX_WINDOW_BLOCK_SIZE); HealthBox_DrawInfo(healthbox, healthbox->curHP, HEALTHBOX_INFO_HP_GAUGE); } } -void HealthBox_CalcHP(HealthBox *healthbox, int damage) // TODO: all calls pass in damage from healthbox, pls fix. +void HealthBox_CalcHP(HealthBox *healthbox, int damage) // CLEANUP: all calls pass in damage from healthbox, pls fix. { healthbox->hpTemp = S32_MIN; @@ -884,7 +884,7 @@ void HealthBox_CalcHP(HealthBox *healthbox, int damage) // TODO: all calls pass } } -s32 ov16_022674F8(HealthBox *healthbox) +s32 Healthbox_DrawHPBar(HealthBox *healthbox) { s32 result = HealthBox_DrawGauge(healthbox, HEALTHBOX_GAUGE_HP); @@ -921,7 +921,7 @@ void HealthBox_CalcExp(HealthBox *healthbox, int expReward) } } -s32 ov16_02267560(HealthBox *healthbox) +s32 Healthbox_DrawExpBar(HealthBox *healthbox) { s32 result = HealthBox_DrawGauge(healthbox, HEALTHBOX_GAUGE_EXP); @@ -932,7 +932,7 @@ s32 ov16_02267560(HealthBox *healthbox) return result; } -void ov16_0226757C(HealthBox *healthbox) +void Healthbox_Activate(HealthBox *healthbox) { if (healthbox->arrowSprite != NULL) { Sprite_SetAnimateFlag(healthbox->arrowSprite->sprite, TRUE); @@ -940,11 +940,11 @@ void ov16_0226757C(HealthBox *healthbox) } if ((BattleSystem_GetBattleType(healthbox->battleSys) & (BATTLE_TYPE_SAFARI | BATTLE_TYPE_PAL_PARK)) == FALSE) { - ov16_02268470(healthbox); + Healthbox_StartBobAnimation(healthbox); } } -void ov16_022675AC(HealthBox *healthbox) +void Healthbox_Deactivate(HealthBox *healthbox) { if (healthbox->arrowSprite != NULL) { Sprite_SetAnimateFlag(healthbox->arrowSprite->sprite, FALSE); @@ -952,10 +952,10 @@ void ov16_022675AC(HealthBox *healthbox) HealthBox_EnableArrow(healthbox, FALSE); } - ov16_02268498(healthbox); + Healthbox_StopBobAnimation(healthbox); } -void ov16_022675D8(HealthBox *healthbox, int priority) +void Healthbox_SetExplicitPriority(HealthBox *healthbox, int priority) { if (healthbox->mainSprite == NULL) { return; @@ -1002,7 +1002,7 @@ void HealthBox_Enable(HealthBox *battleSys, BOOL enable) void HealthBox_OffsetPositionXY(HealthBox *healthbox, int x, int y) { GF_ASSERT(healthbox->mainSprite != NULL); - const SpriteTemplate *template = HealthBox_SpriteTemplate(healthbox->type); + const SpriteTemplate *template = HealthBox_MainSpriteTemplate(healthbox->type); Sprite_SetPositionXY(healthbox->mainSprite->sprite, template->x + x, template->y + y); if (healthbox->arrowSprite != NULL) { @@ -1040,7 +1040,7 @@ void HealthBox_Scroll(HealthBox *healthbox, enum HealthBoxScrollDirection direct HealthBox_OffsetPositionXY(healthbox, 0, 0); } - SysTask_Start(ScrollHealthBoxTask, healthbox, 990); + SysTask_Start(Healthbox_Task_Scroll, healthbox, 990); } /** @@ -1049,11 +1049,11 @@ void HealthBox_Scroll(HealthBox *healthbox, enum HealthBoxScrollDirection direct * @param task * @param data */ -static void ScrollHealthBoxTask(SysTask *task, void *data) +static void Healthbox_Task_Scroll(SysTask *task, void *data) { HealthBox *healthbox = data; int done = 0; - const SpriteTemplate *template = HealthBox_SpriteTemplate(healthbox->type); + const SpriteTemplate *template = HealthBox_MainSpriteTemplate(healthbox->type); s16 x, y; ManagedSprite_GetPositionXY(healthbox->mainSprite, &x, &y); @@ -1188,88 +1188,85 @@ static void HealthBox_DrawLevelText(HealthBox *healthbox) tileNum1 = GetHealthBoxPartsTile(part1); tileNum2 = GetHealthBoxPartsTile(part2); - void *v5 = G2_GetOBJCharPtr(); + void *objCharPtr = G2_GetOBJCharPtr(); imgProxy = Sprite_GetImageProxy(healthbox->mainSprite->sprite); - MI_CpuCopy16(tileNum2, (void *)((u32)v5 + Unk_ov16_0226F47C[healthbox->type][0].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), Unk_ov16_0226F47C[healthbox->type][0].size); - MI_CpuCopy16(tileNum1, (void *)((u32)v5 + Unk_ov16_0226F47C[healthbox->type][1].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), Unk_ov16_0226F47C[healthbox->type][1].size); + MI_CpuCopy16(tileNum2, (void *)((u32)objCharPtr + sLevelIconVRAMTransfer[healthbox->type][0].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), sLevelIconVRAMTransfer[healthbox->type][0].size); + MI_CpuCopy16(tileNum1, (void *)((u32)objCharPtr + sLevelIconVRAMTransfer[healthbox->type][1].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), sLevelIconVRAMTransfer[healthbox->type][1].size); } static void HealthBox_DrawLevelNumber(HealthBox *healthbox) { NNSG2dImageProxy *imgProxy; - int v4, v5, v6; + int byteIdx, tileOffset, srcOffset; int size = 3 * HEALTHBOX_WINDOW_BLOCK_SIZE; - u8 *v0 = Heap_Alloc(HEAP_ID_BATTLE, size); - u8 *v1 = Heap_Alloc(HEAP_ID_BATTLE, size * 2); + u8 *levelTextBuf = Heap_Alloc(HEAP_ID_BATTLE, size); + u8 *tileWorkBuf = Heap_Alloc(HEAP_ID_BATTLE, size * 2); - MI_CpuFill8(v0, 0xf | (0xf << 4), size); - FontSpecialChars_DrawBattleScreenText(BattleSystem_GetSpecialCharsLevel(healthbox->battleSys), healthbox->level, 3, PADDING_MODE_NONE, v0); + MI_CpuFill8(levelTextBuf, 0xf | (0xf << 4), size); + FontSpecialChars_DrawBattleScreenText(BattleSystem_GetSpecialCharsLevel(healthbox->battleSys), healthbox->level, 3, PADDING_MODE_NONE, levelTextBuf); - void *v7 = G2_GetOBJCharPtr(); - u8 *v8, *v9; + void *objCharPtr = G2_GetOBJCharPtr(); + u8 *bottomBlock; imgProxy = Sprite_GetImageProxy(healthbox->mainSprite->sprite); - MI_CpuCopy16((void *)((u32)v7 + Unk_ov16_0226F3EC[healthbox->type][0].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), v1, Unk_ov16_0226F3EC[healthbox->type][0].size); - MI_CpuCopy16((void *)((u32)v7 + Unk_ov16_0226F3EC[healthbox->type][1].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), &v1[size], Unk_ov16_0226F3EC[healthbox->type][1].size); + MI_CpuCopy16((void *)((u32)objCharPtr + sLevelNumberVRAMTransfer[healthbox->type][0].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), tileWorkBuf, sLevelNumberVRAMTransfer[healthbox->type][0].size); + MI_CpuCopy16((void *)((u32)objCharPtr + sLevelNumberVRAMTransfer[healthbox->type][1].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), &tileWorkBuf[size], sLevelNumberVRAMTransfer[healthbox->type][1].size); - v6 = 0; + srcOffset = 0; - for (v5 = 0; v5 < size; v5 += 32) { - for (v4 = 0; v4 < 16; v4++) { - v1[v5 + 16 + v4] = v0[v6]; - v1[v5 + v4 + size] = v0[v6 + 16]; - v6++; + for (tileOffset = 0; tileOffset < size; tileOffset += 32) { + for (byteIdx = 0; byteIdx < 16; byteIdx++) { + tileWorkBuf[tileOffset + 16 + byteIdx] = levelTextBuf[srcOffset]; + tileWorkBuf[tileOffset + byteIdx + size] = levelTextBuf[srcOffset + 16]; + srcOffset++; } - v6 += 16; + srcOffset += 16; } - v8 = v1; - v9 = &v1[size]; + bottomBlock = &tileWorkBuf[size]; - MI_CpuCopy16(v8, (void *)((u32)v7 + Unk_ov16_0226F3EC[healthbox->type][0].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), Unk_ov16_0226F3EC[healthbox->type][0].size); - MI_CpuCopy16(v9, (void *)((u32)v7 + Unk_ov16_0226F3EC[healthbox->type][1].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), Unk_ov16_0226F3EC[healthbox->type][1].size); + MI_CpuCopy16(tileWorkBuf, (void *)((u32)objCharPtr + sLevelNumberVRAMTransfer[healthbox->type][0].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), sLevelNumberVRAMTransfer[healthbox->type][0].size); + MI_CpuCopy16(bottomBlock, (void *)((u32)objCharPtr + sLevelNumberVRAMTransfer[healthbox->type][1].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), sLevelNumberVRAMTransfer[healthbox->type][1].size); - Heap_Free(v0); - Heap_Free(v1); + Heap_Free(levelTextBuf); + Heap_Free(tileWorkBuf); } static void HealthBox_DrawCurrentHP(HealthBox *healthbox, u32 hp) { - u8 *v0 = Heap_Alloc(HEAP_ID_BATTLE, 3 * HEALTHBOX_WINDOW_BLOCK_SIZE); + u8 *currHPTextBuf = Heap_Alloc(HEAP_ID_BATTLE, 3 * HEALTHBOX_WINDOW_BLOCK_SIZE); NNSG2dImageProxy *imgProxy; - MI_CpuFill8(v0, 0xf | (0xf << 4), 3 * HEALTHBOX_WINDOW_BLOCK_SIZE); - FontSpecialChars_DrawBattleScreenText(BattleSystem_GetSpecialCharsHP(healthbox->battleSys), hp, 3, PADDING_MODE_SPACES, v0); + MI_CpuFill8(currHPTextBuf, 0xf | (0xf << 4), 3 * HEALTHBOX_WINDOW_BLOCK_SIZE); + FontSpecialChars_DrawBattleScreenText(BattleSystem_GetSpecialCharsHP(healthbox->battleSys), hp, 3, PADDING_MODE_SPACES, currHPTextBuf); - void *v2 = G2_GetOBJCharPtr(); + void *objCharPtr = G2_GetOBJCharPtr(); imgProxy = Sprite_GetImageProxy(healthbox->mainSprite->sprite); - u8 *v3 = v0; - MI_CpuCopy16(v3, (void *)((u32)v2 + Unk_ov16_0226F41C[healthbox->type][0].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), Unk_ov16_0226F41C[healthbox->type][0].size); - MI_CpuCopy16(&v3[Unk_ov16_0226F41C[healthbox->type][0].size], (void *)((u32)v2 + Unk_ov16_0226F41C[healthbox->type][1].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), Unk_ov16_0226F41C[healthbox->type][1].size); + MI_CpuCopy16(currHPTextBuf, (void *)((u32)objCharPtr + sCurrentHPNumberVRAMTransfer[healthbox->type][0].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), sCurrentHPNumberVRAMTransfer[healthbox->type][0].size); + MI_CpuCopy16(&currHPTextBuf[sCurrentHPNumberVRAMTransfer[healthbox->type][0].size], (void *)((u32)objCharPtr + sCurrentHPNumberVRAMTransfer[healthbox->type][1].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), sCurrentHPNumberVRAMTransfer[healthbox->type][1].size); - Heap_Free(v0); + Heap_Free(currHPTextBuf); } static void HealthBox_DrawMaxHP(HealthBox *healthbox) { - u8 *v0 = Heap_Alloc(HEAP_ID_BATTLE, 3 * HEALTHBOX_WINDOW_BLOCK_SIZE); + u8 *maxHPTextBuf = Heap_Alloc(HEAP_ID_BATTLE, 3 * HEALTHBOX_WINDOW_BLOCK_SIZE); NNSG2dImageProxy *imgProxy; - MI_CpuFill8(v0, 0xf | (0xf << 4), 3 * HEALTHBOX_WINDOW_BLOCK_SIZE); - FontSpecialChars_DrawBattleScreenText(BattleSystem_GetSpecialCharsHP(healthbox->battleSys), healthbox->maxHP, 3, PADDING_MODE_NONE, v0); + MI_CpuFill8(maxHPTextBuf, 0xf | (0xf << 4), 3 * HEALTHBOX_WINDOW_BLOCK_SIZE); + FontSpecialChars_DrawBattleScreenText(BattleSystem_GetSpecialCharsHP(healthbox->battleSys), healthbox->maxHP, 3, PADDING_MODE_NONE, maxHPTextBuf); - void *v2 = G2_GetOBJCharPtr(); + void *objCharPtr = G2_GetOBJCharPtr(); imgProxy = Sprite_GetImageProxy(healthbox->mainSprite->sprite); - u8 *v3 = v0; - MI_CpuCopy16(v3, (void *)((u32)v2 + Unk_ov16_0226F3BC[healthbox->type].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), Unk_ov16_0226F3BC[healthbox->type].size); + MI_CpuCopy16(maxHPTextBuf, (void *)((u32)objCharPtr + sMaxHPNumberVRAMTransfer[healthbox->type].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), sMaxHPNumberVRAMTransfer[healthbox->type].size); - Heap_Free(v0); + Heap_Free(maxHPTextBuf); } static void HealthBox_DrawCaughtIcon(HealthBox *healthbox) @@ -1283,10 +1280,10 @@ static void HealthBox_DrawCaughtIcon(HealthBox *healthbox) tileNum = GetHealthBoxPartsTile(HEALTHBOX_PART_STATUS_HEALTHY_0); } - void *v2 = G2_GetOBJCharPtr(); + void *objCharPtr = G2_GetOBJCharPtr(); imgProxy = Sprite_GetImageProxy(healthbox->mainSprite->sprite); - MI_CpuCopy16(tileNum, (void *)((u32)v2 + Unk_ov16_0226F38C[healthbox->type].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), Unk_ov16_0226F38C[healthbox->type].size); + MI_CpuCopy16(tileNum, (void *)((u32)objCharPtr + sCaughtIconVRAMTransfer[healthbox->type].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), sCaughtIconVRAMTransfer[healthbox->type].size); } static void HealthBox_DrawStatusIcon(HealthBox *healthbox, enum HealthBoxPart part) @@ -1294,16 +1291,16 @@ static void HealthBox_DrawStatusIcon(HealthBox *healthbox, enum HealthBoxPart pa NNSG2dImageProxy *imgProxy; const u8 *tileNum = GetHealthBoxPartsTile(part); - void *v2 = G2_GetOBJCharPtr(); + void *objCharPtr = G2_GetOBJCharPtr(); imgProxy = Sprite_GetImageProxy(healthbox->mainSprite->sprite); - MI_CpuCopy16(tileNum, (void *)((u32)v2 + Unk_ov16_0226F35C[healthbox->type].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), Unk_ov16_0226F35C[healthbox->type].size); + MI_CpuCopy16(tileNum, (void *)((u32)objCharPtr + sStatusIconVRAMTransfer[healthbox->type].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), sStatusIconVRAMTransfer[healthbox->type].size); } static void HealthBox_DrawBallCount(HealthBox *healthbox, u32 flags) { BgConfig *bgConfig = BattleSystem_GetBgConfig(healthbox->battleSys); - u8 *v1; + u8 *topRow; NNSG2dImageProxy *imgProxy; Window window; MessageLoader *msgLoader = BattleSystem_GetMessageLoader(healthbox->battleSys); @@ -1318,18 +1315,17 @@ static void HealthBox_DrawBallCount(HealthBox *healthbox, u32 flags) Window_AddToTopLeftCorner(bgConfig, &window, 13, 2, 0, 0xf); Text_AddPrinterWithParamsColorAndSpacing(&window, FONT_SYSTEM, string, 0, 0, TEXT_SPEED_NO_TRANSFER, HEALTHBOX_NAME_TEXT_COLOR, 0, 0, NULL); - v1 = window.pixels; + topRow = window.pixels; - void *v6 = G2_GetOBJCharPtr(); + void *objCharPtr = G2_GetOBJCharPtr(); imgProxy = Sprite_GetImageProxy(healthbox->mainSprite->sprite); - u8 *v7 = v1; - u8 *v8 = &v1[13 * HEALTHBOX_WINDOW_BLOCK_SIZE]; + u8 *bottomRow = &topRow[13 * HEALTHBOX_WINDOW_BLOCK_SIZE]; - MI_CpuCopy16(v7, (void *)((u32)v6 + Unk_ov16_0226F33C[0].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), Unk_ov16_0226F33C[0].size); - MI_CpuCopy16(v8, (void *)((u32)v6 + Unk_ov16_0226F33C[1].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), Unk_ov16_0226F33C[1].size); + MI_CpuCopy16(topRow, (void *)((u32)objCharPtr + sBallCountVRAMTransfer[0].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), sBallCountVRAMTransfer[0].size); + MI_CpuCopy16(bottomRow, (void *)((u32)objCharPtr + sBallCountVRAMTransfer[1].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), sBallCountVRAMTransfer[1].size); - MI_CpuCopy16(&v7[Unk_ov16_0226F33C[0].size], (void *)((u32)v6 + Unk_ov16_0226F33C[2].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), Unk_ov16_0226F33C[2].size); - MI_CpuCopy16(&v8[Unk_ov16_0226F33C[1].size], (void *)((u32)v6 + Unk_ov16_0226F33C[3].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), Unk_ov16_0226F33C[3].size); + MI_CpuCopy16(&topRow[sBallCountVRAMTransfer[0].size], (void *)((u32)objCharPtr + sBallCountVRAMTransfer[2].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), sBallCountVRAMTransfer[2].size); + MI_CpuCopy16(&bottomRow[sBallCountVRAMTransfer[1].size], (void *)((u32)objCharPtr + sBallCountVRAMTransfer[3].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), sBallCountVRAMTransfer[3].size); Window_Remove(&window); String_Free(string); @@ -1338,7 +1334,7 @@ static void HealthBox_DrawBallCount(HealthBox *healthbox, u32 flags) static void HealthBox_DrawBallsLeftMessage(HealthBox *healthbox, u32 flags) { BgConfig *bgConfig = BattleSystem_GetBgConfig(healthbox->battleSys); - u8 *v1; + u8 *topRow; NNSG2dImageProxy *imgProxy; Window window; MessageLoader *msgLoader = BattleSystem_GetMessageLoader(healthbox->battleSys); @@ -1358,17 +1354,16 @@ static void HealthBox_DrawBallsLeftMessage(HealthBox *healthbox, u32 flags) Window_AddToTopLeftCorner(bgConfig, &window, 13, 2, 0, 0xf); Text_AddPrinterWithParamsColorAndSpacing(&window, FONT_SYSTEM, string, 0, 0, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(14, 2, 15), 0, 0, NULL); - v1 = window.pixels; + topRow = window.pixels; - void *v8 = G2_GetOBJCharPtr(); + void *objCharPtr = G2_GetOBJCharPtr(); imgProxy = Sprite_GetImageProxy(healthbox->mainSprite->sprite); - u8 *v9 = v1; - u8 *v10 = &v1[13 * HEALTHBOX_WINDOW_BLOCK_SIZE]; + u8 *bottomRow = &topRow[13 * HEALTHBOX_WINDOW_BLOCK_SIZE]; - MI_CpuCopy16(v9, (void *)((u32)v8 + Unk_ov16_0226F34C[0].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), Unk_ov16_0226F34C[0].size); - MI_CpuCopy16(v10, (void *)((u32)v8 + Unk_ov16_0226F34C[1].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), Unk_ov16_0226F34C[1].size); - MI_CpuCopy16(&v9[Unk_ov16_0226F34C[0].size], (void *)((u32)v8 + Unk_ov16_0226F34C[2].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), Unk_ov16_0226F34C[2].size); - MI_CpuCopy16(&v10[Unk_ov16_0226F34C[1].size], (void *)((u32)v8 + Unk_ov16_0226F34C[3].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), Unk_ov16_0226F34C[3].size); + MI_CpuCopy16(topRow, (void *)((u32)objCharPtr + sBallsLeftVRAMTransfer[0].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), sBallsLeftVRAMTransfer[0].size); + MI_CpuCopy16(bottomRow, (void *)((u32)objCharPtr + sBallsLeftVRAMTransfer[1].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), sBallsLeftVRAMTransfer[1].size); + MI_CpuCopy16(&topRow[sBallsLeftVRAMTransfer[0].size], (void *)((u32)objCharPtr + sBallsLeftVRAMTransfer[2].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), sBallsLeftVRAMTransfer[2].size); + MI_CpuCopy16(&bottomRow[sBallsLeftVRAMTransfer[1].size], (void *)((u32)objCharPtr + sBallsLeftVRAMTransfer[3].pos + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), sBallsLeftVRAMTransfer[3].size); Window_Remove(&window); String_Free(string); @@ -1416,7 +1411,7 @@ static void DrawGauge(HealthBox *healthbox, u8 gaugeType) u8 pixels; u8 level; const u8 *tileNum; - void *v7 = G2_GetOBJCharPtr(); + void *objCharPtr = G2_GetOBJCharPtr(); NNSG2dImageProxy *imgProxy = Sprite_GetImageProxy(healthbox->mainSprite->sprite); int numBlocks; @@ -1440,13 +1435,13 @@ static void DrawGauge(HealthBox *healthbox, u8 gaugeType) } tileNum = GetHealthBoxPartsTile(part); - numBlocks = Unk_ov16_0226F44C[healthbox->type][0].size / HEALTHBOX_WINDOW_BLOCK_SIZE; + numBlocks = sHPGaugeVRAMTransfer[healthbox->type][0].size / HEALTHBOX_WINDOW_BLOCK_SIZE; for (i = 0; i < HEALTHBOX_HP_CELL_COUNT; i++) { if (i < numBlocks) { - MI_CpuCopy16(tileNum + (cells[i] << 5), (void *)((u32)v7 + Unk_ov16_0226F44C[healthbox->type][0].pos + (i * HEALTHBOX_WINDOW_BLOCK_SIZE) + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), HEALTHBOX_WINDOW_BLOCK_SIZE); + MI_CpuCopy16(tileNum + (cells[i] << 5), (void *)((u32)objCharPtr + sHPGaugeVRAMTransfer[healthbox->type][0].pos + (i * HEALTHBOX_WINDOW_BLOCK_SIZE) + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), HEALTHBOX_WINDOW_BLOCK_SIZE); } else { - MI_CpuCopy16(tileNum + (cells[i] << 5), (void *)((u32)v7 + Unk_ov16_0226F44C[healthbox->type][1].pos + ((i - numBlocks) * HEALTHBOX_WINDOW_BLOCK_SIZE) + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), HEALTHBOX_WINDOW_BLOCK_SIZE); + MI_CpuCopy16(tileNum + (cells[i] << 5), (void *)((u32)objCharPtr + sHPGaugeVRAMTransfer[healthbox->type][1].pos + ((i - numBlocks) * HEALTHBOX_WINDOW_BLOCK_SIZE) + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), HEALTHBOX_WINDOW_BLOCK_SIZE); } } break; @@ -1464,9 +1459,9 @@ static void DrawGauge(HealthBox *healthbox, u8 gaugeType) for (i = 0; i < HEALTHBOX_EXP_CELL_COUNT; i++) { if (i < 5) { - MI_CpuCopy16(tileNum + (cells[i] << 5), (void *)((u32)v7 + 1632 + (i * HEALTHBOX_WINDOW_BLOCK_SIZE) + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), HEALTHBOX_WINDOW_BLOCK_SIZE); + MI_CpuCopy16(tileNum + (cells[i] << 5), (void *)((u32)objCharPtr + 1632 + (i * HEALTHBOX_WINDOW_BLOCK_SIZE) + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), HEALTHBOX_WINDOW_BLOCK_SIZE); } else { - MI_CpuCopy16(tileNum + (cells[i] << 5), (void *)((u32)v7 + 3584 + ((i - 5) * HEALTHBOX_WINDOW_BLOCK_SIZE) + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), HEALTHBOX_WINDOW_BLOCK_SIZE); + MI_CpuCopy16(tileNum + (cells[i] << 5), (void *)((u32)objCharPtr + 3584 + ((i - 5) * HEALTHBOX_WINDOW_BLOCK_SIZE) + imgProxy->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), HEALTHBOX_WINDOW_BLOCK_SIZE); } } break; @@ -1679,7 +1674,7 @@ u8 HealthBox_Type(int battlerType, u32 battleType) * @return Address of the SpriteTemplate struct which applies to this * healthbox type. */ -static const SpriteTemplate *HealthBox_SpriteTemplate(u8 type) +static const SpriteTemplate *HealthBox_MainSpriteTemplate(u8 type) { switch (type) { case HEALTHBOX_TYPE_PLAYER_SOLO: @@ -1710,7 +1705,7 @@ static const SpriteTemplate *HealthBox_SpriteTemplate(u8 type) } } -static const SpriteTemplate *ov16_02268314(u8 type) +static const SpriteTemplate *HealthBox_ArrowSpriteTemplate(u8 type) { const SpriteTemplate *spriteTemplate; @@ -1720,7 +1715,7 @@ static const SpriteTemplate *ov16_02268314(u8 type) case HEALTHBOX_TYPE_PLAYER_SLOT_2: case HEALTHBOX_TYPE_SAFARI_ZONE: case HEALTHBOX_TYPE_PAL_PARK: - spriteTemplate = &sHealthBoxTemplate_Unk_ov16_0226F514; + spriteTemplate = &sHealthBoxTemplate_Arrow; break; case HEALTHBOX_TYPE_ENEMY_SOLO: case HEALTHBOX_TYPE_ENEMY_SLOT_1: @@ -1734,59 +1729,59 @@ static const SpriteTemplate *ov16_02268314(u8 type) return spriteTemplate; } -void ov16_0226834C(HealthBox *healthbox, u8 *param1) +void Healthbox_StartLevelUpFlash(HealthBox *healthbox, u8 *doneFlag) { - UnkStruct_ov16_0226834C *v0; + HealthboxLevelUpFlashState *flashState; - *param1 = 0; + *doneFlag = 0; - v0 = Heap_Alloc(HEAP_ID_BATTLE, sizeof(UnkStruct_ov16_0226834C)); - MI_CpuClear8(v0, sizeof(UnkStruct_ov16_0226834C)); + flashState = Heap_Alloc(HEAP_ID_BATTLE, sizeof(HealthboxLevelUpFlashState)); + MI_CpuClear8(flashState, sizeof(HealthboxLevelUpFlashState)); - v0->healthbox = healthbox; - v0->unk_04 = param1; + flashState->healthbox = healthbox; + flashState->done = doneFlag; - SysTask_Start(ov16_02268380, v0, 1000); + SysTask_Start(Healthbox_Task_LevelUpFlashAnimation, flashState, 1000); } -static void ov16_02268380(SysTask *task, void *param1) +static void Healthbox_Task_LevelUpFlashAnimation(SysTask *task, void *param1) { - UnkStruct_ov16_0226834C *v0 = param1; - SpriteManager *spriteManager = BattleSystem_GetSpriteManager(v0->healthbox->battleSys); - int v2; - PaletteData *paletteData = BattleSystem_GetPaletteData(v0->healthbox->battleSys); + HealthboxLevelUpFlashState *flashState = param1; + SpriteManager *spriteManager = BattleSystem_GetSpriteManager(flashState->healthbox->battleSys); + int plttOffset; + PaletteData *paletteData = BattleSystem_GetPaletteData(flashState->healthbox->battleSys); - switch (v0->state) { + switch (flashState->state) { case 0: - v2 = SpriteManager_FindPlttResourceOffset(spriteManager, 20007, NNS_G2D_VRAM_TYPE_2DMAIN); - ManagedSprite_SetExplicitPalette(v0->healthbox->mainSprite, v2); - v0->unk_09 = v2; - v0->state++; + plttOffset = SpriteManager_FindPlttResourceOffset(spriteManager, 20007, NNS_G2D_VRAM_TYPE_2DMAIN); + ManagedSprite_SetExplicitPalette(flashState->healthbox->mainSprite, plttOffset); + flashState->paletteOffset = plttOffset; + flashState->state++; case 1: - v0->unk_0A += 2; + flashState->blendIntensity += 2; - if (v0->unk_0A >= 10) { - v0->unk_0A = 10; - v0->state++; + if (flashState->blendIntensity >= 10) { + flashState->blendIntensity = 10; + flashState->state++; } - PaletteData_Blend(paletteData, 2, v0->unk_09 * 16 + 0, 16, v0->unk_0A, 0x73a5); + PaletteData_Blend(paletteData, 2, flashState->paletteOffset * 16 + 0, 16, flashState->blendIntensity, 0x73a5); break; case 2: - v0->unk_0A -= 2; + flashState->blendIntensity -= 2; - if (v0->unk_0A <= 0) { - v0->unk_0A = 0; - v0->state++; + if (flashState->blendIntensity <= 0) { + flashState->blendIntensity = 0; + flashState->state++; } - PaletteData_Blend(paletteData, 2, v0->unk_09 * 16 + 0, 16, v0->unk_0A, 0x73a5); + PaletteData_Blend(paletteData, 2, flashState->paletteOffset * 16 + 0, 16, flashState->blendIntensity, 0x73a5); break; default: - v2 = SpriteManager_FindPlttResourceOffset(spriteManager, HEALTHBOX_MAIN_PALETTE_RESID, NNS_G2D_VRAM_TYPE_2DMAIN); - ManagedSprite_SetExplicitPalette(v0->healthbox->mainSprite, v2); + plttOffset = SpriteManager_FindPlttResourceOffset(spriteManager, HEALTHBOX_MAIN_PALETTE_RESID, NNS_G2D_VRAM_TYPE_2DMAIN); + ManagedSprite_SetExplicitPalette(flashState->healthbox->mainSprite, plttOffset); - *(v0->unk_04) = 1; + *(flashState->done) = 1; Heap_Free(param1); SysTask_Done(task); @@ -1795,38 +1790,38 @@ static void ov16_02268380(SysTask *task, void *param1) } } -void ov16_02268468(HealthBox *healthbox) +void ov16_02268468(HealthBox *healthbox) // CLEANUP: does nothing. Remove. { return; } -void ov16_0226846C(HealthBox *healthbox) +void ov16_0226846C(HealthBox *healthbox) // CLEANUP: does nothing. Remove. { return; } -void ov16_02268470(HealthBox *healthbox) +void Healthbox_StartBobAnimation(HealthBox *healthbox) { - if (healthbox->task_50 != NULL) { + if (healthbox->bobbingAnimTask != NULL) { return; } healthbox->degrees = 0; - healthbox->task_50 = SysTask_Start(ov16_022684BC, healthbox, 1010); + healthbox->bobbingAnimTask = SysTask_Start(Healthbox_Task_Bob, healthbox, 1010); } -void ov16_02268498(HealthBox *healthbox) +void Healthbox_StopBobAnimation(HealthBox *healthbox) { - if (healthbox->task_50 != NULL) { - SysTask_Done(healthbox->task_50); - healthbox->task_50 = NULL; + if (healthbox->bobbingAnimTask != NULL) { + SysTask_Done(healthbox->bobbingAnimTask); + healthbox->bobbingAnimTask = NULL; } healthbox->degrees = 0; HealthBox_OffsetPositionXY(healthbox, 0, 0); } -static void ov16_022684BC(SysTask *task, void *data) +static void Healthbox_Task_Bob(SysTask *task, void *data) { HealthBox *healthbox = data; int y;