diff options
Diffstat (limited to 'src')
36 files changed, 4158 insertions, 1925 deletions
diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c index d1f75ff8f..4fd58b19e 100644 --- a/src/battle_anim_effects_1.c +++ b/src/battle_anim_effects_1.c @@ -2767,7 +2767,7 @@ static void AnimConstrictBindingStep2(struct Sprite* sprite) } } -void sub_80A2F0C(u8 taskId) +void AnimTask_ShrinkTargetCopy(u8 taskId) { u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET); @@ -3605,7 +3605,7 @@ static void AnimFlyingParticleStep(struct Sprite* sprite) DestroySpriteAndMatrix(sprite); } -void sub_80A41C4(u8 taskId) +void AnimTask_CycleMagicalLeafPal(u8 taskId) { struct Task* task = &gTasks[taskId]; diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c index 94423bab9..563e3ffc2 100644 --- a/src/battle_anim_effects_2.c +++ b/src/battle_anim_effects_2.c @@ -32,7 +32,7 @@ static void AnimTask_SplashStep(u8); static void AnimTask_GrowAndShrinkStep(u8); static void ThrashMoveMonStep(u8); static void ThrashMoveMon(u8); -static void AnimTask_SketchDrawMon(u8); +static void AnimTask_SketchDrawMon_Step(u8); static void AnimPencil_Step(struct Sprite *); static void AnimSoftBoiledEgg_Step1(struct Sprite *); static void AnimSoftBoiledEgg_Step2(struct Sprite *); @@ -115,7 +115,7 @@ static const struct SpriteTemplate sUnknown_83E3B30 = .oam = &gOamData_AffineNormal_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_83E7910, + .affineAnims = gAffineAnims_Bite, .callback = sub_80A7020, }; @@ -2347,7 +2347,7 @@ static void ThrashMoveMon(u8 taskId) } } -void sub_80A8874(u8 taskId) +void AnimTask_SketchDrawMon(u8 taskId) { struct Task* task = &gTasks[taskId]; struct ScanlineEffectParams params; @@ -2385,10 +2385,10 @@ void sub_80A8874(u8 taskId) params.initState = 1; params.unused9 = 0; ScanlineEffect_SetParams(params); - task->func = AnimTask_SketchDrawMon; + task->func = AnimTask_SketchDrawMon_Step; } -static void AnimTask_SketchDrawMon(u8 taskId) +static void AnimTask_SketchDrawMon_Step(u8 taskId) { struct Task* task = &gTasks[taskId]; @@ -2983,7 +2983,7 @@ void AnimSpeedDust(struct Sprite *sprite) } } -void sub_80A96B4(u8 taskId) +void AnimTask_LoadMusicNotesPals(u8 taskId) { int i; u8 paletteNums[3]; @@ -3001,7 +3001,7 @@ void sub_80A96B4(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_80A9760(u8 taskId) +void AnimTask_FreeMusicNotesPals(u8 taskId) { int i; @@ -3101,7 +3101,7 @@ static void FakeOutStep2(u8 taskId) } } -void sub_80A9A20(u8 taskId) +void AnimTask_StretchTargetUp(u8 taskId) { u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET); @@ -3122,7 +3122,7 @@ void sub_80A9A20(u8 taskId) } } -void sub_80A9AB0(u8 taskId) +void AnimTask_StretchAttackerUp(u8 taskId) { u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c index e9bfb2618..c60f51c31 100644 --- a/src/battle_anim_effects_3.c +++ b/src/battle_anim_effects_3.c @@ -3571,7 +3571,7 @@ static void sub_80E1AD8(u8 taskId) } } -void sub_80E1C48(u8 taskId) +void AnimTask_SlideMonForFocusBand(u8 taskId) { gTasks[taskId].data[15] = gBattlerSpriteIds[gBattleAnimAttacker]; gTasks[taskId].data[14] = gBattleAnimArgs[0]; @@ -3751,7 +3751,7 @@ static void AnimTask_FacadeColorBlendStep(u8 taskId) } } -void sub_80E2084(u8 taskId) +void AnimTask_StatusClearedEffect(u8 taskId) { sub_80BBA20(taskId, 0, 0x1A0, gBattleAnimAttacker, gBattleAnimArgs[0], 10, 2, 30, gCureBubblesGfx, gCureBubblesTilemap, gCureBubblesPal); } diff --git a/src/battle_anim_mon_movement.c b/src/battle_anim_mon_movement.c index 8ed996993..5045f26ed 100644 --- a/src/battle_anim_mon_movement.c +++ b/src/battle_anim_mon_movement.c @@ -73,7 +73,7 @@ const struct SpriteTemplate gSlideMonToOffsetSpriteTemplate = .callback = SlideMonToOffset, }; -const struct SpriteTemplate gUnknown_83D4EB4 = +const struct SpriteTemplate gSlideMonToOffsetAndBackSpriteTemplate = { .tileTag = 0, .paletteTag = 0, @@ -620,7 +620,7 @@ static void AnimTask_WindUpLungePart2(u8 taskId) } } -void sub_80995FC(u8 taskId) +void AnimTask_SlideOffScreen(u8 taskId) { u8 spriteId; @@ -772,7 +772,7 @@ static void AnimTask_ScaleMonAndRestoreStep(u8 taskId) } } -void sub_8099980(u8 taskId) +void AnimTask_RotateMonSpriteToSide(u8 taskId) { u8 spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[2]); PrepareBattlerSpriteForRotScale(spriteId, 0); @@ -805,7 +805,7 @@ void sub_8099980(u8 taskId) gTasks[taskId].func = sub_8099B54; } -void sub_8099A78(u8 taskId) +void AnimTask_RotateMonToSideAndRestore(u8 taskId) { u8 spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[2]); PrepareBattlerSpriteForRotScale(spriteId, 0); @@ -866,7 +866,7 @@ static void sub_8099B54(u8 taskId) } } -void sub_8099BD4(u8 taskId) +void AnimTask_ShakeTargetBasedOnMovePowerOrDmg(u8 taskId) { if (gBattleAnimArgs[0] == 0) { diff --git a/src/battle_anim_mons.c b/src/battle_anim_mons.c index 741fdf312..036e1b052 100644 --- a/src/battle_anim_mons.c +++ b/src/battle_anim_mons.c @@ -1466,7 +1466,7 @@ void obj_delete_but_dont_free_vram(struct Sprite *sprite) DestroySprite(sprite); } -void sub_8076048(u8 taskId) +void AnimTask_AlphaFadeIn(u8 taskId) { s16 v1 = 0, v2 = 0; @@ -1584,7 +1584,7 @@ static void AnimTask_BlendMonInAndOutStep(u8 taskId) } } -void sub_8076288(u8 taskId) +void AnimTask_BlendPalInAndOutByTag(u8 taskId) { u8 palette = IndexOfSpritePaletteTag(gBattleAnimArgs[0]); @@ -2117,7 +2117,7 @@ void sub_8076FD0(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void sub_8077030(u8 taskId) +void AnimTask_AttackerPunchWithTrace(u8 taskId) { u16 src; u16 dest; @@ -2225,7 +2225,7 @@ static void sub_80772F4(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_8077350(struct Sprite *sprite) +void AnimWeatherBallDown(struct Sprite *sprite) { s32 x; diff --git a/src/battle_anim_sound_tasks.c b/src/battle_anim_sound_tasks.c index a820667fb..ee99b75a6 100644 --- a/src/battle_anim_sound_tasks.c +++ b/src/battle_anim_sound_tasks.c @@ -66,7 +66,7 @@ static void sub_80DCEE4(u8 taskId) } } -void mas_80DCF38(u8 taskId) +void SoundTask_LoopSEAdjustPanning(u8 taskId) { u16 songId = gBattleAnimArgs[0]; s8 targetPan = gBattleAnimArgs[2]; @@ -116,7 +116,7 @@ static void sub_80DCFE8(u8 taskId) } } -void sub_80DD06C(u8 taskId) +void SoundTask_PlayCryHighPitch(u8 taskId) { u16 species = SPECIES_NONE; u8 battlerId; @@ -147,7 +147,7 @@ void sub_80DD06C(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_80DD148(u8 taskId) +void SoundTask_PlayDoubleCry(u8 taskId) { u16 species = SPECIES_NONE; u8 battlerId; @@ -214,7 +214,7 @@ static void sub_80DD270(u8 taskId) } } -void sub_80DD2F4(u8 taskId) +void SoundTask_WaitForCry(u8 taskId) { if (gTasks[taskId].data[9] < 2) ++gTasks[taskId].data[9]; @@ -259,7 +259,7 @@ static void sub_80DD390(u8 taskId) } } -void sub_80DD3DC(u8 taskId) +void SoundTask_PlaySE1WithPanning(u8 taskId) { u16 songId = gBattleAnimArgs[0]; s8 pan = BattleAnimAdjustPanning(gBattleAnimArgs[1]); @@ -268,7 +268,7 @@ void sub_80DD3DC(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_80DD410(u8 taskId) +void SoundTask_PlaySE2WithPanning(u8 taskId) { u16 songId = gBattleAnimArgs[0]; s8 pan = BattleAnimAdjustPanning(gBattleAnimArgs[1]); @@ -277,7 +277,7 @@ void sub_80DD410(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_80DD444(u8 taskId) +void SoundTask_AdjustPanningVar(u8 taskId) { s8 targetPan = gBattleAnimArgs[1]; s8 panIncrement = gBattleAnimArgs[2]; diff --git a/src/battle_anim_special.c b/src/battle_anim_special.c index c753f5dc4..677090a65 100644 --- a/src/battle_anim_special.c +++ b/src/battle_anim_special.c @@ -397,7 +397,7 @@ static const union AnimCmd *const sSpriteAnimTable_840C20C[] = sUnknown_840C204, }; -const struct SpriteTemplate gUnknown_840C210 = +const struct SpriteTemplate gSafariRockTemplate = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, @@ -534,7 +534,7 @@ void sub_80EEFC8(u8 *paletteId1, u8 *paletteId2, u8 battler) gSprites[spriteId2].oam.paletteNum = *paletteId2; } -void sub_80EF0B4(u8 taskId) +void AnimTask_LoadHealthboxPalsForLevelUp(u8 taskId) { u8 paletteId1, paletteId2; @@ -560,13 +560,13 @@ void sub_80EF0E0(u8 battler) gSprites[spriteId2].oam.paletteNum = paletteId2; } -void sub_80EF180(u8 taskId) +void AnimTask_FreeHealthboxPalsForLevelUp(u8 taskId) { sub_80EF0E0(gBattleAnimAttacker); DestroyAnimVisualTask(taskId); } -void sub_80EF1A0(u8 taskId) +void AnimTask_FlashHealthboxOnLevelUp(u8 taskId) { gTasks[taskId].data[10] = gBattleAnimArgs[0]; gTasks[taskId].data[11] = gBattleAnimArgs[1]; @@ -610,7 +610,7 @@ static void sub_80EF1CC(u8 taskId) } } -void sub_80EF298(u8 taskId) +void AnimTask_SwitchOutShrinkMon(u8 taskId) { u8 spriteId; @@ -637,7 +637,7 @@ void sub_80EF298(u8 taskId) } } -void sub_80EF344(u8 taskId) +void AnimTask_SwitchOutBallEffect(u8 taskId) { u8 spriteId; u16 ball; @@ -672,7 +672,7 @@ void sub_80EF344(u8 taskId) } } -void sub_80EF490(u8 taskId) +void AnimTask_LoadBallGfx(u8 taskId) { u8 ballId = ItemIdToBallId(gLastUsedItem); @@ -680,7 +680,7 @@ void sub_80EF490(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_80EF4B8(u8 taskId) +void AnimTask_FreeBallGfx(u8 taskId) { u8 ballId = ItemIdToBallId(gLastUsedItem); @@ -738,7 +738,7 @@ u8 ItemIdToBallId(u16 ballItem) } } -void sub_80EF5AC(u8 taskId) +void AnimTask_ThrowBall(u8 taskId) { u8 ballId; u8 spriteId; @@ -762,7 +762,7 @@ static void sub_80EF698(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_80EF6D4(u8 taskId) +void AnimTask_ThrowBallSpecial(u8 taskId) { int x, y; u8 ballId; @@ -1942,7 +1942,7 @@ static void sub_80F13C0(u8 taskId) } } -void sub_80F1420(u8 taskId) +void AnimTask_SwapMonSpriteToFromSubstitute(u8 taskId) { u8 spriteId; u32 x; @@ -2000,7 +2000,7 @@ void sub_80F1420(u8 taskId) } } -void sub_80F15C8(u8 taskId) +void AnimTask_SubstituteFadeToInvisible(u8 taskId) { u8 spriteId; diff --git a/src/battle_anim_status_effects.c b/src/battle_anim_status_effects.c index 4eb475a5c..23dc0461e 100644 --- a/src/battle_anim_status_effects.c +++ b/src/battle_anim_status_effects.c @@ -68,7 +68,7 @@ static const union AnimCmd *const sSpriteAnimTable_83BF430[] = sUnknown_83BF428 }; -const struct SpriteTemplate gSpriteTemplate_83BF434 = +const struct SpriteTemplate gWeatherBallUpSpriteTemplate = { .tileTag = ANIM_TAG_WEATHER_BALL, .paletteTag = ANIM_TAG_WEATHER_BALL, @@ -79,7 +79,7 @@ const struct SpriteTemplate gSpriteTemplate_83BF434 = .callback = sub_807729C, }; -const struct SpriteTemplate gSpriteTemplate_83BF44C = +const struct SpriteTemplate gWeatherBallNormalDownSpriteTemplate = { .tileTag = ANIM_TAG_WEATHER_BALL, .paletteTag = ANIM_TAG_WEATHER_BALL, @@ -87,7 +87,7 @@ const struct SpriteTemplate gSpriteTemplate_83BF44C = .anims = sSpriteAnimTable_83BF430, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8077350, + .callback = AnimWeatherBallDown, }; static const union AnimCmd sUnknown_83BF464[] = @@ -343,7 +343,7 @@ static void sub_8078380(struct Sprite *sprite) } } -void sub_80783FC(u8 taskId) +void AnimTask_FrozenIceCube(u8 taskId) { s16 x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) - 32; s16 y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) - 36; diff --git a/src/battle_anim_utility_funcs.c b/src/battle_anim_utility_funcs.c index a1897b94a..489198ed4 100644 --- a/src/battle_anim_utility_funcs.c +++ b/src/battle_anim_utility_funcs.c @@ -577,7 +577,7 @@ static void sub_80BB4B8(u8 taskId) } } -void sub_80BB660(u8 taskId) +void AnimTask_Flash(u8 taskId) { u32 selectedPalettes = SelectBattlerSpritePalettes(1, 1, 1, 1); @@ -646,7 +646,7 @@ static void sub_80BB790(u32 selectedPalettes, u16 color) gPlttBufferFaded[curOffset] = color; } -void sub_80BB7DC(u8 taskId) +void AnimTask_BlendNonAttackerPalettes(u8 taskId) { s32 j; u32 battler, selectedPalettes = 0; @@ -659,7 +659,7 @@ void sub_80BB7DC(u8 taskId) StartBlendAnimSpriteColor(taskId, selectedPalettes); } -void sub_80BB82C(u8 taskId) +void AnimTask_StartSlidingBg(u8 taskId) { u8 newTaskId; @@ -712,7 +712,7 @@ void AnimTask_GetTargetIsAttackerPartner(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_80BB9B0(u8 taskId) +void AnimTask_SetAllNonAttackersInvisiblity(u8 taskId) { u16 battler; @@ -837,19 +837,19 @@ void AnimTask_GetBattleTerrain(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_80BBE10(u8 taskId) +void AnimTask_AllocBackupPalBuffer(u8 taskId) { gMonSpritesGfxPtr->field_17C = AllocZeroed(0x2000); DestroyAnimVisualTask(taskId); } -void sub_80BBE3C(u8 taskId) +void AnimTask_FreeBackupPalBuffer(u8 taskId) { FREE_AND_SET_NULL(gMonSpritesGfxPtr->field_17C); DestroyAnimVisualTask(taskId); } -void sub_80BBE6C(u8 taskId) +void AnimTask_CopyPalUnfadedToBackup(u8 taskId) { u32 selectedPalettes; s32 paletteIndex = 0; @@ -867,7 +867,7 @@ void sub_80BBE6C(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_80BBF08(u8 taskId) +void AnimTask_CopyPalUnfadedFromBackup(u8 taskId) { u32 selectedPalettes; s32 paletteIndex = 0; @@ -885,7 +885,7 @@ void sub_80BBF08(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_80BBFA4(u8 taskId) +void AnimTask_CopyPalFadedToUnfaded(u8 taskId) { u32 selectedPalettes; s32 paletteIndex = 0; @@ -912,7 +912,7 @@ void AnimTask_IsContest(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_80BC060(u8 taskId) +void AnimTask_SetAnimAttackerAndTargetForEffectTgt(u8 taskId) { gBattleAnimAttacker = gBattlerTarget; gBattleAnimTarget = gEffectBattler; @@ -928,20 +928,20 @@ void AnimTask_IsTargetSameSide(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_80BC0DC(u8 taskId) +void AnimTask_SetAnimTargetToBattlerTarget(u8 taskId) { gBattleAnimTarget = gBattlerTarget; DestroyAnimVisualTask(taskId); } -void sub_80BC0FC(u8 taskId) +void AnimTask_SetAnimAttackerAndTargetForEffectAtk(u8 taskId) { gBattleAnimAttacker = gBattlerAttacker; gBattleAnimTarget = gEffectBattler; DestroyAnimVisualTask(taskId); } -void sub_80BC12C(u8 taskId) +void AnimTask_SetAttackerInvisibleWaitForSignal(u8 taskId) { if (IsContest()) { diff --git a/src/battle_controller_oak_old_man.c b/src/battle_controller_oak_old_man.c index 97a167fe3..dc93c20fb 100644 --- a/src/battle_controller_oak_old_man.c +++ b/src/battle_controller_oak_old_man.c @@ -645,7 +645,7 @@ static void sub_80E835C(void) } break; case 2: - BattleStringExpandPlaceholdersToDisplayedString(gUnknown_83FDAE2); + BattleStringExpandPlaceholdersToDisplayedString(gText_ForPetesSake); BattlePutTextOnWindow(gDisplayedStringBattle, 24); ++gBattleStruct->field_94; break; @@ -664,7 +664,7 @@ static void sub_80E835C(void) case 4: if (!gPaletteFade.active) { - BattleStringExpandPlaceholdersToDisplayedString(gUnknown_83FDB92); + BattleStringExpandPlaceholdersToDisplayedString(gText_TheTrainerThat); BattlePutTextOnWindow(gDisplayedStringBattle, 24); ++gBattleStruct->field_94; } @@ -684,7 +684,7 @@ static void sub_80E835C(void) case 6: if (!gPaletteFade.active) { - BattleStringExpandPlaceholdersToDisplayedString(gUnknown_83FDBEF); + BattleStringExpandPlaceholdersToDisplayedString(gText_TryBattling); BattlePutTextOnWindow(gDisplayedStringBattle, 24); ++gBattleStruct->field_94; } @@ -714,27 +714,27 @@ static void sub_80E835C(void) void sub_80E8570(void) { - sub_80E85D4(gUnknown_83FDC58, 1); + sub_80E85D4(gText_InflictingDamageIsKey, 1); } static void sub_80E8584(void) { - sub_80E85D4(gUnknown_83FDC95, 64); + sub_80E85D4(gText_LoweringStats, 64); } void sub_80E8598(void) { - sub_80E85D4(gUnknown_83FDD23, 1); + sub_80E85D4(gText_OakNoRunningFromATrainer, 1); } static void sub_80E85AC(void) { - sub_80E85D4(gUnknown_83FDD64, 64); + sub_80E85D4(gText_WinEarnsPrizeMoney, 64); } void sub_80E85C0(void) { - sub_80E85D4(gUnknown_83FDDEB, 64); + sub_80E85D4(gText_HowDissapointing, 64); } static void sub_80E85D4(const u8 *text, u8 a2) @@ -835,7 +835,7 @@ static void sub_80E8704(void) } break; case 3: - BattleStringExpandPlaceholdersToDisplayedString(gUnknown_83FDCD2); + BattleStringExpandPlaceholdersToDisplayedString(gText_KeepAnEyeOnHP); BattlePutTextOnWindow(gDisplayedStringBattle, 24); ++gBattleStruct->field_94; break; @@ -1809,15 +1809,15 @@ static void OakOldManHandleChooseAction(void) s32 i; gBattlerControllerFuncs[gActiveBattler] = sub_80EA690; - BattlePutTextOnWindow(gUnknown_83FDA4C, 0); - BattlePutTextOnWindow(gUnknown_83FE725, 2); + BattlePutTextOnWindow(gText_EmptyString3, 0); + BattlePutTextOnWindow(gText_BattleMenu, 2); for (i = 0; i < MAX_MON_MOVES; ++i) ActionSelectionDestroyCursorAt((u8)i); ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0); if (gBattleTypeFlags & BATTLE_TYPE_FIRST_BATTLE) BattleStringExpandPlaceholdersToDisplayedString(gText_WhatWillPkmnDo); else - BattleStringExpandPlaceholdersToDisplayedString(gUnknown_83FE6FA); + BattleStringExpandPlaceholdersToDisplayedString(gText_WhatWillOldManDo); BattlePutTextOnWindow(gDisplayedStringBattle, 1); } diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index f65ec46c3..f19075769 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -2406,8 +2406,8 @@ static void PlayerHandleChooseAction(void) s32 i; gBattlerControllerFuncs[gActiveBattler] = HandleChooseActionAfterDma3; - BattlePutTextOnWindow(gUnknown_83FDA4C, 0); - BattlePutTextOnWindow(gUnknown_83FE725, 2); + BattlePutTextOnWindow(gText_EmptyString3, 0); + BattlePutTextOnWindow(gText_BattleMenu, 2); for (i = 0; i < 4; ++i) ActionSelectionDestroyCursorAt(i); ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0); diff --git a/src/battle_controller_pokedude.c b/src/battle_controller_pokedude.c index 2489c2d95..285be03c7 100644 --- a/src/battle_controller_pokedude.c +++ b/src/battle_controller_pokedude.c @@ -1928,8 +1928,8 @@ static void PokedudeHandleChooseAction(void) if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) { gBattlerControllerFuncs[gActiveBattler] = sub_8158B20; - BattlePutTextOnWindow(gUnknown_83FDA4C, 0); - BattlePutTextOnWindow(gUnknown_83FE725, 2); + BattlePutTextOnWindow(gText_EmptyString3, 0); + BattlePutTextOnWindow(gText_BattleMenu, 2); for (i = 0; i < MAX_MON_MOVES; ++i) ActionSelectionDestroyCursorAt((u8)i); ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0); diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index d2f8a1377..b09661675 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -438,12 +438,12 @@ static void SafariHandleChooseAction(void) s32 i; gBattlerControllerFuncs[gActiveBattler] = HandleChooseActionAfterDma3; - BattlePutTextOnWindow(gUnknown_83FDA4C, 0); + BattlePutTextOnWindow(gText_EmptyString3, 0); BattlePutTextOnWindow(gUnknown_83FE747, 2); for (i = 0; i < 4; ++i) ActionSelectionDestroyCursorAt(i); ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0); - BattleStringExpandPlaceholdersToDisplayedString(gUnknown_83FE6E6); + BattleStringExpandPlaceholdersToDisplayedString(gText_WhatWillPlayerThrow); BattlePutTextOnWindow(gDisplayedStringBattle, 1); } diff --git a/src/battle_message.c b/src/battle_message.c index 648f055b1..087d0361c 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -41,349 +41,349 @@ static void ChooseMoveUsedParticle(u8 *textPtr); static void ChooseTypeOfMoveUsedString(u8 *textPtr); static void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst); -const u8 gUnknown_83FB218[] = _(""); -const u8 gUnknown_83FB219[] = _("{B_TRAINER1_LOSE_TEXT}"); -const u8 gUnknown_83FB21C[] = _("{B_TRAINER2_CLASS}"); -const u8 gUnknown_83FB21F[] = _("{B_TRAINER1_NAME}: {B_OPPONENT_MON1_NAME}, come back!"); -const u8 gUnknown_83FB232[] = _("{B_TRAINER1_WIN_TEXT}"); -const u8 gUnknown_83FB235[] = _("{B_TRAINER1_NAME}: {B_OPPONENT_MON2_NAME}, come back!"); -const u8 gUnknown_83FB248[] = _("{B_TRAINER1_NAME}: {B_OPPONENT_MON1_NAME} and\n{B_OPPONENT_MON2_NAME}, come back!"); -const u8 gUnknown_83FB262[] = _("{B_TRAINER2_NAME}"); -const u8 gUnknown_83FB265[] = _("{B_BUFF1} gained{B_BUFF2}\n{B_TRAINER2_LOSE_TEXT} EXP. Points!\p"); -const u8 gUnknown_83FB282[] = _(""); -const u8 gUnknown_83FB283[] = _(" a boosted"); -const u8 gUnknown_83FB28E[] = _("{B_BUFF1} grew to\nLV. {B_BUFF2}!{WAIT_SE}\p"); -const u8 gUnknown_83FB2A4[] = _("{B_BUFF1} learned\n{B_BUFF2}!{WAIT_SE}\p"); -const u8 gUnknown_83FB2B6[] = _("{B_BUFF1} is trying to\nlearn {B_BUFF2}.\p"); -const u8 gUnknown_83FB2D1[] = _("But, {B_BUFF1} can't learn\nmore than four moves.\p"); -const u8 gUnknown_83FB2FC[] = _("Delete a move to make\nroom for {B_BUFF2}?"); -const u8 gUnknown_83FB31F[] = _("{B_BUFF1} forgot\n{B_BUFF2}.\p"); -const u8 gUnknown_83FB32E[] = _("{PAUSE 32}Stop learning\n{B_BUFF2}?"); -const u8 gUnknown_83FB343[] = _("{B_BUFF1} did not learn\n{B_BUFF2}.\p"); -const u8 gUnknown_83FB359[] = _("Use next POKéMON?"); -const u8 gUnknown_83FB36B[] = _("{B_ATK_NAME_WITH_PREFIX}'s\nattack missed!"); -const u8 gUnknown_83FB37F[] = _("{B_DEF_NAME_WITH_PREFIX}\nprotected itself!"); -const u8 gUnknown_83FB394[] = _("{B_DEF_NAME_WITH_PREFIX} avoided\ndamage with {B_DEF_ABILITY}!"); -const u8 gUnknown_83FB3AF[] = _("{B_DEF_NAME_WITH_PREFIX} makes GROUND\nmoves miss with {B_DEF_ABILITY}!"); -const u8 gUnknown_83FB3D3[] = _("{B_DEF_NAME_WITH_PREFIX} avoided\nthe attack!"); -const u8 gUnknown_83FB3EA[] = _("It doesn't affect\n{B_DEF_NAME_WITH_PREFIX}…"); -const u8 gUnknown_83FB400[] = _("{B_ATK_NAME_WITH_PREFIX}\nfainted!\p"); -const u8 gUnknown_83FB40D[] = _("{B_DEF_NAME_WITH_PREFIX}\nfainted!\p"); -const u8 gUnknown_83FB41A[] = _("{B_PLAYER_NAME} got ¥{B_BUFF1}\nfor winning!\p"); -const u8 gUnknown_83FB433[] = _("{B_PLAYER_NAME} is out of\nusable POKéMON!\p"); -const u8 gUnknown_83FB451[] = _("{B_PLAYER_NAME} panicked and lost ¥{B_BUFF1}…\p… … … …\p{B_PLAYER_NAME} whited out!{PAUSE_UNTIL_PRESS}"); -const u8 gUnknown_83FB484[] = _("{B_PLAYER_NAME} is out of\nusable POKéMON!\pPlayer lost against\n{B_TRAINER1_CLASS} {B_TRAINER1_NAME}!{PAUSE_UNTIL_PRESS}"); -const u8 gUnknown_83FB4BE[] = _("{B_PLAYER_NAME} paid ¥{B_BUFF1} as the prize\nmoney…\p… … … …\p{B_PLAYER_NAME} whited out!{PAUSE_UNTIL_PRESS}"); -const u8 gUnknown_83FB4F7[] = _("{B_PLAYER_NAME} whited out!{PAUSE_UNTIL_PRESS}"); -const u8 gUnknown_83FB508[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} prevents\nescape with {B_SCR_ACTIVE_ABILITY}!\p"); -const u8 gUnknown_83FB525[] = _("Can't escape!\p"); -const u8 gUnknown_83FB534[] = _("{B_ATK_NAME_WITH_PREFIX} can't escape!"); -const u8 gUnknown_83FB545[] = _("Hit {B_BUFF1} time(s)!"); -const u8 gUnknown_83FB555[] = _("{B_EFF_NAME_WITH_PREFIX}\nfell asleep!"); -const u8 gUnknown_83FB565[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nmade {B_EFF_NAME_WITH_PREFIX} sleep!"); -const u8 gUnknown_83FB57C[] = _("{B_DEF_NAME_WITH_PREFIX} is\nalready asleep!"); -const u8 gUnknown_83FB592[] = _("{B_ATK_NAME_WITH_PREFIX} is\nalready asleep!"); -const u8 gUnknown_83FB5A8[] = _("{B_DEF_NAME_WITH_PREFIX}\nwasn't affected!"); -const u8 gUnknown_83FB5BC[] = _("{B_EFF_NAME_WITH_PREFIX}\nwas poisoned!"); -const u8 gUnknown_83FB5CD[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\npoisoned {B_EFF_NAME_WITH_PREFIX}!"); -const u8 gUnknown_83FB5E2[] = _("{B_ATK_NAME_WITH_PREFIX} is hurt\nby poison!"); -const u8 gUnknown_83FB5F8[] = _("{B_DEF_NAME_WITH_PREFIX} is already\npoisoned."); -const u8 gUnknown_83FB610[] = _("{B_EFF_NAME_WITH_PREFIX} is badly\npoisoned!"); -const u8 gUnknown_83FB626[] = _("{B_DEF_NAME_WITH_PREFIX} had its\nenergy drained!"); -const u8 gUnknown_83FB641[] = _("{B_EFF_NAME_WITH_PREFIX} was burned!"); -const u8 gUnknown_83FB650[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nburned {B_EFF_NAME_WITH_PREFIX}!"); -const u8 gUnknown_83FB663[] = _("{B_ATK_NAME_WITH_PREFIX} is hurt\nby its burn!"); -const u8 gUnknown_83FB67B[] = _("{B_DEF_NAME_WITH_PREFIX} already\nhas a burn."); -const u8 gUnknown_83FB692[] = _("{B_EFF_NAME_WITH_PREFIX} was\nfrozen solid!"); -const u8 gUnknown_83FB6A7[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nfroze {B_EFF_NAME_WITH_PREFIX} solid!"); -const u8 gUnknown_83FB6BF[] = _("{B_ATK_NAME_WITH_PREFIX} is\nfrozen solid!"); -const u8 gUnknown_83FB6D3[] = _("{B_DEF_NAME_WITH_PREFIX} was\ndefrosted!"); -const u8 gUnknown_83FB6E5[] = _("{B_ATK_NAME_WITH_PREFIX} was\ndefrosted!"); -const u8 gUnknown_83FB6F7[] = _("{B_ATK_NAME_WITH_PREFIX} was\ndefrosted by {B_CURRENT_MOVE}!"); -const u8 gUnknown_83FB70F[] = _("{B_EFF_NAME_WITH_PREFIX} is paralyzed!\nIt may be unable to move!"); -const u8 gUnknown_83FB73A[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nparalyzed {B_EFF_NAME_WITH_PREFIX}!\lIt may be unable to move!"); -const u8 gUnknown_83FB76A[] = _("{B_ATK_NAME_WITH_PREFIX} is paralyzed!\nIt can't move!"); -const u8 gUnknown_83FB78A[] = _("{B_DEF_NAME_WITH_PREFIX} is\nalready paralyzed!"); -const u8 gUnknown_83FB7A3[] = _("{B_DEF_NAME_WITH_PREFIX} was\nhealed of paralysis!"); -const u8 gUnknown_83FB7BF[] = _("{B_DEF_NAME_WITH_PREFIX}'s\ndream was eaten!"); -const u8 gUnknown_83FB7D5[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1}\nwon't go higher!"); -const u8 gUnknown_83FB7EE[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}\nwon't go lower!"); -const u8 gUnknown_83FB806[] = _("Your team's {B_BUFF1}\nstopped working!"); -const u8 gUnknown_83FB826[] = _("The foe's {B_BUFF1}\nstopped working!"); -const u8 gUnknown_83FB844[] = _("{B_ATK_NAME_WITH_PREFIX} is\nconfused!"); -const u8 gUnknown_83FB854[] = _("{B_ATK_NAME_WITH_PREFIX} snapped\nout of confusion!"); -const u8 gUnknown_83FB871[] = _("{B_EFF_NAME_WITH_PREFIX} became\nconfused!"); -const u8 gUnknown_83FB885[] = _("{B_DEF_NAME_WITH_PREFIX} is\nalready confused!"); -const u8 gUnknown_83FB89D[] = _("{B_DEF_NAME_WITH_PREFIX}\nfell in love!"); -const u8 gUnknown_83FB8AE[] = _("{B_ATK_NAME_WITH_PREFIX} is in love\nwith {B_SCR_ACTIVE_NAME_WITH_PREFIX}!"); -const u8 gUnknown_83FB8C5[] = _("{B_ATK_NAME_WITH_PREFIX} is\nimmobilized by love!"); -const u8 gUnknown_83FB8E0[] = _("{B_DEF_NAME_WITH_PREFIX} was\nblown away!"); -const u8 gUnknown_83FB8F3[] = _("{B_ATK_NAME_WITH_PREFIX} transformed\ninto the {B_BUFF1} type!"); -const u8 gUnknown_83FB914[] = _("{B_ATK_NAME_WITH_PREFIX} flinched!"); -const u8 gUnknown_83FB921[] = _("{B_DEF_NAME_WITH_PREFIX} regained\nhealth!"); -const u8 gUnknown_83FB935[] = _("{B_DEF_NAME_WITH_PREFIX}'s\nHP is full!"); -const u8 gUnknown_83FB946[] = _("{B_ATK_PREFIX2}'s {B_CURRENT_MOVE}\nraised SP. DEF!"); -const u8 gUnknown_83FB95E[] = _("{B_ATK_PREFIX2}'s {B_CURRENT_MOVE}\nraised SP. DEF a little!"); -const u8 gUnknown_83FB97F[] = _("{B_ATK_PREFIX2}'s {B_CURRENT_MOVE}\nraised DEFENSE!"); -const u8 gUnknown_83FB997[] = _("{B_ATK_PREFIX2}'s {B_CURRENT_MOVE}\nraised DEFENSE a little!"); -const u8 gUnknown_83FB9B8[] = _("{B_ATK_PREFIX2}'s party is covered\nby a veil!"); -const u8 gUnknown_83FB9D9[] = _("{B_DEF_NAME_WITH_PREFIX}'s party is protected\nby SAFEGUARD!"); -const u8 gUnknown_83FB9FF[] = _("{B_ATK_PREFIX3}'s party is no longer\nprotected by SAFEGUARD!"); -const u8 gUnknown_83FBA2F[] = _("{B_ATK_NAME_WITH_PREFIX} went\nto sleep!"); -const u8 gUnknown_83FBA41[] = _("{B_ATK_NAME_WITH_PREFIX} slept and\nbecame healthy!"); -const u8 gUnknown_83FBA5E[] = _("{B_ATK_NAME_WITH_PREFIX} whipped\nup a whirlwind!"); -const u8 gUnknown_83FBA79[] = _("{B_ATK_NAME_WITH_PREFIX} took\nin sunlight!"); -const u8 gUnknown_83FBA8E[] = _("{B_ATK_NAME_WITH_PREFIX} lowered\nits head!"); -const u8 gUnknown_83FBAA3[] = _("{B_ATK_NAME_WITH_PREFIX} is glowing!"); -const u8 gUnknown_83FBAB2[] = _("{B_ATK_NAME_WITH_PREFIX} flew\nup high!"); -const u8 gUnknown_83FBAC3[] = _("{B_ATK_NAME_WITH_PREFIX} dug a hole!"); -const u8 gUnknown_83FBAD2[] = _("{B_ATK_NAME_WITH_PREFIX} hid\nunderwater!"); -const u8 gUnknown_83FBAE5[] = _("{B_ATK_NAME_WITH_PREFIX} sprang up!"); -const u8 gUnknown_83FBAF3[] = _("{B_DEF_NAME_WITH_PREFIX} was squeezed by\n{B_ATK_NAME_WITH_PREFIX}'s BIND!"); -const u8 gUnknown_83FBB11[] = _("{B_DEF_NAME_WITH_PREFIX} was trapped\nin the vortex!"); -const u8 gUnknown_83FBB2F[] = _("{B_DEF_NAME_WITH_PREFIX} was trapped\nby SAND TOMB!"); -const u8 gUnknown_83FBB4C[] = _("{B_DEF_NAME_WITH_PREFIX} was WRAPPED by\n{B_ATK_NAME_WITH_PREFIX}!"); -const u8 gUnknown_83FBB62[] = _("{B_ATK_NAME_WITH_PREFIX} CLAMPED\n{B_DEF_NAME_WITH_PREFIX}!"); -const u8 gUnknown_83FBB71[] = _("{B_ATK_NAME_WITH_PREFIX} is hurt\nby {B_BUFF1}!"); -const u8 gUnknown_83FBB83[] = _("{B_ATK_NAME_WITH_PREFIX} was freed\nfrom {B_BUFF1}!"); -const u8 gUnknown_83FBB99[] = _("{B_ATK_NAME_WITH_PREFIX} kept going\nand crashed!"); +static const u8 sText_Empty1[] = _(""); +static const u8 sText_Trainer1LoseText[] = _("{B_TRAINER1_LOSE_TEXT}"); +static const u8 sText_Trainer2Class[] = _("{B_TRAINER2_CLASS}"); +static const u8 sText_Trainer1RecallPkmn1[] = _("{B_TRAINER1_NAME}: {B_OPPONENT_MON1_NAME}, come back!"); +static const u8 sText_Trainer1WinText[] = _("{B_TRAINER1_WIN_TEXT}"); +static const u8 sText_Trainer1RecallPkmn2[] = _("{B_TRAINER1_NAME}: {B_OPPONENT_MON2_NAME}, come back!"); +static const u8 sText_Trainer1RecallBoth[] = _("{B_TRAINER1_NAME}: {B_OPPONENT_MON1_NAME} and\n{B_OPPONENT_MON2_NAME}, come back!"); +static const u8 sText_Trainer2Name[] = _("{B_TRAINER2_NAME}"); +static const u8 sText_PkmnGainedEXP[] = _("{B_BUFF1} gained{B_BUFF2}\n{B_TRAINER2_LOSE_TEXT} EXP. Points!\p"); +static const u8 sText_EmptyString4[] = _(""); +static const u8 sText_ABoosted[] = _(" a boosted"); +static const u8 sText_PkmnGrewToLv[] = _("{B_BUFF1} grew to\nLV. {B_BUFF2}!{WAIT_SE}\p"); +static const u8 sText_PkmnLearnedMove[] = _("{B_BUFF1} learned\n{B_BUFF2}!{WAIT_SE}\p"); +static const u8 sText_TryToLearnMove1[] = _("{B_BUFF1} is trying to\nlearn {B_BUFF2}.\p"); +static const u8 sText_TryToLearnMove2[] = _("But, {B_BUFF1} can't learn\nmore than four moves.\p"); +static const u8 sText_TryToLearnMove3[] = _("Delete a move to make\nroom for {B_BUFF2}?"); +static const u8 sText_PkmnForgotMove[] = _("{B_BUFF1} forgot\n{B_BUFF2}.\p"); +static const u8 sText_StopLearningMove[] = _("{PAUSE 32}Stop learning\n{B_BUFF2}?"); +static const u8 sText_DidNotLearnMove[] = _("{B_BUFF1} did not learn\n{B_BUFF2}.\p"); +static const u8 sText_UseNextPkmn[] = _("Use next POKéMON?"); +static const u8 sText_AttackMissed[] = _("{B_ATK_NAME_WITH_PREFIX}'s\nattack missed!"); +static const u8 sText_PkmnProtectedItself[] = _("{B_DEF_NAME_WITH_PREFIX}\nprotected itself!"); +static const u8 sText_AvoidedDamage[] = _("{B_DEF_NAME_WITH_PREFIX} avoided\ndamage with {B_DEF_ABILITY}!"); +static const u8 sText_PkmnMakesGroundMiss[] = _("{B_DEF_NAME_WITH_PREFIX} makes GROUND\nmoves miss with {B_DEF_ABILITY}!"); +static const u8 sText_PkmnAvoidedAttack[] = _("{B_DEF_NAME_WITH_PREFIX} avoided\nthe attack!"); +static const u8 sText_ItDoesntAffect[] = _("It doesn't affect\n{B_DEF_NAME_WITH_PREFIX}…"); +static const u8 sText_AttackerFainted[] = _("{B_ATK_NAME_WITH_PREFIX}\nfainted!\p"); +static const u8 sText_TargetFainted[] = _("{B_DEF_NAME_WITH_PREFIX}\nfainted!\p"); +static const u8 sText_PlayerGotMoney[] = _("{B_PLAYER_NAME} got ¥{B_BUFF1}\nfor winning!\p"); +static const u8 sText_PlayerWhiteout[] = _("{B_PLAYER_NAME} is out of\nusable POKéMON!\p"); +static const u8 sText_PlayerPanicked[] = _("{B_PLAYER_NAME} panicked and lost ¥{B_BUFF1}…\p… … … …\p{B_PLAYER_NAME} whited out!{PAUSE_UNTIL_PRESS}"); +static const u8 sText_PlayerWhiteoutAgainstTrainer[] = _("{B_PLAYER_NAME} is out of\nusable POKéMON!\pPlayer lost against\n{B_TRAINER1_CLASS} {B_TRAINER1_NAME}!{PAUSE_UNTIL_PRESS}"); +static const u8 sText_PlayerPaidAsPrizeMoney[] = _("{B_PLAYER_NAME} paid ¥{B_BUFF1} as the prize\nmoney…\p… … … …\p{B_PLAYER_NAME} whited out!{PAUSE_UNTIL_PRESS}"); +static const u8 sText_PlayerWhiteout2[] = _("{B_PLAYER_NAME} whited out!{PAUSE_UNTIL_PRESS}"); +static const u8 sText_PreventsEscape[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} prevents\nescape with {B_SCR_ACTIVE_ABILITY}!\p"); +static const u8 sText_CantEscape2[] = _("Can't escape!\p"); +static const u8 sText_AttackerCantEscape[] = _("{B_ATK_NAME_WITH_PREFIX} can't escape!"); +static const u8 sText_HitXTimes[] = _("Hit {B_BUFF1} time(s)!"); +static const u8 sText_PkmnFellAsleep[] = _("{B_EFF_NAME_WITH_PREFIX}\nfell asleep!"); +static const u8 sText_PkmnMadeSleep[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nmade {B_EFF_NAME_WITH_PREFIX} sleep!"); +static const u8 sText_PkmnAlreadyAsleep[] = _("{B_DEF_NAME_WITH_PREFIX} is\nalready asleep!"); +static const u8 sText_PkmnAlreadyAsleep2[] = _("{B_ATK_NAME_WITH_PREFIX} is\nalready asleep!"); +static const u8 sText_PkmnWasntAffected[] = _("{B_DEF_NAME_WITH_PREFIX}\nwasn't affected!"); +static const u8 sText_PkmnWasPoisoned[] = _("{B_EFF_NAME_WITH_PREFIX}\nwas poisoned!"); +static const u8 sText_PkmnPoisonedBy[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\npoisoned {B_EFF_NAME_WITH_PREFIX}!"); +static const u8 sText_PkmnHurtByPoison[] = _("{B_ATK_NAME_WITH_PREFIX} is hurt\nby poison!"); +static const u8 sText_PkmnAlreadyPoisoned[] = _("{B_DEF_NAME_WITH_PREFIX} is already\npoisoned."); +static const u8 sText_PkmnBadlyPoisoned[] = _("{B_EFF_NAME_WITH_PREFIX} is badly\npoisoned!"); +static const u8 sText_PkmnEnergyDrained[] = _("{B_DEF_NAME_WITH_PREFIX} had its\nenergy drained!"); +static const u8 sText_PkmnWasBurned[] = _("{B_EFF_NAME_WITH_PREFIX} was burned!"); +static const u8 sText_PkmnBurnedBy[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nburned {B_EFF_NAME_WITH_PREFIX}!"); +static const u8 sText_PkmnHurtByBurn[] = _("{B_ATK_NAME_WITH_PREFIX} is hurt\nby its burn!"); +static const u8 sText_PkmnAlreadyHasBurn[] = _("{B_DEF_NAME_WITH_PREFIX} already\nhas a burn."); +static const u8 sText_PkmnWasFrozen[] = _("{B_EFF_NAME_WITH_PREFIX} was\nfrozen solid!"); +static const u8 sText_PkmnFrozenBy[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nfroze {B_EFF_NAME_WITH_PREFIX} solid!"); +static const u8 sText_PkmnIsFrozen[] = _("{B_ATK_NAME_WITH_PREFIX} is\nfrozen solid!"); +static const u8 sText_PkmnWasDefrosted[] = _("{B_DEF_NAME_WITH_PREFIX} was\ndefrosted!"); +static const u8 sText_PkmnWasDefrosted2[] = _("{B_ATK_NAME_WITH_PREFIX} was\ndefrosted!"); +static const u8 sText_PkmnWasDefrostedBy[] = _("{B_ATK_NAME_WITH_PREFIX} was\ndefrosted by {B_CURRENT_MOVE}!"); +static const u8 sText_PkmnWasParalyzed[] = _("{B_EFF_NAME_WITH_PREFIX} is paralyzed!\nIt may be unable to move!"); +static const u8 sText_PkmnWasParalyzedBy[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nparalyzed {B_EFF_NAME_WITH_PREFIX}!\lIt may be unable to move!"); +static const u8 sText_PkmnIsParalyzed[] = _("{B_ATK_NAME_WITH_PREFIX} is paralyzed!\nIt can't move!"); +static const u8 sText_PkmnIsAlreadyParalyzed[] = _("{B_DEF_NAME_WITH_PREFIX} is\nalready paralyzed!"); +static const u8 sText_PkmnHealedParalysis[] = _("{B_DEF_NAME_WITH_PREFIX} was\nhealed of paralysis!"); +static const u8 sText_PkmnDreamEaten[] = _("{B_DEF_NAME_WITH_PREFIX}'s\ndream was eaten!"); +static const u8 sText_StatsWontIncrease[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1}\nwon't go higher!"); +static const u8 sText_StatsWontDecrease[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}\nwon't go lower!"); +static const u8 sText_TeamStoppedWorking[] = _("Your team's {B_BUFF1}\nstopped working!"); +static const u8 sText_FoeStoppedWorking[] = _("The foe's {B_BUFF1}\nstopped working!"); +static const u8 sText_PkmnIsConfused[] = _("{B_ATK_NAME_WITH_PREFIX} is\nconfused!"); +static const u8 sText_PkmnHealedConfusion[] = _("{B_ATK_NAME_WITH_PREFIX} snapped\nout of confusion!"); +static const u8 sText_PkmnWasConfused[] = _("{B_EFF_NAME_WITH_PREFIX} became\nconfused!"); +static const u8 sText_PkmnAlreadyConfused[] = _("{B_DEF_NAME_WITH_PREFIX} is\nalready confused!"); +static const u8 sText_PkmnFellInLove[] = _("{B_DEF_NAME_WITH_PREFIX}\nfell in love!"); +static const u8 sText_PkmnInLove[] = _("{B_ATK_NAME_WITH_PREFIX} is in love\nwith {B_SCR_ACTIVE_NAME_WITH_PREFIX}!"); +static const u8 sText_PkmnImmobilizedByLove[] = _("{B_ATK_NAME_WITH_PREFIX} is\nimmobilized by love!"); +static const u8 sText_PkmnBlownAway[] = _("{B_DEF_NAME_WITH_PREFIX} was\nblown away!"); +static const u8 sText_PkmnChangedType[] = _("{B_ATK_NAME_WITH_PREFIX} transformed\ninto the {B_BUFF1} type!"); +static const u8 sText_PkmnFlinched[] = _("{B_ATK_NAME_WITH_PREFIX} flinched!"); +static const u8 sText_PkmnRegainedHealth[] = _("{B_DEF_NAME_WITH_PREFIX} regained\nhealth!"); +static const u8 sText_PkmnHPFull[] = _("{B_DEF_NAME_WITH_PREFIX}'s\nHP is full!"); +static const u8 sText_PkmnRaisedSpDef[] = _("{B_ATK_PREFIX2}'s {B_CURRENT_MOVE}\nraised SP. DEF!"); +static const u8 sText_PkmnRaisedSpDefALittle[] = _("{B_ATK_PREFIX2}'s {B_CURRENT_MOVE}\nraised SP. DEF a little!"); +static const u8 sText_PkmnRaisedDef[] = _("{B_ATK_PREFIX2}'s {B_CURRENT_MOVE}\nraised DEFENSE!"); +static const u8 sText_PkmnRaisedDefALittle[] = _("{B_ATK_PREFIX2}'s {B_CURRENT_MOVE}\nraised DEFENSE a little!"); +static const u8 sText_PkmnCoveredByVeil[] = _("{B_ATK_PREFIX2}'s party is covered\nby a veil!"); +static const u8 sText_PkmnUsedSafeguard[] = _("{B_DEF_NAME_WITH_PREFIX}'s party is protected\nby SAFEGUARD!"); +static const u8 sText_PkmnSafeguardExpired[] = _("{B_ATK_PREFIX3}'s party is no longer\nprotected by SAFEGUARD!"); +static const u8 sText_PkmnWentToSleep[] = _("{B_ATK_NAME_WITH_PREFIX} went\nto sleep!"); +static const u8 sText_PkmnSleptHealthy[] = _("{B_ATK_NAME_WITH_PREFIX} slept and\nbecame healthy!"); +static const u8 sText_PkmnWhippedWhirlwind[] = _("{B_ATK_NAME_WITH_PREFIX} whipped\nup a whirlwind!"); +static const u8 sText_PkmnTookSunlight[] = _("{B_ATK_NAME_WITH_PREFIX} took\nin sunlight!"); +static const u8 sText_PkmnLoweredHead[] = _("{B_ATK_NAME_WITH_PREFIX} lowered\nits head!"); +static const u8 sText_PkmnIsGlowing[] = _("{B_ATK_NAME_WITH_PREFIX} is glowing!"); +static const u8 sText_PkmnFlewHigh[] = _("{B_ATK_NAME_WITH_PREFIX} flew\nup high!"); +static const u8 sText_PkmnDugHole[] = _("{B_ATK_NAME_WITH_PREFIX} dug a hole!"); +static const u8 sText_PkmnHidUnderwater[] = _("{B_ATK_NAME_WITH_PREFIX} hid\nunderwater!"); +static const u8 sText_PkmnSprangUp[] = _("{B_ATK_NAME_WITH_PREFIX} sprang up!"); +static const u8 sText_PkmnSqueezedByBind[] = _("{B_DEF_NAME_WITH_PREFIX} was squeezed by\n{B_ATK_NAME_WITH_PREFIX}'s BIND!"); +static const u8 sText_PkmnTrappedInVortex[] = _("{B_DEF_NAME_WITH_PREFIX} was trapped\nin the vortex!"); +static const u8 sText_PkmnTrappedBySandTomb[] = _("{B_DEF_NAME_WITH_PREFIX} was trapped\nby SAND TOMB!"); +static const u8 sText_PkmnWrappedBy[] = _("{B_DEF_NAME_WITH_PREFIX} was WRAPPED by\n{B_ATK_NAME_WITH_PREFIX}!"); +static const u8 sText_PkmnClamped[] = _("{B_ATK_NAME_WITH_PREFIX} CLAMPED\n{B_DEF_NAME_WITH_PREFIX}!"); +static const u8 sText_PkmnHurtBy[] = _("{B_ATK_NAME_WITH_PREFIX} is hurt\nby {B_BUFF1}!"); +static const u8 sText_PkmnFreedFrom[] = _("{B_ATK_NAME_WITH_PREFIX} was freed\nfrom {B_BUFF1}!"); +static const u8 sText_PkmnCrashed[] = _("{B_ATK_NAME_WITH_PREFIX} kept going\nand crashed!"); const u8 gBattleText_MistShroud[] = _("{B_ATK_PREFIX2} became\nshrouded in MIST!"); -const u8 gUnknown_83FBBD0[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is protected\nby MIST!"); +static const u8 sText_PkmnProtectedByMist[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is protected\nby MIST!"); const u8 gBattleText_GetPumped[] = _("{B_ATK_NAME_WITH_PREFIX} is getting\npumped!"); -const u8 gUnknown_83FBBFF[] = _("{B_ATK_NAME_WITH_PREFIX} is hit\nwith recoil!"); -const u8 gUnknown_83FBC16[] = _("{B_ATK_NAME_WITH_PREFIX} protected\nitself!"); -const u8 gUnknown_83FBC2B[] = _("{B_ATK_NAME_WITH_PREFIX} is buffeted\nby the sandstorm!"); -const u8 gUnknown_83FBC4C[] = _("{B_ATK_NAME_WITH_PREFIX} is pelted\nby HAIL!"); -const u8 gUnknown_83FBC62[] = _("{B_ATK_PREFIX1}'s {B_BUFF1}\nwore off!"); -const u8 gUnknown_83FBC74[] = _("{B_DEF_NAME_WITH_PREFIX} was seeded!"); -const u8 gUnknown_83FBC83[] = _("{B_DEF_NAME_WITH_PREFIX} evaded\nthe attack!"); -const u8 gUnknown_83FBC99[] = _("{B_ATK_NAME_WITH_PREFIX}'s health is\nsapped by LEECH SEED!"); -const u8 gUnknown_83FBCBE[] = _("{B_ATK_NAME_WITH_PREFIX} is fast\nasleep."); -const u8 gUnknown_83FBCD1[] = _("{B_ATK_NAME_WITH_PREFIX} woke up!"); -const u8 gUnknown_83FBCDD[] = _("But {B_SCR_ACTIVE_NAME_WITH_PREFIX}'s UPROAR\nkept it awake!"); -const u8 gUnknown_83FBCFC[] = _("{B_ATK_NAME_WITH_PREFIX} woke up\nin the UPROAR!"); -const u8 gUnknown_83FBD16[] = _("{B_ATK_NAME_WITH_PREFIX} caused\nan UPROAR!"); -const u8 gUnknown_83FBD2B[] = _("{B_ATK_NAME_WITH_PREFIX} is making\nan UPROAR!"); -const u8 gUnknown_83FBD43[] = _("{B_ATK_NAME_WITH_PREFIX} calmed down."); -const u8 gUnknown_83FBD53[] = _("But {B_DEF_NAME_WITH_PREFIX} can't\nsleep in an UPROAR!"); -const u8 gUnknown_83FBD74[] = _("{B_ATK_NAME_WITH_PREFIX} STOCKPILED\n{B_BUFF1}!"); -const u8 gUnknown_83FBD86[] = _("{B_ATK_NAME_WITH_PREFIX} can't\nSTOCKPILE any more!"); -const u8 gUnknown_83FBDA3[] = _("But {B_DEF_NAME_WITH_PREFIX} can't\nsleep in an UPROAR!"); -const u8 gUnknown_83FBDC4[] = _("But the UPROAR kept\n{B_DEF_NAME_WITH_PREFIX} awake!"); -const u8 gUnknown_83FBDE2[] = _("{B_DEF_NAME_WITH_PREFIX} stayed awake\nusing its {B_DEF_ABILITY}!"); -const u8 gUnknown_83FBE00[] = _("{B_ATK_NAME_WITH_PREFIX} is storing\nenergy!"); -const u8 gUnknown_83FBE16[] = _("{B_ATK_NAME_WITH_PREFIX} unleashed\nenergy!"); -const u8 gUnknown_83FBE2B[] = _("{B_ATK_NAME_WITH_PREFIX} became\nconfused due to fatigue!"); -const u8 gUnknown_83FBE4E[] = _("{B_PLAYER_NAME} picked up\n¥{B_BUFF1}!\p"); -const u8 gUnknown_83FBE61[] = _("{B_DEF_NAME_WITH_PREFIX} is\nunaffected!"); -const u8 gUnknown_83FBE73[] = _("{B_ATK_NAME_WITH_PREFIX} transformed\ninto {B_BUFF1}!"); -const u8 gUnknown_83FBE8B[] = _("{B_ATK_NAME_WITH_PREFIX} made\na SUBSTITUTE!"); -const u8 gUnknown_83FBEA1[] = _("{B_ATK_NAME_WITH_PREFIX} already\nhas a SUBSTITUTE!"); -const u8 gUnknown_83FBEBE[] = _("The SUBSTITUTE took damage\nfor {B_DEF_NAME_WITH_PREFIX}!\p"); -const u8 gUnknown_83FBEE2[] = _("{B_DEF_NAME_WITH_PREFIX}'s\nSUBSTITUTE faded!\p"); -const u8 gUnknown_83FBEFA[] = _("{B_ATK_NAME_WITH_PREFIX} must\nrecharge!"); -const u8 gUnknown_83FBF0C[] = _("{B_DEF_NAME_WITH_PREFIX}'s RAGE\nis building!"); -const u8 gUnknown_83FBF23[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}\nwas disabled!"); -const u8 gUnknown_83FBF39[] = _("{B_ATK_NAME_WITH_PREFIX} is disabled\nno more!"); -const u8 gUnknown_83FBF51[] = _("{B_DEF_NAME_WITH_PREFIX} got\nan ENCORE!"); -const u8 gUnknown_83FBF63[] = _("{B_ATK_NAME_WITH_PREFIX}'s ENCORE\nended!"); -const u8 gUnknown_83FBF76[] = _("{B_ATK_NAME_WITH_PREFIX} took aim\nat {B_DEF_NAME_WITH_PREFIX}!"); -const u8 gUnknown_83FBF89[] = _("{B_ATK_NAME_WITH_PREFIX} SKETCHED\n{B_BUFF1}!"); -const u8 gUnknown_83FBF99[] = _("{B_ATK_NAME_WITH_PREFIX} is trying\nto take its foe with it!"); -const u8 gUnknown_83FBFBF[] = _("{B_DEF_NAME_WITH_PREFIX} took\n{B_ATK_NAME_WITH_PREFIX} with it!"); -const u8 gUnknown_83FBFD3[] = _("Reduced {B_DEF_NAME_WITH_PREFIX}'s\n{B_BUFF1} by {B_BUFF2}!"); -const u8 gUnknown_83FBFEA[] = _("{B_ATK_NAME_WITH_PREFIX} stole\n{B_DEF_NAME_WITH_PREFIX}'s {B_LAST_ITEM}!"); -const u8 gUnknown_83FBFFC[] = _("{B_DEF_NAME_WITH_PREFIX} can't\nescape now!"); -const u8 gUnknown_83FC011[] = _("{B_DEF_NAME_WITH_PREFIX} fell into\na NIGHTMARE!"); -const u8 gUnknown_83FC02B[] = _("{B_ATK_NAME_WITH_PREFIX} is locked\nin a NIGHTMARE!"); -const u8 gUnknown_83FC048[] = _("{B_ATK_NAME_WITH_PREFIX} cut its own HP and\nlaid a CURSE on {B_DEF_NAME_WITH_PREFIX}!"); -const u8 gUnknown_83FC072[] = _("{B_ATK_NAME_WITH_PREFIX} is afflicted\nby the CURSE!"); -const u8 gUnknown_83FC090[] = _("SPIKES were scattered all around\nthe opponent's side!"); -const u8 gUnknown_83FC0C6[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is hurt\nby SPIKES!"); -const u8 gUnknown_83FC0DC[] = _("{B_ATK_NAME_WITH_PREFIX} identified\n{B_DEF_NAME_WITH_PREFIX}!"); -const u8 gUnknown_83FC0EE[] = _("{B_ATK_NAME_WITH_PREFIX}'s PERISH count\nfell to {B_BUFF1}!"); -const u8 gUnknown_83FC10C[] = _("{B_ATK_NAME_WITH_PREFIX} braced\nitself!"); -const u8 gUnknown_83FC11E[] = _("{B_DEF_NAME_WITH_PREFIX} ENDURED\nthe hit!"); -const u8 gUnknown_83FC132[] = _("MAGNITUDE {B_BUFF1}!"); -const u8 gUnknown_83FC140[] = _("{B_ATK_NAME_WITH_PREFIX} cut its own HP\nand maximized ATTACK!"); -const u8 gUnknown_83FC168[] = _("{B_ATK_NAME_WITH_PREFIX} copied\n{B_DEF_NAME_WITH_PREFIX}'s stat changes!"); -const u8 gUnknown_83FC185[] = _("{B_ATK_NAME_WITH_PREFIX} got free of\n{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}!"); -const u8 gUnknown_83FC19D[] = _("{B_ATK_NAME_WITH_PREFIX} shed\nLEECH SEED!"); -const u8 gUnknown_83FC1B1[] = _("{B_ATK_NAME_WITH_PREFIX} blew away\nSPIKES!"); -const u8 gUnknown_83FC1C6[] = _("{B_ATK_NAME_WITH_PREFIX} fled from\nbattle!"); -const u8 gUnknown_83FC1DB[] = _("{B_ATK_NAME_WITH_PREFIX} foresaw\nan attack!"); -const u8 gUnknown_83FC1F1[] = _("{B_DEF_NAME_WITH_PREFIX} took the\n{B_BUFF1} attack!"); -const u8 gUnknown_83FC208[] = _("{B_ATK_NAME_WITH_PREFIX} chose\n{B_CURRENT_MOVE} as its destiny!"); -const u8 gUnknown_83FC224[] = _("{B_BUFF1}'s attack!"); -const u8 gUnknown_83FC231[] = _("{B_ATK_NAME_WITH_PREFIX} became the\ncenter of attention!"); -const u8 gUnknown_83FC254[] = _("{B_ATK_NAME_WITH_PREFIX} began\ncharging power!"); -const u8 gUnknown_83FC26D[] = _("NATURE POWER turned into\n{B_CURRENT_MOVE}!"); -const u8 gUnknown_83FC28A[] = _("{B_ATK_NAME_WITH_PREFIX}'s status\nreturned to normal!"); -const u8 gUnknown_83FC2AA[] = _("{B_DEF_NAME_WITH_PREFIX} was subjected\nto TORMENT!"); -const u8 gUnknown_83FC2C7[] = _("{B_ATK_NAME_WITH_PREFIX} is tightening\nits focus!"); -const u8 gUnknown_83FC2E3[] = _("{B_DEF_NAME_WITH_PREFIX} fell for\nthe TAUNT!"); -const u8 gUnknown_83FC2FA[] = _("{B_ATK_NAME_WITH_PREFIX} is ready to\nhelp {B_DEF_NAME_WITH_PREFIX}!"); -const u8 gUnknown_83FC312[] = _("{B_ATK_NAME_WITH_PREFIX} switched\nitems with its opponent!"); -const u8 gUnknown_83FC337[] = _("{B_ATK_NAME_WITH_PREFIX} obtained\n{B_BUFF1}."); -const u8 gUnknown_83FC347[] = _("{B_DEF_NAME_WITH_PREFIX} obtained\n{B_BUFF2}."); -const u8 gUnknown_83FC357[] = _("{B_ATK_NAME_WITH_PREFIX} obtained\n{B_BUFF1}.\p{B_DEF_NAME_WITH_PREFIX} obtained\n{B_BUFF2}."); -const u8 gUnknown_83FC377[] = _("{B_ATK_NAME_WITH_PREFIX} copied\n{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}!"); -const u8 gUnknown_83FC38A[] = _("{B_ATK_NAME_WITH_PREFIX} made a WISH!"); -const u8 gUnknown_83FC39A[] = _("{B_BUFF1}'s WISH\ncame true!"); -const u8 gUnknown_83FC3AF[] = _("{B_ATK_NAME_WITH_PREFIX} planted its roots!"); -const u8 gUnknown_83FC3C5[] = _("{B_ATK_NAME_WITH_PREFIX} absorbed\nnutrients with its roots!"); -const u8 gUnknown_83FC3EB[] = _("{B_DEF_NAME_WITH_PREFIX} anchored\nitself with its roots!"); -const u8 gUnknown_83FC40E[] = _("{B_ATK_NAME_WITH_PREFIX} made\n{B_DEF_NAME_WITH_PREFIX} drowsy!"); -const u8 gUnknown_83FC421[] = _("{B_ATK_NAME_WITH_PREFIX} knocked off\n{B_DEF_NAME_WITH_PREFIX}'s {B_LAST_ITEM}!"); -const u8 gUnknown_83FC439[] = _("{B_ATK_NAME_WITH_PREFIX} swapped abilities\nwith its opponent!"); -const u8 gUnknown_83FC461[] = _("{B_ATK_NAME_WITH_PREFIX} sealed the\nopponent's moveシsス!"); -const u8 gUnknown_83FC483[] = _("{B_ATK_NAME_WITH_PREFIX} wants the\nopponent to bear a GRUDGE!"); -const u8 gUnknown_83FC4AB[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1} lost\nall its PP due to the GRUDGE!"); -const u8 gUnknown_83FC4D6[] = _("{B_ATK_NAME_WITH_PREFIX} shrouded\nitself in {B_CURRENT_MOVE}!"); -const u8 gUnknown_83FC4F0[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_CURRENT_MOVE}\nwas bounced back by MAGIC COAT!"); -const u8 gUnknown_83FC518[] = _("{B_ATK_NAME_WITH_PREFIX} waits for its foe\nto make a move!"); -const u8 gUnknown_83FC53D[] = _("{B_DEF_NAME_WITH_PREFIX} SNATCHED\n{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s move!"); -const u8 gUnknown_83FC554[] = _("Electricity's power was\nweakened!"); -const u8 gUnknown_83FC576[] = _("Fire's power was\nweakened!"); -const u8 gUnknown_83FC591[] = _("{B_ATK_NAME_WITH_PREFIX} found\none {B_LAST_ITEM}!"); -const u8 gUnknown_83FC5A2[] = _("A soothing aroma wafted\nthrough the area!"); -const u8 gUnknown_83FC5CC[] = _("Items can't be used now.{PAUSE 64}"); -const u8 gUnknown_83FC5E8[] = _("For {B_SCR_ACTIVE_NAME_WITH_PREFIX},\n{B_LAST_ITEM} {B_BUFF1}"); -const u8 gUnknown_83FC5F6[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} used\n{B_LAST_ITEM} to hustle!"); -const u8 gUnknown_83FC60C[] = _("{B_ATK_NAME_WITH_PREFIX} lost its\nfocus and couldn't move!"); -const u8 gUnknown_83FC631[] = _("{B_DEF_NAME_WITH_PREFIX} was\ndragged out!\p"); -const u8 gUnknown_83FC646[] = _("The wall shattered!"); -const u8 gUnknown_83FC65A[] = _("But it had no effect!"); -const u8 gUnknown_83FC670[] = _("{B_ACTIVE_NAME_WITH_PREFIX} has no\nmoves left!\p"); -const u8 gUnknown_83FC687[] = _("{B_ACTIVE_NAME_WITH_PREFIX}'s {B_CURRENT_MOVE}\nis disabled!\p"); -const u8 gUnknown_83FC69D[] = _("{B_ACTIVE_NAME_WITH_PREFIX} can't use the same\nmove in a row due to the TORMENT!\p"); -const u8 gUnknown_83FC6D6[] = _("{B_ACTIVE_NAME_WITH_PREFIX} can't use\n{B_CURRENT_MOVE} after the TAUNT!\p"); -const u8 gUnknown_83FC6F8[] = _("{B_ACTIVE_NAME_WITH_PREFIX} can't use the\nsealed {B_CURRENT_MOVE}!\p"); -const u8 gUnknown_83FC715[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nmade it rain!"); -const u8 gUnknown_83FC72B[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nraised its SPEED!"); -const u8 gUnknown_83FC745[] = _("{B_DEF_NAME_WITH_PREFIX} was protected\nby {B_DEF_ABILITY}!"); -const u8 gUnknown_83FC75D[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nprevents {B_ATK_NAME_WITH_PREFIX}\lfrom using {B_CURRENT_MOVE}!"); -const u8 gUnknown_83FC780[] = _("{B_DEF_NAME_WITH_PREFIX} restored HP\nusing its {B_DEF_ABILITY}!"); -const u8 gUnknown_83FC79D[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nmade {B_CURRENT_MOVE} useless!"); -const u8 gUnknown_83FC7B6[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nmade it the {B_BUFF1} type!"); -const u8 gUnknown_83FC7D3[] = _("{B_EFF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nprevents paralysis!"); -const u8 gUnknown_83FC7EF[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nprevents romance!"); -const u8 gUnknown_83FC809[] = _("{B_EFF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nprevents poisoning!"); -const u8 gUnknown_83FC825[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nprevents confusion!"); -const u8 gUnknown_83FC841[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nraised its FIRE power!"); -const u8 gUnknown_83FC860[] = _("{B_DEF_NAME_WITH_PREFIX} anchors\nitself with {B_DEF_ABILITY}!"); -const u8 gUnknown_83FC87B[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\ncuts {B_DEF_NAME_WITH_PREFIX}'s ATTACK!"); -const u8 gUnknown_83FC895[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nprevents stat loss!"); -const u8 gUnknown_83FC8B1[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nhurt {B_ATK_NAME_WITH_PREFIX}!"); -const u8 gUnknown_83FC8C2[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} TRACED\n{B_BUFF1}'s {B_BUFF2}!"); -const u8 gUnknown_83FC8D5[] = _("{B_EFF_NAME_WITH_PREFIX}'s {B_EFF_ABILITY}\nprevents burns!"); -const u8 gUnknown_83FC8ED[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nblocks {B_CURRENT_MOVE}!"); -const u8 gUnknown_83FC900[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nblocks {B_CURRENT_MOVE}!"); -const u8 gUnknown_83FC913[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY}\nrestored its HP a little!"); -const u8 gUnknown_83FC935[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nwhipped up a sandstorm!"); -const u8 gUnknown_83FC955[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nintensified the sun's rays!"); -const u8 gUnknown_83FC979[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nprevents {B_BUFF1} loss!"); -const u8 gUnknown_83FC993[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\ninfatuated {B_ATK_NAME_WITH_PREFIX}!"); -const u8 gUnknown_83FC9AA[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nmade {B_CURRENT_MOVE} ineffective!"); -const u8 gUnknown_83FC9C7[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\ncured its {B_BUFF1} problem!"); -const u8 gUnknown_83FC9E5[] = _("It sucked up the\nLIQUID OOZE!"); -const u8 gUnknown_83FCA03[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} transformed!"); -const u8 gUnknown_83FCA13[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\ntook the attack!"); +static const u8 sText_PkmnHitWithRecoil[] = _("{B_ATK_NAME_WITH_PREFIX} is hit\nwith recoil!"); +static const u8 sText_PkmnProtectedItself2[] = _("{B_ATK_NAME_WITH_PREFIX} protected\nitself!"); +static const u8 sText_PkmnBuffetedBySandstorm[] = _("{B_ATK_NAME_WITH_PREFIX} is buffeted\nby the sandstorm!"); +static const u8 sText_PkmnPeltedByHail[] = _("{B_ATK_NAME_WITH_PREFIX} is pelted\nby HAIL!"); +static const u8 sText_PkmnsXWoreOff[] = _("{B_ATK_PREFIX1}'s {B_BUFF1}\nwore off!"); +static const u8 sText_PkmnSeeded[] = _("{B_DEF_NAME_WITH_PREFIX} was seeded!"); +static const u8 sText_PkmnEvadedAttack[] = _("{B_DEF_NAME_WITH_PREFIX} evaded\nthe attack!"); +static const u8 sText_PkmnSappedByLeechSeed[] = _("{B_ATK_NAME_WITH_PREFIX}'s health is\nsapped by LEECH SEED!"); +static const u8 sText_PkmnFastAsleep[] = _("{B_ATK_NAME_WITH_PREFIX} is fast\nasleep."); +static const u8 sText_PkmnWokeUp[] = _("{B_ATK_NAME_WITH_PREFIX} woke up!"); +static const u8 sText_PkmnUproarKeptAwake[] = _("But {B_SCR_ACTIVE_NAME_WITH_PREFIX}'s UPROAR\nkept it awake!"); +static const u8 sText_PkmnWokeUpInUproar[] = _("{B_ATK_NAME_WITH_PREFIX} woke up\nin the UPROAR!"); +static const u8 sText_PkmnCausedUproar[] = _("{B_ATK_NAME_WITH_PREFIX} caused\nan UPROAR!"); +static const u8 sText_PkmnMakingUproar[] = _("{B_ATK_NAME_WITH_PREFIX} is making\nan UPROAR!"); +static const u8 sText_PkmnCalmedDown[] = _("{B_ATK_NAME_WITH_PREFIX} calmed down."); +static const u8 sText_PkmnCantSleepInUproar[] = _("But {B_DEF_NAME_WITH_PREFIX} can't\nsleep in an UPROAR!"); +static const u8 sText_PkmnStockpiled[] = _("{B_ATK_NAME_WITH_PREFIX} STOCKPILED\n{B_BUFF1}!"); +static const u8 sText_PkmnCantStockpile[] = _("{B_ATK_NAME_WITH_PREFIX} can't\nSTOCKPILE any more!"); +static const u8 sText_PkmnCantSleepInUproar2[] = _("But {B_DEF_NAME_WITH_PREFIX} can't\nsleep in an UPROAR!"); +static const u8 sText_UproarKeptPkmnAwake[] = _("But the UPROAR kept\n{B_DEF_NAME_WITH_PREFIX} awake!"); +static const u8 sText_PkmnStayedAwakeUsing[] = _("{B_DEF_NAME_WITH_PREFIX} stayed awake\nusing its {B_DEF_ABILITY}!"); +static const u8 sText_PkmnStoringEnergy[] = _("{B_ATK_NAME_WITH_PREFIX} is storing\nenergy!"); +static const u8 sText_PkmnUnleashedEnergy[] = _("{B_ATK_NAME_WITH_PREFIX} unleashed\nenergy!"); +static const u8 sText_PkmnFatigueConfusion[] = _("{B_ATK_NAME_WITH_PREFIX} became\nconfused due to fatigue!"); +static const u8 sText_PkmnPickedUpItem[] = _("{B_PLAYER_NAME} picked up\n¥{B_BUFF1}!\p"); +static const u8 sText_PkmnUnaffected[] = _("{B_DEF_NAME_WITH_PREFIX} is\nunaffected!"); +static const u8 sText_PkmnTransformedInto[] = _("{B_ATK_NAME_WITH_PREFIX} transformed\ninto {B_BUFF1}!"); +static const u8 sText_PkmnMadeSubstitute[] = _("{B_ATK_NAME_WITH_PREFIX} made\na SUBSTITUTE!"); +static const u8 sText_PkmnHasSubstitute[] = _("{B_ATK_NAME_WITH_PREFIX} already\nhas a SUBSTITUTE!"); +static const u8 sText_SubstituteDamaged[] = _("The SUBSTITUTE took damage\nfor {B_DEF_NAME_WITH_PREFIX}!\p"); +static const u8 sText_PkmnSubstituteFaded[] = _("{B_DEF_NAME_WITH_PREFIX}'s\nSUBSTITUTE faded!\p"); +static const u8 sText_PkmnMustRecharge[] = _("{B_ATK_NAME_WITH_PREFIX} must\nrecharge!"); +static const u8 sText_PkmnRageBuilding[] = _("{B_DEF_NAME_WITH_PREFIX}'s RAGE\nis building!"); +static const u8 sText_PkmnMoveWasDisabled[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}\nwas disabled!"); +static const u8 sText_PkmnMoveDisabledNoMore[] = _("{B_ATK_NAME_WITH_PREFIX} is disabled\nno more!"); +static const u8 sText_PkmnGotEncore[] = _("{B_DEF_NAME_WITH_PREFIX} got\nan ENCORE!"); +static const u8 sText_PkmnEncoreEnded[] = _("{B_ATK_NAME_WITH_PREFIX}'s ENCORE\nended!"); +static const u8 sText_PkmnTookAim[] = _("{B_ATK_NAME_WITH_PREFIX} took aim\nat {B_DEF_NAME_WITH_PREFIX}!"); +static const u8 sText_PkmnSketchedMove[] = _("{B_ATK_NAME_WITH_PREFIX} SKETCHED\n{B_BUFF1}!"); +static const u8 sText_PkmnTryingToTakeFoe[] = _("{B_ATK_NAME_WITH_PREFIX} is trying\nto take its foe with it!"); +static const u8 sText_PkmnTookFoe[] = _("{B_DEF_NAME_WITH_PREFIX} took\n{B_ATK_NAME_WITH_PREFIX} with it!"); +static const u8 sText_PkmnReducedPP[] = _("Reduced {B_DEF_NAME_WITH_PREFIX}'s\n{B_BUFF1} by {B_BUFF2}!"); +static const u8 sText_PkmnStoleItem[] = _("{B_ATK_NAME_WITH_PREFIX} stole\n{B_DEF_NAME_WITH_PREFIX}'s {B_LAST_ITEM}!"); +static const u8 sText_TargetCantEscapeNow[] = _("{B_DEF_NAME_WITH_PREFIX} can't\nescape now!"); +static const u8 sText_PkmnFellIntoNightmare[] = _("{B_DEF_NAME_WITH_PREFIX} fell into\na NIGHTMARE!"); +static const u8 sText_PkmnLockedInNightmare[] = _("{B_ATK_NAME_WITH_PREFIX} is locked\nin a NIGHTMARE!"); +static const u8 sText_PkmnLaidCurse[] = _("{B_ATK_NAME_WITH_PREFIX} cut its own HP and\nlaid a CURSE on {B_DEF_NAME_WITH_PREFIX}!"); +static const u8 sText_PkmnAfflictedByCurse[] = _("{B_ATK_NAME_WITH_PREFIX} is afflicted\nby the CURSE!"); +static const u8 sText_SpikesScattered[] = _("SPIKES were scattered all around\nthe opponent's side!"); +static const u8 sText_PkmnHurtBySpikes[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is hurt\nby SPIKES!"); +static const u8 sText_PkmnIdentified[] = _("{B_ATK_NAME_WITH_PREFIX} identified\n{B_DEF_NAME_WITH_PREFIX}!"); +static const u8 sText_PkmnPerishCountFell[] = _("{B_ATK_NAME_WITH_PREFIX}'s PERISH count\nfell to {B_BUFF1}!"); +static const u8 sText_PkmnBracedItself[] = _("{B_ATK_NAME_WITH_PREFIX} braced\nitself!"); +static const u8 sText_PkmnEnduredHit[] = _("{B_DEF_NAME_WITH_PREFIX} ENDURED\nthe hit!"); +static const u8 sText_MagnitudeStrength[] = _("MAGNITUDE {B_BUFF1}!"); +static const u8 sText_PkmnCutHPMaxedAttack[] = _("{B_ATK_NAME_WITH_PREFIX} cut its own HP\nand maximized ATTACK!"); +static const u8 sText_PkmnCopiedStatChanges[] = _("{B_ATK_NAME_WITH_PREFIX} copied\n{B_DEF_NAME_WITH_PREFIX}'s stat changes!"); +static const u8 sText_PkmnGotFree[] = _("{B_ATK_NAME_WITH_PREFIX} got free of\n{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}!"); +static const u8 sText_PkmnShedLeechSeed[] = _("{B_ATK_NAME_WITH_PREFIX} shed\nLEECH SEED!"); +static const u8 sText_PkmnBlewAwaySpikes[] = _("{B_ATK_NAME_WITH_PREFIX} blew away\nSPIKES!"); +static const u8 sText_PkmnFledFromBattle[] = _("{B_ATK_NAME_WITH_PREFIX} fled from\nbattle!"); +static const u8 sText_PkmnForesawAttack[] = _("{B_ATK_NAME_WITH_PREFIX} foresaw\nan attack!"); +static const u8 sText_PkmnTookAttack[] = _("{B_DEF_NAME_WITH_PREFIX} took the\n{B_BUFF1} attack!"); +static const u8 sText_PkmnChoseXAsDestiny[] = _("{B_ATK_NAME_WITH_PREFIX} chose\n{B_CURRENT_MOVE} as its destiny!"); +static const u8 sText_PkmnAttack[] = _("{B_BUFF1}'s attack!"); +static const u8 sText_PkmnCenterAttention[] = _("{B_ATK_NAME_WITH_PREFIX} became the\ncenter of attention!"); +static const u8 sText_PkmnChargingPower[] = _("{B_ATK_NAME_WITH_PREFIX} began\ncharging power!"); +static const u8 sText_NaturePowerTurnedInto[] = _("NATURE POWER turned into\n{B_CURRENT_MOVE}!"); +static const u8 sText_PkmnStatusNormal[] = _("{B_ATK_NAME_WITH_PREFIX}'s status\nreturned to normal!"); +static const u8 sText_PkmnSubjectedToTorment[] = _("{B_DEF_NAME_WITH_PREFIX} was subjected\nto TORMENT!"); +static const u8 sText_PkmnTighteningFocus[] = _("{B_ATK_NAME_WITH_PREFIX} is tightening\nits focus!"); +static const u8 sText_PkmnFellForTaunt[] = _("{B_DEF_NAME_WITH_PREFIX} fell for\nthe TAUNT!"); +static const u8 sText_PkmnReadyToHelp[] = _("{B_ATK_NAME_WITH_PREFIX} is ready to\nhelp {B_DEF_NAME_WITH_PREFIX}!"); +static const u8 sText_PkmnSwitchedItems[] = _("{B_ATK_NAME_WITH_PREFIX} switched\nitems with its opponent!"); +static const u8 sText_PkmnObtainedX[] = _("{B_ATK_NAME_WITH_PREFIX} obtained\n{B_BUFF1}."); +static const u8 sText_PkmnObtainedX2[] = _("{B_DEF_NAME_WITH_PREFIX} obtained\n{B_BUFF2}."); +static const u8 sText_PkmnObtainedXYObtainedZ[] = _("{B_ATK_NAME_WITH_PREFIX} obtained\n{B_BUFF1}.\p{B_DEF_NAME_WITH_PREFIX} obtained\n{B_BUFF2}."); +static const u8 sText_PkmnCopiedFoe[] = _("{B_ATK_NAME_WITH_PREFIX} copied\n{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}!"); +static const u8 sText_PkmnMadeWish[] = _("{B_ATK_NAME_WITH_PREFIX} made a WISH!"); +static const u8 sText_PkmnWishCameTrue[] = _("{B_BUFF1}'s WISH\ncame true!"); +static const u8 sText_PkmnPlantedRoots[] = _("{B_ATK_NAME_WITH_PREFIX} planted its roots!"); +static const u8 sText_PkmnAbsorbedNutrients[] = _("{B_ATK_NAME_WITH_PREFIX} absorbed\nnutrients with its roots!"); +static const u8 sText_PkmnAnchoredItself[] = _("{B_DEF_NAME_WITH_PREFIX} anchored\nitself with its roots!"); +static const u8 sText_PkmnWasMadeDrowsy[] = _("{B_ATK_NAME_WITH_PREFIX} made\n{B_DEF_NAME_WITH_PREFIX} drowsy!"); +static const u8 sText_PkmnKnockedOff[] = _("{B_ATK_NAME_WITH_PREFIX} knocked off\n{B_DEF_NAME_WITH_PREFIX}'s {B_LAST_ITEM}!"); +static const u8 sText_PkmnSwappedAbilities[] = _("{B_ATK_NAME_WITH_PREFIX} swapped abilities\nwith its opponent!"); +static const u8 sText_PkmnSealedOpponentMove[] = _("{B_ATK_NAME_WITH_PREFIX} sealed the\nopponent's moveシsス!"); +static const u8 sText_PkmnWantsGrudge[] = _("{B_ATK_NAME_WITH_PREFIX} wants the\nopponent to bear a GRUDGE!"); +static const u8 sText_PkmnLostPPGrudge[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1} lost\nall its PP due to the GRUDGE!"); +static const u8 sText_PkmnShroudedItself[] = _("{B_ATK_NAME_WITH_PREFIX} shrouded\nitself in {B_CURRENT_MOVE}!"); +static const u8 sText_PkmnMoveBounced[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_CURRENT_MOVE}\nwas bounced back by MAGIC COAT!"); +static const u8 sText_PkmnWaitsForTarget[] = _("{B_ATK_NAME_WITH_PREFIX} waits for its foe\nto make a move!"); +static const u8 sText_PkmnSnatchedMove[] = _("{B_DEF_NAME_WITH_PREFIX} SNATCHED\n{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s move!"); +static const u8 sText_ElectricityWeakened[] = _("Electricity's power was\nweakened!"); +static const u8 sText_FireWeakened[] = _("Fire's power was\nweakened!"); +static const u8 sText_XFoundOneY[] = _("{B_ATK_NAME_WITH_PREFIX} found\none {B_LAST_ITEM}!"); +static const u8 sText_SoothingAroma[] = _("A soothing aroma wafted\nthrough the area!"); +static const u8 sText_ItemsCantBeUsedNow[] = _("Items can't be used now.{PAUSE 64}"); +static const u8 sText_ForXCommaYZ[] = _("For {B_SCR_ACTIVE_NAME_WITH_PREFIX},\n{B_LAST_ITEM} {B_BUFF1}"); +static const u8 sText_PkmnUsedXToGetPumped[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} used\n{B_LAST_ITEM} to hustle!"); +static const u8 sText_PkmnLostFocus[] = _("{B_ATK_NAME_WITH_PREFIX} lost its\nfocus and couldn't move!"); +static const u8 sText_PkmnWasDraggedOut[] = _("{B_DEF_NAME_WITH_PREFIX} was\ndragged out!\p"); +static const u8 sText_TheWallShattered[] = _("The wall shattered!"); +static const u8 sText_ButNoEffect[] = _("But it had no effect!"); +static const u8 sText_PkmnHasNoMovesLeft[] = _("{B_ACTIVE_NAME_WITH_PREFIX} has no\nmoves left!\p"); +static const u8 sText_PkmnMoveIsDisabled[] = _("{B_ACTIVE_NAME_WITH_PREFIX}'s {B_CURRENT_MOVE}\nis disabled!\p"); +static const u8 sText_PkmnCantUseMoveTorment[] = _("{B_ACTIVE_NAME_WITH_PREFIX} can't use the same\nmove in a row due to the TORMENT!\p"); +static const u8 sText_PkmnCantUseMoveTaunt[] = _("{B_ACTIVE_NAME_WITH_PREFIX} can't use\n{B_CURRENT_MOVE} after the TAUNT!\p"); +static const u8 sText_PkmnCantUseMoveSealed[] = _("{B_ACTIVE_NAME_WITH_PREFIX} can't use the\nsealed {B_CURRENT_MOVE}!\p"); +static const u8 sText_PkmnMadeItRain[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nmade it rain!"); +static const u8 sText_PkmnRaisedSpeed[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nraised its SPEED!"); +static const u8 sText_PkmnProtectedBy[] = _("{B_DEF_NAME_WITH_PREFIX} was protected\nby {B_DEF_ABILITY}!"); +static const u8 sText_PkmnPreventsUsage[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nprevents {B_ATK_NAME_WITH_PREFIX}\lfrom using {B_CURRENT_MOVE}!"); +static const u8 sText_PkmnRestoredHPUsing[] = _("{B_DEF_NAME_WITH_PREFIX} restored HP\nusing its {B_DEF_ABILITY}!"); +static const u8 sText_PkmnsXMadeYUseless[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nmade {B_CURRENT_MOVE} useless!"); +static const u8 sText_PkmnChangedTypeWith[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nmade it the {B_BUFF1} type!"); +static const u8 sText_PkmnPreventsParalysisWith[] = _("{B_EFF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nprevents paralysis!"); +static const u8 sText_PkmnPreventsRomanceWith[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nprevents romance!"); +static const u8 sText_PkmnPreventsPoisoningWith[] = _("{B_EFF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nprevents poisoning!"); +static const u8 sText_PkmnPreventsConfusionWith[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nprevents confusion!"); +static const u8 sText_PkmnRaisedFirePowerWith[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nraised its FIRE power!"); +static const u8 sText_PkmnAnchorsItselfWith[] = _("{B_DEF_NAME_WITH_PREFIX} anchors\nitself with {B_DEF_ABILITY}!"); +static const u8 sText_PkmnCutsAttackWith[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\ncuts {B_DEF_NAME_WITH_PREFIX}'s ATTACK!"); +static const u8 sText_PkmnPreventsStatLossWith[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nprevents stat loss!"); +static const u8 sText_PkmnHurtsWith[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nhurt {B_ATK_NAME_WITH_PREFIX}!"); +static const u8 sText_PkmnTraced[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} TRACED\n{B_BUFF1}'s {B_BUFF2}!"); +static const u8 sText_PkmnsXPreventsBurns[] = _("{B_EFF_NAME_WITH_PREFIX}'s {B_EFF_ABILITY}\nprevents burns!"); +static const u8 sText_PkmnsXBlocksY[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nblocks {B_CURRENT_MOVE}!"); +static const u8 sText_PkmnsXBlocksY2[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nblocks {B_CURRENT_MOVE}!"); +static const u8 sText_PkmnsXRestoredHPALittle2[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY}\nrestored its HP a little!"); +static const u8 sText_PkmnsXWhippedUpSandstorm[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nwhipped up a sandstorm!"); +static const u8 sText_PkmnsXIntensifiedSun[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nintensified the sun's rays!"); +static const u8 sText_PkmnsXPreventsYLoss[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nprevents {B_BUFF1} loss!"); +static const u8 sText_PkmnsXInfatuatedY[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\ninfatuated {B_ATK_NAME_WITH_PREFIX}!"); +static const u8 sText_PkmnsXMadeYIneffective[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nmade {B_CURRENT_MOVE} ineffective!"); +static const u8 sText_PkmnsXCuredYProblem[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\ncured its {B_BUFF1} problem!"); +static const u8 sText_ItSuckedLiquidOoze[] = _("It sucked up the\nLIQUID OOZE!"); +static const u8 sText_PkmnTransformed[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} transformed!"); +static const u8 sText_PkmnsXTookAttack[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\ntook the attack!"); const u8 gText_PkmnsXPreventsSwitching[] = _("{B_BUFF1}'s {B_LAST_ABILITY}\nprevents switching!\p"); -const u8 gUnknown_83FCA49[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nprevented {B_SCR_ACTIVE_NAME_WITH_PREFIX}'s\l{B_BUFF1} from working!"); -const u8 gUnknown_83FCA71[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nmade it ineffective!"); -const u8 gUnknown_83FCA8E[] = _("{B_EFF_NAME_WITH_PREFIX}'s {B_EFF_ABILITY}\nprevents flinching!"); -const u8 gUnknown_83FCAAA[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY}\nprevents {B_DEF_NAME_WITH_PREFIX}'s\l{B_DEF_ABILITY} from working!"); -const u8 gUnknown_83FCAD1[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\ncured its {B_BUFF1} problem!"); -const u8 gUnknown_83FCAEF[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nhad no effect on {B_EFF_NAME_WITH_PREFIX}!"); -const u8 gUnknown_83FCB0C[] = _("{B_ATK_NAME_WITH_PREFIX} is too scared to move!"); -const u8 gUnknown_83FCB26[] = _("GHOST: Get out…… Get out……"); -const u8 gUnknown_83FCB41[] = _("sharply "); +static const u8 sText_PreventedFromWorking[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nprevented {B_SCR_ACTIVE_NAME_WITH_PREFIX}'s\l{B_BUFF1} from working!"); +static const u8 sText_PkmnsXMadeItIneffective[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nmade it ineffective!"); +static const u8 sText_PkmnsXPreventsFlinching[] = _("{B_EFF_NAME_WITH_PREFIX}'s {B_EFF_ABILITY}\nprevents flinching!"); +static const u8 sText_PkmnsXPreventsYsZ[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY}\nprevents {B_DEF_NAME_WITH_PREFIX}'s\l{B_DEF_ABILITY} from working!"); +static const u8 sText_PkmnsXCuredItsYProblem[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\ncured its {B_BUFF1} problem!"); +static const u8 sText_PkmnsXHadNoEffectOnY[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nhad no effect on {B_EFF_NAME_WITH_PREFIX}!"); +static const u8 sText_TooScaredToMove[] = _("{B_ATK_NAME_WITH_PREFIX} is too scared to move!"); +static const u8 sText_GetOutGetOut[] = _("GHOST: Get out…… Get out……"); +static const u8 sText_StatSharply[] = _("sharply "); const u8 gBattleText_Rose[] = _("rose!"); -const u8 gUnknown_83FCB50[] = _("harshly "); -const u8 gUnknown_83FCB59[] = _("fell!"); -const u8 gUnknown_83FCB5F[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1}\n{B_BUFF2}"); -const u8 gBattleText_UnknownString3[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}\n{B_BUFF2}"); -const u8 gUnknown_83FCB75[] = _("Using {B_LAST_ITEM}, the {B_BUFF1}\nof {B_SCR_ACTIVE_NAME_WITH_PREFIX} {B_BUFF2}"); -const u8 gUnknown_83FCB8F[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1}\n{B_BUFF2}"); -const u8 gUnknown_83FCB9A[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}\n{B_BUFF2}"); -const u8 gUnknown_83FCBA5[] = _("{B_ATK_NAME_WITH_PREFIX}'s stats won't\ngo any higher!"); -const u8 gUnknown_83FCBC5[] = _("{B_DEF_NAME_WITH_PREFIX}'s stats won't\ngo any lower!"); -const u8 gUnknown_83FCBE4[] = _("A critical hit!"); -const u8 gUnknown_83FCBF4[] = _("It's a one-hit KO!"); -const u8 gUnknown_83FCC07[] = _("{PAUSE 32}1, {PAUSE 15}2, and{PAUSE 15}… {PAUSE 15}… {PAUSE 15}… {PAUSE 15}{PLAY_SE SE_KON}Poof!\p"); -const u8 gUnknown_83FCC33[] = _("And…\p"); -const u8 gUnknown_83FCC39[] = _("HM moves can't be\nforgotten now.\p"); -const u8 gUnknown_83FCC5B[] = _("It's not very effective…"); -const u8 gUnknown_83FCC74[] = _("It's super effective!"); +static const u8 sText_StatHarshly[] = _("harshly "); +static const u8 sText_StatFell[] = _("fell!"); +static const u8 sText_PkmnsStatChanged[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1}\n{B_BUFF2}"); +const u8 gText_PkmnsStatChanged2[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}\n{B_BUFF2}"); +static const u8 sText_UsingXTheYOfZN[] = _("Using {B_LAST_ITEM}, the {B_BUFF1}\nof {B_SCR_ACTIVE_NAME_WITH_PREFIX} {B_BUFF2}"); +static const u8 sText_PkmnsStatChanged3[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1}\n{B_BUFF2}"); +static const u8 sText_PkmnsStatChanged4[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}\n{B_BUFF2}"); +static const u8 sText_StatsWontIncrease2[] = _("{B_ATK_NAME_WITH_PREFIX}'s stats won't\ngo any higher!"); +static const u8 sText_StatsWontDecrease2[] = _("{B_DEF_NAME_WITH_PREFIX}'s stats won't\ngo any lower!"); +static const u8 sText_CriticalHit[] = _("A critical hit!"); +static const u8 sText_OneHitKO[] = _("It's a one-hit KO!"); +static const u8 sText_123Poof[] = _("{PAUSE 32}1, {PAUSE 15}2, and{PAUSE 15}… {PAUSE 15}… {PAUSE 15}… {PAUSE 15}{PLAY_SE SE_KON}Poof!\p"); +static const u8 sText_AndEllipsis[] = _("And…\p"); +static const u8 sText_HMMovesCantBeForgotten[] = _("HM moves can't be\nforgotten now.\p"); +static const u8 sText_NotVeryEffective[] = _("It's not very effective…"); +static const u8 sText_SuperEffective[] = _("It's super effective!"); static const u8 sText_GotAwaySafely[] = _("{PLAY_SE SE_NIGERU}Got away safely!\p"); -const u8 gUnknown_83FCCA0[] = _("{PLAY_SE SE_NIGERU}{B_ATK_NAME_WITH_PREFIX} fled\nusing its {B_LAST_ITEM}!\p"); -const u8 gUnknown_83FCCBB[] = _("{PLAY_SE SE_NIGERU}{B_ATK_NAME_WITH_PREFIX} fled\nusing {B_ATK_ABILITY}!\p"); -const u8 gUnknown_83FCCD2[] = _("{PLAY_SE SE_NIGERU}Wild {B_BUFF1} fled!"); +static const u8 sText_PkmnFledUsingIts[] = _("{PLAY_SE SE_NIGERU}{B_ATK_NAME_WITH_PREFIX} fled\nusing its {B_LAST_ITEM}!\p"); +static const u8 sText_PkmnFledUsing[] = _("{PLAY_SE SE_NIGERU}{B_ATK_NAME_WITH_PREFIX} fled\nusing {B_ATK_ABILITY}!\p"); +static const u8 sText_WildPkmnFled[] = _("{PLAY_SE SE_NIGERU}Wild {B_BUFF1} fled!"); static const u8 sText_PlayerDefeatedLinkTrainer[] = _("Player defeated\n{B_LINK_OPPONENT1_NAME}!"); static const u8 sText_TwoLinkTrainersDefeated[] = _("Player beat {B_LINK_OPPONENT1_NAME}\nand {B_LINK_OPPONENT2_NAME}!"); static const u8 sText_PlayerLostAgainstLinkTrainer[] = _("Player lost against\n{B_LINK_OPPONENT1_NAME}!"); static const u8 sText_PlayerLostToTwo[] = _("Player lost to {B_LINK_OPPONENT1_NAME}\nand {B_LINK_OPPONENT2_NAME}!"); static const u8 sText_PlayerBattledToDrawLinkTrainer[] = _("Player battled to a draw against\n{B_LINK_OPPONENT1_NAME}!"); static const u8 sText_PlayerBattledToDrawVsTwo[] = _("Player battled to a draw against\n{B_LINK_OPPONENT1_NAME} and {B_LINK_OPPONENT2_NAME}!"); -const u8 gUnknown_83FCD92[] = _("{PLAY_SE SE_NIGERU}{B_LINK_OPPONENT1_NAME} fled!"); +static const u8 sText_WildFled[] = _("{PLAY_SE SE_NIGERU}{B_LINK_OPPONENT1_NAME} fled!"); static const u8 sText_TwoWildFled[] = _("{PLAY_SE SE_NIGERU}{B_LINK_OPPONENT1_NAME} and\n{B_LINK_OPPONENT2_NAME} fled!"); -const u8 gUnknown_83FCDB3[] = _("No! There's no running\nfrom a TRAINER battle!\p"); -const u8 gUnknown_83FCDE2[] = _("Can't escape!\p"); -const u8 gUnknown_83FCDF1[] = _(""); -const u8 gUnknown_83FCDF2[] = _("But nothing happened!"); -const u8 gUnknown_83FCE08[] = _("But it failed!"); -const u8 gUnknown_83FCE17[] = _("It hurt itself in its\nconfusion!"); -const u8 gUnknown_83FCE38[] = _("The MIRROR MOVE failed!"); -const u8 gUnknown_83FCE50[] = _("It started to rain!"); -const u8 gUnknown_83FCE64[] = _("A downpour started!"); -const u8 gUnknown_83FCE78[] = _("Rain continues to fall."); -const u8 gUnknown_83FCE90[] = _("The downpour continues."); -const u8 gUnknown_83FCEA8[] = _("The rain stopped."); -const u8 gUnknown_83FCEBA[] = _("A sandstorm brewed!"); -const u8 gUnknown_83FCECE[] = _("The sandstorm rages."); -const u8 gUnknown_83FCEE3[] = _("The sandstorm subsided."); -const u8 gUnknown_83FCEFB[] = _("The sunlight got bright!"); -const u8 gUnknown_83FCF14[] = _("The sunlight is strong."); -const u8 gUnknown_83FCF2C[] = _("The sunlight faded."); -const u8 gUnknown_83FCF40[] = _("It started to hail!"); -const u8 gUnknown_83FCF54[] = _("Hail continues to fall."); -const u8 gUnknown_83FCF6C[] = _("The hail stopped."); -const u8 gUnknown_83FCF7E[] = _("But it failed to SPIT UP\na thing!"); -const u8 gUnknown_83FCFA0[] = _("But it failed to SWALLOW\na thing!"); -const u8 gUnknown_83FCFC2[] = _("The wind turned into a\nHEAT WAVE!"); -const u8 gUnknown_83FCFE4[] = _("All stat changes were\neliminated!"); -const u8 gUnknown_83FD006[] = _("Coins scattered everywhere!"); -const u8 gUnknown_83FD022[] = _("It was too weak to make\na SUBSTITUTE!"); -const u8 gUnknown_83FD048[] = _("The battlers shared\ntheir pain!"); -const u8 gUnknown_83FD068[] = _("A bell chimed!"); -const u8 gUnknown_83FD077[] = _("All affected POKéMON will\nfaint in three turns!"); -const u8 gUnknown_83FD0A7[] = _("There's no PP left for\nthis move!\p"); -const u8 gUnknown_83FD0CA[] = _("But there was no PP left\nfor the move!"); -const u8 gUnknown_83FD0F1[] = _("{B_ATK_NAME_WITH_PREFIX} ignored\norders while asleep!"); -const u8 gUnknown_83FD111[] = _("{B_ATK_NAME_WITH_PREFIX} ignored\norders!"); -const u8 gUnknown_83FD124[] = _("{B_ATK_NAME_WITH_PREFIX} began to nap!"); -const u8 gUnknown_83FD135[] = _("{B_ATK_NAME_WITH_PREFIX} is\nloafing around!"); -const u8 gUnknown_83FD14B[] = _("{B_ATK_NAME_WITH_PREFIX} won't\nobey!"); -const u8 gUnknown_83FD15A[] = _("{B_ATK_NAME_WITH_PREFIX} turned away!"); -const u8 gUnknown_83FD16A[] = _("{B_ATK_NAME_WITH_PREFIX} pretended\nnot to notice!"); -const u8 gUnknown_83FD186[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME} is\nabout to use {B_BUFF2}.\pWill {B_PLAYER_NAME} change\nPOKéMON?"); -const u8 gUnknown_83FD1B8[] = _("{B_ATK_NAME_WITH_PREFIX} learned\n{B_BUFF1}!"); +static const u8 sText_NoRunningFromTrainers[] = _("No! There's no running\nfrom a TRAINER battle!\p"); +static const u8 sText_CantEscape[] = _("Can't escape!\p"); +static const u8 sText_EmptyString5[] = _(""); //sText_DontLeaveBirch in pokeem +static const u8 sText_ButNothingHappened[] = _("But nothing happened!"); +static const u8 sText_ButItFailed[] = _("But it failed!"); +static const u8 sText_ItHurtConfusion[] = _("It hurt itself in its\nconfusion!"); +static const u8 sText_MirrorMoveFailed[] = _("The MIRROR MOVE failed!"); +static const u8 sText_StartedToRain[] = _("It started to rain!"); +static const u8 sText_DownpourStarted[] = _("A downpour started!"); +static const u8 sText_RainContinues[] = _("Rain continues to fall."); +static const u8 sText_DownpourContinues[] = _("The downpour continues."); +static const u8 sText_RainStopped[] = _("The rain stopped."); +static const u8 sText_SandstormBrewed[] = _("A sandstorm brewed!"); +static const u8 sText_SandstormRages[] = _("The sandstorm rages."); +static const u8 sText_SandstormSubsided[] = _("The sandstorm subsided."); +static const u8 sText_SunlightGotBright[] = _("The sunlight got bright!"); +static const u8 sText_SunlightStrong[] = _("The sunlight is strong."); +static const u8 sText_SunlightFaded[] = _("The sunlight faded."); +static const u8 sText_StartedHail[] = _("It started to hail!"); +static const u8 sText_HailContinues[] = _("Hail continues to fall."); +static const u8 sText_HailStopped[] = _("The hail stopped."); +static const u8 sText_FailedToSpitUp[] = _("But it failed to SPIT UP\na thing!"); +static const u8 sText_FailedToSwallow[] = _("But it failed to SWALLOW\na thing!"); +static const u8 sText_WindBecameHeatWave[] = _("The wind turned into a\nHEAT WAVE!"); +static const u8 sText_StatChangesGone[] = _("All stat changes were\neliminated!"); +static const u8 sText_CoinsScattered[] = _("Coins scattered everywhere!"); +static const u8 sText_TooWeakForSubstitute[] = _("It was too weak to make\na SUBSTITUTE!"); +static const u8 sText_SharedPain[] = _("The battlers shared\ntheir pain!"); +static const u8 sText_BellChimed[] = _("A bell chimed!"); +static const u8 sText_FaintInThree[] = _("All affected POKéMON will\nfaint in three turns!"); +static const u8 sText_NoPPLeft[] = _("There's no PP left for\nthis move!\p"); +static const u8 sText_ButNoPPLeft[] = _("But there was no PP left\nfor the move!"); +static const u8 sText_PkmnIgnoresAsleep[] = _("{B_ATK_NAME_WITH_PREFIX} ignored\norders while asleep!"); +static const u8 sText_PkmnIgnoredOrders[] = _("{B_ATK_NAME_WITH_PREFIX} ignored\norders!"); +static const u8 sText_PkmnBeganToNap[] = _("{B_ATK_NAME_WITH_PREFIX} began to nap!"); +static const u8 sText_PkmnLoafing[] = _("{B_ATK_NAME_WITH_PREFIX} is\nloafing around!"); +static const u8 sText_PkmnWontObey[] = _("{B_ATK_NAME_WITH_PREFIX} won't\nobey!"); +static const u8 sText_PkmnTurnedAway[] = _("{B_ATK_NAME_WITH_PREFIX} turned away!"); +static const u8 sText_PkmnPretendNotNotice[] = _("{B_ATK_NAME_WITH_PREFIX} pretended\nnot to notice!"); +static const u8 sText_EnemyAboutToSwitchPkmn[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME} is\nabout to use {B_BUFF2}.\pWill {B_PLAYER_NAME} change\nPOKéMON?"); +static const u8 sText_PkmnLearnedMove2[] = _("{B_ATK_NAME_WITH_PREFIX} learned\n{B_BUFF1}!"); static const u8 sText_PlayerDefeatedLinkTrainerTrainer1[] = _("Player defeated\n{B_TRAINER1_CLASS} {B_TRAINER1_NAME}!\p"); -const u8 gUnknown_83FD1DF[] = _("{B_PLAYER_NAME} threw a ROCK\nat the {B_OPPONENT_MON1_NAME}!"); -const u8 gUnknown_83FD1FA[] = _("{B_PLAYER_NAME} threw some BAIT\nat the {B_OPPONENT_MON1_NAME}!"); -const u8 gUnknown_83FD218[] = _("{B_OPPONENT_MON1_NAME} is watching\ncarefully!"); -const u8 gUnknown_83FD232[] = _("{B_OPPONENT_MON1_NAME} is angry!"); -const u8 gUnknown_83FD23F[] = _("{B_OPPONENT_MON1_NAME} is eating!"); -const u8 gUnknown_83FD24D[] = _("{PLAY_SE SE_PINPON}ANNOUNCER: You're out of\nSAFARI BALLS! Game over!\p"); +static const u8 sText_ThrewARock[] = _("{B_PLAYER_NAME} threw a ROCK\nat the {B_OPPONENT_MON1_NAME}!"); +static const u8 sText_ThrewSomeBait[] = _("{B_PLAYER_NAME} threw some BAIT\nat the {B_OPPONENT_MON1_NAME}!"); +static const u8 sText_PkmnWatchingCarefully[] = _("{B_OPPONENT_MON1_NAME} is watching\ncarefully!"); +static const u8 sText_PkmnIsAngry[] = _("{B_OPPONENT_MON1_NAME} is angry!"); +static const u8 sText_PkmnIsEating[] = _("{B_OPPONENT_MON1_NAME} is eating!"); +static const u8 sText_OutOfSafariBalls[] = _("{PLAY_SE SE_PINPON}ANNOUNCER: You're out of\nSAFARI BALLS! Game over!\p"); static const u8 sText_WildPkmnAppeared[] = _("Wild {B_OPPONENT_MON1_NAME} appeared!\p"); static const u8 sText_WildPkmnAppeared2[] = _("Wild {B_OPPONENT_MON1_NAME} appeared!\p"); static const u8 sText_WildPkmnAppearedPause[] = _("Wild {B_OPPONENT_MON1_NAME} appeared!{PAUSE 127}"); static const u8 sText_TwoWildPkmnAppeared[] = _("Wild {B_OPPONENT_MON1_NAME} and\n{B_OPPONENT_MON2_NAME} appeared!\p"); -const u8 gUnknown_83FD2D9[] = _("The GHOST appeared!\pDarn!\nThe GHOST can't be ID'd!\p"); -const u8 gUnknown_83FD30D[] = _("The GHOST appeared!\p"); -const u8 gUnknown_83FD322[] = _("SILPH SCOPE unveiled the GHOST's\nidentity!"); -const u8 gUnknown_83FD34D[] = _("The GHOST was MAROWAK!\p\n"); +static const u8 sText_GhostAppearedCantId[] = _("The GHOST appeared!\pDarn!\nThe GHOST can't be ID'd!\p"); +static const u8 sText_TheGhostAppeared[] = _("The GHOST appeared!\p"); +static const u8 sText_SilphScopeUnveil[] = _("SILPH SCOPE unveiled the GHOST's\nidentity!"); +static const u8 sText_TheGhostWas[] = _("The GHOST was MAROWAK!\p\n"); static const u8 sText_Trainer1WantsToBattle[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME}\nwould like to battle!\p"); static const u8 sText_LinkTrainerWantsToBattle[] = _("{B_LINK_OPPONENT1_NAME}\nwants to battle!"); static const u8 sText_TwoLinkTrainersWantToBattle[] = _("{B_LINK_OPPONENT1_NAME} and {B_LINK_OPPONENT2_NAME}\nwant to battle!"); @@ -477,288 +477,288 @@ static const u8 sText_GiveNicknameCaptured[] = _("Give a nickname to the\ncaptur static const u8 sText_PkmnSentToPC[] = _("{B_OPPONENT_MON1_NAME} was sent to\n{B_PC_CREATOR_NAME} PC."); static const u8 sText_Someones[] = _("someone's"); static const u8 sText_Bills[] = _("BILL's"); -const u8 gUnknown_83FD82B[] = _("{B_OPPONENT_MON1_NAME}'s data was\nadded to the POKéDEX.\p"); -const u8 gUnknown_83FD850[] = _("It is raining."); -const u8 gUnknown_83FD85F[] = _("A sandstorm is raging."); -const u8 gUnknown_83FD876[] = _("The BOX is full!\nYou can't catch any more!\p"); +static const u8 sText_PkmnDataAddedToDex[] = _("{B_OPPONENT_MON1_NAME}'s data was\nadded to the POKéDEX.\p"); +static const u8 sText_ItIsRaining[] = _("It is raining."); +static const u8 sText_SandstormIsRaging[] = _("A sandstorm is raging."); +static const u8 sText_BoxIsFull[] = _("The BOX is full!\nYou can't catch any more!\p"); static const u8 sText_EnigmaBerry[] = _("ENIGMA BERRY"); static const u8 sText_BerrySuffix[] = _(" BERRY"); -const u8 gUnknown_83FD8B6[] = _("ナゾ"); -const u8 gUnknown_83FD8B9[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\ncured paralysis!"); -const u8 gUnknown_83FD8D2[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\ncured poison!"); -const u8 gUnknown_83FD8E8[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nhealed its burn!"); -const u8 gUnknown_83FD901[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\ndefrosted it!"); -const u8 gUnknown_83FD917[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nwoke it from its sleep!"); -const u8 gUnknown_83FD937[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nsnapped it out of confusion!"); -const u8 gUnknown_83FD95C[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\ncured its {B_BUFF1} problem!"); -const u8 gUnknown_83FD97A[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nnormalized its status!"); -const u8 gUnknown_83FD999[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nrestored health!"); -const u8 gUnknown_83FD9B2[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nrestored {B_BUFF1}'s PP!"); -const u8 gUnknown_83FD9CC[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nrestored its status!"); -const u8 gUnknown_83FD9E9[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nrestored its HP a little!"); -const u8 gUnknown_83FDA0B[] = _("{B_LAST_ITEM}'s effect allows only\n{B_CURRENT_MOVE} to be used!\p"); -const u8 gUnknown_83FDA33[] = _("{B_DEF_NAME_WITH_PREFIX} hung on\nusing its {B_LAST_ITEM}!"); -const u8 gUnknown_83FDA4C[] = _(""); -const u8 gUnknown_83FDA4D[] = _("{B_PLAYER_NAME} played the {B_LAST_ITEM}.\pNow, that's a catchy tune!"); -const u8 gUnknown_83FDA7A[] = _("{B_PLAYER_NAME} played the\n{B_LAST_ITEM}."); -const u8 gUnknown_83FDA8C[] = _("The POKéMON hearing the FLUTE\nawoke!"); -const u8 gUnknown_83FDAB1[] = _("You throw a BALL now, right?\nI… I'll do my best!"); -const u8 gUnknown_83FDAE2[] = _("OAK: Oh, for Pete's sake…\nSo pushy, as always.\p{B_PLAYER_NAME}.\pYou've never had a POKéMON battle\nbefore, have you?\pA POKéMON battle is when TRAINERS\npit their POKéMON against each\lother.\p"); -const u8 gUnknown_83FDB92[] = _("The TRAINER that makes the other\nTRAINER's POKéMON faint by lowering\ltheir HP to “0,” wins.\p"); -const u8 gUnknown_83FDBEF[] = _("But rather than talking about it,\nyou'll learn more from experience.\pTry battling and see for yourself.\p"); -const u8 gUnknown_83FDC58[] = _("OAK: Inflicting damage on the foe\nis the key to any battle.\p"); -const u8 gUnknown_83FDC95[] = _("OAK: Lowering the foe's stats\nwill put you at an advantage.\p"); -const u8 gUnknown_83FDCD2[] = _("OAK: Keep your eyes on your\nPOKéMON's HP.\pIt will faint if the HP drops to\n“0.”\p"); -const u8 gUnknown_83FDD23[] = _("OAK: No! There's no running away\nfrom a TRAINER POKéMON battle!\p"); -const u8 gUnknown_83FDD64[] = _("OAK: Hm! Excellent!\pIf you win, you earn prize money,\nand your POKéMON will grow!\pBattle other TRAINERS and make\nyour POKéMON strong!\p"); -const u8 gUnknown_83FDDEB[] = _("OAK: Hm…\nHow disappointing…\pIf you win, you earn prize money,\nand your POKéMON grow.\pBut if you lose, {B_PLAYER_NAME}, you end\nup paying prize money…\pHowever, since you had no warning\nthis time, I'll pay for you.\pBut things won't be this way once\nyou step outside these doors.\pThat's why you must strengthen your\nPOKéMON by battling wild POKéMON.\p"); +static const u8 gUnknown_83FD8B6[] = _("ナゾ"); +static const u8 sText_PkmnsItemCuredParalysis[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\ncured paralysis!"); +static const u8 sText_PkmnsItemCuredPoison[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\ncured poison!"); +static const u8 sText_PkmnsItemHealedBurn[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nhealed its burn!"); +static const u8 sText_PkmnsItemDefrostedIt[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\ndefrosted it!"); +static const u8 sText_PkmnsItemWokeIt[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nwoke it from its sleep!"); +static const u8 sText_PkmnsItemSnappedOut[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nsnapped it out of confusion!"); +static const u8 sText_PkmnsItemCuredProblem[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\ncured its {B_BUFF1} problem!"); +static const u8 sText_PkmnsItemNormalizedStatus[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nnormalized its status!"); +static const u8 sText_PkmnsItemRestoredHealth[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nrestored health!"); +static const u8 sText_PkmnsItemRestoredPP[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nrestored {B_BUFF1}'s PP!"); +static const u8 sText_PkmnsItemRestoredStatus[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nrestored its status!"); +static const u8 sText_PkmnsItemRestoredHPALittle[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nrestored its HP a little!"); +static const u8 sText_ItemAllowsOnlyYMove[] = _("{B_LAST_ITEM}'s effect allows only\n{B_CURRENT_MOVE} to be used!\p"); +static const u8 sText_PkmnHungOnWithX[] = _("{B_DEF_NAME_WITH_PREFIX} hung on\nusing its {B_LAST_ITEM}!"); +const u8 gText_EmptyString3[] = _(""); +static const u8 sText_PlayedFluteCatchyTune[] = _("{B_PLAYER_NAME} played the {B_LAST_ITEM}.\pNow, that's a catchy tune!"); +static const u8 sText_PlayedThe[] = _("{B_PLAYER_NAME} played the\n{B_LAST_ITEM}."); +static const u8 sText_PkmnHearingFluteAwoke[] = _("The POKéMON hearing the FLUTE\nawoke!"); +static const u8 sText_YouThrowABallNowRight[] = _("You throw a BALL now, right?\nI… I'll do my best!"); +const u8 gText_ForPetesSake[] = _("OAK: Oh, for Pete's sake…\nSo pushy, as always.\p{B_PLAYER_NAME}.\pYou've never had a POKéMON battle\nbefore, have you?\pA POKéMON battle is when TRAINERS\npit their POKéMON against each\lother.\p"); +const u8 gText_TheTrainerThat[] = _("The TRAINER that makes the other\nTRAINER's POKéMON faint by lowering\ltheir HP to “0,” wins.\p"); +const u8 gText_TryBattling[] = _("But rather than talking about it,\nyou'll learn more from experience.\pTry battling and see for yourself.\p"); +const u8 gText_InflictingDamageIsKey[] = _("OAK: Inflicting damage on the foe\nis the key to any battle.\p"); +const u8 gText_LoweringStats[] = _("OAK: Lowering the foe's stats\nwill put you at an advantage.\p"); +const u8 gText_KeepAnEyeOnHP[] = _("OAK: Keep your eyes on your\nPOKéMON's HP.\pIt will faint if the HP drops to\n“0.”\p"); +const u8 gText_OakNoRunningFromATrainer[] = _("OAK: No! There's no running away\nfrom a TRAINER POKéMON battle!\p"); +const u8 gText_WinEarnsPrizeMoney[] = _("OAK: Hm! Excellent!\pIf you win, you earn prize money,\nand your POKéMON will grow!\pBattle other TRAINERS and make\nyour POKéMON strong!\p"); +const u8 gText_HowDissapointing[] = _("OAK: Hm…\nHow disappointing…\pIf you win, you earn prize money,\nand your POKéMON grow.\pBut if you lose, {B_PLAYER_NAME}, you end\nup paying prize money…\pHowever, since you had no warning\nthis time, I'll pay for you.\pBut things won't be this way once\nyou step outside these doors.\pThat's why you must strengthen your\nPOKéMON by battling wild POKéMON.\p"); const u8 *const gBattleStringsTable[] = { - [STRINGID_TRAINER1LOSETEXT - 12] = gUnknown_83FB219, - [STRINGID_PKMNGAINEDEXP - 12] = gUnknown_83FB265, - [STRINGID_PKMNGREWTOLV - 12] = gUnknown_83FB28E, - [STRINGID_PKMNLEARNEDMOVE - 12] = gUnknown_83FB2A4, - [STRINGID_TRYTOLEARNMOVE1 - 12] = gUnknown_83FB2B6, - [STRINGID_TRYTOLEARNMOVE2 - 12] = gUnknown_83FB2D1, - [STRINGID_TRYTOLEARNMOVE3 - 12] = gUnknown_83FB2FC, - [STRINGID_PKMNFORGOTMOVE - 12] = gUnknown_83FB31F, - [STRINGID_STOPLEARNINGMOVE - 12] = gUnknown_83FB32E, - [STRINGID_DIDNOTLEARNMOVE - 12] = gUnknown_83FB343, - [STRINGID_PKMNLEARNEDMOVE2 - 12] = gUnknown_83FD1B8, - [STRINGID_ATTACKMISSED - 12] = gUnknown_83FB36B, - [STRINGID_PKMNPROTECTEDITSELF - 12] = gUnknown_83FB37F, - [STRINGID_STATSWONTINCREASE2 - 12] = gUnknown_83FCBA5, - [STRINGID_AVOIDEDDAMAGE - 12] = gUnknown_83FB394, - [STRINGID_ITDOESNTAFFECT - 12] = gUnknown_83FB3EA, - [STRINGID_ATTACKERFAINTED - 12] = gUnknown_83FB400, - [STRINGID_TARGETFAINTED - 12] = gUnknown_83FB40D, - [STRINGID_PLAYERGOTMONEY - 12] = gUnknown_83FB41A, - [STRINGID_PLAYERWHITEOUT - 12] = gUnknown_83FB433, - [STRINGID_PLAYERWHITEOUT2 - 12] = gUnknown_83FB451, - [STRINGID_PREVENTSESCAPE - 12] = gUnknown_83FB508, - [STRINGID_HITXTIMES - 12] = gUnknown_83FB545, - [STRINGID_PKMNFELLASLEEP - 12] = gUnknown_83FB555, - [STRINGID_PKMNMADESLEEP - 12] = gUnknown_83FB565, - [STRINGID_PKMNALREADYASLEEP - 12] = gUnknown_83FB57C, - [STRINGID_PKMNALREADYASLEEP2 - 12] = gUnknown_83FB592, - [STRINGID_PKMNWASNTAFFECTED - 12] = gUnknown_83FB5A8, - [STRINGID_PKMNWASPOISONED - 12] = gUnknown_83FB5BC, - [STRINGID_PKMNPOISONEDBY - 12] = gUnknown_83FB5CD, - [STRINGID_PKMNHURTBYPOISON - 12] = gUnknown_83FB5E2, - [STRINGID_PKMNALREADYPOISONED - 12] = gUnknown_83FB5F8, - [STRINGID_PKMNBADLYPOISONED - 12] = gUnknown_83FB610, - [STRINGID_PKMNENERGYDRAINED - 12] = gUnknown_83FB626, - [STRINGID_PKMNWASBURNED - 12] = gUnknown_83FB641, - [STRINGID_PKMNBURNEDBY - 12] = gUnknown_83FB650, - [STRINGID_PKMNHURTBYBURN - 12] = gUnknown_83FB663, - [STRINGID_PKMNWASFROZEN - 12] = gUnknown_83FB692, - [STRINGID_PKMNFROZENBY - 12] = gUnknown_83FB6A7, - [STRINGID_PKMNISFROZEN - 12] = gUnknown_83FB6BF, - [STRINGID_PKMNWASDEFROSTED - 12] = gUnknown_83FB6D3, - [STRINGID_PKMNWASDEFROSTED2 - 12] = gUnknown_83FB6E5, - [STRINGID_PKMNWASDEFROSTEDBY - 12] = gUnknown_83FB6F7, - [STRINGID_PKMNWASPARALYZED - 12] = gUnknown_83FB70F, - [STRINGID_PKMNWASPARALYZEDBY - 12] = gUnknown_83FB73A, - [STRINGID_PKMNISPARALYZED - 12] = gUnknown_83FB76A, - [STRINGID_PKMNISALREADYPARALYZED - 12] = gUnknown_83FB78A, - [STRINGID_PKMNHEALEDPARALYSIS - 12] = gUnknown_83FB7A3, - [STRINGID_PKMNDREAMEATEN - 12] = gUnknown_83FB7BF, - [STRINGID_STATSWONTINCREASE - 12] = gUnknown_83FB7D5, - [STRINGID_STATSWONTDECREASE - 12] = gUnknown_83FB7EE, - [STRINGID_TEAMSTOPPEDWORKING - 12] = gUnknown_83FB806, - [STRINGID_FOESTOPPEDWORKING - 12] = gUnknown_83FB826, - [STRINGID_PKMNISCONFUSED - 12] = gUnknown_83FB844, - [STRINGID_PKMNHEALEDCONFUSION - 12] = gUnknown_83FB854, - [STRINGID_PKMNWASCONFUSED - 12] = gUnknown_83FB871, - [STRINGID_PKMNALREADYCONFUSED - 12] = gUnknown_83FB885, - [STRINGID_PKMNFELLINLOVE - 12] = gUnknown_83FB89D, - [STRINGID_PKMNINLOVE - 12] = gUnknown_83FB8AE, - [STRINGID_PKMNIMMOBILIZEDBYLOVE - 12] = gUnknown_83FB8C5, - [STRINGID_PKMNBLOWNAWAY - 12] = gUnknown_83FB8E0, - [STRINGID_PKMNCHANGEDTYPE - 12] = gUnknown_83FB8F3, - [STRINGID_PKMNFLINCHED - 12] = gUnknown_83FB914, - [STRINGID_PKMNREGAINEDHEALTH - 12] = gUnknown_83FB921, - [STRINGID_PKMNHPFULL - 12] = gUnknown_83FB935, - [STRINGID_PKMNRAISEDSPDEF - 12] = gUnknown_83FB946, - [STRINGID_PKMNRAISEDDEF - 12] = gUnknown_83FB97F, - [STRINGID_PKMNCOVEREDBYVEIL - 12] = gUnknown_83FB9B8, - [STRINGID_PKMNUSEDSAFEGUARD - 12] = gUnknown_83FB9D9, - [STRINGID_PKMNSAFEGUARDEXPIRED - 12] = gUnknown_83FB9FF, - [STRINGID_PKMNWENTTOSLEEP - 12] = gUnknown_83FBA2F, - [STRINGID_PKMNSLEPTHEALTHY - 12] = gUnknown_83FBA41, - [STRINGID_PKMNWHIPPEDWHIRLWIND - 12] = gUnknown_83FBA5E, - [STRINGID_PKMNTOOKSUNLIGHT - 12] = gUnknown_83FBA79, - [STRINGID_PKMNLOWEREDHEAD - 12] = gUnknown_83FBA8E, - [STRINGID_PKMNISGLOWING - 12] = gUnknown_83FBAA3, - [STRINGID_PKMNFLEWHIGH - 12] = gUnknown_83FBAB2, - [STRINGID_PKMNDUGHOLE - 12] = gUnknown_83FBAC3, - [STRINGID_PKMNSQUEEZEDBYBIND - 12] = gUnknown_83FBAF3, - [STRINGID_PKMNTRAPPEDINVORTEX - 12] = gUnknown_83FBB11, - [STRINGID_PKMNWRAPPEDBY - 12] = gUnknown_83FBB4C, - [STRINGID_PKMNCLAMPED - 12] = gUnknown_83FBB62, - [STRINGID_PKMNHURTBY - 12] = gUnknown_83FBB71, - [STRINGID_PKMNFREEDFROM - 12] = gUnknown_83FBB83, - [STRINGID_PKMNCRASHED - 12] = gUnknown_83FBB99, + [STRINGID_TRAINER1LOSETEXT - 12] = sText_Trainer1LoseText, + [STRINGID_PKMNGAINEDEXP - 12] = sText_PkmnGainedEXP, + [STRINGID_PKMNGREWTOLV - 12] = sText_PkmnGrewToLv, + [STRINGID_PKMNLEARNEDMOVE - 12] = sText_PkmnLearnedMove, + [STRINGID_TRYTOLEARNMOVE1 - 12] = sText_TryToLearnMove1, + [STRINGID_TRYTOLEARNMOVE2 - 12] = sText_TryToLearnMove2, + [STRINGID_TRYTOLEARNMOVE3 - 12] = sText_TryToLearnMove3, + [STRINGID_PKMNFORGOTMOVE - 12] = sText_PkmnForgotMove, + [STRINGID_STOPLEARNINGMOVE - 12] = sText_StopLearningMove, + [STRINGID_DIDNOTLEARNMOVE - 12] = sText_DidNotLearnMove, + [STRINGID_PKMNLEARNEDMOVE2 - 12] = sText_PkmnLearnedMove2, + [STRINGID_ATTACKMISSED - 12] = sText_AttackMissed, + [STRINGID_PKMNPROTECTEDITSELF - 12] = sText_PkmnProtectedItself, + [STRINGID_STATSWONTINCREASE2 - 12] = sText_StatsWontIncrease2, + [STRINGID_AVOIDEDDAMAGE - 12] = sText_AvoidedDamage, + [STRINGID_ITDOESNTAFFECT - 12] = sText_ItDoesntAffect, + [STRINGID_ATTACKERFAINTED - 12] = sText_AttackerFainted, + [STRINGID_TARGETFAINTED - 12] = sText_TargetFainted, + [STRINGID_PLAYERGOTMONEY - 12] = sText_PlayerGotMoney, + [STRINGID_PLAYERWHITEOUT - 12] = sText_PlayerWhiteout, + [STRINGID_PLAYERWHITEOUT2 - 12] = sText_PlayerPanicked, + [STRINGID_PREVENTSESCAPE - 12] = sText_PreventsEscape, + [STRINGID_HITXTIMES - 12] = sText_HitXTimes, + [STRINGID_PKMNFELLASLEEP - 12] = sText_PkmnFellAsleep, + [STRINGID_PKMNMADESLEEP - 12] = sText_PkmnMadeSleep, + [STRINGID_PKMNALREADYASLEEP - 12] = sText_PkmnAlreadyAsleep, + [STRINGID_PKMNALREADYASLEEP2 - 12] = sText_PkmnAlreadyAsleep2, + [STRINGID_PKMNWASNTAFFECTED - 12] = sText_PkmnWasntAffected, + [STRINGID_PKMNWASPOISONED - 12] = sText_PkmnWasPoisoned, + [STRINGID_PKMNPOISONEDBY - 12] = sText_PkmnPoisonedBy, + [STRINGID_PKMNHURTBYPOISON - 12] = sText_PkmnHurtByPoison, + [STRINGID_PKMNALREADYPOISONED - 12] = sText_PkmnAlreadyPoisoned, + [STRINGID_PKMNBADLYPOISONED - 12] = sText_PkmnBadlyPoisoned, + [STRINGID_PKMNENERGYDRAINED - 12] = sText_PkmnEnergyDrained, + [STRINGID_PKMNWASBURNED - 12] = sText_PkmnWasBurned, + [STRINGID_PKMNBURNEDBY - 12] = sText_PkmnBurnedBy, + [STRINGID_PKMNHURTBYBURN - 12] = sText_PkmnHurtByBurn, + [STRINGID_PKMNWASFROZEN - 12] = sText_PkmnWasFrozen, + [STRINGID_PKMNFROZENBY - 12] = sText_PkmnFrozenBy, + [STRINGID_PKMNISFROZEN - 12] = sText_PkmnIsFrozen, + [STRINGID_PKMNWASDEFROSTED - 12] = sText_PkmnWasDefrosted, + [STRINGID_PKMNWASDEFROSTED2 - 12] = sText_PkmnWasDefrosted2, + [STRINGID_PKMNWASDEFROSTEDBY - 12] = sText_PkmnWasDefrostedBy, + [STRINGID_PKMNWASPARALYZED - 12] = sText_PkmnWasParalyzed, + [STRINGID_PKMNWASPARALYZEDBY - 12] = sText_PkmnWasParalyzedBy, + [STRINGID_PKMNISPARALYZED - 12] = sText_PkmnIsParalyzed, + [STRINGID_PKMNISALREADYPARALYZED - 12] = sText_PkmnIsAlreadyParalyzed, + [STRINGID_PKMNHEALEDPARALYSIS - 12] = sText_PkmnHealedParalysis, + [STRINGID_PKMNDREAMEATEN - 12] = sText_PkmnDreamEaten, + [STRINGID_STATSWONTINCREASE - 12] = sText_StatsWontIncrease, + [STRINGID_STATSWONTDECREASE - 12] = sText_StatsWontDecrease, + [STRINGID_TEAMSTOPPEDWORKING - 12] = sText_TeamStoppedWorking, + [STRINGID_FOESTOPPEDWORKING - 12] = sText_FoeStoppedWorking, + [STRINGID_PKMNISCONFUSED - 12] = sText_PkmnIsConfused, + [STRINGID_PKMNHEALEDCONFUSION - 12] = sText_PkmnHealedConfusion, + [STRINGID_PKMNWASCONFUSED - 12] = sText_PkmnWasConfused, + [STRINGID_PKMNALREADYCONFUSED - 12] = sText_PkmnAlreadyConfused, + [STRINGID_PKMNFELLINLOVE - 12] = sText_PkmnFellInLove, + [STRINGID_PKMNINLOVE - 12] = sText_PkmnInLove, + [STRINGID_PKMNIMMOBILIZEDBYLOVE - 12] = sText_PkmnImmobilizedByLove, + [STRINGID_PKMNBLOWNAWAY - 12] = sText_PkmnBlownAway, + [STRINGID_PKMNCHANGEDTYPE - 12] = sText_PkmnChangedType, + [STRINGID_PKMNFLINCHED - 12] = sText_PkmnFlinched, + [STRINGID_PKMNREGAINEDHEALTH - 12] = sText_PkmnRegainedHealth, + [STRINGID_PKMNHPFULL - 12] = sText_PkmnHPFull, + [STRINGID_PKMNRAISEDSPDEF - 12] = sText_PkmnRaisedSpDef, + [STRINGID_PKMNRAISEDDEF - 12] = sText_PkmnRaisedDef, + [STRINGID_PKMNCOVEREDBYVEIL - 12] = sText_PkmnCoveredByVeil, + [STRINGID_PKMNUSEDSAFEGUARD - 12] = sText_PkmnUsedSafeguard, + [STRINGID_PKMNSAFEGUARDEXPIRED - 12] = sText_PkmnSafeguardExpired, + [STRINGID_PKMNWENTTOSLEEP - 12] = sText_PkmnWentToSleep, + [STRINGID_PKMNSLEPTHEALTHY - 12] = sText_PkmnSleptHealthy, + [STRINGID_PKMNWHIPPEDWHIRLWIND - 12] = sText_PkmnWhippedWhirlwind, + [STRINGID_PKMNTOOKSUNLIGHT - 12] = sText_PkmnTookSunlight, + [STRINGID_PKMNLOWEREDHEAD - 12] = sText_PkmnLoweredHead, + [STRINGID_PKMNISGLOWING - 12] = sText_PkmnIsGlowing, + [STRINGID_PKMNFLEWHIGH - 12] = sText_PkmnFlewHigh, + [STRINGID_PKMNDUGHOLE - 12] = sText_PkmnDugHole, + [STRINGID_PKMNSQUEEZEDBYBIND - 12] = sText_PkmnSqueezedByBind, + [STRINGID_PKMNTRAPPEDINVORTEX - 12] = sText_PkmnTrappedInVortex, + [STRINGID_PKMNWRAPPEDBY - 12] = sText_PkmnWrappedBy, + [STRINGID_PKMNCLAMPED - 12] = sText_PkmnClamped, + [STRINGID_PKMNHURTBY - 12] = sText_PkmnHurtBy, + [STRINGID_PKMNFREEDFROM - 12] = sText_PkmnFreedFrom, + [STRINGID_PKMNCRASHED - 12] = sText_PkmnCrashed, [STRINGID_PKMNSHROUDEDINMIST - 12] = gBattleText_MistShroud, - [STRINGID_PKMNPROTECTEDBYMIST - 12] = gUnknown_83FBBD0, + [STRINGID_PKMNPROTECTEDBYMIST - 12] = sText_PkmnProtectedByMist, [STRINGID_PKMNGETTINGPUMPED - 12] = gBattleText_GetPumped, - [STRINGID_PKMNHITWITHRECOIL - 12] = gUnknown_83FBBFF, - [STRINGID_PKMNPROTECTEDITSELF2 - 12] = gUnknown_83FBC16, - [STRINGID_PKMNBUFFETEDBYSANDSTORM - 12] = gUnknown_83FBC2B, - [STRINGID_PKMNPELTEDBYHAIL - 12] = gUnknown_83FBC4C, - [STRINGID_PKMNSEEDED - 12] = gUnknown_83FBC74, - [STRINGID_PKMNEVADEDATTACK - 12] = gUnknown_83FBC83, - [STRINGID_PKMNSAPPEDBYLEECHSEED - 12] = gUnknown_83FBC99, - [STRINGID_PKMNFASTASLEEP - 12] = gUnknown_83FBCBE, - [STRINGID_PKMNWOKEUP - 12] = gUnknown_83FBCD1, - [STRINGID_PKMNUPROARKEPTAWAKE - 12] = gUnknown_83FBCDD, - [STRINGID_PKMNWOKEUPINUPROAR - 12] = gUnknown_83FBCFC, - [STRINGID_PKMNCAUSEDUPROAR - 12] = gUnknown_83FBD16, - [STRINGID_PKMNMAKINGUPROAR - 12] = gUnknown_83FBD2B, - [STRINGID_PKMNCALMEDDOWN - 12] = gUnknown_83FBD43, - [STRINGID_PKMNCANTSLEEPINUPROAR - 12] = gUnknown_83FBD53, - [STRINGID_PKMNSTOCKPILED - 12] = gUnknown_83FBD74, - [STRINGID_PKMNCANTSTOCKPILE - 12] = gUnknown_83FBD86, - [STRINGID_PKMNCANTSLEEPINUPROAR2 - 12] = gUnknown_83FBDA3, - [STRINGID_UPROARKEPTPKMNAWAKE - 12] = gUnknown_83FBDC4, - [STRINGID_PKMNSTAYEDAWAKEUSING - 12] = gUnknown_83FBDE2, - [STRINGID_PKMNSTORINGENERGY - 12] = gUnknown_83FBE00, - [STRINGID_PKMNUNLEASHEDENERGY - 12] = gUnknown_83FBE16, - [STRINGID_PKMNFATIGUECONFUSION - 12] = gUnknown_83FBE2B, - [STRINGID_PKMNPICKEDUPITEM - 12] = gUnknown_83FBE4E, - [STRINGID_PKMNUNAFFECTED - 12] = gUnknown_83FBE61, - [STRINGID_PKMNTRANSFORMEDINTO - 12] = gUnknown_83FBE73, - [STRINGID_PKMNMADESUBSTITUTE - 12] = gUnknown_83FBE8B, - [STRINGID_PKMNHASSUBSTITUTE - 12] = gUnknown_83FBEA1, - [STRINGID_SUBSTITUTEDAMAGED - 12] = gUnknown_83FBEBE, - [STRINGID_PKMNSUBSTITUTEFADED - 12] = gUnknown_83FBEE2, - [STRINGID_PKMNMUSTRECHARGE - 12] = gUnknown_83FBEFA, - [STRINGID_PKMNRAGEBUILDING - 12] = gUnknown_83FBF0C, - [STRINGID_PKMNMOVEWASDISABLED - 12] = gUnknown_83FBF23, - [STRINGID_PKMNMOVEISDISABLED - 12] = gUnknown_83FC687, - [STRINGID_PKMNMOVEDISABLEDNOMORE - 12] = gUnknown_83FBF39, - [STRINGID_PKMNGOTENCORE - 12] = gUnknown_83FBF51, - [STRINGID_PKMNENCOREENDED - 12] = gUnknown_83FBF63, - [STRINGID_PKMNTOOKAIM - 12] = gUnknown_83FBF76, - [STRINGID_PKMNSKETCHEDMOVE - 12] = gUnknown_83FBF89, - [STRINGID_PKMNTRYINGTOTAKEFOE - 12] = gUnknown_83FBF99, - [STRINGID_PKMNTOOKFOE - 12] = gUnknown_83FBFBF, - [STRINGID_PKMNREDUCEDPP - 12] = gUnknown_83FBFD3, - [STRINGID_PKMNSTOLEITEM - 12] = gUnknown_83FBFEA, - [STRINGID_TARGETCANTESCAPENOW - 12] = gUnknown_83FBFFC, - [STRINGID_PKMNFELLINTONIGHTMARE - 12] = gUnknown_83FC011, - [STRINGID_PKMNLOCKEDINNIGHTMARE - 12] = gUnknown_83FC02B, - [STRINGID_PKMNLAIDCURSE - 12] = gUnknown_83FC048, - [STRINGID_PKMNAFFLICTEDBYCURSE - 12] = gUnknown_83FC072, - [STRINGID_SPIKESSCATTERED - 12] = gUnknown_83FC090, - [STRINGID_PKMNHURTBYSPIKES - 12] = gUnknown_83FC0C6, - [STRINGID_PKMNIDENTIFIED - 12] = gUnknown_83FC0DC, - [STRINGID_PKMNPERISHCOUNTFELL - 12] = gUnknown_83FC0EE, - [STRINGID_PKMNBRACEDITSELF - 12] = gUnknown_83FC10C, - [STRINGID_PKMNENDUREDHIT - 12] = gUnknown_83FC11E, - [STRINGID_MAGNITUDESTRENGTH - 12] = gUnknown_83FC132, - [STRINGID_PKMNCUTHPMAXEDATTACK - 12] = gUnknown_83FC140, - [STRINGID_PKMNCOPIEDSTATCHANGES - 12] = gUnknown_83FC168, - [STRINGID_PKMNGOTFREE - 12] = gUnknown_83FC185, - [STRINGID_PKMNSHEDLEECHSEED - 12] = gUnknown_83FC19D, - [STRINGID_PKMNBLEWAWAYSPIKES - 12] = gUnknown_83FC1B1, - [STRINGID_PKMNFLEDFROMBATTLE - 12] = gUnknown_83FC1C6, - [STRINGID_PKMNFORESAWATTACK - 12] = gUnknown_83FC1DB, - [STRINGID_PKMNTOOKATTACK - 12] = gUnknown_83FC1F1, - [STRINGID_PKMNATTACK - 12] = gUnknown_83FC224, - [STRINGID_PKMNCENTERATTENTION - 12] = gUnknown_83FC231, - [STRINGID_PKMNCHARGINGPOWER - 12] = gUnknown_83FC254, - [STRINGID_NATUREPOWERTURNEDINTO - 12] = gUnknown_83FC26D, - [STRINGID_PKMNSTATUSNORMAL - 12] = gUnknown_83FC28A, - [STRINGID_PKMNHASNOMOVESLEFT - 12] = gUnknown_83FC670, - [STRINGID_PKMNSUBJECTEDTOTORMENT - 12] = gUnknown_83FC2AA, - [STRINGID_PKMNCANTUSEMOVETORMENT - 12] = gUnknown_83FC69D, - [STRINGID_PKMNTIGHTENINGFOCUS - 12] = gUnknown_83FC2C7, - [STRINGID_PKMNFELLFORTAUNT - 12] = gUnknown_83FC2E3, - [STRINGID_PKMNCANTUSEMOVETAUNT - 12] = gUnknown_83FC6D6, - [STRINGID_PKMNREADYTOHELP - 12] = gUnknown_83FC2FA, - [STRINGID_PKMNSWITCHEDITEMS - 12] = gUnknown_83FC312, - [STRINGID_PKMNCOPIEDFOE - 12] = gUnknown_83FC377, - [STRINGID_PKMNMADEWISH - 12] = gUnknown_83FC38A, - [STRINGID_PKMNWISHCAMETRUE - 12] = gUnknown_83FC39A, - [STRINGID_PKMNPLANTEDROOTS - 12] = gUnknown_83FC3AF, - [STRINGID_PKMNABSORBEDNUTRIENTS - 12] = gUnknown_83FC3C5, - [STRINGID_PKMNANCHOREDITSELF - 12] = gUnknown_83FC3EB, - [STRINGID_PKMNWASMADEDROWSY - 12] = gUnknown_83FC40E, - [STRINGID_PKMNKNOCKEDOFF - 12] = gUnknown_83FC421, - [STRINGID_PKMNSWAPPEDABILITIES - 12] = gUnknown_83FC439, - [STRINGID_PKMNSEALEDOPPONENTMOVE - 12] = gUnknown_83FC461, - [STRINGID_PKMNCANTUSEMOVESEALED - 12] = gUnknown_83FC6F8, - [STRINGID_PKMNWANTSGRUDGE - 12] = gUnknown_83FC483, - [STRINGID_PKMNLOSTPPGRUDGE - 12] = gUnknown_83FC4AB, - [STRINGID_PKMNSHROUDEDITSELF - 12] = gUnknown_83FC4D6, - [STRINGID_PKMNMOVEBOUNCED - 12] = gUnknown_83FC4F0, - [STRINGID_PKMNWAITSFORTARGET - 12] = gUnknown_83FC518, - [STRINGID_PKMNSNATCHEDMOVE - 12] = gUnknown_83FC53D, - [STRINGID_PKMNMADEITRAIN - 12] = gUnknown_83FC715, - [STRINGID_PKMNRAISEDSPEED - 12] = gUnknown_83FC72B, - [STRINGID_PKMNPROTECTEDBY - 12] = gUnknown_83FC745, - [STRINGID_PKMNPREVENTSUSAGE - 12] = gUnknown_83FC75D, - [STRINGID_PKMNRESTOREDHPUSING - 12] = gUnknown_83FC780, - [STRINGID_PKMNCHANGEDTYPEWITH - 12] = gUnknown_83FC7B6, - [STRINGID_PKMNPREVENTSPARALYSISWITH - 12] = gUnknown_83FC7D3, - [STRINGID_PKMNPREVENTSROMANCEWITH - 12] = gUnknown_83FC7EF, - [STRINGID_PKMNPREVENTSPOISONINGWITH - 12] = gUnknown_83FC809, - [STRINGID_PKMNPREVENTSCONFUSIONWITH - 12] = gUnknown_83FC825, - [STRINGID_PKMNRAISEDFIREPOWERWITH - 12] = gUnknown_83FC841, - [STRINGID_PKMNANCHORSITSELFWITH - 12] = gUnknown_83FC860, - [STRINGID_PKMNCUTSATTACKWITH - 12] = gUnknown_83FC87B, - [STRINGID_PKMNPREVENTSSTATLOSSWITH - 12] = gUnknown_83FC895, - [STRINGID_PKMNHURTSWITH - 12] = gUnknown_83FC8B1, - [STRINGID_PKMNTRACED - 12] = gUnknown_83FC8C2, - [STRINGID_STATSHARPLY - 12] = gUnknown_83FCB41, + [STRINGID_PKMNHITWITHRECOIL - 12] = sText_PkmnHitWithRecoil, + [STRINGID_PKMNPROTECTEDITSELF2 - 12] = sText_PkmnProtectedItself2, + [STRINGID_PKMNBUFFETEDBYSANDSTORM - 12] = sText_PkmnBuffetedBySandstorm, + [STRINGID_PKMNPELTEDBYHAIL - 12] = sText_PkmnPeltedByHail, + [STRINGID_PKMNSEEDED - 12] = sText_PkmnSeeded, + [STRINGID_PKMNEVADEDATTACK - 12] = sText_PkmnEvadedAttack, + [STRINGID_PKMNSAPPEDBYLEECHSEED - 12] = sText_PkmnSappedByLeechSeed, + [STRINGID_PKMNFASTASLEEP - 12] = sText_PkmnFastAsleep, + [STRINGID_PKMNWOKEUP - 12] = sText_PkmnWokeUp, + [STRINGID_PKMNUPROARKEPTAWAKE - 12] = sText_PkmnUproarKeptAwake, + [STRINGID_PKMNWOKEUPINUPROAR - 12] = sText_PkmnWokeUpInUproar, + [STRINGID_PKMNCAUSEDUPROAR - 12] = sText_PkmnCausedUproar, + [STRINGID_PKMNMAKINGUPROAR - 12] = sText_PkmnMakingUproar, + [STRINGID_PKMNCALMEDDOWN - 12] = sText_PkmnCalmedDown, + [STRINGID_PKMNCANTSLEEPINUPROAR - 12] = sText_PkmnCantSleepInUproar, + [STRINGID_PKMNSTOCKPILED - 12] = sText_PkmnStockpiled, + [STRINGID_PKMNCANTSTOCKPILE - 12] = sText_PkmnCantStockpile, + [STRINGID_PKMNCANTSLEEPINUPROAR2 - 12] = sText_PkmnCantSleepInUproar2, + [STRINGID_UPROARKEPTPKMNAWAKE - 12] = sText_UproarKeptPkmnAwake, + [STRINGID_PKMNSTAYEDAWAKEUSING - 12] = sText_PkmnStayedAwakeUsing, + [STRINGID_PKMNSTORINGENERGY - 12] = sText_PkmnStoringEnergy, + [STRINGID_PKMNUNLEASHEDENERGY - 12] = sText_PkmnUnleashedEnergy, + [STRINGID_PKMNFATIGUECONFUSION - 12] = sText_PkmnFatigueConfusion, + [STRINGID_PKMNPICKEDUPITEM - 12] = sText_PkmnPickedUpItem, + [STRINGID_PKMNUNAFFECTED - 12] = sText_PkmnUnaffected, + [STRINGID_PKMNTRANSFORMEDINTO - 12] = sText_PkmnTransformedInto, + [STRINGID_PKMNMADESUBSTITUTE - 12] = sText_PkmnMadeSubstitute, + [STRINGID_PKMNHASSUBSTITUTE - 12] = sText_PkmnHasSubstitute, + [STRINGID_SUBSTITUTEDAMAGED - 12] = sText_SubstituteDamaged, + [STRINGID_PKMNSUBSTITUTEFADED - 12] = sText_PkmnSubstituteFaded, + [STRINGID_PKMNMUSTRECHARGE - 12] = sText_PkmnMustRecharge, + [STRINGID_PKMNRAGEBUILDING - 12] = sText_PkmnRageBuilding, + [STRINGID_PKMNMOVEWASDISABLED - 12] = sText_PkmnMoveWasDisabled, + [STRINGID_PKMNMOVEISDISABLED - 12] = sText_PkmnMoveIsDisabled, + [STRINGID_PKMNMOVEDISABLEDNOMORE - 12] = sText_PkmnMoveDisabledNoMore, + [STRINGID_PKMNGOTENCORE - 12] = sText_PkmnGotEncore, + [STRINGID_PKMNENCOREENDED - 12] = sText_PkmnEncoreEnded, + [STRINGID_PKMNTOOKAIM - 12] = sText_PkmnTookAim, + [STRINGID_PKMNSKETCHEDMOVE - 12] = sText_PkmnSketchedMove, + [STRINGID_PKMNTRYINGTOTAKEFOE - 12] = sText_PkmnTryingToTakeFoe, + [STRINGID_PKMNTOOKFOE - 12] = sText_PkmnTookFoe, + [STRINGID_PKMNREDUCEDPP - 12] = sText_PkmnReducedPP, + [STRINGID_PKMNSTOLEITEM - 12] = sText_PkmnStoleItem, + [STRINGID_TARGETCANTESCAPENOW - 12] = sText_TargetCantEscapeNow, + [STRINGID_PKMNFELLINTONIGHTMARE - 12] = sText_PkmnFellIntoNightmare, + [STRINGID_PKMNLOCKEDINNIGHTMARE - 12] = sText_PkmnLockedInNightmare, + [STRINGID_PKMNLAIDCURSE - 12] = sText_PkmnLaidCurse, + [STRINGID_PKMNAFFLICTEDBYCURSE - 12] = sText_PkmnAfflictedByCurse, + [STRINGID_SPIKESSCATTERED - 12] = sText_SpikesScattered, + [STRINGID_PKMNHURTBYSPIKES - 12] = sText_PkmnHurtBySpikes, + [STRINGID_PKMNIDENTIFIED - 12] = sText_PkmnIdentified, + [STRINGID_PKMNPERISHCOUNTFELL - 12] = sText_PkmnPerishCountFell, + [STRINGID_PKMNBRACEDITSELF - 12] = sText_PkmnBracedItself, + [STRINGID_PKMNENDUREDHIT - 12] = sText_PkmnEnduredHit, + [STRINGID_MAGNITUDESTRENGTH - 12] = sText_MagnitudeStrength, + [STRINGID_PKMNCUTHPMAXEDATTACK - 12] = sText_PkmnCutHPMaxedAttack, + [STRINGID_PKMNCOPIEDSTATCHANGES - 12] = sText_PkmnCopiedStatChanges, + [STRINGID_PKMNGOTFREE - 12] = sText_PkmnGotFree, + [STRINGID_PKMNSHEDLEECHSEED - 12] = sText_PkmnShedLeechSeed, + [STRINGID_PKMNBLEWAWAYSPIKES - 12] = sText_PkmnBlewAwaySpikes, + [STRINGID_PKMNFLEDFROMBATTLE - 12] = sText_PkmnFledFromBattle, + [STRINGID_PKMNFORESAWATTACK - 12] = sText_PkmnForesawAttack, + [STRINGID_PKMNTOOKATTACK - 12] = sText_PkmnTookAttack, + [STRINGID_PKMNATTACK - 12] = sText_PkmnAttack, + [STRINGID_PKMNCENTERATTENTION - 12] = sText_PkmnCenterAttention, + [STRINGID_PKMNCHARGINGPOWER - 12] = sText_PkmnChargingPower, + [STRINGID_NATUREPOWERTURNEDINTO - 12] = sText_NaturePowerTurnedInto, + [STRINGID_PKMNSTATUSNORMAL - 12] = sText_PkmnStatusNormal, + [STRINGID_PKMNHASNOMOVESLEFT - 12] = sText_PkmnHasNoMovesLeft, + [STRINGID_PKMNSUBJECTEDTOTORMENT - 12] = sText_PkmnSubjectedToTorment, + [STRINGID_PKMNCANTUSEMOVETORMENT - 12] = sText_PkmnCantUseMoveTorment, + [STRINGID_PKMNTIGHTENINGFOCUS - 12] = sText_PkmnTighteningFocus, + [STRINGID_PKMNFELLFORTAUNT - 12] = sText_PkmnFellForTaunt, + [STRINGID_PKMNCANTUSEMOVETAUNT - 12] = sText_PkmnCantUseMoveTaunt, + [STRINGID_PKMNREADYTOHELP - 12] = sText_PkmnReadyToHelp, + [STRINGID_PKMNSWITCHEDITEMS - 12] = sText_PkmnSwitchedItems, + [STRINGID_PKMNCOPIEDFOE - 12] = sText_PkmnCopiedFoe, + [STRINGID_PKMNMADEWISH - 12] = sText_PkmnMadeWish, + [STRINGID_PKMNWISHCAMETRUE - 12] = sText_PkmnWishCameTrue, + [STRINGID_PKMNPLANTEDROOTS - 12] = sText_PkmnPlantedRoots, + [STRINGID_PKMNABSORBEDNUTRIENTS - 12] = sText_PkmnAbsorbedNutrients, + [STRINGID_PKMNANCHOREDITSELF - 12] = sText_PkmnAnchoredItself, + [STRINGID_PKMNWASMADEDROWSY - 12] = sText_PkmnWasMadeDrowsy, + [STRINGID_PKMNKNOCKEDOFF - 12] = sText_PkmnKnockedOff, + [STRINGID_PKMNSWAPPEDABILITIES - 12] = sText_PkmnSwappedAbilities, + [STRINGID_PKMNSEALEDOPPONENTMOVE - 12] = sText_PkmnSealedOpponentMove, + [STRINGID_PKMNCANTUSEMOVESEALED - 12] = sText_PkmnCantUseMoveSealed, + [STRINGID_PKMNWANTSGRUDGE - 12] = sText_PkmnWantsGrudge, + [STRINGID_PKMNLOSTPPGRUDGE - 12] = sText_PkmnLostPPGrudge, + [STRINGID_PKMNSHROUDEDITSELF - 12] = sText_PkmnShroudedItself, + [STRINGID_PKMNMOVEBOUNCED - 12] = sText_PkmnMoveBounced, + [STRINGID_PKMNWAITSFORTARGET - 12] = sText_PkmnWaitsForTarget, + [STRINGID_PKMNSNATCHEDMOVE - 12] = sText_PkmnSnatchedMove, + [STRINGID_PKMNMADEITRAIN - 12] = sText_PkmnMadeItRain, + [STRINGID_PKMNRAISEDSPEED - 12] = sText_PkmnRaisedSpeed, + [STRINGID_PKMNPROTECTEDBY - 12] = sText_PkmnProtectedBy, + [STRINGID_PKMNPREVENTSUSAGE - 12] = sText_PkmnPreventsUsage, + [STRINGID_PKMNRESTOREDHPUSING - 12] = sText_PkmnRestoredHPUsing, + [STRINGID_PKMNCHANGEDTYPEWITH - 12] = sText_PkmnChangedTypeWith, + [STRINGID_PKMNPREVENTSPARALYSISWITH - 12] = sText_PkmnPreventsParalysisWith, + [STRINGID_PKMNPREVENTSROMANCEWITH - 12] = sText_PkmnPreventsRomanceWith, + [STRINGID_PKMNPREVENTSPOISONINGWITH - 12] = sText_PkmnPreventsPoisoningWith, + [STRINGID_PKMNPREVENTSCONFUSIONWITH - 12] = sText_PkmnPreventsConfusionWith, + [STRINGID_PKMNRAISEDFIREPOWERWITH - 12] = sText_PkmnRaisedFirePowerWith, + [STRINGID_PKMNANCHORSITSELFWITH - 12] = sText_PkmnAnchorsItselfWith, + [STRINGID_PKMNCUTSATTACKWITH - 12] = sText_PkmnCutsAttackWith, + [STRINGID_PKMNPREVENTSSTATLOSSWITH - 12] = sText_PkmnPreventsStatLossWith, + [STRINGID_PKMNHURTSWITH - 12] = sText_PkmnHurtsWith, + [STRINGID_PKMNTRACED - 12] = sText_PkmnTraced, + [STRINGID_STATSHARPLY - 12] = sText_StatSharply, [STRINGID_STATROSE - 12] = gBattleText_Rose, - [STRINGID_STATHARSHLY - 12] = gUnknown_83FCB50, - [STRINGID_STATFELL - 12] = gUnknown_83FCB59, - [STRINGID_PKMNSSTATCHANGED - 12] = gUnknown_83FCB5F, - [STRINGID_PKMNSSTATCHANGED2 - 12] = gBattleText_UnknownString3, - [STRINGID_PKMNSSTATCHANGED3 - 12] = gUnknown_83FCB8F, - [STRINGID_PKMNSSTATCHANGED4 - 12] = gUnknown_83FCB9A, - [STRINGID_CRITICALHIT - 12] = gUnknown_83FCBE4, - [STRINGID_ONEHITKO - 12] = gUnknown_83FCBF4, - [STRINGID_123POOF - 12] = gUnknown_83FCC07, - [STRINGID_ANDELLIPSIS - 12] = gUnknown_83FCC33, - [STRINGID_NOTVERYEFFECTIVE - 12] = gUnknown_83FCC5B, - [STRINGID_SUPEREFFECTIVE - 12] = gUnknown_83FCC74, + [STRINGID_STATHARSHLY - 12] = sText_StatHarshly, + [STRINGID_STATFELL - 12] = sText_StatFell, + [STRINGID_PKMNSSTATCHANGED - 12] = sText_PkmnsStatChanged, + [STRINGID_PKMNSSTATCHANGED2 - 12] = gText_PkmnsStatChanged2, + [STRINGID_PKMNSSTATCHANGED3 - 12] = sText_PkmnsStatChanged3, + [STRINGID_PKMNSSTATCHANGED4 - 12] = sText_PkmnsStatChanged4, + [STRINGID_CRITICALHIT - 12] = sText_CriticalHit, + [STRINGID_ONEHITKO - 12] = sText_OneHitKO, + [STRINGID_123POOF - 12] = sText_123Poof, + [STRINGID_ANDELLIPSIS - 12] = sText_AndEllipsis, + [STRINGID_NOTVERYEFFECTIVE - 12] = sText_NotVeryEffective, + [STRINGID_SUPEREFFECTIVE - 12] = sText_SuperEffective, [STRINGID_GOTAWAYSAFELY - 12] = sText_GotAwaySafely, - [STRINGID_WILDPKMNFLED - 12] = gUnknown_83FCCD2, - [STRINGID_NORUNNINGFROMTRAINERS - 12] = gUnknown_83FCDB3, - [STRINGID_CANTESCAPE - 12] = gUnknown_83FCDE2, - [STRINGID_DONTLEAVEBIRCH - 12] = gUnknown_83FCDF1, - [STRINGID_BUTNOTHINGHAPPENED - 12] = gUnknown_83FCDF2, - [STRINGID_BUTITFAILED - 12] = gUnknown_83FCE08, - [STRINGID_ITHURTCONFUSION - 12] = gUnknown_83FCE17, - [STRINGID_MIRRORMOVEFAILED - 12] = gUnknown_83FCE38, - [STRINGID_STARTEDTORAIN - 12] = gUnknown_83FCE50, - [STRINGID_DOWNPOURSTARTED - 12] = gUnknown_83FCE64, - [STRINGID_RAINCONTINUES - 12] = gUnknown_83FCE78, - [STRINGID_DOWNPOURCONTINUES - 12] = gUnknown_83FCE90, - [STRINGID_RAINSTOPPED - 12] = gUnknown_83FCEA8, - [STRINGID_SANDSTORMBREWED - 12] = gUnknown_83FCEBA, - [STRINGID_SANDSTORMRAGES - 12] = gUnknown_83FCECE, - [STRINGID_SANDSTORMSUBSIDED - 12] = gUnknown_83FCEE3, - [STRINGID_SUNLIGHTGOTBRIGHT - 12] = gUnknown_83FCEFB, - [STRINGID_SUNLIGHTSTRONG - 12] = gUnknown_83FCF14, - [STRINGID_SUNLIGHTFADED - 12] = gUnknown_83FCF2C, - [STRINGID_STARTEDHAIL - 12] = gUnknown_83FCF40, - [STRINGID_HAILCONTINUES - 12] = gUnknown_83FCF54, - [STRINGID_HAILSTOPPED - 12] = gUnknown_83FCF6C, - [STRINGID_FAILEDTOSPITUP - 12] = gUnknown_83FCF7E, - [STRINGID_FAILEDTOSWALLOW - 12] = gUnknown_83FCFA0, - [STRINGID_WINDBECAMEHEATWAVE - 12] = gUnknown_83FCFC2, - [STRINGID_STATCHANGESGONE - 12] = gUnknown_83FCFE4, - [STRINGID_COINSSCATTERED - 12] = gUnknown_83FD006, - [STRINGID_TOOWEAKFORSUBSTITUTE - 12] = gUnknown_83FD022, - [STRINGID_SHAREDPAIN - 12] = gUnknown_83FD048, - [STRINGID_BELLCHIMED - 12] = gUnknown_83FD068, - [STRINGID_FAINTINTHREE - 12] = gUnknown_83FD077, - [STRINGID_NOPPLEFT - 12] = gUnknown_83FD0A7, - [STRINGID_BUTNOPPLEFT - 12] = gUnknown_83FD0CA, + [STRINGID_WILDPKMNFLED - 12] = sText_WildPkmnFled, + [STRINGID_NORUNNINGFROMTRAINERS - 12] = sText_NoRunningFromTrainers, + [STRINGID_CANTESCAPE - 12] = sText_CantEscape, + [STRINGID_DONTLEAVEBIRCH - 12] = sText_EmptyString5, + [STRINGID_BUTNOTHINGHAPPENED - 12] = sText_ButNothingHappened, + [STRINGID_BUTITFAILED - 12] = sText_ButItFailed, + [STRINGID_ITHURTCONFUSION - 12] = sText_ItHurtConfusion, + [STRINGID_MIRRORMOVEFAILED - 12] = sText_MirrorMoveFailed, + [STRINGID_STARTEDTORAIN - 12] = sText_StartedToRain, + [STRINGID_DOWNPOURSTARTED - 12] = sText_DownpourStarted, + [STRINGID_RAINCONTINUES - 12] = sText_RainContinues, + [STRINGID_DOWNPOURCONTINUES - 12] = sText_DownpourContinues, + [STRINGID_RAINSTOPPED - 12] = sText_RainStopped, + [STRINGID_SANDSTORMBREWED - 12] = sText_SandstormBrewed, + [STRINGID_SANDSTORMRAGES - 12] = sText_SandstormRages, + [STRINGID_SANDSTORMSUBSIDED - 12] = sText_SandstormSubsided, + [STRINGID_SUNLIGHTGOTBRIGHT - 12] = sText_SunlightGotBright, + [STRINGID_SUNLIGHTSTRONG - 12] = sText_SunlightStrong, + [STRINGID_SUNLIGHTFADED - 12] = sText_SunlightFaded, + [STRINGID_STARTEDHAIL - 12] = sText_StartedHail, + [STRINGID_HAILCONTINUES - 12] = sText_HailContinues, + [STRINGID_HAILSTOPPED - 12] = sText_HailStopped, + [STRINGID_FAILEDTOSPITUP - 12] = sText_FailedToSpitUp, + [STRINGID_FAILEDTOSWALLOW - 12] = sText_FailedToSwallow, + [STRINGID_WINDBECAMEHEATWAVE - 12] = sText_WindBecameHeatWave, + [STRINGID_STATCHANGESGONE - 12] = sText_StatChangesGone, + [STRINGID_COINSSCATTERED - 12] = sText_CoinsScattered, + [STRINGID_TOOWEAKFORSUBSTITUTE - 12] = sText_TooWeakForSubstitute, + [STRINGID_SHAREDPAIN - 12] = sText_SharedPain, + [STRINGID_BELLCHIMED - 12] = sText_BellChimed, + [STRINGID_FAINTINTHREE - 12] = sText_FaintInThree, + [STRINGID_NOPPLEFT - 12] = sText_NoPPLeft, + [STRINGID_BUTNOPPLEFT - 12] = sText_ButNoPPLeft, [STRINGID_PLAYERUSEDITEM - 12] = sText_PlayerUsedItem, [STRINGID_OLDMANUSEDITEM - 12] = sText_OldManUsedItem, [STRINGID_TRAINERBLOCKEDBALL - 12] = sText_TrainerBlockedBall, @@ -773,121 +773,121 @@ const u8 *const gBattleStringsTable[] = { [STRINGID_GOTCHAPKMNCAUGHT2 - 12] = sText_GotchaPkmnCaught2, [STRINGID_GIVENICKNAMECAPTURED - 12] = sText_GiveNicknameCaptured, [STRINGID_PKMNSENTTOPC - 12] = sText_PkmnSentToPC, - [STRINGID_PKMNDATAADDEDTODEX - 12] = gUnknown_83FD82B, - [STRINGID_ITISRAINING - 12] = gUnknown_83FD850, - [STRINGID_SANDSTORMISRAGING - 12] = gUnknown_83FD85F, - [STRINGID_CANTESCAPE2 - 12] = gUnknown_83FB525, - [STRINGID_PKMNIGNORESASLEEP - 12] = gUnknown_83FD0F1, - [STRINGID_PKMNIGNOREDORDERS - 12] = gUnknown_83FD111, - [STRINGID_PKMNBEGANTONAP - 12] = gUnknown_83FD124, - [STRINGID_PKMNLOAFING - 12] = gUnknown_83FD135, - [STRINGID_PKMNWONTOBEY - 12] = gUnknown_83FD14B, - [STRINGID_PKMNTURNEDAWAY - 12] = gUnknown_83FD15A, - [STRINGID_PKMNPRETENDNOTNOTICE - 12] = gUnknown_83FD16A, - [STRINGID_ENEMYABOUTTOSWITCHPKMN - 12] = gUnknown_83FD186, - [STRINGID_THREWROCK - 12] = gUnknown_83FD1DF, - [STRINGID_THREWBAIT - 12] = gUnknown_83FD1FA, - [STRINGID_PKMNWATCHINGCAREFULLY - 12] = gUnknown_83FD218, - [STRINGID_PKMNANGRY - 12] = gUnknown_83FD232, - [STRINGID_PKMNEATING - 12] = gUnknown_83FD23F, - [STRINGID_DUMMY288 - 12] = gUnknown_83FB218, - [STRINGID_DUMMY289 - 12] = gUnknown_83FB218, - [STRINGID_OUTOFSAFARIBALLS - 12] = gUnknown_83FD24D, - [STRINGID_PKMNSITEMCUREDPARALYSIS - 12] = gUnknown_83FD8B9, - [STRINGID_PKMNSITEMCUREDPOISON - 12] = gUnknown_83FD8D2, - [STRINGID_PKMNSITEMHEALEDBURN - 12] = gUnknown_83FD8E8, - [STRINGID_PKMNSITEMDEFROSTEDIT - 12] = gUnknown_83FD901, - [STRINGID_PKMNSITEMWOKEIT - 12] = gUnknown_83FD917, - [STRINGID_PKMNSITEMSNAPPEDOUT - 12] = gUnknown_83FD937, - [STRINGID_PKMNSITEMCUREDPROBLEM - 12] = gUnknown_83FD95C, - [STRINGID_PKMNSITEMRESTOREDHEALTH - 12] = gUnknown_83FD999, - [STRINGID_PKMNSITEMRESTOREDPP - 12] = gUnknown_83FD9B2, - [STRINGID_PKMNSITEMRESTOREDSTATUS - 12] = gUnknown_83FD9CC, - [STRINGID_PKMNSITEMRESTOREDHPALITTLE - 12] = gUnknown_83FD9E9, - [STRINGID_ITEMALLOWSONLYYMOVE - 12] = gUnknown_83FDA0B, - [STRINGID_PKMNHUNGONWITHX - 12] = gUnknown_83FDA33, - [STRINGID_EMPTYSTRING3 - 12] = gUnknown_83FDA4C, - [STRINGID_PKMNSXPREVENTSBURNS - 12] = gUnknown_83FC8D5, - [STRINGID_PKMNSXBLOCKSY - 12] = gUnknown_83FC8ED, - [STRINGID_PKMNSXRESTOREDHPALITTLE2 - 12] = gUnknown_83FC913, - [STRINGID_PKMNSXWHIPPEDUPSANDSTORM - 12] = gUnknown_83FC935, - [STRINGID_PKMNSXPREVENTSYLOSS - 12] = gUnknown_83FC979, - [STRINGID_PKMNSXINFATUATEDY - 12] = gUnknown_83FC993, - [STRINGID_PKMNSXMADEYINEFFECTIVE - 12] = gUnknown_83FC9AA, - [STRINGID_PKMNSXCUREDYPROBLEM - 12] = gUnknown_83FC9C7, - [STRINGID_ITSUCKEDLIQUIDOOZE - 12] = gUnknown_83FC9E5, - [STRINGID_PKMNTRANSFORMED - 12] = gUnknown_83FCA03, - [STRINGID_ELECTRICITYWEAKENED - 12] = gUnknown_83FC554, - [STRINGID_FIREWEAKENED - 12] = gUnknown_83FC576, - [STRINGID_PKMNHIDUNDERWATER - 12] = gUnknown_83FBAD2, - [STRINGID_PKMNSPRANGUP - 12] = gUnknown_83FBAE5, - [STRINGID_HMMOVESCANTBEFORGOTTEN - 12] = gUnknown_83FCC39, - [STRINGID_XFOUNDONEY - 12] = gUnknown_83FC591, + [STRINGID_PKMNDATAADDEDTODEX - 12] = sText_PkmnDataAddedToDex, + [STRINGID_ITISRAINING - 12] = sText_ItIsRaining, + [STRINGID_SANDSTORMISRAGING - 12] = sText_SandstormIsRaging, + [STRINGID_CANTESCAPE2 - 12] = sText_CantEscape2, + [STRINGID_PKMNIGNORESASLEEP - 12] = sText_PkmnIgnoresAsleep, + [STRINGID_PKMNIGNOREDORDERS - 12] = sText_PkmnIgnoredOrders, + [STRINGID_PKMNBEGANTONAP - 12] = sText_PkmnBeganToNap, + [STRINGID_PKMNLOAFING - 12] = sText_PkmnLoafing, + [STRINGID_PKMNWONTOBEY - 12] = sText_PkmnWontObey, + [STRINGID_PKMNTURNEDAWAY - 12] = sText_PkmnTurnedAway, + [STRINGID_PKMNPRETENDNOTNOTICE - 12] = sText_PkmnPretendNotNotice, + [STRINGID_ENEMYABOUTTOSWITCHPKMN - 12] = sText_EnemyAboutToSwitchPkmn, + [STRINGID_THREWROCK - 12] = sText_ThrewARock, + [STRINGID_THREWBAIT - 12] = sText_ThrewSomeBait, + [STRINGID_PKMNWATCHINGCAREFULLY - 12] = sText_PkmnWatchingCarefully, + [STRINGID_PKMNANGRY - 12] = sText_PkmnIsAngry, + [STRINGID_PKMNEATING - 12] = sText_PkmnIsEating, + [STRINGID_DUMMY288 - 12] = sText_Empty1, + [STRINGID_DUMMY289 - 12] = sText_Empty1, + [STRINGID_OUTOFSAFARIBALLS - 12] = sText_OutOfSafariBalls, + [STRINGID_PKMNSITEMCUREDPARALYSIS - 12] = sText_PkmnsItemCuredParalysis, + [STRINGID_PKMNSITEMCUREDPOISON - 12] = sText_PkmnsItemCuredPoison, + [STRINGID_PKMNSITEMHEALEDBURN - 12] = sText_PkmnsItemHealedBurn, + [STRINGID_PKMNSITEMDEFROSTEDIT - 12] = sText_PkmnsItemDefrostedIt, + [STRINGID_PKMNSITEMWOKEIT - 12] = sText_PkmnsItemWokeIt, + [STRINGID_PKMNSITEMSNAPPEDOUT - 12] = sText_PkmnsItemSnappedOut, + [STRINGID_PKMNSITEMCUREDPROBLEM - 12] = sText_PkmnsItemCuredProblem, + [STRINGID_PKMNSITEMRESTOREDHEALTH - 12] = sText_PkmnsItemRestoredHealth, + [STRINGID_PKMNSITEMRESTOREDPP - 12] = sText_PkmnsItemRestoredPP, + [STRINGID_PKMNSITEMRESTOREDSTATUS - 12] = sText_PkmnsItemRestoredStatus, + [STRINGID_PKMNSITEMRESTOREDHPALITTLE - 12] = sText_PkmnsItemRestoredHPALittle, + [STRINGID_ITEMALLOWSONLYYMOVE - 12] = sText_ItemAllowsOnlyYMove, + [STRINGID_PKMNHUNGONWITHX - 12] = sText_PkmnHungOnWithX, + [STRINGID_EMPTYSTRING3 - 12] = gText_EmptyString3, + [STRINGID_PKMNSXPREVENTSBURNS - 12] = sText_PkmnsXPreventsBurns, + [STRINGID_PKMNSXBLOCKSY - 12] = sText_PkmnsXBlocksY, + [STRINGID_PKMNSXRESTOREDHPALITTLE2 - 12] = sText_PkmnsXRestoredHPALittle2, + [STRINGID_PKMNSXWHIPPEDUPSANDSTORM - 12] = sText_PkmnsXWhippedUpSandstorm, + [STRINGID_PKMNSXPREVENTSYLOSS - 12] = sText_PkmnsXPreventsYLoss, + [STRINGID_PKMNSXINFATUATEDY - 12] = sText_PkmnsXInfatuatedY, + [STRINGID_PKMNSXMADEYINEFFECTIVE - 12] = sText_PkmnsXMadeYIneffective, + [STRINGID_PKMNSXCUREDYPROBLEM - 12] = sText_PkmnsXCuredYProblem, + [STRINGID_ITSUCKEDLIQUIDOOZE - 12] = sText_ItSuckedLiquidOoze, + [STRINGID_PKMNTRANSFORMED - 12] = sText_PkmnTransformed, + [STRINGID_ELECTRICITYWEAKENED - 12] = sText_ElectricityWeakened, + [STRINGID_FIREWEAKENED - 12] = sText_FireWeakened, + [STRINGID_PKMNHIDUNDERWATER - 12] = sText_PkmnHidUnderwater, + [STRINGID_PKMNSPRANGUP - 12] = sText_PkmnSprangUp, + [STRINGID_HMMOVESCANTBEFORGOTTEN - 12] = sText_HMMovesCantBeForgotten, + [STRINGID_XFOUNDONEY - 12] = sText_XFoundOneY, [STRINGID_PLAYERDEFEATEDTRAINER1 - 12] = sText_PlayerDefeatedLinkTrainerTrainer1, - [STRINGID_SOOTHINGAROMA - 12] = gUnknown_83FC5A2, - [STRINGID_ITEMSCANTBEUSEDNOW - 12] = gUnknown_83FC5CC, - [STRINGID_FORXCOMMAYZ - 12] = gUnknown_83FC5E8, - [STRINGID_USINGXTHEYOFZN - 12] = gUnknown_83FCB75, - [STRINGID_PKMNUSEDXTOGETPUMPED - 12] = gUnknown_83FC5F6, - [STRINGID_PKMNSXMADEYUSELESS - 12] = gUnknown_83FC79D, - [STRINGID_PKMNTRAPPEDBYSANDTOMB - 12] = gUnknown_83FBB2F, - [STRINGID_EMPTYSTRING4 - 12] = gUnknown_83FB282, - [STRINGID_ABOOSTED - 12] = gUnknown_83FB283, - [STRINGID_PKMNSXINTENSIFIEDSUN - 12] = gUnknown_83FC955, - [STRINGID_PKMNMAKESGROUNDMISS - 12] = gUnknown_83FB3AF, - [STRINGID_YOUTHROWABALLNOWRIGHT - 12] = gUnknown_83FDAB1, - [STRINGID_PKMNSXTOOKATTACK - 12] = gUnknown_83FCA13, - [STRINGID_PKMNCHOSEXASDESTINY - 12] = gUnknown_83FC208, - [STRINGID_PKMNLOSTFOCUS - 12] = gUnknown_83FC60C, - [STRINGID_USENEXTPKMN - 12] = gUnknown_83FB359, - [STRINGID_PKMNFLEDUSINGITS - 12] = gUnknown_83FCCA0, - [STRINGID_PKMNFLEDUSING - 12] = gUnknown_83FCCBB, - [STRINGID_PKMNWASDRAGGEDOUT - 12] = gUnknown_83FC631, - [STRINGID_PREVENTEDFROMWORKING - 12] = gUnknown_83FCA49, - [STRINGID_PKMNSITEMNORMALIZEDSTATUS - 12] = gUnknown_83FD97A, + [STRINGID_SOOTHINGAROMA - 12] = sText_SoothingAroma, + [STRINGID_ITEMSCANTBEUSEDNOW - 12] = sText_ItemsCantBeUsedNow, + [STRINGID_FORXCOMMAYZ - 12] = sText_ForXCommaYZ, + [STRINGID_USINGXTHEYOFZN - 12] = sText_UsingXTheYOfZN, + [STRINGID_PKMNUSEDXTOGETPUMPED - 12] = sText_PkmnUsedXToGetPumped, + [STRINGID_PKMNSXMADEYUSELESS - 12] = sText_PkmnsXMadeYUseless, + [STRINGID_PKMNTRAPPEDBYSANDTOMB - 12] = sText_PkmnTrappedBySandTomb, + [STRINGID_EMPTYSTRING4 - 12] = sText_EmptyString4, + [STRINGID_ABOOSTED - 12] = sText_ABoosted, + [STRINGID_PKMNSXINTENSIFIEDSUN - 12] = sText_PkmnsXIntensifiedSun, + [STRINGID_PKMNMAKESGROUNDMISS - 12] = sText_PkmnMakesGroundMiss, + [STRINGID_YOUTHROWABALLNOWRIGHT - 12] = sText_YouThrowABallNowRight, + [STRINGID_PKMNSXTOOKATTACK - 12] = sText_PkmnsXTookAttack, + [STRINGID_PKMNCHOSEXASDESTINY - 12] = sText_PkmnChoseXAsDestiny, + [STRINGID_PKMNLOSTFOCUS - 12] = sText_PkmnLostFocus, + [STRINGID_USENEXTPKMN - 12] = sText_UseNextPkmn, + [STRINGID_PKMNFLEDUSINGITS - 12] = sText_PkmnFledUsingIts, + [STRINGID_PKMNFLEDUSING - 12] = sText_PkmnFledUsing, + [STRINGID_PKMNWASDRAGGEDOUT - 12] = sText_PkmnWasDraggedOut, + [STRINGID_PREVENTEDFROMWORKING - 12] = sText_PreventedFromWorking, + [STRINGID_PKMNSITEMNORMALIZEDSTATUS - 12] = sText_PkmnsItemNormalizedStatus, [STRINGID_TRAINER1USEDITEM - 12] = sText_Trainer1UsedItem, - [STRINGID_BOXISFULL - 12] = gUnknown_83FD876, - [STRINGID_PKMNAVOIDEDATTACK - 12] = gUnknown_83FB3D3, - [STRINGID_PKMNSXMADEITINEFFECTIVE - 12] = gUnknown_83FCA71, - [STRINGID_PKMNSXPREVENTSFLINCHING - 12] = gUnknown_83FCA8E, - [STRINGID_PKMNALREADYHASBURN - 12] = gUnknown_83FB67B, - [STRINGID_STATSWONTDECREASE2 - 12] = gUnknown_83FCBC5, - [STRINGID_PKMNSXBLOCKSY2 - 12] = gUnknown_83FC900, - [STRINGID_PKMNSXWOREOFF - 12] = gUnknown_83FBC62, - [STRINGID_PKMNRAISEDDEFALITTLE - 12] = gUnknown_83FB997, - [STRINGID_PKMNRAISEDSPDEFALITTLE - 12] = gUnknown_83FB95E, - [STRINGID_THEWALLSHATTERED - 12] = gUnknown_83FC646, - [STRINGID_PKMNSXPREVENTSYSZ - 12] = gUnknown_83FCAAA, - [STRINGID_PKMNSXCUREDITSYPROBLEM - 12] = gUnknown_83FCAD1, - [STRINGID_ATTACKERCANTESCAPE - 12] = gUnknown_83FB534, - [STRINGID_PKMNOBTAINEDX - 12] = gUnknown_83FC337, - [STRINGID_PKMNOBTAINEDX2 - 12] = gUnknown_83FC347, - [STRINGID_PKMNOBTAINEDXYOBTAINEDZ - 12] = gUnknown_83FC357, - [STRINGID_BUTNOEFFECT - 12] = gUnknown_83FC65A, - [STRINGID_PKMNSXHADNOEFFECTONY - 12] = gUnknown_83FCAEF, - [STRINGID_OAKPLAYERWON - 12] = gUnknown_83FDD64, - [STRINGID_OAKPLAYERLOST - 12] = gUnknown_83FDDEB, - [STRINGID_PLAYERLOSTAGAINSTENEMYTRAINER - 12] = gUnknown_83FB484, - [STRINGID_PLAYERPAIDPRIZEMONEY - 12] = gUnknown_83FB4BE, + [STRINGID_BOXISFULL - 12] = sText_BoxIsFull, + [STRINGID_PKMNAVOIDEDATTACK - 12] = sText_PkmnAvoidedAttack, + [STRINGID_PKMNSXMADEITINEFFECTIVE - 12] = sText_PkmnsXMadeItIneffective, + [STRINGID_PKMNSXPREVENTSFLINCHING - 12] = sText_PkmnsXPreventsFlinching, + [STRINGID_PKMNALREADYHASBURN - 12] = sText_PkmnAlreadyHasBurn, + [STRINGID_STATSWONTDECREASE2 - 12] = sText_StatsWontDecrease2, + [STRINGID_PKMNSXBLOCKSY2 - 12] = sText_PkmnsXBlocksY2, + [STRINGID_PKMNSXWOREOFF - 12] = sText_PkmnsXWoreOff, + [STRINGID_PKMNRAISEDDEFALITTLE - 12] = sText_PkmnRaisedDefALittle, + [STRINGID_PKMNRAISEDSPDEFALITTLE - 12] = sText_PkmnRaisedSpDefALittle, + [STRINGID_THEWALLSHATTERED - 12] = sText_TheWallShattered, + [STRINGID_PKMNSXPREVENTSYSZ - 12] = sText_PkmnsXPreventsYsZ, + [STRINGID_PKMNSXCUREDITSYPROBLEM - 12] = sText_PkmnsXCuredItsYProblem, + [STRINGID_ATTACKERCANTESCAPE - 12] = sText_AttackerCantEscape, + [STRINGID_PKMNOBTAINEDX - 12] = sText_PkmnObtainedX, + [STRINGID_PKMNOBTAINEDX2 - 12] = sText_PkmnObtainedX2, + [STRINGID_PKMNOBTAINEDXYOBTAINEDZ - 12] = sText_PkmnObtainedXYObtainedZ, + [STRINGID_BUTNOEFFECT - 12] = sText_ButNoEffect, + [STRINGID_PKMNSXHADNOEFFECTONY - 12] = sText_PkmnsXHadNoEffectOnY, + [STRINGID_OAKPLAYERWON - 12] = gText_WinEarnsPrizeMoney, + [STRINGID_OAKPLAYERLOST - 12] = gText_HowDissapointing, + [STRINGID_PLAYERLOSTAGAINSTENEMYTRAINER - 12] = sText_PlayerWhiteoutAgainstTrainer, + [STRINGID_PLAYERPAIDPRIZEMONEY - 12] = sText_PlayerPaidAsPrizeMoney, [STRINGID_PKMNTRANSFERREDSOMEONESPC - 12] = Text_MonSentToBoxInSomeonesPC, [STRINGID_PKMNTRANSFERREDBILLSPC - 12] = Text_MonSentToBoxInBillsPC, [STRINGID_PKMNBOXSOMEONESPCFULL - 12] = Text_MonSentToBoxSomeonesBoxFull, [STRINGID_PKMNBOXBILLSPCFULL - 12] = Text_MonSentToBoxBillsBoxFull, [STRINGID_POKEDUDEUSED - 12] = sText_PokedudeUsedItem, - [STRINGID_POKEFLUTECATCHY - 12] = gUnknown_83FDA4D, - [STRINGID_POKEFLUTE - 12] = gUnknown_83FDA7A, - [STRINGID_MONHEARINGFLUTEAWOKE - 12] = gUnknown_83FDA8C, - [STRINGID_TRAINER2CLASS - 12] = gUnknown_83FB21C, - [STRINGID_TRAINER2NAME - 12] = gUnknown_83FB262, - [STRINGID_PLAYERWHITEDOUT - 12] = gUnknown_83FB4F7, - [STRINGID_MONTOOSCAREDTOMOVE - 12] = gUnknown_83FCB0C, - [STRINGID_GHOSTGETOUTGETOUT - 12] = gUnknown_83FCB26, - [STRINGID_SILPHSCOPEUNVEILED - 12] = gUnknown_83FD322, - [STRINGID_GHOSTWASMAROWAK - 12] = gUnknown_83FD34D, - [STRINGID_TRAINER1MON1COMEBACK - 12] = gUnknown_83FB21F, - [STRINGID_TRAINER1WINTEXT - 12] = gUnknown_83FB232, - [STRINGID_TRAINER1MON2COMEBACK - 12] = gUnknown_83FB235, - [STRINGID_TRAINER1MON1AND2COMEBACK - 12] = gUnknown_83FB248 + [STRINGID_POKEFLUTECATCHY - 12] = sText_PlayedFluteCatchyTune, + [STRINGID_POKEFLUTE - 12] = sText_PlayedThe, + [STRINGID_MONHEARINGFLUTEAWOKE - 12] = sText_PkmnHearingFluteAwoke, + [STRINGID_TRAINER2CLASS - 12] = sText_Trainer2Class, + [STRINGID_TRAINER2NAME - 12] = sText_Trainer2Name, + [STRINGID_PLAYERWHITEDOUT - 12] = sText_PlayerWhiteout2, + [STRINGID_MONTOOSCAREDTOMOVE - 12] = sText_TooScaredToMove, + [STRINGID_GHOSTGETOUTGETOUT - 12] = sText_GetOutGetOut, + [STRINGID_SILPHSCOPEUNVEILED - 12] = sText_SilphScopeUnveil, + [STRINGID_GHOSTWASMAROWAK - 12] = sText_TheGhostWas, + [STRINGID_TRAINER1MON1COMEBACK - 12] = sText_Trainer1RecallPkmn1, + [STRINGID_TRAINER1WINTEXT - 12] = sText_Trainer1WinText, + [STRINGID_TRAINER1MON2COMEBACK - 12] = sText_Trainer1RecallPkmn2, + [STRINGID_TRAINER1MON1AND2COMEBACK - 12] = sText_Trainer1RecallBoth }; const u16 gMissStringIds[] = { @@ -1220,10 +1220,10 @@ const u8 gText_CongratsPkmnEvolved[] = _("Congratulations! Your {STR_VAR_1}\nevo const u8 gText_PkmnStoppedEvolving[] = _("Huh? {STR_VAR_1}\nstopped evolving!\p"); const u8 gText_EllipsisQuestionMark[] = _("……?\p"); const u8 gText_WhatWillPkmnDo[] = _("What will\n{B_ACTIVE_NAME_WITH_PREFIX} do?"); -const u8 gUnknown_83FE6E6[] = _("What will {B_PLAYER_NAME}\nthrow?"); -const u8 gUnknown_83FE6FA[] = _("What will the\nold man do?"); +const u8 gText_WhatWillPlayerThrow[] = _("What will {B_PLAYER_NAME}\nthrow?"); +const u8 gText_WhatWillOldManDo[] = _("What will the\nold man do?"); const u8 gText_LinkStandby[] = _("{PAUSE 16}Link standby…"); -const u8 gUnknown_83FE725[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW 13 14 15}FIGHT{CLEAR_TO 56}BAG\nPOKéMON{CLEAR_TO 56}RUN"); +const u8 gText_BattleMenu[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW 13 14 15}FIGHT{CLEAR_TO 56}BAG\nPOKéMON{CLEAR_TO 56}RUN"); const u8 gUnknown_83FE747[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW 13 14 15}BALL{CLEAR_TO 56}BAIT\nROCK{CLEAR_TO 56}RUN"); const u8 gText_MoveInterfacePP[] = _("PP "); const u8 gText_MoveInterfaceType[] = _("TYPE/"); @@ -1514,9 +1514,9 @@ void BufferStringBattle(u16 stringId) if (gBattleTypeFlags & BATTLE_TYPE_GHOST) { if (gBattleTypeFlags & BATTLE_TYPE_GHOST_UNVEILED) - stringPtr = gUnknown_83FD30D; + stringPtr = sText_TheGhostAppeared; else - stringPtr = gUnknown_83FD2D9; + stringPtr = sText_GhostAppearedCantId; } else if (gBattleTypeFlags & BATTLE_TYPE_LEGENDARY) stringPtr = sText_WildPkmnAppeared2; @@ -1646,7 +1646,7 @@ void BufferStringBattle(u16 stringId) else if (gTrainerBattleOpponent_A == TRAINER_OPPONENT_C00) stringPtr = gUnknown_83FE9D4; else - stringPtr = gUnknown_83FCD92; + stringPtr = sText_WildFled; } else { @@ -1,3 +1,4 @@ +#include <limits.h> #include "global.h" #include "bg.h" #include "dma3.h" @@ -1136,20 +1137,19 @@ void CopyTileMapEntry(const u16 *src, u16 *dest, s32 palette1, s32 tileOffset, s { u16 var; - if (palette1 == 16) - goto CASE_16; switch (palette1) { - case 0 ... 16: + case 0 ... 15: var = ((*src + tileOffset) & 0xFFF) + ((palette1 + palette2) << 12); break; - CASE_16: + case 16: var = *dest; var &= 0xFC00; var += palette2 << 12; var |= (*src + tileOffset) & 0x3FF; break; default: + case 17 ... INT_MAX: var = *src + tileOffset + (palette2 << 12); break; } @@ -3,90 +3,90 @@ #include "gpu_regs.h" #include "trig.h" -static void sub_80B3FAC(struct Sprite *sprite); -static void sub_80B407C(struct Sprite *sprite); +static void AnimMegahornHorn(struct Sprite *sprite); +static void AnimLeechLifeNeedle(struct Sprite *sprite); static void AnimTranslateWebThread(struct Sprite *sprite); -static void sub_80B41F8(struct Sprite *sprite); -static void sub_80B42C0(struct Sprite *sprite); +static void AnimStringWrap(struct Sprite *sprite); +static void AnimSpiderWeb(struct Sprite *sprite); static void AnimTranslateStinger(struct Sprite *sprite); static void AnimMissileArc(struct Sprite *sprite); -static void sub_80B45D8(struct Sprite *sprite); +static void AnimTailGlowOrb(struct Sprite *sprite); static void sub_80B41C0(struct Sprite *sprite); static void sub_80B4274(struct Sprite *sprite); static void sub_80B42E8(struct Sprite *sprite); static void sub_80B4344(struct Sprite *sprite); static void AnimMissileArcStep(struct Sprite *sprite); -static const union AffineAnimCmd gUnknown_83E71E8[] = +static const union AffineAnimCmd sAffineAnim_MegahornHorn_0[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, 30, 0), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd gUnknown_83E71F8[] = +static const union AffineAnimCmd sAffineAnim_MegahornHorn_1[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, -99, 0), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd gUnknown_83E7208[] = +static const union AffineAnimCmd sAffineAnim_MegahornHorn_2[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, 94, 0), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd *const gUnknown_83E7218[] = +static const union AffineAnimCmd *const sAffineAnims_MegahornHorn[] = { - gUnknown_83E71E8, - gUnknown_83E71F8, - gUnknown_83E7208, + sAffineAnim_MegahornHorn_0, + sAffineAnim_MegahornHorn_1, + sAffineAnim_MegahornHorn_2, }; -const struct SpriteTemplate gUnknown_83E7224 = +const struct SpriteTemplate gMegahornHornSpriteTemplate = { .tileTag = ANIM_TAG_HORN_HIT_2, .paletteTag = ANIM_TAG_HORN_HIT_2, .oam = &gOamData_AffineDouble_ObjNormal_32x16, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_83E7218, - .callback = sub_80B3FAC, + .affineAnims = sAffineAnims_MegahornHorn, + .callback = AnimMegahornHorn, }; -static const union AffineAnimCmd gUnknown_83E723C[] = +static const union AffineAnimCmd sAffineAnim_LeechLifeNeedle_0[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, -33, 1), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd gUnknown_83E724C[] = +static const union AffineAnimCmd sAffineAnim_LeechLifeNeedle_1[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 96, 1), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd gUnknown_83E725C[] = +static const union AffineAnimCmd sAffineAnim_LeechLifeNeedle_2[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, -96, 1), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd *const gUnknown_83E726C[] = +static const union AffineAnimCmd *const sAffineAnims_LeechLifeNeedle[] = { - gUnknown_83E723C, - gUnknown_83E724C, - gUnknown_83E725C, + sAffineAnim_LeechLifeNeedle_0, + sAffineAnim_LeechLifeNeedle_1, + sAffineAnim_LeechLifeNeedle_2, }; -const struct SpriteTemplate gUnknown_83E7278 = +const struct SpriteTemplate gLeechLifeNeedleSpriteTemplate = { .tileTag = ANIM_TAG_NEEDLE, .paletteTag = ANIM_TAG_NEEDLE, .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_83E726C, - .callback = sub_80B407C, + .affineAnims = sAffineAnims_LeechLifeNeedle, + .callback = AnimLeechLifeNeedle, }; const struct SpriteTemplate gWebThreadSpriteTemplate = @@ -100,7 +100,7 @@ const struct SpriteTemplate gWebThreadSpriteTemplate = .callback = AnimTranslateWebThread, }; -const struct SpriteTemplate gUnknown_83E72A8 = +const struct SpriteTemplate gStringWrapSpriteTemplate = { .tileTag = ANIM_TAG_STRING, .paletteTag = ANIM_TAG_STRING, @@ -108,19 +108,19 @@ const struct SpriteTemplate gUnknown_83E72A8 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B41F8, + .callback = AnimStringWrap, }; -static const union AffineAnimCmd gUnknown_83E72C0[] = +static const union AffineAnimCmd sAffineAnim_SpiderWeb[] = { AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), AFFINEANIMCMD_FRAME(0x6, 0x6, 0, 1), AFFINEANIMCMD_JUMP(1), }; -static const union AffineAnimCmd *const gUnknown_83E72D8[] = +static const union AffineAnimCmd *const sAffineAnims_SpiderWeb[] = { - gUnknown_83E72C0, + sAffineAnim_SpiderWeb, }; const struct SpriteTemplate gSpiderWebSpriteTemplate = @@ -130,8 +130,8 @@ const struct SpriteTemplate gSpiderWebSpriteTemplate = .oam = &gOamData_AffineDouble_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_83E72D8, - .callback = sub_80B42C0, + .affineAnims = sAffineAnims_SpiderWeb, + .callback = AnimSpiderWeb, }; const struct SpriteTemplate gLinearStingerSpriteTemplate = @@ -167,7 +167,7 @@ const struct SpriteTemplate gIcicleSpearSpriteTemplate = .callback = AnimMissileArc, }; -static const union AffineAnimCmd gUnknown_83E733C[] = +static const union AffineAnimCmd sAffineAnim_TailGlowOrb[] = { AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 18), @@ -178,23 +178,23 @@ static const union AffineAnimCmd gUnknown_83E733C[] = AFFINEANIMCMD_END, }; -static const union AffineAnimCmd *const gUnknown_83E7374[] = +static const union AffineAnimCmd *const sAffineAnims_TailGlowOrb[] = { - gUnknown_83E733C, + sAffineAnim_TailGlowOrb, }; -const struct SpriteTemplate gUnknown_83E7378 = +const struct SpriteTemplate gTailGlowOrbSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, .oam = &gOamData_AffineNormal_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_83E7374, - .callback = sub_80B45D8, + .affineAnims = sAffineAnims_TailGlowOrb, + .callback = AnimTailGlowOrb, }; -static void sub_80B3FAC(struct Sprite *sprite) +static void AnimMegahornHorn(struct Sprite *sprite) { if (IsContest()) { @@ -219,7 +219,7 @@ static void sub_80B3FAC(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -static void sub_80B407C(struct Sprite *sprite) +static void AnimLeechLifeNeedle(struct Sprite *sprite) { if (IsContest()) { @@ -280,7 +280,7 @@ static void sub_80B41C0(struct Sprite *sprite) sprite->data[6] = (sprite->data[6] + 13) & 0xFF; } -static void sub_80B41F8(struct Sprite *sprite) +static void AnimStringWrap(struct Sprite *sprite) { SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->pos1.x, &sprite->pos1.y); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) @@ -306,7 +306,7 @@ static void sub_80B4274(struct Sprite *sprite) } } -static void sub_80B42C0(struct Sprite *sprite) +static void AnimSpiderWeb(struct Sprite *sprite) { SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 0)); @@ -445,7 +445,7 @@ static void AnimMissileArcStep(struct Sprite *sprite) } } -static void sub_80B45D8(struct Sprite *sprite) +static void AnimTailGlowOrb(struct Sprite *sprite) { if (gBattleAnimArgs[0] == 0) { diff --git a/src/credits.c b/src/credits.c index e00587ff2..190b8cbb1 100644 --- a/src/credits.c +++ b/src/credits.c @@ -9,6 +9,8 @@ #include "graphics.h" #include "strings.h" #include "trainer_pokemon_sprites.h" +#include "field_weather.h" +#include "menu.h" #include "constants/species.h" #include "constants/maps.h" #include "constants/field_weather.h" diff --git a/src/dark.c b/src/dark.c index d2e0996bd..86523f2f1 100644 --- a/src/dark.c +++ b/src/dark.c @@ -7,11 +7,11 @@ #include "util.h" static void sub_80B7ACC(struct Sprite *sprite); -static void sub_80B7BD4(struct Sprite *sprite); -static void sub_80B7C88(struct Sprite *sprite); -static void sub_80B86B0(struct Sprite *sprite); -static void sub_80B7954(u8 taskId); -static void sub_80B7A14(u8 taskId); +static void AnimBite(struct Sprite *sprite); +static void AnimTearDrop(struct Sprite *sprite); +static void AnimClawSlash(struct Sprite *sprite); +static void AnimTask_AttackerFadeToInvisible_Step(u8 taskId); +static void AnimTask_AttackerFadeFromInvisible_Step(u8 taskId); static void sub_80B7B48(struct Sprite *sprite); static void sub_80B7C10(struct Sprite *sprite); static void sub_80B7C50(struct Sprite *sprite); @@ -33,120 +33,120 @@ const struct SpriteTemplate gUnknown_83E7878 = .callback = sub_80B7ACC, }; -static const union AffineAnimCmd gUnknown_83E7890[] = +static const union AffineAnimCmd sAffineAnim_Bite_0[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd gUnknown_83E78A0[] = +static const union AffineAnimCmd sAffineAnim_Bite_1[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 32, 1), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd gUnknown_83E78B0[] = +static const union AffineAnimCmd sAffineAnim_Bite_2[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 64, 1), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd gUnknown_83E78C0[] = +static const union AffineAnimCmd sAffineAnim_Bite_3[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 96, 1), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd gUnknown_83E78D0[] = +static const union AffineAnimCmd sAffineAnim_Bite_4[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, -128, 1), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd gUnknown_83E78E0[] = +static const union AffineAnimCmd sAffineAnim_Bite_5[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, -96, 1), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd gUnknown_83E78F0[] = +static const union AffineAnimCmd sAffineAnim_Bite_6[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, -64, 1), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd gUnknown_83E7900[] = +static const union AffineAnimCmd sAffineAnim_Bite_7[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, -32, 1), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_83E7910[] = +const union AffineAnimCmd *const gAffineAnims_Bite[] = { - gUnknown_83E7890, - gUnknown_83E78A0, - gUnknown_83E78B0, - gUnknown_83E78C0, - gUnknown_83E78D0, - gUnknown_83E78E0, - gUnknown_83E78F0, - gUnknown_83E7900, + sAffineAnim_Bite_0, + sAffineAnim_Bite_1, + sAffineAnim_Bite_2, + sAffineAnim_Bite_3, + sAffineAnim_Bite_4, + sAffineAnim_Bite_5, + sAffineAnim_Bite_6, + sAffineAnim_Bite_7, }; -const struct SpriteTemplate gUnknown_83E7930 = +const struct SpriteTemplate gSharpTeethSpriteTemplate = { .tileTag = ANIM_TAG_SHARP_TEETH, .paletteTag = ANIM_TAG_SHARP_TEETH, .oam = &gOamData_AffineNormal_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_83E7910, - .callback = sub_80B7BD4, + .affineAnims = gAffineAnims_Bite, + .callback = AnimBite, }; -const struct SpriteTemplate gUnknown_83E7948 = +const struct SpriteTemplate gClampJawSpriteTemplate = { .tileTag = ANIM_TAG_CLAMP, .paletteTag = ANIM_TAG_CLAMP, .oam = &gOamData_AffineNormal_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_83E7910, - .callback = sub_80B7BD4, + .affineAnims = gAffineAnims_Bite, + .callback = AnimBite, }; -static const union AffineAnimCmd gUnknown_83E7960[] = +static const union AffineAnimCmd sAffineAnim_TearDrop_0[] = { AFFINEANIMCMD_FRAME(0xC0, 0xC0, 80, 0), AFFINEANIMCMD_FRAME(0x0, 0x0, -2, 8), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd gUnknown_83E7978[] = +static const union AffineAnimCmd sAffineAnim_TearDrop_1[] = { AFFINEANIMCMD_FRAME(0xC0, 0xC0, -80, 0), AFFINEANIMCMD_FRAME(0x0, 0x0, 2, 8), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd *const gUnknown_83E7990[] = +static const union AffineAnimCmd *const sAffineAnims_TearDrop[] = { - gUnknown_83E7960, - gUnknown_83E7978, + sAffineAnim_TearDrop_0, + sAffineAnim_TearDrop_1, }; -const struct SpriteTemplate gUnknown_83E7998 = +const struct SpriteTemplate gTearDropSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_BUBBLES, .paletteTag = ANIM_TAG_SMALL_BUBBLES, .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_83E7990, - .callback = sub_80B7C88, + .affineAnims = sAffineAnims_TearDrop, + .callback = AnimTearDrop, }; -static const union AnimCmd gUnknown_83E79B0[] = +static const union AnimCmd sAnim_ClawSlash_0[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(16, 4), @@ -156,7 +156,7 @@ static const union AnimCmd gUnknown_83E79B0[] = ANIMCMD_END, }; -static const union AnimCmd gUnknown_83E79C8[] = +static const union AnimCmd sAnim_ClawSlash_1[] = { ANIMCMD_FRAME(0, 4, .hFlip = TRUE), ANIMCMD_FRAME(16, 4, .hFlip = TRUE), @@ -166,24 +166,24 @@ static const union AnimCmd gUnknown_83E79C8[] = ANIMCMD_END, }; -static const union AnimCmd *const gUnknown_83E79E0[] = +static const union AnimCmd *const sAnims_ClawSlash[] = { - gUnknown_83E79B0, - gUnknown_83E79C8, + sAnim_ClawSlash_0, + sAnim_ClawSlash_1, }; -const struct SpriteTemplate gUnknown_83E79E8 = +const struct SpriteTemplate gClawSlashSpriteTemplate = { .tileTag = ANIM_TAG_CLAW_SLASH, .paletteTag = ANIM_TAG_CLAW_SLASH, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_83E79E0, + .anims = sAnims_ClawSlash, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B86B0, + .callback = AnimClawSlash, }; -void sub_80B78E0(u8 taskId) +void AnimTask_AttackerFadeToInvisible(u8 taskId) { s32 battler; @@ -195,10 +195,10 @@ void sub_80B78E0(u8 taskId) SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG1); else SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG2); - gTasks[taskId].func = sub_80B7954; + gTasks[taskId].func = AnimTask_AttackerFadeToInvisible_Step; } -static void sub_80B7954(u8 taskId) +static void AnimTask_AttackerFadeToInvisible_Step(u8 taskId) { u8 blendA = gTasks[taskId].data[1] >> 8; u8 blendB = gTasks[taskId].data[1]; @@ -222,15 +222,15 @@ static void sub_80B7954(u8 taskId) } } -void sub_80B79DC(u8 taskId) +void AnimTask_AttackerFadeFromInvisible(u8 taskId) { gTasks[taskId].data[0] = gBattleAnimArgs[0]; gTasks[taskId].data[1] = BLDALPHA_BLEND(0, 16); - gTasks[taskId].func = sub_80B7A14; + gTasks[taskId].func = AnimTask_AttackerFadeFromInvisible_Step; SetGpuReg(REG_OFFSET_BLDALPHA, gTasks[taskId].data[1]); } -static void sub_80B7A14(u8 taskId) +static void AnimTask_AttackerFadeFromInvisible_Step(u8 taskId) { u8 blendA = gTasks[taskId].data[1] >> 8; u8 blendB = gTasks[taskId].data[1]; @@ -255,7 +255,7 @@ static void sub_80B7A14(u8 taskId) } } -void sub_80B7A80(u8 taskId) +void AnimTask_InitAttackerFadeFromInvisible(u8 taskId) { SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16)); if (GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) == 1) @@ -306,7 +306,7 @@ static void sub_80B7B48(struct Sprite *sprite) DestroyAnimSprite(sprite); } -static void sub_80B7BD4(struct Sprite *sprite) +static void AnimBite(struct Sprite *sprite) { sprite->pos1.x += gBattleAnimArgs[0]; sprite->pos1.y += gBattleAnimArgs[1]; @@ -337,7 +337,7 @@ static void sub_80B7C50(struct Sprite *sprite) DestroySpriteAndMatrix(sprite); } -static void sub_80B7C88(struct Sprite *sprite) +static void AnimTearDrop(struct Sprite *sprite) { u8 battler; s8 xOffset; @@ -385,7 +385,7 @@ static void sub_80B7D88(struct Sprite *sprite) DestroySpriteAndMatrix(sprite); } -void sub_80B7DA4(u8 taskId) +void AnimTask_MoveAttackerMementoShadow(u8 taskId) { struct ScanlineEffectParams scanlineParams; struct BattleAnimBgData animBg; @@ -502,7 +502,7 @@ static void sub_80B7F58(u8 taskId) } } -void sub_80B8070(u8 taskId) +void AnimTask_MoveTargetMementoShadow(u8 taskId) { struct BattleAnimBgData animBg; struct ScanlineEffectParams scanlineParams; @@ -724,7 +724,7 @@ static void sub_80B856C(u8 priority) } } -void sub_80B85B8(u8 taskId) +void AnimTask_InitMementoShadow(u8 taskId) { bool8 toBG2 = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) ^ 1 ? TRUE : FALSE; @@ -748,7 +748,7 @@ void sub_80B8664(u8 taskId) DestroyAnimVisualTask(taskId); } -static void sub_80B86B0(struct Sprite *sprite) +static void AnimClawSlash(struct Sprite *sprite) { sprite->pos1.x += gBattleAnimArgs[0]; sprite->pos1.y += gBattleAnimArgs[1]; @@ -910,7 +910,7 @@ void AnimTask_SetGreyscaleOrOriginalPal(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_80B8B38(u8 taskId) +void GetIsDoomDesireHitTurn(u8 taskId) { if (gAnimMoveTurn < 2) gBattleAnimArgs[7] = 0; diff --git a/src/dragon.c b/src/dragon.c index d18cf25df..747efdb7c 100644 --- a/src/dragon.c +++ b/src/dragon.c @@ -5,10 +5,10 @@ #include "trig.h" static void sub_80B725C(struct Sprite *sprite); -static void sub_80B741C(struct Sprite *sprite); -static void sub_80B73AC(struct Sprite *sprite); -static void sub_80B7448(struct Sprite *sprite); -static void sub_80B77E4(struct Sprite *sprite); +static void AnimDragonFireToTarget(struct Sprite *sprite); +static void AnimDragonRageFirePlume(struct Sprite *sprite); +static void AnimDragonDanceOrb(struct Sprite *sprite); +static void AnimOverheatFlame(struct Sprite *sprite); static void sub_80B74D8(struct Sprite *sprite); static void sub_80B76B0(u8 taskId); static void sub_80B776C(struct Task *task); @@ -31,7 +31,7 @@ static const union AnimCmd *const gUnknown_83E7728[] = gUnknown_83E7710, }; -const struct SpriteTemplate gUnknown_83E772C = +const struct SpriteTemplate gOutrageFlameSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, @@ -42,7 +42,7 @@ const struct SpriteTemplate gUnknown_83E772C = .callback = sub_80B725C, }; -static const union AnimCmd gUnknown_83E7744[] = +static const union AnimCmd sAnim_DragonBreathFire_0[] = { ANIMCMD_FRAME(16, 3), ANIMCMD_FRAME(32, 3), @@ -50,7 +50,7 @@ static const union AnimCmd gUnknown_83E7744[] = ANIMCMD_JUMP(0), }; -static const union AnimCmd gUnknown_83E7754[] = +static const union AnimCmd sAnim_DragonBreathFire_1[] = { ANIMCMD_FRAME(16, 3, .vFlip = TRUE, .hFlip = TRUE), ANIMCMD_FRAME(32, 3, .vFlip = TRUE, .hFlip = TRUE), @@ -58,44 +58,44 @@ static const union AnimCmd gUnknown_83E7754[] = ANIMCMD_JUMP(0), }; -static const union AnimCmd *const gUnknown_83E7764[] = +static const union AnimCmd *const sAnims_DragonBreathFire[] = { - gUnknown_83E7744, - gUnknown_83E7754, + sAnim_DragonBreathFire_0, + sAnim_DragonBreathFire_1, }; -static const union AffineAnimCmd gUnknown_83E776C[] = +static const union AffineAnimCmd sAffineAnim_DragonBreathFire_0[] = { AFFINEANIMCMD_FRAME(0x50, 0x50, 127, 0), AFFINEANIMCMD_FRAME(0xD, 0xD, 0, 100), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd gUnknown_83E7784[] = +static const union AffineAnimCmd sAffineAnim_DragonBreathFire_1[] = { AFFINEANIMCMD_FRAME(0x50, 0x50, 0, 0), AFFINEANIMCMD_FRAME(0xD, 0xD, 0, 100), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd *const gUnknown_83E779C[] = +static const union AffineAnimCmd *const sAffineAnims_DragonBreathFire[] = { - gUnknown_83E776C, - gUnknown_83E7784, + sAffineAnim_DragonBreathFire_0, + sAffineAnim_DragonBreathFire_1, }; -const struct SpriteTemplate gUnknown_83E77A4 = +const struct SpriteTemplate gDragonBreathFireSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, .oam = &gOamData_AffineDouble_ObjNormal_32x32, - .anims = gUnknown_83E7764, + .anims = sAnims_DragonBreathFire, .images = NULL, - .affineAnims = gUnknown_83E779C, - .callback = sub_80B741C, + .affineAnims = sAffineAnims_DragonBreathFire, + .callback = AnimDragonFireToTarget, }; -const union AnimCmd gUnknown_83E77BC[] = +const union AnimCmd sAnim_DragonRageFirePlume[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(16, 5), @@ -105,23 +105,23 @@ const union AnimCmd gUnknown_83E77BC[] = ANIMCMD_END, }; -static const union AnimCmd *const gUnknown_83E77D4[] = +static const union AnimCmd *const sAnims_DragonRageFirePlume[] = { - gUnknown_83E77BC, + sAnim_DragonRageFirePlume, }; -const struct SpriteTemplate gUnknown_83E77D8 = +const struct SpriteTemplate gDragonRageFirePlumeSpriteTemplate = { .tileTag = ANIM_TAG_FIRE_PLUME, .paletteTag = ANIM_TAG_FIRE_PLUME, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_83E77D4, + .anims = sAnims_DragonRageFirePlume, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B73AC, + .callback = AnimDragonRageFirePlume, }; -static const union AnimCmd gUnknown_83E77F0[] = +static const union AnimCmd sAnim_DragonRageFire[] = { ANIMCMD_FRAME(16, 3), ANIMCMD_FRAME(32, 3), @@ -129,42 +129,42 @@ static const union AnimCmd gUnknown_83E77F0[] = ANIMCMD_JUMP(0), }; -static const union AnimCmd *const gUnknown_83E7800[] = +static const union AnimCmd *const sAnims_DragonRageFire[] = { - gUnknown_83E77F0, - gUnknown_83E77F0, + sAnim_DragonRageFire, + sAnim_DragonRageFire, }; -static const union AffineAnimCmd gUnknown_83E7808[] = +static const union AffineAnimCmd sAffineAnim_DragonRageFire_0[] = { AFFINEANIMCMD_FRAME(0x64, 0x64, 127, 1), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd gUnknown_83E7818[] = +static const union AffineAnimCmd sAffineAnim_DragonRageFire_1[] = { AFFINEANIMCMD_FRAME(0x64, 0x64, 0, 1), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd *const gUnknown_83E7828[] = +static const union AffineAnimCmd *const sAffineAnims_DragonRageFire[] = { - gUnknown_83E7808, - gUnknown_83E7818, + sAffineAnim_DragonRageFire_0, + sAffineAnim_DragonRageFire_1, }; -const struct SpriteTemplate gUnknown_83E7830 = +const struct SpriteTemplate gDragonRageFireSpitSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, .oam = &gOamData_AffineDouble_ObjNormal_32x32, - .anims = gUnknown_83E7800, + .anims = sAnims_DragonRageFire, .images = NULL, - .affineAnims = gUnknown_83E7828, - .callback = sub_80B741C, + .affineAnims = sAffineAnims_DragonRageFire, + .callback = AnimDragonFireToTarget, }; -const struct SpriteTemplate gUnknown_83E7848 = +const struct SpriteTemplate gDragonDanceOrbSpriteTemplate = { .tileTag = ANIM_TAG_HOLLOW_ORB, .paletteTag = ANIM_TAG_HOLLOW_ORB, @@ -172,10 +172,10 @@ const struct SpriteTemplate gUnknown_83E7848 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B7448, + .callback = AnimDragonDanceOrb, }; -const struct SpriteTemplate gUnknown_83E7860 = +const struct SpriteTemplate gOverheatFlameSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, @@ -183,7 +183,7 @@ const struct SpriteTemplate gUnknown_83E7860 = .anims = gUnknown_83E7728, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B77E4, + .callback = AnimOverheatFlame, }; static void sub_80B725C(struct Sprite *sprite) @@ -235,7 +235,7 @@ static void sub_80B72F8(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix); } -static void sub_80B73AC(struct Sprite *sprite) +static void AnimDragonRageFirePlume(struct Sprite *sprite) { if (gBattleAnimArgs[0] == 0) { @@ -253,14 +253,14 @@ static void sub_80B73AC(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix); } -static void sub_80B741C(struct Sprite *sprite) +static void AnimDragonFireToTarget(struct Sprite *sprite) { if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) StartSpriteAffineAnim(sprite, 1); sub_80B72F8(sprite); } -static void sub_80B7448(struct Sprite *sprite) +static void AnimDragonDanceOrb(struct Sprite *sprite) { u16 r5; u16 r0; @@ -319,7 +319,7 @@ static void sub_80B74D8(struct Sprite *sprite) } } -void sub_80B75E0(u8 taskId) +void AnimTask_DragonDanceWaver(u8 taskId) { struct ScanlineEffectParams sp; struct Task *task = &gTasks[taskId]; @@ -404,7 +404,7 @@ static void sub_80B776C(struct Task *task) task->data[5] = (task->data[5] + 9) & 0xFF; } -static void sub_80B77E4(struct Sprite *sprite) +static void AnimOverheatFlame(struct Sprite *sprite) { s32 i, r6 = (gBattleAnimArgs[2] * 3) / 5; diff --git a/src/electric.c b/src/electric.c index 908ce60a4..d3fe25924 100644 --- a/src/electric.c +++ b/src/electric.c @@ -4,22 +4,22 @@ #include "sound.h" #include "constants/songs.h" -static void sub_80ADBEC(struct Sprite *sprite); +static void AnimLightning(struct Sprite *sprite); static void sub_80ADC58(struct Sprite *sprite); static void sub_80ADCB8(struct Sprite *sprite); static void sub_80ADD4C(struct Sprite *sprite); -static void sub_80ADEB0(struct Sprite *sprite); -static void sub_80AE000(struct Sprite *sprite); -static void sub_80AE06C(struct Sprite *sprite); -static void sub_80AE1A0(struct Sprite *sprite); -static void sub_80AE420(struct Sprite *sprite); -static void sub_80AE470(struct Sprite *sprite); -static void sub_80AE71C(struct Sprite *sprite); -static void sub_80AE774(struct Sprite *sprite); -static void sub_80AE7DC(struct Sprite *sprite); -static void sub_80AEC34(struct Sprite *sprite); -static void sub_80AEC80(struct Sprite *sprite); -static void sub_80AEF60(struct Sprite *sprite); +static void AnimZapCannonSpark(struct Sprite *sprite); +static void AnimThunderboltOrb(struct Sprite *sprite); +static void AnimSparkElectricityFlashing(struct Sprite *sprite); +static void AnimElectricity(struct Sprite *sprite); +static void AnimElectricBoltSegment(struct Sprite *sprite); +static void AnimThunderWave(struct Sprite *sprite); +static void AnimGrowingChargeOrb(struct Sprite *sprite); +static void AnimElectricPuff(struct Sprite *sprite); +static void AnimVoltTackleOrbSlide(struct Sprite *sprite); +static void AnimVoltTackleBolt(struct Sprite *sprite); +static void AnimGrowingShockWaveOrb(struct Sprite *sprite); +static void AnimShockWaveProgressingBolt(struct Sprite *sprite); static void sub_80ADC3C(struct Sprite *sprite); static void sub_80ADC9C(struct Sprite *sprite); static void sub_80ADF38(struct Sprite *sprite); @@ -34,7 +34,7 @@ static bool8 sub_80AEE74(struct Task *task, u8 taskId); static bool8 sub_80AF058(struct Task *task, u8 taskId); static void sub_80AF0C8(struct Sprite *sprite); -static const union AnimCmd gUnknown_83E5F1C[] = +static const union AnimCmd sAnim_Lightning[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(16, 5), @@ -44,20 +44,20 @@ static const union AnimCmd gUnknown_83E5F1C[] = ANIMCMD_END, }; -static const union AnimCmd *const gUnknown_83E5F34[] = +static const union AnimCmd *const sAnims_Lightning[] = { - gUnknown_83E5F1C, + sAnim_Lightning, }; -const struct SpriteTemplate gUnknown_83E5F38 = +const struct SpriteTemplate gLightningSpriteTemplate = { .tileTag = ANIM_TAG_LIGHTNING, .paletteTag = ANIM_TAG_LIGHTNING, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_83E5F34, + .anims = sAnims_Lightning, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80ADBEC, + .callback = AnimLightning, }; static const union AffineAnimCmd gUnknown_83E5F50[] = @@ -111,7 +111,7 @@ const struct SpriteTemplate gUnknown_83E5FAC = .callback = sub_80ADCB8, }; -const struct SpriteTemplate gUnknown_83E5FC4 = +const struct SpriteTemplate gSparkElectricitySpriteTemplate = { .tileTag = ANIM_TAG_SPARK_2, .paletteTag = ANIM_TAG_SPARK_2, @@ -122,7 +122,7 @@ const struct SpriteTemplate gUnknown_83E5FC4 = .callback = sub_80ADD4C, }; -const struct SpriteTemplate gUnknown_83E5FDC = +const struct SpriteTemplate gZapCannonBallSpriteTemplate = { .tileTag = ANIM_TAG_BLACK_BALL_2, .paletteTag = ANIM_TAG_BLACK_BALL_2, @@ -133,29 +133,29 @@ const struct SpriteTemplate gUnknown_83E5FDC = .callback = TranslateAnimSpriteToTargetMonLocation, }; -static const union AffineAnimCmd gUnknown_83E5FF4[] = +static const union AffineAnimCmd sAffineAnim_FlashingSpark[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 20, 1), AFFINEANIMCMD_JUMP(0), }; -static const union AffineAnimCmd *const gUnknown_83E6004[] = +static const union AffineAnimCmd *const sAffineAnims_FlashingSpark[] = { - gUnknown_83E5FF4, + sAffineAnim_FlashingSpark, }; -const struct SpriteTemplate gUnknown_83E6008 = +const struct SpriteTemplate gZapCannonSparkSpriteTemplate = { .tileTag = ANIM_TAG_SPARK_2, .paletteTag = ANIM_TAG_SPARK_2, .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_83E6004, - .callback = sub_80ADEB0, + .affineAnims = sAffineAnims_FlashingSpark, + .callback = AnimZapCannonSpark, }; -static const union AnimCmd gUnknown_83E6020[] = +static const union AnimCmd sAnim_ThunderboltOrb[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(16, 6), @@ -163,12 +163,12 @@ static const union AnimCmd gUnknown_83E6020[] = ANIMCMD_JUMP(0), }; -static const union AnimCmd *const gUnknown_83E6030[] = +static const union AnimCmd *const sAnims_ThunderboltOrb[] = { - gUnknown_83E6020, + sAnim_ThunderboltOrb, }; -static const union AffineAnimCmd gUnknown_83E6034[] = +static const union AffineAnimCmd sAffineAnim_ThunderboltOrb[] = { AFFINEANIMCMD_FRAME(0xE8, 0xE8, 0, 0), AFFINEANIMCMD_FRAME(-0x8, -0x8, 0, 10), @@ -176,31 +176,31 @@ static const union AffineAnimCmd gUnknown_83E6034[] = AFFINEANIMCMD_JUMP(1), }; -static const union AffineAnimCmd *const gUnknown_83E6054[] = +static const union AffineAnimCmd *const sAffineAnims_ThunderboltOrb[] = { - gUnknown_83E6034, + sAffineAnim_ThunderboltOrb, }; -const struct SpriteTemplate gUnknown_83E6058 = +const struct SpriteTemplate gThunderboltOrbSpriteTemplate = { .tileTag = ANIM_TAG_SHOCK_3, .paletteTag = ANIM_TAG_SHOCK_3, .oam = &gOamData_AffineNormal_ObjNormal_32x32, - .anims = gUnknown_83E6030, + .anims = sAnims_ThunderboltOrb, .images = NULL, - .affineAnims = gUnknown_83E6054, - .callback = sub_80AE000, + .affineAnims = sAffineAnims_ThunderboltOrb, + .callback = AnimThunderboltOrb, }; -const struct SpriteTemplate gUnknown_83E6070 = +const struct SpriteTemplate gSparkElectricityFlashingSpriteTemplate = { .tileTag = ANIM_TAG_SPARK_2, .paletteTag = ANIM_TAG_SPARK_2, .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_83E6004, - .callback = sub_80AE06C, + .affineAnims = sAffineAnims_FlashingSpark, + .callback = AnimSparkElectricityFlashing, }; const struct SpriteTemplate gElectricitySpriteTemplate = @@ -211,10 +211,10 @@ const struct SpriteTemplate gElectricitySpriteTemplate = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80AE1A0, + .callback = AnimElectricity, }; -static const struct SpriteTemplate gUnknown_83E60A0 = +static const struct SpriteTemplate sElectricBoltSegmentSpriteTemplate = { .tileTag = ANIM_TAG_SPARK, .paletteTag = ANIM_TAG_SPARK, @@ -222,10 +222,10 @@ static const struct SpriteTemplate gUnknown_83E60A0 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80AE420, + .callback = AnimElectricBoltSegment, }; -const struct SpriteTemplate gUnknown_83E60B8 = +const struct SpriteTemplate gThunderWaveSpriteTemplate = { .tileTag = ANIM_TAG_SPARK_H, .paletteTag = ANIM_TAG_SPARK_H, @@ -233,10 +233,10 @@ const struct SpriteTemplate gUnknown_83E60B8 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80AE470, + .callback = AnimThunderWave, }; -static const s8 gUnknown_83E60D0[][2] = +static const s8 sElectricChargingParticleCoordOffsets[][2] = { { 58, -60}, {-56, -36}, @@ -256,7 +256,7 @@ static const s8 gUnknown_83E60D0[][2] = { 48, 48}, }; -static const union AnimCmd gUnknown_83E60F0[] = +static const union AnimCmd sAnim_ElectricChargingParticles_0[] = { ANIMCMD_FRAME(3, 1), ANIMCMD_FRAME(2, 1), @@ -265,7 +265,7 @@ static const union AnimCmd gUnknown_83E60F0[] = ANIMCMD_END, }; -static const union AnimCmd gUnknown_83E6104[] = +static const union AnimCmd sAnim_ElectricChargingParticles_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -274,24 +274,24 @@ static const union AnimCmd gUnknown_83E6104[] = ANIMCMD_END, }; -static const union AnimCmd *const gUnknown_83E6118[] = +static const union AnimCmd *const sAnims_ElectricChargingParticles[] = { - gUnknown_83E60F0, - gUnknown_83E6104, + sAnim_ElectricChargingParticles_0, + sAnim_ElectricChargingParticles_1, }; -static const struct SpriteTemplate gUnknown_83E6120 = +static const struct SpriteTemplate gElectricChargingParticlesSpriteTemplate = { .tileTag = ANIM_TAG_ELECTRIC_ORBS, .paletteTag = ANIM_TAG_ELECTRIC_ORBS, .oam = &gOamData_AffineOff_ObjNormal_8x8, - .anims = gUnknown_83E6118, + .anims = sAnims_ElectricChargingParticles, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, }; -static const union AffineAnimCmd gUnknown_83E6138[] = +static const union AffineAnimCmd sAffineAnim_GrowingElectricOrb_0[] = { AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 60), @@ -303,7 +303,7 @@ static const union AffineAnimCmd gUnknown_83E6138[] = AFFINEANIMCMD_END, }; -static const union AffineAnimCmd gUnknown_83E6178[] = +static const union AffineAnimCmd sAffineAnim_GrowingElectricOrb_1[] = { AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 30), @@ -313,7 +313,7 @@ static const union AffineAnimCmd gUnknown_83E6178[] = AFFINEANIMCMD_JUMP(3), }; -static const union AffineAnimCmd gUnknown_83E61A8[] = +static const union AffineAnimCmd sAffineAnim_GrowingElectricOrb_2[] = { AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 30), @@ -321,25 +321,25 @@ static const union AffineAnimCmd gUnknown_83E61A8[] = AFFINEANIMCMD_END, }; -static const union AffineAnimCmd *const gUnknown_83E61C8[] = +static const union AffineAnimCmd *const sAffineAnims_GrowingElectricOrb[] = { - gUnknown_83E6138, - gUnknown_83E6178, - gUnknown_83E61A8, + sAffineAnim_GrowingElectricOrb_0, + sAffineAnim_GrowingElectricOrb_1, + sAffineAnim_GrowingElectricOrb_2, }; -const struct SpriteTemplate gUnknown_83E61D4 = +const struct SpriteTemplate gGrowingChargeOrbSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, .oam = &gOamData_AffineNormal_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_83E61C8, - .callback = sub_80AE71C, + .affineAnims = sAffineAnims_GrowingElectricOrb, + .callback = AnimGrowingChargeOrb, }; -static const union AnimCmd gUnknown_83E61EC[] = +static const union AnimCmd sAnim_ElectricPuff[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(16, 3), @@ -348,99 +348,99 @@ static const union AnimCmd gUnknown_83E61EC[] = ANIMCMD_END, }; -static const union AnimCmd *const gUnknown_83E6200[] = +static const union AnimCmd *const sAnims_ElectricPuff[] = { - gUnknown_83E61EC, + sAnim_ElectricPuff, }; -const struct SpriteTemplate gUnknown_83E6204 = +const struct SpriteTemplate gElectricPuffSpriteTemplate = { .tileTag = ANIM_TAG_ELECTRICITY, .paletteTag = ANIM_TAG_ELECTRICITY, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_83E6200, + .anims = sAnims_ElectricPuff, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80AE774, + .callback = AnimElectricPuff, }; -const struct SpriteTemplate gUnknown_83E621C = +const struct SpriteTemplate gVoltTackleOrbSlideSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, .oam = &gOamData_AffineNormal_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_83E61C8, - .callback = sub_80AE7DC, + .affineAnims = sAffineAnims_GrowingElectricOrb, + .callback = AnimVoltTackleOrbSlide, }; -static const union AnimCmd gUnknown_83E6234[] = +static const union AnimCmd sAnim_VoltTackleBolt_0[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_END, }; -static const union AnimCmd gUnknown_83E623C[] = +static const union AnimCmd sAnim_VoltTackleBolt_1[] = { ANIMCMD_FRAME(2, 3), ANIMCMD_END, }; -static const union AnimCmd gUnknown_83E6244[] = +static const union AnimCmd sAnim_VoltTackleBolt_2[] = { ANIMCMD_FRAME(4, 3), ANIMCMD_END, }; -static const union AnimCmd gUnknown_83E624C[] = +static const union AnimCmd sAnim_VoltTackleBolt_3[] = { ANIMCMD_FRAME(6, 3), ANIMCMD_END, }; -static const union AnimCmd *const gUnknown_83E6254[] = +static const union AnimCmd *const sAnims_VoltTackleBolt[] = { - gUnknown_83E6234, - gUnknown_83E623C, - gUnknown_83E6244, - gUnknown_83E624C, + sAnim_VoltTackleBolt_0, + sAnim_VoltTackleBolt_1, + sAnim_VoltTackleBolt_2, + sAnim_VoltTackleBolt_3, }; -static const union AffineAnimCmd gUnknown_83E6264[] = +static const union AffineAnimCmd sAffineAnim_VoltTackleBolt[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, 64, 0), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd *const gUnknown_83E6274[] = +static const union AffineAnimCmd *const sAffineAnims_VoltTackleBolt[] = { - gUnknown_83E6264, + sAffineAnim_VoltTackleBolt, }; -static const struct SpriteTemplate gUnknown_83E6278 = +static const struct SpriteTemplate gVoltTackleBoltSpriteTemplate = { .tileTag = ANIM_TAG_SPARK, .paletteTag = ANIM_TAG_SPARK, .oam = &gOamData_AffineDouble_ObjNormal_8x16, - .anims = gUnknown_83E6254, + .anims = sAnims_VoltTackleBolt, .images = NULL, - .affineAnims = gUnknown_83E6274, - .callback = sub_80AEC34, + .affineAnims = sAffineAnims_VoltTackleBolt, + .callback = AnimVoltTackleBolt, }; -const struct SpriteTemplate gUnknown_83E6290 = +const struct SpriteTemplate gGrowingShockWaveOrbSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, .oam = &gOamData_AffineNormal_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_83E61C8, - .callback = sub_80AEC80, + .affineAnims = sAffineAnims_GrowingElectricOrb, + .callback = AnimGrowingShockWaveOrb, }; -static const struct SpriteTemplate gUnknown_83E62A8 = +static const struct SpriteTemplate sShockWaveProgressingBoltSpriteTemplate = { .tileTag = ANIM_TAG_SPARK, .paletteTag = ANIM_TAG_SPARK, @@ -448,10 +448,10 @@ static const struct SpriteTemplate gUnknown_83E62A8 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80AEF60, + .callback = AnimShockWaveProgressingBolt, }; -static void sub_80ADBEC(struct Sprite *sprite) +static void AnimLightning(struct Sprite *sprite) { if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) sprite->pos1.x -= gBattleAnimArgs[0]; @@ -555,7 +555,7 @@ static void sub_80ADD4C(struct Sprite *sprite) sprite->callback = sub_80B1D3C; } -static void sub_80ADEB0(struct Sprite *sprite) +static void AnimZapCannonSpark(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, 1); sprite->data[0] = gBattleAnimArgs[3]; @@ -599,7 +599,7 @@ static void sub_80ADFB0(struct Sprite *sprite) DestroyAnimSprite(sprite); } -static void sub_80AE000(struct Sprite *sprite) +static void AnimThunderboltOrb(struct Sprite *sprite) { if (IsContest() || GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) gBattleAnimArgs[1] = -gBattleAnimArgs[1]; @@ -611,7 +611,7 @@ static void sub_80AE000(struct Sprite *sprite) sprite->callback = sub_80ADFB0; } -static void sub_80AE06C(struct Sprite *sprite) +static void AnimSparkElectricityFlashing(struct Sprite *sprite) { u8 battler; @@ -644,7 +644,7 @@ static void sub_80AE130(struct Sprite *sprite) DestroyAnimSprite(sprite); } -static void sub_80AE1A0(struct Sprite *sprite) +static void AnimElectricity(struct Sprite *sprite) { InitSpritePosToAnimTarget(sprite, FALSE); sprite->oam.tileNum += gBattleAnimArgs[3] * 4; @@ -657,7 +657,7 @@ static void sub_80AE1A0(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void sub_80AE220(u8 taskId) +void AnimTask_ElectricBolt(u8 taskId) { gTasks[taskId].data[0] = GetBattlerSpriteCoord(gBattleAnimTarget, 0) + gBattleAnimArgs[0]; gTasks[taskId].data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + gBattleAnimArgs[1]; @@ -692,30 +692,30 @@ static void sub_80AE278(u8 taskId) { case 0: r12 *= 1; - spriteId = CreateSprite(&gUnknown_83E60A0, x, y + r12, 2); + spriteId = CreateSprite(&sElectricBoltSegmentSpriteTemplate, x, y + r12, 2); ++r7; break; case 2: r12 *= 2; r8 += r2; - spriteId = CreateSprite(&gUnknown_83E60A0, x, y + r12, 2); + spriteId = CreateSprite(&sElectricBoltSegmentSpriteTemplate, x, y + r12, 2); ++r7; break; case 4: r12 *= 3; r8 += r2 * 2; - spriteId = CreateSprite(&gUnknown_83E60A0, x, y + r12, 2); + spriteId = CreateSprite(&sElectricBoltSegmentSpriteTemplate, x, y + r12, 2); ++r7; break; case 6: r12 *= 4; r8 += r2 * 3; - spriteId = CreateSprite(&gUnknown_83E60A0, x, y + r12, 2); + spriteId = CreateSprite(&sElectricBoltSegmentSpriteTemplate, x, y + r12, 2); ++r7; break; case 8: r12 *= 5; - spriteId = CreateSprite(&gUnknown_83E60A0, x, y + r12, 2); + spriteId = CreateSprite(&sElectricBoltSegmentSpriteTemplate, x, y + r12, 2); ++r7; break; case 10: @@ -731,7 +731,7 @@ static void sub_80AE278(u8 taskId) ++gTasks[taskId].data[10]; } -static void sub_80AE420(struct Sprite *sprite) +static void AnimElectricBoltSegment(struct Sprite *sprite) { if (!sprite->data[0]) { @@ -747,13 +747,13 @@ static void sub_80AE420(struct Sprite *sprite) DestroySprite(sprite); } -static void sub_80AE470(struct Sprite *sprite) +static void AnimThunderWave(struct Sprite *sprite) { u8 spriteId; sprite->pos1.x += gBattleAnimArgs[0]; sprite->pos1.y += gBattleAnimArgs[1]; - spriteId = CreateSprite(&gUnknown_83E60B8, sprite->pos1.x + 32, sprite->pos1.y, sprite->subpriority); + spriteId = CreateSprite(&gThunderWaveSpriteTemplate, sprite->pos1.x + 32, sprite->pos1.y, sprite->subpriority); gSprites[spriteId].oam.tileNum += 8; ++gAnimVisualTaskCount; gSprites[spriteId].callback = sub_80AE4F4; @@ -771,7 +771,7 @@ static void sub_80AE4F4(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_80AE540(u8 taskId) +void AnimTask_ElectricChargingParticles(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -807,13 +807,13 @@ static void sub_80AE5BC(u8 taskId) u8 spriteId; task->data[12] = 0; - spriteId = CreateSprite(&gUnknown_83E6120, task->data[14], task->data[15], 2); + spriteId = CreateSprite(&gElectricChargingParticlesSpriteTemplate, task->data[14], task->data[15], 2); if (spriteId != MAX_SPRITES) { struct Sprite *sprite = &gSprites[spriteId]; - sprite->pos1.x += gUnknown_83E60D0[task->data[9]][0]; - sprite->pos1.y += gUnknown_83E60D0[task->data[9]][1]; + sprite->pos1.x += sElectricChargingParticleCoordOffsets[task->data[9]][0]; + sprite->pos1.y += sElectricChargingParticleCoordOffsets[task->data[9]][1]; sprite->data[0] = 40 - task->data[8] * 5; sprite->data[1] = sprite->pos1.x; sprite->data[2] = task->data[14]; @@ -857,7 +857,7 @@ static void sub_80AE704(struct Sprite *sprite) sprite->callback = sub_80AE6D0; } -static void sub_80AE71C(struct Sprite *sprite) +static void AnimGrowingChargeOrb(struct Sprite *sprite) { if (!gBattleAnimArgs[0]) { @@ -873,7 +873,7 @@ static void sub_80AE71C(struct Sprite *sprite) sprite->callback = RunStoredCallbackWhenAffineAnimEnds; } -static void sub_80AE774(struct Sprite *sprite) +static void AnimElectricPuff(struct Sprite *sprite) { if (!gBattleAnimArgs[0]) { @@ -891,7 +891,7 @@ static void sub_80AE774(struct Sprite *sprite) sprite->callback = RunStoredCallbackWhenAnimEnds; } -static void sub_80AE7DC(struct Sprite *sprite) +static void AnimVoltTackleOrbSlide(struct Sprite *sprite) { StartSpriteAffineAnim(sprite, 1); sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); @@ -920,7 +920,7 @@ static void sub_80AE83C(struct Sprite *sprite) } } -void sub_80AE8A0(u8 taskId) +void AnimTask_VoltTackleAttackerReappear(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -975,7 +975,7 @@ void sub_80AE8A0(u8 taskId) } } -void sub_80AEA10(u8 taskId) +void AnimTask_VoltTackleBolt(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -1049,7 +1049,7 @@ void sub_80AEA10(u8 taskId) static bool8 sub_80AEB98(struct Task *task, u8 taskId) { - u8 spriteId = CreateSprite(&gUnknown_83E6278, task->data[3], task->data[5], 35); + u8 spriteId = CreateSprite(&gVoltTackleBoltSpriteTemplate, task->data[3], task->data[5], 35); if (spriteId != MAX_SPRITES) { @@ -1070,7 +1070,7 @@ static bool8 sub_80AEB98(struct Task *task, u8 taskId) return FALSE; } -static void sub_80AEC34(struct Sprite *sprite) +static void AnimVoltTackleBolt(struct Sprite *sprite) { if (++sprite->data[0] > 12) { @@ -1080,7 +1080,7 @@ static void sub_80AEC34(struct Sprite *sprite) } } -static void sub_80AEC80(struct Sprite *sprite) +static void AnimGrowingShockWaveOrb(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -1097,7 +1097,7 @@ static void sub_80AEC80(struct Sprite *sprite) } } -void sub_80AECE0(u8 taskId) +void AnimTask_ShockWaveProgressingBolt(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -1174,7 +1174,7 @@ void sub_80AECE0(u8 taskId) static bool8 sub_80AEE74(struct Task *task, u8 taskId) { - u8 spriteId = CreateSprite(&gUnknown_83E62A8, task->data[6], task->data[7], 35); + u8 spriteId = CreateSprite(&sShockWaveProgressingBoltSpriteTemplate, task->data[6], task->data[7], 35); if (spriteId != MAX_SPRITES) { gSprites[spriteId].oam.tileNum += task->data[4]; @@ -1206,7 +1206,7 @@ static bool8 sub_80AEE74(struct Task *task, u8 taskId) } } -static void sub_80AEF60(struct Sprite *sprite) +static void AnimShockWaveProgressingBolt(struct Sprite *sprite) { if (++sprite->data[0] > 12) { @@ -1215,7 +1215,7 @@ static void sub_80AEF60(struct Sprite *sprite) } } -void sub_80AEFA0(u8 taskId) +void AnimTask_ShockWaveLightning(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -1247,7 +1247,7 @@ void sub_80AEFA0(u8 taskId) static bool8 sub_80AF058(struct Task *task, u8 taskId) { - u8 spriteId = CreateSprite(&gUnknown_83E5F38, task->data[13], task->data[14], task->data[12]); + u8 spriteId = CreateSprite(&gLightningSpriteTemplate, task->data[13], task->data[14], task->data[12]); if (spriteId != MAX_SPRITES) { diff --git a/src/fighting.c b/src/fighting.c index fcfee5c54..ab477cd43 100644 --- a/src/fighting.c +++ b/src/fighting.c @@ -6,23 +6,23 @@ #include "trig.h" static void unc_080B08A0(struct Sprite *sprite); -static void sub_80B08DC(struct Sprite *sprite); -static void sub_80B0928(struct Sprite *sprite); +static void AnimSlideHandOrFootToTarget(struct Sprite *sprite); +static void AnimJumpKick(struct Sprite *sprite); static void AnimBasicFistOrFoot(struct Sprite *sprite); -static void sub_80B09A4(struct Sprite *sprite); -static void sub_80B0B80(struct Sprite *sprite); -static void sub_80B0C28(struct Sprite *sprite); +static void AnimFistOrFootRandomPos(struct Sprite *sprite); +static void AnimCrossChopHand(struct Sprite *sprite); +static void AnimSlidingKick(struct Sprite *sprite); static void AnimSpinningKickOrPunch(struct Sprite *sprite); static void AnimStompFoot(struct Sprite *sprite); -static void sub_80B0DF0(struct Sprite *sprite); -static void sub_80B0E80(struct Sprite *sprite); -static void sub_80B0F68(struct Sprite *sprite); -static void sub_80B107C(struct Sprite *sprite); -static void sub_80B1188(struct Sprite *sprite); -static void sub_80B12E8(struct Sprite *sprite); -static void sub_80B13F8(struct Sprite *sprite); -static void sub_80B1484(struct Sprite *sprite); -static void sub_80B14F0(struct Sprite *sprite); +static void AnimDizzyPunchDuck(struct Sprite *sprite); +static void AnimBrickBreakWall(struct Sprite *sprite); +static void AnimBrickBreakWallShard(struct Sprite *sprite); +static void AnimSuperpowerOrb(struct Sprite *sprite); +static void AnimSuperpowerRock(struct Sprite *sprite); +static void AnimSuperpowerFireball(struct Sprite *sprite); +static void AnimArmThrustHit(struct Sprite *sprite); +static void AnimRevengeScratch(struct Sprite *sprite); +static void AnimFocusPunchFist(struct Sprite *sprite); static void sub_80B0B2C(struct Sprite *sprite); static void sub_80B0BD8(struct Sprite *sprite); static void sub_80B0CB4(struct Sprite *sprite); @@ -46,73 +46,73 @@ const struct SpriteTemplate gUnknown_83E668C = .callback = unc_080B08A0, }; -static const union AnimCmd gUnknown_83E66A4[] = +static const union AnimCmd sAnim_HandOrFoot[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_83E66AC[] = +static const union AnimCmd sAnim_SlidingKick_0[] = { ANIMCMD_FRAME(16, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_83E66B4[] = +static const union AnimCmd sAnim_SlidingKick_1[] = { ANIMCMD_FRAME(32, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_83E66BC[] = +static const union AnimCmd sAnim_CrossChopHand_0[] = { ANIMCMD_FRAME(48, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_83E66C4[] = +static const union AnimCmd sAnim_CrossChopHand_1[] = { ANIMCMD_FRAME(48, 1, .hFlip = TRUE), ANIMCMD_END, }; -static const union AnimCmd *const gUnknown_83E66CC[] = +static const union AnimCmd *const sAnims_HandOrFoot[] = { - gUnknown_83E66A4, + sAnim_HandOrFoot, }; -static const union AnimCmd *const gUnknown_83E66D0[] = +static const union AnimCmd *const sAnims_SlidingKick[] = { - gUnknown_83E66AC, - gUnknown_83E66B4, + sAnim_SlidingKick_0, + sAnim_SlidingKick_1, }; -static const union AnimCmd *const gUnknown_83E66D8[] = +static const union AnimCmd *const sAnims_CrossChopHand[] = { - gUnknown_83E66BC, - gUnknown_83E66C4, + sAnim_CrossChopHand_0, + sAnim_CrossChopHand_1, }; -const struct SpriteTemplate gUnknown_83E66E0 = +const struct SpriteTemplate gKarateChopSpriteTemplate = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_83E66CC, + .anims = sAnims_HandOrFoot, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B08DC, + .callback = AnimSlideHandOrFootToTarget, }; -const struct SpriteTemplate gUnknown_83E66F8 = +const struct SpriteTemplate gJumpKickSpriteTemplate = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_83E66CC, + .anims = sAnims_HandOrFoot, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B0928, + .callback = AnimJumpKick, }; const struct SpriteTemplate gFistFootSpriteTemplate = @@ -120,78 +120,78 @@ const struct SpriteTemplate gFistFootSpriteTemplate = .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_83E66CC, + .anims = sAnims_HandOrFoot, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimBasicFistOrFoot, }; -const struct SpriteTemplate gUnknown_83E6728 = +const struct SpriteTemplate gFistFootRandomPosSpriteTemplate = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_83E66CC, + .anims = sAnims_HandOrFoot, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B09A4, + .callback = AnimFistOrFootRandomPos, }; -const struct SpriteTemplate gUnknown_83E6740 = +const struct SpriteTemplate gCrossChopHandSpriteTemplate = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_83E66D8, + .anims = sAnims_CrossChopHand, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B0B80, + .callback = AnimCrossChopHand, }; -const struct SpriteTemplate gUnknown_83E6758 = +const struct SpriteTemplate gSlidingKickSpriteTemplate = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_83E66D0, + .anims = sAnims_SlidingKick, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B0C28, + .callback = AnimSlidingKick, }; -static const union AffineAnimCmd gUnknown_83E6770[] = +static const union AffineAnimCmd sAffineAnim_SpinningHandOrFoot[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), AFFINEANIMCMD_FRAME(-0x8, -0x8, 20, 1), AFFINEANIMCMD_JUMP(1), }; -static const union AffineAnimCmd *const gUnknown_83E6788[] = +static const union AffineAnimCmd *const sAffineAnims_SpinningHandOrFoot[] = { - gUnknown_83E6770, + sAffineAnim_SpinningHandOrFoot, }; -const struct SpriteTemplate gUnknown_83E678C = +const struct SpriteTemplate gSpinningHandOrFootSpriteTemplate = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, .oam = &gOamData_AffineDouble_ObjNormal_32x32, - .anims = gUnknown_83E66CC, + .anims = sAnims_HandOrFoot, .images = NULL, - .affineAnims = gUnknown_83E6788, + .affineAnims = sAffineAnims_SpinningHandOrFoot, .callback = AnimSpinningKickOrPunch, }; -static const union AffineAnimCmd gUnknown_83E67A4[] = +static const union AffineAnimCmd sAffineAnim_MegaPunchKick[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), AFFINEANIMCMD_FRAME(-0x4, -0x4, 20, 1), AFFINEANIMCMD_JUMP(1), }; -static const union AffineAnimCmd *const gUnknown_83E67BC[] = +static const union AffineAnimCmd *const sAffineAnims_MegaPunchKick[] = { - gUnknown_83E67A4, + sAffineAnim_MegaPunchKick, }; const struct SpriteTemplate gMegaPunchKickSpriteTemplate = @@ -199,24 +199,24 @@ const struct SpriteTemplate gMegaPunchKickSpriteTemplate = .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, .oam = &gOamData_AffineDouble_ObjNormal_32x32, - .anims = gUnknown_83E66CC, + .anims = sAnims_HandOrFoot, .images = NULL, - .affineAnims = gUnknown_83E67BC, + .affineAnims = sAffineAnims_MegaPunchKick, .callback = AnimSpinningKickOrPunch, }; -const struct SpriteTemplate gUnknown_83E67D8 = +const struct SpriteTemplate gStompFootSpriteTemplate = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_83E66D0, + .anims = sAnims_SlidingKick, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimStompFoot, }; -const struct SpriteTemplate gUnknown_83E67F0 = +const struct SpriteTemplate gDizzyPunchDuckSpriteTemplate = { .tileTag = ANIM_TAG_DUCK, .paletteTag = ANIM_TAG_DUCK, @@ -224,10 +224,10 @@ const struct SpriteTemplate gUnknown_83E67F0 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B0DF0, + .callback = AnimDizzyPunchDuck, }; -const struct SpriteTemplate gUnknown_83E6808 = +const struct SpriteTemplate gBrickBreakWallSpriteTemplate = { .tileTag = ANIM_TAG_BLUE_LIGHT_WALL, .paletteTag = ANIM_TAG_BLUE_LIGHT_WALL, @@ -235,10 +235,10 @@ const struct SpriteTemplate gUnknown_83E6808 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B0E80, + .callback = AnimBrickBreakWall, }; -const struct SpriteTemplate gUnknown_83E6820 = +const struct SpriteTemplate gBrickBreakWallShardSpriteTemplate = { .tileTag = ANIM_TAG_TORN_METAL, .paletteTag = ANIM_TAG_TORN_METAL, @@ -246,10 +246,10 @@ const struct SpriteTemplate gUnknown_83E6820 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B0F68, + .callback = AnimBrickBreakWallShard, }; -static const union AffineAnimCmd gUnknown_83E6838[] = +static const union AffineAnimCmd sAffineAnim_SuperpowerOrb[] = { AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 0), AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 64), @@ -258,23 +258,23 @@ static const union AffineAnimCmd gUnknown_83E6838[] = AFFINEANIMCMD_JUMP(2), }; -static const union AffineAnimCmd *const gUnknown_83E6860[] = +static const union AffineAnimCmd *const sAffineAnims_SuperpowerOrb[] = { - gUnknown_83E6838, + sAffineAnim_SuperpowerOrb, }; -const struct SpriteTemplate gUnknown_83E6864 = +const struct SpriteTemplate gSuperpowerOrbSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, .oam = &gOamData_AffineDouble_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_83E6860, - .callback = sub_80B107C, + .affineAnims = sAffineAnims_SuperpowerOrb, + .callback = AnimSuperpowerOrb, }; -const struct SpriteTemplate gUnknown_83E687C = +const struct SpriteTemplate gSuperpowerRockSpriteTemplate = { .tileTag = ANIM_TAG_FLAT_ROCK, .paletteTag = ANIM_TAG_FLAT_ROCK, @@ -282,10 +282,10 @@ const struct SpriteTemplate gUnknown_83E687C = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B1188, + .callback = AnimSuperpowerRock, }; -const struct SpriteTemplate gUnknown_83E6894 = +const struct SpriteTemplate gSuperpowerFireballSpriteTemplate = { .tileTag = ANIM_TAG_METEOR, .paletteTag = ANIM_TAG_METEOR, @@ -293,21 +293,21 @@ const struct SpriteTemplate gUnknown_83E6894 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B12E8, + .callback = AnimSuperpowerFireball, }; -const struct SpriteTemplate gUnknown_83E68AC = +const struct SpriteTemplate gArmThrustHandSpriteTemplate = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_83E66CC, + .anims = sAnims_HandOrFoot, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B13F8, + .callback = AnimArmThrustHit, }; -static const union AnimCmd gUnknown_83E68C4[] = +static const union AnimCmd sAnim_RevengeSmallScratch_0[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(16, 4), @@ -315,7 +315,7 @@ static const union AnimCmd gUnknown_83E68C4[] = ANIMCMD_END, }; -static const union AnimCmd gUnknown_83E68D4[] = +static const union AnimCmd sAnim_RevengeSmallScratch_1[] = { ANIMCMD_FRAME(0, 4, .vFlip = TRUE), ANIMCMD_FRAME(16, 4, .vFlip = TRUE), @@ -323,7 +323,7 @@ static const union AnimCmd gUnknown_83E68D4[] = ANIMCMD_END, }; -static const union AnimCmd gUnknown_83E68E4[] = +static const union AnimCmd sAnim_RevengeSmallScratch_2[] = { ANIMCMD_FRAME(0, 4, .hFlip = TRUE), ANIMCMD_FRAME(16, 4, .hFlip = TRUE), @@ -331,84 +331,84 @@ static const union AnimCmd gUnknown_83E68E4[] = ANIMCMD_END, }; -static const union AnimCmd *const gUnknown_83E68F4[] = +static const union AnimCmd *const sAnims_RevengeSmallScratch[] = { - gUnknown_83E68C4, - gUnknown_83E68D4, - gUnknown_83E68E4, + sAnim_RevengeSmallScratch_0, + sAnim_RevengeSmallScratch_1, + sAnim_RevengeSmallScratch_2, }; -const struct SpriteTemplate gUnknown_83E6900 = +const struct SpriteTemplate gRevengeSmallScratchSpriteTemplate = { .tileTag = ANIM_TAG_PURPLE_SCRATCH, .paletteTag = ANIM_TAG_PURPLE_SCRATCH, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_83E68F4, + .anims = sAnims_RevengeSmallScratch, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B1484, + .callback = AnimRevengeScratch, }; -static const union AnimCmd gUnknown_83E6918[] = +static const union AnimCmd sAnim_RevengeBigScratch_0[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(64, 6), ANIMCMD_END, }; -static const union AnimCmd gUnknown_83E6924[] = +static const union AnimCmd sAnim_RevengeBigScratch_1[] = { ANIMCMD_FRAME(0, 6, .vFlip = TRUE, .hFlip = TRUE), ANIMCMD_FRAME(64, 6, .vFlip = TRUE, .hFlip = TRUE), ANIMCMD_END, }; -static const union AnimCmd gUnknown_83E6930[] = +static const union AnimCmd sAnim_RevengeBigScratch_2[] = { ANIMCMD_FRAME(0, 6, .hFlip = TRUE), ANIMCMD_FRAME(64, 6, .hFlip = TRUE), ANIMCMD_END, }; -static const union AnimCmd *const gUnknown_83E693C[] = +static const union AnimCmd *const sAnims_RevengeBigScratch[] = { - gUnknown_83E6918, - gUnknown_83E6924, - gUnknown_83E6930, + sAnim_RevengeBigScratch_0, + sAnim_RevengeBigScratch_1, + sAnim_RevengeBigScratch_2, }; -const struct SpriteTemplate gUnknown_83E6948 = +const struct SpriteTemplate gRevengeBigScratchSpriteTemplate = { .tileTag = ANIM_TAG_PURPLE_SWIPE, .paletteTag = ANIM_TAG_PURPLE_SWIPE, .oam = &gOamData_AffineOff_ObjNormal_64x64, - .anims = gUnknown_83E693C, + .anims = sAnims_RevengeBigScratch, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B1484, + .callback = AnimRevengeScratch, }; -static const union AffineAnimCmd gUnknown_83E6960[] = +static const union AffineAnimCmd sAffineAnim_FocusPunchFist[] = { AFFINEANIMCMD_FRAME(0x200, 0x200, 0, 0), AFFINEANIMCMD_FRAME(-0x20, -0x20, 0, 8), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd *const gUnknown_83E6978[] = +static const union AffineAnimCmd *const sAffineAnims_FocusPunchFist[] = { - gUnknown_83E6960, + sAffineAnim_FocusPunchFist, }; -const struct SpriteTemplate gUnknown_83E697C = +const struct SpriteTemplate gFocusPunchFistSpriteTemplate = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, .oam = &gOamData_AffineDouble_ObjNormal_32x32, - .anims = gUnknown_83E66CC, + .anims = sAnims_HandOrFoot, .images = NULL, - .affineAnims = gUnknown_83E6978, - .callback = sub_80B14F0, + .affineAnims = sAffineAnims_FocusPunchFist, + .callback = AnimFocusPunchFist, }; static void unc_080B08A0(struct Sprite *sprite) @@ -420,7 +420,7 @@ static void unc_080B08A0(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -static void sub_80B08DC(struct Sprite *sprite) +static void AnimSlideHandOrFootToTarget(struct Sprite *sprite) { if (gBattleAnimArgs[7] == 1 && GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) { @@ -432,14 +432,14 @@ static void sub_80B08DC(struct Sprite *sprite) AnimSnoreZ(sprite); } -static void sub_80B0928(struct Sprite *sprite) +static void AnimJumpKick(struct Sprite *sprite) { if (IsContest()) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; gBattleAnimArgs[3] = -gBattleAnimArgs[3]; } - sub_80B08DC(sprite); + AnimSlideHandOrFootToTarget(sprite); } // Displays a basic fist or foot sprite for a given duration. @@ -461,7 +461,7 @@ static void AnimBasicFistOrFoot(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -static void sub_80B09A4(struct Sprite *sprite) +static void AnimFistOrFootRandomPos(struct Sprite *sprite) { u8 battler; s16 xMod, yMod; @@ -516,7 +516,7 @@ static void sub_80B0B2C(struct Sprite *sprite) } } -static void sub_80B0B80(struct Sprite *sprite) +static void AnimCrossChopHand(struct Sprite *sprite) { InitSpritePosToAnimTarget(sprite, TRUE); sprite->data[0] = 30; @@ -550,7 +550,7 @@ static void sub_80B0BD8(struct Sprite *sprite) } } -static void sub_80B0C28(struct Sprite *sprite) +static void AnimSlidingKick(struct Sprite *sprite) { if (BATTLE_PARTNER(gBattleAnimAttacker) == gBattleAnimTarget && GetBattlerPosition(gBattleAnimTarget) < B_POSITION_PLAYER_RIGHT) gBattleAnimArgs[0] *= -1; @@ -636,7 +636,7 @@ static void AnimStompFootEnd(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -static void sub_80B0DF0(struct Sprite *sprite) +static void AnimDizzyPunchDuck(struct Sprite *sprite) { if (sprite->data[0] == 0) { @@ -658,7 +658,7 @@ static void sub_80B0DF0(struct Sprite *sprite) } } -static void sub_80B0E80(struct Sprite *sprite) +static void AnimBrickBreakWall(struct Sprite *sprite) { if (gBattleAnimArgs[0] == 0) { @@ -709,7 +709,7 @@ static void sub_80B0EF0(struct Sprite *sprite) } } -static void sub_80B0F68(struct Sprite *sprite) +static void AnimBrickBreakWallShard(struct Sprite *sprite) { if (gBattleAnimArgs[0] == 0) { @@ -756,7 +756,7 @@ static void sub_80B1050(struct Sprite *sprite) DestroyAnimSprite(sprite); } -static void sub_80B107C(struct Sprite *sprite) +static void AnimSuperpowerOrb(struct Sprite *sprite) { if (gBattleAnimArgs[0] == 0) { @@ -792,7 +792,7 @@ static void sub_80B111C(struct Sprite *sprite) } } -static void sub_80B1188(struct Sprite *sprite) +static void AnimSuperpowerRock(struct Sprite *sprite) { sprite->pos1.x = gBattleAnimArgs[0]; sprite->pos1.y = 120; @@ -847,7 +847,7 @@ static void sub_80B12A4(struct Sprite *sprite) DestroyAnimSprite(sprite); } -static void sub_80B12E8(struct Sprite *sprite) +static void AnimSuperpowerFireball(struct Sprite *sprite) { u8 battler; @@ -884,7 +884,7 @@ static void sub_80B13D4(struct Sprite *sprite) ++sprite->data[0]; } -static void sub_80B13F8(struct Sprite *sprite) +static void AnimArmThrustHit(struct Sprite *sprite) { u8 turn; @@ -908,7 +908,7 @@ static void sub_80B13F8(struct Sprite *sprite) sprite->callback = sub_80B13D4; } -static void sub_80B1484(struct Sprite *sprite) +static void AnimRevengeScratch(struct Sprite *sprite) { if (gBattleAnimArgs[2] == 0) InitSpritePosToAnimAttacker(sprite, 0); @@ -922,7 +922,7 @@ static void sub_80B1484(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -static void sub_80B14F0(struct Sprite *sprite) +static void AnimFocusPunchFist(struct Sprite *sprite) { if (sprite->affineAnimEnded) { @@ -933,7 +933,7 @@ static void sub_80B14F0(struct Sprite *sprite) } } -void sub_80B1530(u8 taskId) +void AnimTask_MoveSkyUppercutBg(u8 taskId) { struct Task *task = &gTasks[taskId]; diff --git a/src/fire.c b/src/fire.c index a5a2ee5f6..f0b3d4451 100644 --- a/src/fire.c +++ b/src/fire.c @@ -6,21 +6,21 @@ #include "trig.h" #include "constants/songs.h" -static void sub_80AC90C(struct Sprite *sprite); -static void sub_80AC94C(struct Sprite *sprite); -static void sub_80ACA00(struct Sprite *sprite); -static void sub_80AC990(struct Sprite *sprite); +static void AnimFireSpiralInward(struct Sprite *sprite); +static void AnimFireSpread(struct Sprite *sprite); +static void AnimLargeFlame(struct Sprite *sprite); +static void AnimFirePlume(struct Sprite *sprite); static void sub_80ACAA8(struct Sprite *sprite); static void sub_80ACBB0(struct Sprite *sprite); static void AnimEmberFlare(struct Sprite *sprite); -static void sub_80ACC44(struct Sprite *sprite); +static void AnimBurnFlame(struct Sprite *sprite); static void AnimFireRing(struct Sprite *sprite); static void AnimFireCross(struct Sprite *sprite); -static void sub_80ACDE8(struct Sprite *sprite); -static void sub_80AD330(struct Sprite *sprite); -static void sub_80AD454(struct Sprite *sprite); -static void sub_80AD540(struct Sprite *sprite); -static void sub_80AD6F4(struct Sprite *sprite); +static void AnimFireSpiralOutward(struct Sprite *sprite); +static void AnimEruptionLaunchRock(struct Sprite *sprite); +static void AnimEruptionFallingRock(struct Sprite *sprite); +static void AnimWillOWispOrb(struct Sprite *sprite); +static void AnimWillOWispFire(struct Sprite *sprite); static void sub_80ACA6C(struct Sprite *sprite); static void sub_80ACB1C(struct Sprite *sprite); static void AnimFireRing_Step1(struct Sprite *sprite); @@ -38,7 +38,7 @@ static void sub_80AD4A8(struct Sprite *sprite); static void sub_80AD690(struct Sprite *sprite); static void sub_80AD870(u8 taskId); -static const union AnimCmd gUnknown_83E5BB8[] = +static const union AnimCmd sAnim_FireSpiralSpread_0[] = { ANIMCMD_FRAME(16, 4), ANIMCMD_FRAME(32, 4), @@ -46,7 +46,7 @@ static const union AnimCmd gUnknown_83E5BB8[] = ANIMCMD_JUMP(0), }; -static const union AnimCmd gUnknown_83E5BC8[] = +static const union AnimCmd sAnim_FireSpiralSpread_1[] = { ANIMCMD_FRAME(16, 4, .vFlip = TRUE, .hFlip = TRUE), ANIMCMD_FRAME(32, 4, .vFlip = TRUE, .hFlip = TRUE), @@ -54,35 +54,35 @@ static const union AnimCmd gUnknown_83E5BC8[] = ANIMCMD_JUMP(0), }; -static const union AnimCmd *const gUnknown_83E5BD8[] = +static const union AnimCmd *const sAnims_FireSpiralSpread[] = { - gUnknown_83E5BB8, - gUnknown_83E5BC8, + sAnim_FireSpiralSpread_0, + sAnim_FireSpiralSpread_1, }; -const struct SpriteTemplate gUnknown_83E5BE0 = +const struct SpriteTemplate gFireSpiralInwardSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_83E5BD8, + .anims = sAnims_FireSpiralSpread, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80AC90C, + .callback = AnimFireSpiralInward, }; -const struct SpriteTemplate gUnknown_83E5BF8 = +const struct SpriteTemplate gFireSpreadSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_83E5BD8, + .anims = sAnims_FireSpiralSpread, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80AC94C, + .callback = AnimFireSpread, }; -static const union AnimCmd gUnknown_83E5C10[] = +static const union AnimCmd sAnim_LargeFlame[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(16, 3), @@ -95,12 +95,12 @@ static const union AnimCmd gUnknown_83E5C10[] = ANIMCMD_JUMP(0), }; -static const union AnimCmd *const gUnknown_83E5C34[] = +static const union AnimCmd *const sAnims_LargeFlame[] = { - gUnknown_83E5C10, + sAnim_LargeFlame, }; -static const union AnimCmd gUnknown_83E5C38[] = +static const union AnimCmd sAnim_FirePlume[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(16, 5), @@ -110,54 +110,54 @@ static const union AnimCmd gUnknown_83E5C38[] = ANIMCMD_JUMP(0), }; -static const union AnimCmd *const gUnknown_83E5C50[] = +static const union AnimCmd *const sAnims_FirePlume[] = { - gUnknown_83E5C38, + sAnim_FirePlume, }; -static const union AffineAnimCmd gUnknown_83E5C54[] = +static const union AffineAnimCmd sAffineAnim_LargeFlame[] = { AFFINEANIMCMD_FRAME(0x32, 0x100, 0, 0), AFFINEANIMCMD_FRAME(0x20, 0x0, 0, 7), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd *const gUnknown_83E5C6C[] = +static const union AffineAnimCmd *const sAffineAnims_LargeFlame[] = { - gUnknown_83E5C54, + sAffineAnim_LargeFlame, }; -const struct SpriteTemplate gUnknown_83E5C70 = +const struct SpriteTemplate gLargeFlameSpriteTemplate = { .tileTag = ANIM_TAG_FIRE, .paletteTag = ANIM_TAG_FIRE, .oam = &gOamData_AffineNormal_ObjNormal_32x32, - .anims = gUnknown_83E5C34, + .anims = sAnims_LargeFlame, .images = NULL, - .affineAnims = gUnknown_83E5C6C, - .callback = sub_80ACA00, + .affineAnims = sAffineAnims_LargeFlame, + .callback = AnimLargeFlame, }; -const struct SpriteTemplate gUnknown_83E5C88 = +const struct SpriteTemplate gLargeFlameScatterSpriteTemplate = { .tileTag = ANIM_TAG_FIRE, .paletteTag = ANIM_TAG_FIRE, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_83E5C34, + .anims = sAnims_LargeFlame, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80ACA00, + .callback = AnimLargeFlame, }; -const struct SpriteTemplate gUnknown_83E5CA0 = +const struct SpriteTemplate gFirePlumeSpriteTemplate = { .tileTag = ANIM_TAG_FIRE_PLUME, .paletteTag = ANIM_TAG_FIRE_PLUME, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_83E5C50, + .anims = sAnims_FirePlume, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80AC990, + .callback = AnimFirePlume, }; const struct SpriteTemplate gUnknown_83E5CB8 = @@ -165,10 +165,10 @@ const struct SpriteTemplate gUnknown_83E5CB8 = .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_83E5C50, + .anims = sAnims_FirePlume, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80AC990, + .callback = AnimFirePlume, }; static const union AnimCmd gUnknown_83E5CD0[] = @@ -195,30 +195,30 @@ const struct SpriteTemplate gUnknown_83E5CE4 = .callback = sub_80ACAA8, }; -static const union AffineAnimCmd gUnknown_83E5CFC[] = +static const union AffineAnimCmd sAffineAnim_SunlightRay[] = { AFFINEANIMCMD_FRAME(0x50, 0x50, 0, 0), AFFINEANIMCMD_FRAME(0x2, 0x2, 10, 1), AFFINEANIMCMD_JUMP(1), }; -static const union AffineAnimCmd *const gUnknown_83E5D14[] = +static const union AffineAnimCmd *const sAffineAnims_SunlightRay[] = { - gUnknown_83E5CFC, + sAffineAnim_SunlightRay, }; -const struct SpriteTemplate gUnknown_83E5D18 = +const struct SpriteTemplate gSunlightRaySpriteTemplate = { .tileTag = ANIM_TAG_SUNLIGHT, .paletteTag = ANIM_TAG_SUNLIGHT, .oam = &gOamData_AffineNormal_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_83E5D14, + .affineAnims = sAffineAnims_SunlightRay, .callback = sub_80ACBB0, }; -static const union AnimCmd gUnknown_83E5D30[] = +static const union AnimCmd sAnim_BasicFire[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(16, 4), @@ -228,9 +228,9 @@ static const union AnimCmd gUnknown_83E5D30[] = ANIMCMD_JUMP(0), }; -const union AnimCmd *const gUnknown_83E5D48[] = +const union AnimCmd *const gAnims_BasicFire[] = { - gUnknown_83E5D30, + sAnim_BasicFire, }; const struct SpriteTemplate gEmberSpriteTemplate = @@ -249,44 +249,44 @@ const struct SpriteTemplate gEmberFlareSpriteTemplate = .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_83E5D48, + .anims = gAnims_BasicFire, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimEmberFlare, }; -const struct SpriteTemplate gUnknown_83E5D7C = +const struct SpriteTemplate gBurnFlameSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_83E5D48, + .anims = gAnims_BasicFire, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80ACC44, + .callback = AnimBurnFlame, }; -const struct SpriteTemplate gUnknown_83E5D94 = +const struct SpriteTemplate gFireBlastRingSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_83E5D48, + .anims = gAnims_BasicFire, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimFireRing, }; -static const union AnimCmd gUnknown_83E5DAC[] = +static const union AnimCmd sAnim_FireBlastCross[] = { ANIMCMD_FRAME(32, 6), ANIMCMD_FRAME(48, 6), ANIMCMD_JUMP(0), }; -static const union AnimCmd *const gUnknown_83E5DB8[] = +static const union AnimCmd *const sAnims_FireBlastCross[] = { - gUnknown_83E5DAC, + sAnim_FireBlastCross, }; static const union AffineAnimCmd gUnknown_83E5DBC[] = @@ -307,40 +307,40 @@ static const union AffineAnimCmd *const gUnknown_83E5DDC[] = gUnknown_83E5DCC, }; -const struct SpriteTemplate gUnknown_83E5DE4 = +const struct SpriteTemplate gFireBlastCrossSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_83E5DB8, + .anims = sAnims_FireBlastCross, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimFireCross, }; -const struct SpriteTemplate gUnknown_83E5DFC = +const struct SpriteTemplate gFireSpiralOutwardSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_83E5D48, + .anims = gAnims_BasicFire, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80ACDE8, + .callback = AnimFireSpiralOutward, }; -const struct SpriteTemplate gUnknown_83E5E14 = +const struct SpriteTemplate gWeatherBallFireDownSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_83E5D48, + .anims = gAnims_BasicFire, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8077350, + .callback = AnimWeatherBallDown, }; -static const struct SpriteTemplate gUnknown_83E5E2C = +static const struct SpriteTemplate gEruptionLaunchRockSpriteTemplate = { .tileTag = ANIM_TAG_WARM_ROCK, .paletteTag = ANIM_TAG_WARM_ROCK, @@ -348,10 +348,10 @@ static const struct SpriteTemplate gUnknown_83E5E2C = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80AD330, + .callback = AnimEruptionLaunchRock, }; -static const s16 sHeatedRockCoords[][2] = +static const s16 sEruptionLaunchRockCoords[][2] = { {-2, -5}, {-1, -1}, @@ -362,7 +362,7 @@ static const s16 sHeatedRockCoords[][2] = { 4, -7}, }; -const struct SpriteTemplate gUnknown_83E5E60 = +const struct SpriteTemplate gEruptionFallingRockSpriteTemplate = { .tileTag = ANIM_TAG_WARM_ROCK, .paletteTag = ANIM_TAG_WARM_ROCK, @@ -370,10 +370,10 @@ const struct SpriteTemplate gUnknown_83E5E60 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80AD454, + .callback = AnimEruptionFallingRock, }; -static const union AnimCmd gUnknown_83E5E78[] = +static const union AnimCmd sAnim_WillOWispOrb_0[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(4, 5), @@ -382,44 +382,44 @@ static const union AnimCmd gUnknown_83E5E78[] = ANIMCMD_JUMP(0), }; -static const union AnimCmd gUnknown_83E5E8C[] = +static const union AnimCmd sAnim_WillOWispOrb_1[] = { ANIMCMD_FRAME(16, 5), ANIMCMD_END, }; -static const union AnimCmd gUnknown_83E5E94[] = +static const union AnimCmd sAnim_WillOWispOrb_2[] = { ANIMCMD_FRAME(20, 5), ANIMCMD_END, }; -static const union AnimCmd gUnknown_83E5E9C[] = +static const union AnimCmd sAnim_WillOWispOrb_3[] = { ANIMCMD_FRAME(20, 5), ANIMCMD_END, }; -static const union AnimCmd *const gUnknown_83E5EA4[] = +static const union AnimCmd *const sAnims_WillOWispOrb[] = { - gUnknown_83E5E78, - gUnknown_83E5E8C, - gUnknown_83E5E94, - gUnknown_83E5E9C, + sAnim_WillOWispOrb_0, + sAnim_WillOWispOrb_1, + sAnim_WillOWispOrb_2, + sAnim_WillOWispOrb_3, }; -const struct SpriteTemplate gUnknown_83E5EB4 = +const struct SpriteTemplate gWillOWispOrbSpriteTemplate = { .tileTag = ANIM_TAG_WISP_ORB, .paletteTag = ANIM_TAG_WISP_ORB, .oam = &gOamData_AffineOff_ObjNormal_16x16, - .anims = gUnknown_83E5EA4, + .anims = sAnims_WillOWispOrb, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80AD540, + .callback = AnimWillOWispOrb, }; -static const union AnimCmd gUnknown_83E5ECC[] = +static const union AnimCmd sAnim_WillOWispFire[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(16, 5), @@ -428,33 +428,36 @@ static const union AnimCmd gUnknown_83E5ECC[] = ANIMCMD_JUMP(0), }; -static const union AnimCmd *const gUnknown_83E5EE0[] = +static const union AnimCmd *const sAnims_WillOWispFire[] = { - gUnknown_83E5ECC, + sAnim_WillOWispFire, }; -const struct SpriteTemplate gUnknown_83E5EE4 = +const struct SpriteTemplate gWillOWispFireSpriteTemplate = { .tileTag = ANIM_TAG_WISP_FIRE, .paletteTag = ANIM_TAG_WISP_FIRE, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_83E5EE0, + .anims = sAnims_WillOWispFire, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80AD6F4, + .callback = AnimWillOWispFire, }; -static const s8 gUnknown_83E5EFC[16] = +// Directions for shaking up/down or left/right in AnimTask_ShakeTargetInPattern +// Only first 10 values are ever accessed. +// First pattern results in larger shakes, second results in faster oscillation +static const s8 sShakeDirsPattern0[16] = { -1, -1, 0, 1, 1, 0, 0, -1, -1, 1, 1, 0, 0, -1, 0, 1, }; -static const s8 gUnknown_83E5F0C[16] = +static const s8 sShakeDirsPattern1[16] = { -1, 0, 1, 0, -1, 1, 0, -1, 0, 1, 0, -1, 0, 1, 0, 1, }; -static void sub_80AC90C(struct Sprite *sprite) +static void AnimFireSpiralInward(struct Sprite *sprite) { sprite->data[0] = gBattleAnimArgs[0]; sprite->data[1] = 0x3C; @@ -466,7 +469,7 @@ static void sub_80AC90C(struct Sprite *sprite) sprite->callback(sprite); } -static void sub_80AC94C(struct Sprite *sprite) +static void AnimFireSpread(struct Sprite *sprite) { SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]); sprite->pos1.y += gBattleAnimArgs[1]; @@ -477,7 +480,7 @@ static void sub_80AC94C(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -static void sub_80AC990(struct Sprite *sprite) +static void AnimFirePlume(struct Sprite *sprite) { SetSpriteCoordsToAnimAttackerCoords(sprite); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) @@ -498,7 +501,7 @@ static void sub_80AC990(struct Sprite *sprite) sprite->callback = sub_80ACA6C; } -static void sub_80ACA00(struct Sprite *sprite) +static void AnimLargeFlame(struct Sprite *sprite) { if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) { @@ -606,7 +609,7 @@ static void AnimEmberFlare(struct Sprite *sprite) sprite->callback(sprite); } -static void sub_80ACC44(struct Sprite *sprite) +static void AnimBurnFlame(struct Sprite *sprite) { gBattleAnimArgs[0] = -gBattleAnimArgs[0]; gBattleAnimArgs[2] = -gBattleAnimArgs[2]; @@ -696,7 +699,7 @@ static void AnimFireCross(struct Sprite *sprite) sprite->callback = TranslateSpriteLinear; } -static void sub_80ACDE8(struct Sprite *sprite) +static void AnimFireSpiralOutward(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, 1); sprite->data[1] = gBattleAnimArgs[2]; @@ -725,7 +728,7 @@ static void sub_80ACE50(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_80ACEA4(u8 taskId) // initialize animation task for Move_ERUPTION? +void AnimTask_EruptionLaunchRocks(u8 taskId) // initialize animation task for Move_ERUPTION? { struct Task *task = &gTasks[taskId]; @@ -857,14 +860,14 @@ static void sub_80AD1F8(u8 spriteId, u8 taskId, u8 a3) } for (i = 0, j = 0; i <= 6; ++i) { - u8 spriteId = CreateSprite(&gUnknown_83E5E2C, x, y, 2); + u8 spriteId = CreateSprite(&gEruptionLaunchRockSpriteTemplate, x, y, 2); if (spriteId != 0x40) { gSprites[spriteId].oam.tileNum += j * 4 + 0x40; if (++j >= 5) j = 0; - sub_80AD3C8(&gSprites[spriteId], sHeatedRockCoords[i][0] * sign, sHeatedRockCoords[i][1]); + sub_80AD3C8(&gSprites[spriteId], sEruptionLaunchRockCoords[i][0] * sign, sEruptionLaunchRockCoords[i][1]); gSprites[spriteId].data[6] = taskId; gSprites[spriteId].data[7] = a3; ++gTasks[taskId].data[a3]; @@ -872,7 +875,7 @@ static void sub_80AD1F8(u8 spriteId, u8 taskId, u8 a3) } } -static void sub_80AD330(struct Sprite *sprite) +static void AnimEruptionLaunchRock(struct Sprite *sprite) { sub_80AD3E4(sprite); if (sprite->invisible) @@ -922,7 +925,7 @@ static void sub_80AD3E4(struct Sprite *sprite) sprite->invisible = TRUE; } -static void sub_80AD454(struct Sprite *sprite) +static void AnimEruptionFallingRock(struct Sprite *sprite) { sprite->pos1.x = gBattleAnimArgs[0]; sprite->pos1.y = gBattleAnimArgs[1]; @@ -971,7 +974,7 @@ static void sub_80AD4A8(struct Sprite *sprite) } //wisp orb -static void sub_80AD540(struct Sprite *sprite) +static void AnimWillOWispOrb(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -1040,7 +1043,7 @@ static void sub_80AD690(struct Sprite *sprite) } //wisp fire -static void sub_80AD6F4(struct Sprite *sprite) +static void AnimWillOWispFire(struct Sprite *sprite) { if (!sprite->data[0]) { @@ -1072,7 +1075,7 @@ static void sub_80AD6F4(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_80AD800(u8 taskId) +void AnimTask_MoveHeatWaveTargets(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -1162,7 +1165,7 @@ void AnimTask_BlendBackground(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_80ADAD8(u8 taskId) +void AnimTask_ShakeTargetInPattern(u8 taskId) { s8 unk; u8 spriteId; @@ -1177,9 +1180,9 @@ void sub_80ADAD8(u8 taskId) ++gTasks[taskId].data[0]; spriteId = gBattlerSpriteIds[gBattleAnimTarget]; if (!gTasks[taskId].data[4]) - unk = gUnknown_83E5EFC[gTasks[taskId].data[0] % 10]; + unk = sShakeDirsPattern0[gTasks[taskId].data[0] % 10]; else - unk = gUnknown_83E5F0C[gTasks[taskId].data[0] % 10]; + unk = sShakeDirsPattern1[gTasks[taskId].data[0] % 10]; if (gTasks[taskId].data[3] == 1) gSprites[spriteId].pos2.y = gBattleAnimArgs[1] * unk < 0 ? -(gBattleAnimArgs[1] * unk) : gBattleAnimArgs[1] * unk; else diff --git a/src/flying.c b/src/flying.c index 83c8e1f0e..18cfa4e39 100644 --- a/src/flying.c +++ b/src/flying.c @@ -5,22 +5,22 @@ #include "constants/battle_anim.h" #include "random.h" -static void sub_80B18E4(struct Sprite *sprite); -static void sub_80B1A1C(struct Sprite *sprite); -static void sub_80B1AB8(struct Sprite *sprite); -static void sub_80B1BB0(struct Sprite *sprite); -static void sub_80B1C3C(struct Sprite *sprite); -static void sub_80B1D88(struct Sprite *sprite); +static void AnimEllipticalGust(struct Sprite *sprite); +static void AnimGustToTarget(struct Sprite *sprite); +static void AnimAirWaveCrescent(struct Sprite *sprite); +static void AnimFlyBallUp(struct Sprite *sprite); +static void AnimFlyBallAttack(struct Sprite *sprite); +static void AnimFallingFeather(struct Sprite *sprite); static void sub_80B24C0(struct Sprite *sprite); static void sub_80B2514(struct Sprite *sprite); -static void sub_80B2780(struct Sprite *sprite); -static void sub_80B2914(struct Sprite *sprite); -static void sub_80B2974(struct Sprite *sprite); -static void sub_80B2A08(struct Sprite *sprite); -static void sub_80B2AF4(struct Sprite *sprite); -static void sub_80B2BD8(struct Sprite *sprite); +static void AnimWhirlwindLine(struct Sprite *sprite); +static void AnimBounceBallShrink(struct Sprite *sprite); +static void AnimBounceBallLand(struct Sprite *sprite); +static void AnimDiveBall(struct Sprite *sprite); +static void AnimDiveWaterSplash(struct Sprite *sprite); +static void AnimSprayWaterDroplet(struct Sprite *sprite); static void sub_80B2CE4(struct Sprite *sprite); -static void sub_80B2D64(struct Sprite *sprite); +static void AnimSkyAttackBird(struct Sprite *sprite); static void sub_80B190C(struct Sprite *sprite); static void sub_80B198C(u8 taskId); static void sub_80B1A9C(struct Sprite *sprite); @@ -35,7 +35,7 @@ static void sub_80B2C88(struct Sprite *sprite); static void sub_80B2CF8(struct Sprite *sprite); static void sub_80B2E20(struct Sprite *sprite); -const struct SpriteTemplate gUnknown_83E6AE8 = +const struct SpriteTemplate gEllipticalGustSpriteTemplate = { .tileTag = ANIM_TAG_GUST, .paletteTag = ANIM_TAG_GUST, @@ -43,33 +43,33 @@ const struct SpriteTemplate gUnknown_83E6AE8 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B18E4, + .callback = AnimEllipticalGust, }; -static const union AffineAnimCmd gUnknown_83E6B00[] = +static const union AffineAnimCmd sAffineAnim_GustToTarget[] = { AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0), AFFINEANIMCMD_FRAME(0xA, 0x0, 0, 24), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd *const gUnknown_83E6B18[] = +static const union AffineAnimCmd *const sAffineAnims_GustToTarget[] = { - gUnknown_83E6B00, + sAffineAnim_GustToTarget, }; -const struct SpriteTemplate gUnknown_83E6B1C = +const struct SpriteTemplate gGustToTargetSpriteTemplate = { .tileTag = ANIM_TAG_GUST, .paletteTag = ANIM_TAG_GUST, .oam = &gOamData_AffineNormal_ObjNormal_32x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_83E6B18, - .callback = sub_80B1A1C, + .affineAnims = sAffineAnims_GustToTarget, + .callback = AnimGustToTarget, }; -static const union AnimCmd gUnknown_83E6B34[] = +static const union AnimCmd sAffineAnim_AirWaveCrescent[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(0, 3, .hFlip = TRUE), @@ -78,23 +78,23 @@ static const union AnimCmd gUnknown_83E6B34[] = ANIMCMD_JUMP(0), }; -static const union AnimCmd *const gUnknown_83E6B48[] = +static const union AnimCmd *const sAffineAnims_AirWaveCrescent[] = { - gUnknown_83E6B34, + sAffineAnim_AirWaveCrescent, }; -const struct SpriteTemplate gUnknown_83E6B4C = +const struct SpriteTemplate gAirWaveCrescentSpriteTemplate = { .tileTag = ANIM_TAG_AIR_WAVE_2, .paletteTag = ANIM_TAG_AIR_WAVE_2, .oam = &gOamData_AffineOff_ObjNormal_32x16, - .anims = gUnknown_83E6B48, + .anims = sAffineAnims_AirWaveCrescent, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B1AB8, + .callback = AnimAirWaveCrescent, }; -static const union AffineAnimCmd gUnknown_83E6B64[] = +static const union AffineAnimCmd sAffineAnim_FlyBallUp[] = { AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0), AFFINEANIMCMD_FRAME(0x28, 0x0, 0, 6), @@ -103,78 +103,78 @@ static const union AffineAnimCmd gUnknown_83E6B64[] = AFFINEANIMCMD_END, }; -static const union AffineAnimCmd *const gUnknown_83E6B8C[] = +static const union AffineAnimCmd *const sAffineAnims_FlyBallUp[] = { - gUnknown_83E6B64, + sAffineAnim_FlyBallUp, }; -static const union AffineAnimCmd gUnknown_83E6B90[] = +static const union AffineAnimCmd sAffineAnim_FlyBallAttack_0[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 50, 1), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd gUnknown_83E6B9C[] = +static const union AffineAnimCmd sAffineAnim_FlyBallAttack_1[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, -40, 1), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd *const gUnknown_83E6BB0[] = +static const union AffineAnimCmd *const sAffineAnims_FlyBallAttack[] = { - gUnknown_83E6B90, - gUnknown_83E6B9C, + sAffineAnim_FlyBallAttack_0, + sAffineAnim_FlyBallAttack_1, }; -const struct SpriteTemplate gUnknown_83E6BB8 = +const struct SpriteTemplate gFlyBallUpSpriteTemplate = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_ROUND_SHADOW, .oam = &gOamData_AffineDouble_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_83E6B8C, - .callback = sub_80B1BB0, + .affineAnims = sAffineAnims_FlyBallUp, + .callback = AnimFlyBallUp, }; -const struct SpriteTemplate gUnknown_83E6BD0 = +const struct SpriteTemplate gFlyBallAttackSpriteTemplate = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_ROUND_SHADOW, .oam = &gOamData_AffineNormal_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_83E6BB0, - .callback = sub_80B1C3C, + .affineAnims = sAffineAnims_FlyBallAttack, + .callback = AnimFlyBallAttack, }; -static const union AnimCmd gUnknown_83E6BE8[] = +static const union AnimCmd sAnim_FallingFeather_0[] = { ANIMCMD_FRAME(0, 0), ANIMCMD_END, }; -static const union AnimCmd gUnknown_83E6BF0[] = +static const union AnimCmd sAnim_FallingFeather_1[] = { ANIMCMD_FRAME(16, 0, .hFlip = TRUE), ANIMCMD_END, }; -static const union AnimCmd *const gUnknown_83E6BF8[] = +static const union AnimCmd *const sAnims_FallingFeather[] = { - gUnknown_83E6BE8, - gUnknown_83E6BF0, + sAnim_FallingFeather_0, + sAnim_FallingFeather_1, }; -const struct SpriteTemplate gUnknown_83E6C00 = +const struct SpriteTemplate gFallingFeatherSpriteTemplate = { .tileTag = ANIM_TAG_WHITE_FEATHER, .paletteTag = ANIM_TAG_WHITE_FEATHER, .oam = &gOamData_AffineNormal_ObjNormal_32x32, - .anims = gUnknown_83E6BF8, + .anims = sAnims_FallingFeather, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B1D88, + .callback = AnimFallingFeather, }; // not used @@ -196,13 +196,13 @@ const struct SpriteTemplate gUnknown_83E6C50 = .tileTag = ANIM_TAG_WHITE_FEATHER, .paletteTag = ANIM_TAG_WHITE_FEATHER, .oam = &gOamData_AffineNormal_ObjNormal_32x32, - .anims = gUnknown_83E6BF8, + .anims = sAnims_FallingFeather, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = sub_80B2514, }; -static const union AnimCmd gUnknown_83E6C68[] = +static const union AnimCmd sAnim_WhirlwindLines[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(8, 1), @@ -212,23 +212,23 @@ static const union AnimCmd gUnknown_83E6C68[] = ANIMCMD_END, }; -static const union AnimCmd *const gUnknown_83E6C80[] = +static const union AnimCmd *const sAnims_WhirlwindLines[] = { - gUnknown_83E6C68, + sAnim_WhirlwindLines, }; -const struct SpriteTemplate gUnknown_83E6C84 = +const struct SpriteTemplate gWhirlwindLineSpriteTemplate = { .tileTag = ANIM_TAG_WHIRLWIND_LINES, .paletteTag = ANIM_TAG_WHIRLWIND_LINES, .oam = &gOamData_AffineOff_ObjNormal_32x16, - .anims = gUnknown_83E6C80, + .anims = sAnims_WhirlwindLines, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B2780, + .callback = AnimWhirlwindLine, }; -static const union AffineAnimCmd gUnknown_83E6C9C[] = +static const union AffineAnimCmd sAffineAnim_BounceBallShrink[] = { AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0), AFFINEANIMCMD_FRAME(0x28, 0x0, 0, 6), @@ -238,45 +238,45 @@ static const union AffineAnimCmd gUnknown_83E6C9C[] = AFFINEANIMCMD_END, }; -static const union AffineAnimCmd *const gUnknown_83E6CCC[] = +static const union AffineAnimCmd *const sAffineAnims_BounceBallShrink[] = { - gUnknown_83E6C9C, + sAffineAnim_BounceBallShrink, }; -const struct SpriteTemplate gUnknown_83E6CD0 = +const struct SpriteTemplate gBounceBallShrinkSpriteTemplate = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_ROUND_SHADOW, .oam = &gOamData_AffineDouble_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_83E6CCC, - .callback = sub_80B2914, + .affineAnims = sAffineAnims_BounceBallShrink, + .callback = AnimBounceBallShrink, }; -static const union AffineAnimCmd gUnknown_83E6CE8[] = +static const union AffineAnimCmd sAffineAnim_BounceBallLand[] = { AFFINEANIMCMD_FRAME(0xA0, 0x100, 0, 0), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd *const gUnknown_83E6CF8[] = +static const union AffineAnimCmd *const sAffineAnims_BounceBallLand[] = { - gUnknown_83E6CE8, + sAffineAnim_BounceBallLand, }; -const struct SpriteTemplate gUnknown_83E6CFC = +const struct SpriteTemplate gBounceBallLandSpriteTemplate = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_ROUND_SHADOW, .oam = &gOamData_AffineDouble_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_83E6CF8, - .callback = sub_80B2974, + .affineAnims = sAffineAnims_BounceBallLand, + .callback = AnimBounceBallLand, }; -static const union AffineAnimCmd gUnknown_83E6D14[] = +static const union AffineAnimCmd sAffineAnim_DiveBall[] = { AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0), AFFINEANIMCMD_FRAME(0x28, 0x0, 0, 6), @@ -285,20 +285,20 @@ static const union AffineAnimCmd gUnknown_83E6D14[] = AFFINEANIMCMD_END, }; -static const union AffineAnimCmd *const gUnknown_83E6D3C[] = +static const union AffineAnimCmd *const sAffineAnims_DiveBall[] = { - gUnknown_83E6D14, + sAffineAnim_DiveBall, }; -const struct SpriteTemplate gUnknown_83E6D40 = +const struct SpriteTemplate gDiveBallSpriteTemplate = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_ROUND_SHADOW, .oam = &gOamData_AffineDouble_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_83E6D3C, - .callback = sub_80B2A08, + .affineAnims = sAffineAnims_DiveBall, + .callback = AnimDiveBall, }; // not used @@ -316,7 +316,7 @@ static const union AffineAnimCmd *const gUnknown_83E6D80[] = gUnknown_83E6D58, }; -const struct SpriteTemplate gUnknown_83E6D7C = +const struct SpriteTemplate gDiveWaterSplashSpriteTemplate = { .tileTag = ANIM_TAG_SPLASH, .paletteTag = ANIM_TAG_SPLASH, @@ -324,10 +324,10 @@ const struct SpriteTemplate gUnknown_83E6D7C = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B2AF4, + .callback = AnimDiveWaterSplash, }; -const struct SpriteTemplate gUnknown_83E6D94 = +const struct SpriteTemplate gSprayWaterDropletSpriteTemplate = { .tileTag = ANIM_TAG_SWEAT_BEAD, .paletteTag = ANIM_TAG_SWEAT_BEAD, @@ -335,7 +335,7 @@ const struct SpriteTemplate gUnknown_83E6D94 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B2BD8, + .callback = AnimSprayWaterDroplet, }; const struct SpriteTemplate gUnknown_83E6DAC = @@ -349,7 +349,7 @@ const struct SpriteTemplate gUnknown_83E6DAC = .callback = sub_80B2CE4, }; -const struct SpriteTemplate gUnknown_83E6DB4 = +const struct SpriteTemplate gSkyAttackBirdSpriteTemplate = { .tileTag = ANIM_TAG_BIRD, .paletteTag = ANIM_TAG_BIRD, @@ -357,10 +357,10 @@ const struct SpriteTemplate gUnknown_83E6DB4 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B2D64, + .callback = AnimSkyAttackBird, }; -static void sub_80B18E4(struct Sprite *sprite) +static void AnimEllipticalGust(struct Sprite *sprite) { InitSpritePosToAnimTarget(sprite, FALSE); sprite->pos1.y += 20; @@ -379,7 +379,7 @@ static void sub_80B190C(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_80B194C(u8 taskId) +void AnimTask_AnimateGustTornadoPalette(u8 taskId) { gTasks[taskId].data[0] = gBattleAnimArgs[1]; gTasks[taskId].data[1] = gBattleAnimArgs[0]; @@ -411,7 +411,7 @@ static void sub_80B198C(u8 taskId) DestroyAnimVisualTask(taskId); } -static void sub_80B1A1C(struct Sprite *sprite) +static void AnimGustToTarget(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, TRUE); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) @@ -432,7 +432,7 @@ static void sub_80B1A9C(struct Sprite *sprite) DestroyAnimSprite(sprite); } -static void sub_80B1AB8(struct Sprite *sprite) +static void AnimAirWaveCrescent(struct Sprite *sprite) { if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) { @@ -467,7 +467,7 @@ static void sub_80B1AB8(struct Sprite *sprite) SeekSpriteAnim(sprite, gBattleAnimArgs[5]); } -static void sub_80B1BB0(struct Sprite *sprite) +static void AnimFlyBallUp(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[0] = gBattleAnimArgs[2]; @@ -491,7 +491,7 @@ static void sub_80B1BF8(struct Sprite *sprite) DestroyAnimSprite(sprite); } -static void sub_80B1C3C(struct Sprite *sprite) +static void AnimFlyBallAttack(struct Sprite *sprite) { if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) { @@ -564,7 +564,7 @@ struct FeatherDanceData u16 unkE_1:15; }; -static void sub_80B1D88(struct Sprite *sprite) +static void AnimFallingFeather(struct Sprite *sprite) { u8 battler, matrixNum, sinIndex; s16 spriteCoord, sinVal; @@ -986,7 +986,7 @@ static void sub_80B268C(struct Sprite *sprite) sprite->callback = sub_80B1F94; } -static void sub_80B2780(struct Sprite *sprite) +static void AnimWhirlwindLine(struct Sprite *sprite) { u16 arg; u8 mult; @@ -1023,7 +1023,7 @@ static void sub_80B2820(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_80B2868(u8 taskId) +void AnimTask_DrillPeckHitSplats(u8 taskId) { if (!(gTasks[taskId].data[0] % 32)) { @@ -1032,7 +1032,7 @@ void sub_80B2868(u8 taskId) gBattleAnimArgs[1] = Cos(gTasks[taskId].data[0], -13); gBattleAnimArgs[2] = 1; gBattleAnimArgs[3] = 3; - CreateSpriteAndAnimate(&gUnknown_83E7C98, + CreateSpriteAndAnimate(&gFlashingHitSplatSpriteTemplate, GetBattlerSpriteCoord(gBattleAnimTarget, 2), GetBattlerSpriteCoord(gBattleAnimTarget, 3), 3); @@ -1042,7 +1042,7 @@ void sub_80B2868(u8 taskId) DestroyAnimVisualTask(taskId); } -static void sub_80B2914(struct Sprite *sprite) +static void AnimBounceBallShrink(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -1058,7 +1058,7 @@ static void sub_80B2914(struct Sprite *sprite) } } -static void sub_80B2974(struct Sprite *sprite) +static void AnimBounceBallLand(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -1083,7 +1083,7 @@ static void sub_80B2974(struct Sprite *sprite) } } -static void sub_80B2A08(struct Sprite *sprite) +static void AnimDiveBall(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, 1); sprite->data[0] = gBattleAnimArgs[2]; @@ -1120,7 +1120,7 @@ static void sub_80B2AB0(struct Sprite *sprite) DestroyAnimSprite(sprite); } -static void sub_80B2AF4(struct Sprite *sprite) +static void AnimDiveWaterSplash(struct Sprite *sprite) { u32 matrixNum; s32 t1, t2; @@ -1165,7 +1165,7 @@ static void sub_80B2AF4(struct Sprite *sprite) } } -static void sub_80B2BD8(struct Sprite *sprite) +static void AnimSprayWaterDroplet(struct Sprite *sprite) { s32 v1 = 0x1FF & Random(); s32 v2 = 0x7F & Random(); @@ -1241,7 +1241,7 @@ static void sub_80B2CF8(struct Sprite *sprite) } } -static void sub_80B2D64(struct Sprite *sprite) +static void AnimSkyAttackBird(struct Sprite *sprite) { u16 rotation; s16 posx = sprite->pos1.x; diff --git a/src/ghost.c b/src/ghost.c index 9a77999de..30f6b9bdb 100644 --- a/src/ghost.c +++ b/src/ghost.c @@ -8,65 +8,65 @@ #include "decompress.h" #include "constants/songs.h" -static void sub_80B5268(struct Sprite *sprite); +static void AnimConfuseRayBallBounce(struct Sprite *sprite); static void sub_80B52D0(struct Sprite *sprite); static void sub_80B5344(struct Sprite *sprite); static void sub_80B53C0(struct Sprite *sprite); -static void sub_80B5450(struct Sprite *sprite); +static void AnimConfuseRayBallSpiral(struct Sprite *sprite); static void sub_80B5470(struct Sprite *sprite); static void sub_80B5570(u8 taskId); static void sub_80B55C8(u8 taskId); -static void InitAnimShadowBall(struct Sprite *sprite); +static void AnimShadowBall(struct Sprite *sprite); static void AnimShadowBallStep(struct Sprite *sprite); -static void sub_80B57F8(struct Sprite *sprite); +static void AnimLick(struct Sprite *sprite); static void sub_80B5810(struct Sprite *sprite); static void sub_80B59D4(u8 taskId); static void sub_80B5AD4(u8 taskId); static void sub_80B5D38(u8 taskId); static void sub_80B5DCC(u8 taskId); -static void sub_80B5EC0(struct Sprite *sprite); +static void AnimDestinyBondWhiteShadow(struct Sprite *sprite); static void sub_80B5FE0(struct Sprite *sprite); static void sub_80B623C(u8 taskId); static void sub_80B6468(u8 taskId); static void sub_80B65F0(u8 taskId); -static void sub_80B664C(struct Sprite *sprite); +static void AnimCurseNail(struct Sprite *sprite); static void sub_80B66A8(struct Sprite *sprite); static void sub_80B6728(struct Sprite *sprite); static void sub_80B67A0(struct Sprite *sprite); -static void sub_80B67D4(struct Sprite *sprite); +static void AnimGhostStatusSprite(struct Sprite *sprite); static void sub_80B68A8(struct Sprite *sprite); static void sub_80B696C(u8 taskId); -static void sub_80B6AF8(struct Sprite *sprite); +static void AnimGrudgeFlame(struct Sprite *sprite); static void sub_80B7158(struct Sprite *sprite); static void sub_80B6BE4(u8 taskId); static void sub_80B6F30(u8 taskId); static void sub_80B6FC4(u8 taskId); static void sub_80B71B0(struct Sprite *sprite); -static const union AffineAnimCmd gUnknown_83E75A8[] = +static const union AffineAnimCmd sAffineAnim_ConfuseRayBallBounce[] = { AFFINEANIMCMD_FRAME(0x1E, 0x1E, 10, 5), AFFINEANIMCMD_FRAME(-0x1E, -0x1E, 10, 5), AFFINEANIMCMD_JUMP(0), }; -static const union AffineAnimCmd *const gUnknown_83E75C0[] = +static const union AffineAnimCmd *const sAffineAnims_ConfuseRayBallBounce[] = { - gUnknown_83E75A8, + sAffineAnim_ConfuseRayBallBounce, }; -const struct SpriteTemplate gUnknown_83E75C4 = +const struct SpriteTemplate gConfuseRayBallBounceSpriteTemplate = { .tileTag = ANIM_TAG_YELLOW_BALL, .paletteTag = ANIM_TAG_YELLOW_BALL, .oam = &gOamData_AffineDouble_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_83E75C0, - .callback = sub_80B5268, + .affineAnims = sAffineAnims_ConfuseRayBallBounce, + .callback = AnimConfuseRayBallBounce, }; -const struct SpriteTemplate gUnknown_83E75DC = +const struct SpriteTemplate gConfuseRayBallSpiralSpriteTemplate = { .tileTag = ANIM_TAG_YELLOW_BALL, .paletteTag = ANIM_TAG_YELLOW_BALL, @@ -74,18 +74,18 @@ const struct SpriteTemplate gUnknown_83E75DC = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B5450, + .callback = AnimConfuseRayBallSpiral, }; -static const union AffineAnimCmd gUnknown_83E75F4[] = +static const union AffineAnimCmd sAffineAnim_ShadowBall[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 10, 1), AFFINEANIMCMD_JUMP(0), }; -static const union AffineAnimCmd *const gUnknown_83E7604[] = +static const union AffineAnimCmd *const sAffineAnims_ShadowBall[] = { - gUnknown_83E75F4, + sAffineAnim_ShadowBall, }; const struct SpriteTemplate gShadowBallSpriteTemplate = @@ -95,11 +95,11 @@ const struct SpriteTemplate gShadowBallSpriteTemplate = .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_83E7604, - .callback = InitAnimShadowBall, + .affineAnims = sAffineAnims_ShadowBall, + .callback = AnimShadowBall, }; -const union AnimCmd gUnknown_83E7620[] = +const union AnimCmd sAnim_Lick[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(8, 2), @@ -109,20 +109,20 @@ const union AnimCmd gUnknown_83E7620[] = ANIMCMD_END, }; -static const union AnimCmd *const gUnknown_83E7638[] = +static const union AnimCmd *const sAnims_Lick[] = { - gUnknown_83E7620, + sAnim_Lick, }; -const struct SpriteTemplate gUnknown_83E763C = +const struct SpriteTemplate gLickSpriteTemplate = { .tileTag = ANIM_TAG_LICK, .paletteTag = ANIM_TAG_LICK, .oam = &gOamData_AffineOff_ObjNormal_16x32, - .anims = gUnknown_83E7638, + .anims = sAnims_Lick, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B57F8, + .callback = AnimLick, }; // not used @@ -138,7 +138,7 @@ static const union AffineAnimCmd *const gUnknown_83E7664[] = gUnknown_83E7654, }; -const struct SpriteTemplate gUnknown_83E7668 = +const struct SpriteTemplate gDestinyBondWhiteShadowSpriteTemplate = { .tileTag = ANIM_TAG_WHITE_SHADOW, .paletteTag = ANIM_TAG_WHITE_SHADOW, @@ -146,10 +146,10 @@ const struct SpriteTemplate gUnknown_83E7668 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B5EC0, + .callback = AnimDestinyBondWhiteShadow, }; -const struct SpriteTemplate gUnknown_83E7680 = +const struct SpriteTemplate gCurseNailSpriteTemplate = { .tileTag = ANIM_TAG_NAIL, .paletteTag = ANIM_TAG_NAIL, @@ -157,10 +157,10 @@ const struct SpriteTemplate gUnknown_83E7680 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B664C, + .callback = AnimCurseNail, }; -const struct SpriteTemplate gUnknown_83E7698 = +const struct SpriteTemplate gCurseGhostSpriteTemplate = { .tileTag = ANIM_TAG_GHOSTLY_SPIRIT, .paletteTag = ANIM_TAG_GHOSTLY_SPIRIT, @@ -168,10 +168,10 @@ const struct SpriteTemplate gUnknown_83E7698 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B67D4, + .callback = AnimGhostStatusSprite, }; -const struct SpriteTemplate gUnknown_83E76B0 = +const struct SpriteTemplate gNightmareDevilSpriteTemplate = { .tileTag = ANIM_TAG_DEVIL, .paletteTag = ANIM_TAG_DEVIL, @@ -179,10 +179,10 @@ const struct SpriteTemplate gUnknown_83E76B0 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B67D4, + .callback = AnimGhostStatusSprite, }; -static const union AnimCmd gUnknown_83E76C8[] = +static const union AnimCmd sAnim_GrudgeFlame[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(8, 4), @@ -191,20 +191,20 @@ static const union AnimCmd gUnknown_83E76C8[] = ANIMCMD_JUMP(0), }; -static const union AnimCmd *const gUnknown_83E76DC[] = +static const union AnimCmd *const sAnims_GrudgeFlame[] = { - gUnknown_83E76C8, + sAnim_GrudgeFlame, }; -const struct SpriteTemplate gUnknown_83E76E0 = +const struct SpriteTemplate gGrudgeFlameSpriteTemplate = { .tileTag = ANIM_TAG_PURPLE_FLAME, .paletteTag = ANIM_TAG_PURPLE_FLAME, .oam = &gOamData_AffineOff_ObjBlend_16x32, - .anims = gUnknown_83E76DC, + .anims = sAnims_GrudgeFlame, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B6AF8, + .callback = AnimGrudgeFlame, }; const struct SpriteTemplate gUnknown_83E76F8 = @@ -218,7 +218,7 @@ const struct SpriteTemplate gUnknown_83E76F8 = .callback = sub_80B7158, }; -static void sub_80B5268(struct Sprite *sprite) +static void AnimConfuseRayBallBounce(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, 1); sprite->data[0] = gBattleAnimArgs[2]; @@ -306,7 +306,7 @@ static void sub_80B53C0(struct Sprite *sprite) } } -static void sub_80B5450(struct Sprite *sprite) +static void AnimConfuseRayBallSpiral(struct Sprite *sprite) { InitSpritePosToAnimTarget(sprite, TRUE); sprite->callback = sub_80B5470; @@ -332,7 +332,7 @@ static void sub_80B5470(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_80B54E8(u8 taskId) +void AnimTask_NightShadeClone(u8 taskId) { u8 spriteId; @@ -393,7 +393,7 @@ static void sub_80B55C8(u8 taskId) // arg 0: duration step 1 (attacker -> center) // arg 1: duration step 2 (spin center) // arg 2: duration step 3 (center -> target) -static void InitAnimShadowBall(struct Sprite *sprite) +static void AnimShadowBall(struct Sprite *sprite) { s16 oldPosX = sprite->pos1.x; s16 oldPosY = sprite->pos1.y; @@ -455,7 +455,7 @@ static void AnimShadowBallStep(struct Sprite *sprite) } } -static void sub_80B57F8(struct Sprite *sprite) +static void AnimLick(struct Sprite *sprite) { InitSpritePosToAnimTarget(sprite, TRUE); sprite->callback = sub_80B5810; @@ -507,7 +507,7 @@ static void sub_80B5810(struct Sprite *sprite) } } -void sub_80B58AC(u8 taskId) +void AnimTask_NightmareClone(u8 taskId) { struct Task *task; @@ -579,7 +579,7 @@ static void sub_80B59D4(u8 taskId) } } -void sub_80B5AAC(u8 taskId) +void AnimTask_SpiteTargetShadow(u8 taskId) { struct Task *task; @@ -732,7 +732,7 @@ static void sub_80B5DCC(u8 taskId) ++task->data[15]; } -static void sub_80B5EC0(struct Sprite *sprite) +static void AnimDestinyBondWhiteShadow(struct Sprite *sprite) { s16 battler1X, battler1Y; s16 battler2X, battler2Y; @@ -781,7 +781,7 @@ static void sub_80B5FE0(struct Sprite *sprite) } } -void sub_80B6020(u8 taskId) +void AnimTask_DestinyBondWhiteShadow(u8 taskId) { struct Task *task; s16 battler; @@ -808,7 +808,7 @@ void sub_80B6020(u8 taskId) && battler != (gBattleAnimAttacker ^ 2) && IsBattlerSpriteVisible(battler)) { - spriteId = CreateSprite(&gUnknown_83E7668, baseX, baseY, 55); + spriteId = CreateSprite(&gDestinyBondWhiteShadowSpriteTemplate, baseX, baseY, 55); if (spriteId != MAX_SPRITES) { x = GetBattlerSpriteCoord(battler, 2); @@ -829,7 +829,7 @@ void sub_80B6020(u8 taskId) } else { - spriteId = CreateSprite(&gUnknown_83E7668, baseX, baseY, 55); + spriteId = CreateSprite(&gDestinyBondWhiteShadowSpriteTemplate, baseX, baseY, 55); if (spriteId != MAX_SPRITES) { x = 48; @@ -921,7 +921,7 @@ static void sub_80B623C(u8 taskId) } } -void sub_80B63B4(u8 taskId) +void AnimTask_CurseStretchingBlackBg(u8 taskId) { s16 startX, startY; s16 leftDistance, topDistance, bottomDistance, rightDistance; @@ -1004,7 +1004,7 @@ static void sub_80B65F0(u8 taskId) } } -static void sub_80B664C(struct Sprite *sprite) +static void AnimCurseNail(struct Sprite *sprite) { s16 xDelta, xDelta2; @@ -1093,7 +1093,7 @@ static void sub_80B67A0(struct Sprite *sprite) DestroyAnimSprite(sprite); } -static void sub_80B67D4(struct Sprite *sprite) +static void AnimGhostStatusSprite(struct Sprite *sprite) { u16 coeffB, coeffA; @@ -1137,7 +1137,7 @@ static void sub_80B68A8(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_80B68C8(u8 taskId) +void AnimTask_GrudgeFlames(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -1168,7 +1168,7 @@ static void sub_80B696C(u8 taskId) case 0: for (i = 0; i < 6; ++i) { - spriteId = CreateSprite(&gUnknown_83E76E0, task->data[9], task->data[10], task->data[6]); + spriteId = CreateSprite(&gGrudgeFlameSpriteTemplate, task->data[9], task->data[10], task->data[6]); if (spriteId != MAX_SPRITES) { gSprites[spriteId].data[0] = taskId; @@ -1235,7 +1235,7 @@ static void sub_80B696C(u8 taskId) } } -static void sub_80B6AF8(struct Sprite *sprite) +static void AnimGrudgeFlame(struct Sprite *sprite) { u16 index; diff --git a/src/graphics.c b/src/graphics.c index 7eee42bf0..391913eb7 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -1019,7 +1019,7 @@ const u32 gBattleAnimBgTilemap_InAir[] = INCBIN_U32("graphics/battle_anims/backg const u32 gBattleAnimSpriteGfx_Protect[] = INCBIN_U32("graphics/battle_anims/sprites/protect.4bpp.lz"); const u32 gBattleAnimSpritePal_Protect[] = INCBIN_U32("graphics/battle_anims/sprites/protect.gbapal.lz"); -const u32 gFile_graphics_battle_anims_backgrounds_water_muddy_palette[] = INCBIN_U32("graphics/battle_anims/backgrounds/water_muddy.gbapal.lz"); +const u32 gBattleAnimBgPalette_MuddyWater[] = INCBIN_U32("graphics/battle_anims/backgrounds/water_muddy.gbapal.lz"); const u32 gFile_graphics_battle_interface_enemy_mon_shadow_sheet[] = INCBIN_U32("graphics/battle_interface/enemy_mon_shadow.4bpp.lz"); @@ -1085,11 +1085,12 @@ const u32 gBattleAnimSpritePal_Bird[] = INCBIN_U32("graphics/battle_anims/sprite const u32 gBattleAnimSpriteGfx_CrossImpact[] = INCBIN_U32("graphics/battle_anims/sprites/cross_impact.4bpp.lz"); const u32 gBattleAnimSpritePal_CrossImpact[] = INCBIN_U32("graphics/battle_anims/sprites/cross_impact.gbapal.lz"); -const u32 gFile_graphics_battle_anims_backgrounds_water_sheet[] = INCBIN_U32("graphics/battle_anims/backgrounds/water.4bpp.lz"); -const u32 gFile_graphics_battle_anims_backgrounds_water_palette[] = INCBIN_U32("graphics/battle_anims/backgrounds/water.gbapal.lz"); -const u32 gFile_graphics_unknown_unknown_E81D14_tilemap[] = INCBIN_U32("graphics/unknown/unknown_E81D14.bin.lz"); -const u32 gFile_graphics_unknown_unknown_E81FE4_tilemap[] = INCBIN_U32("graphics/unknown/unknown_E81FE4.bin.lz"); -const u32 gFile_graphics_unknown_unknown_E822B8_tilemap[] = INCBIN_U32("graphics/unknown/unknown_E822B8.bin.lz"); +const u32 gBattleAnimBgImage_Surf[] = INCBIN_U32("graphics/battle_anims/backgrounds/water.4bpp.lz"); +const u32 gBattleAnimBgPalette_Surf[] = INCBIN_U32("graphics/battle_anims/backgrounds/water.gbapal.lz"); + +const u32 gBattleAnimBgTilemap_SurfOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/water_opponent.bin.lz"); +const u32 gBattleAnimBgTilemap_SurfPlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/water_player.bin.lz"); +const u32 gBattleAnimBgTilemap_SurfContest[] = INCBIN_U32("graphics/battle_anims/backgrounds/water_contest.bin.lz"); const u32 gBattleAnimSpritePal_Slash2[] = INCBIN_U32("graphics/battle_anims/sprites/slash_2.gbapal.lz"); diff --git a/src/ground.c b/src/ground.c index 423671112..af2c78e00 100644 --- a/src/ground.c +++ b/src/ground.c @@ -26,51 +26,51 @@ static void sub_80B967C(u8 taskId); static void sub_80B9760(struct Task *task); static void sub_80B98A8(u8 taskId); -static const union AffineAnimCmd gUnknown_83E7A00[] = +static const union AffineAnimCmd sAffineAnim_Bonemerang[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 15, 1), AFFINEANIMCMD_JUMP(0), }; -static const union AffineAnimCmd gUnknown_83E7A10[] = +static const union AffineAnimCmd sAffineAnim_SpinningBone[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 20, 1), AFFINEANIMCMD_JUMP(0), }; -static const union AffineAnimCmd *const gUnknown_83E7A20[] = +static const union AffineAnimCmd *const sAffineAnims_Bonemerang[] = { - gUnknown_83E7A00, + sAffineAnim_Bonemerang, }; -static const union AffineAnimCmd *const gUnknown_83E7A24[] = +static const union AffineAnimCmd *const sAffineAnims_SpinningBone[] = { - gUnknown_83E7A10, + sAffineAnim_SpinningBone, }; -const struct SpriteTemplate gUnknown_83E7A28 = +const struct SpriteTemplate gBonemerangSpriteTemplate = { .tileTag = ANIM_TAG_BONE, .paletteTag = ANIM_TAG_BONE, .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_83E7A20, + .affineAnims = sAffineAnims_Bonemerang, .callback = AnimBonemerangProjectile, }; -const struct SpriteTemplate gUnknown_83E7A40 = +const struct SpriteTemplate gSpinningBoneSpriteTemplate = { .tileTag = ANIM_TAG_BONE, .paletteTag = ANIM_TAG_BONE, .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_83E7A24, + .affineAnims = sAffineAnims_SpinningBone, .callback = AnimBoneHitProjectile, }; -const struct SpriteTemplate gUnknown_83E7A58 = +const struct SpriteTemplate gSandAttackDirtSpriteTemplate = { .tileTag = ANIM_TAG_MUD_SAND, .paletteTag = ANIM_TAG_MUD_SAND, @@ -81,29 +81,29 @@ const struct SpriteTemplate gUnknown_83E7A58 = .callback = AnimDirtScatter, }; -static const union AnimCmd gUnknown_83E7A70[] = +static const union AnimCmd sAnim_MudSlapMud[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd *const gUnknown_83E7A78[] = +static const union AnimCmd *const sAnims_MudSlapMud[] = { - gUnknown_83E7A70, + sAnim_MudSlapMud, }; -const struct SpriteTemplate gUnknown_83E7A7C = +const struct SpriteTemplate gMudSlapMudSpriteTemplate = { .tileTag = ANIM_TAG_MUD_SAND, .paletteTag = ANIM_TAG_MUD_SAND, .oam = &gOamData_AffineOff_ObjNormal_16x16, - .anims = gUnknown_83E7A78, + .anims = sAnims_MudSlapMud, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimDirtScatter, }; -const struct SpriteTemplate gUnknown_83E7A94 = +const struct SpriteTemplate gMudsportMudSpriteTemplate = { .tileTag = ANIM_TAG_MUD_SAND, .paletteTag = ANIM_TAG_MUD_SAND, @@ -114,7 +114,7 @@ const struct SpriteTemplate gUnknown_83E7A94 = .callback = AnimMudSportDirt, }; -const struct SpriteTemplate gUnknown_83E7AAC = +const struct SpriteTemplate gDirtPlumeSpriteTemplate = { .tileTag = ANIM_TAG_MUD_SAND, .paletteTag = ANIM_TAG_MUD_SAND, @@ -125,7 +125,7 @@ const struct SpriteTemplate gUnknown_83E7AAC = .callback = AnimFissureDirtPlumeParticle, }; -const struct SpriteTemplate gUnknown_83E7AC4 = +const struct SpriteTemplate gDirtMoundSpriteTemplate = { .tileTag = ANIM_TAG_DIRT_MOUND, .paletteTag = ANIM_TAG_DIRT_MOUND, @@ -279,7 +279,7 @@ static void AnimMudSportDirtFalling(struct Sprite *sprite) } } -void sub_80B8E94(u8 taskId) +void AnimTask_DigDownMovement(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -372,7 +372,7 @@ static void sub_80B908C(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_80B90EC(u8 taskId) +void AnimTask_DigUpMovement(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -538,7 +538,7 @@ static void AnimDigDirtMound(struct Sprite *sprite) sprite->callback = WaitAnimForDuration; } -void sub_80B94B4(u8 taskId) +void AnimTask_HorizontalShake(u8 taskId) { u16 i; struct Task *task = &gTasks[taskId]; @@ -689,7 +689,7 @@ void AnimTask_IsPowerOver99(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_80B9800(u8 taskId) +void AnimTask_PositionFissureBgOnBattler(u8 taskId) { struct Task *newTask; u8 battler = (gBattleAnimArgs[0] & 1) ? gBattleAnimTarget : gBattleAnimAttacker; diff --git a/src/help_message.c b/src/help_message.c index 2fd76e432..b85c07f66 100644 --- a/src/help_message.c +++ b/src/help_message.c @@ -1,5 +1,6 @@ #include "global.h" #include "menu.h" +#include "malloc.h" static EWRAM_DATA u8 sHelpMessageWindowId = 0; diff --git a/src/help_system.c b/src/help_system.c index 9c794f878..ef345ff9b 100644 --- a/src/help_system.c +++ b/src/help_system.c @@ -2,6 +2,7 @@ #include "gflib.h" #include "decompress.h" #include "m4a.h" +#include "event_data.h" #include "help_system.h" #include "list_menu.h" #include "strings.h" @@ -74,134 +74,135 @@ static const union AnimCmd gUnknown_83E62E8[] = ANIMCMD_END, }; -static const union AnimCmd gUnknown_83E62F0[] = +static const union AnimCmd sAnim_IceCrystalLarge[] = { ANIMCMD_FRAME(4, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_83E62F8[] = +static const union AnimCmd sAnim_IceCrystalSmall[] = { ANIMCMD_FRAME(6, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_83E6300[] = +static const union AnimCmd sAnim_Snowball[] = { ANIMCMD_FRAME(7, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_83E6308[] = +static const union AnimCmd sAnim_BlizzardIceCrystal[] = { ANIMCMD_FRAME(8, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_83E6310[] = +static const union AnimCmd sAnim_SmallBubblePair[] = { ANIMCMD_FRAME(12, 6), ANIMCMD_FRAME(13, 6), ANIMCMD_JUMP(0), }; +// unused static const union AnimCmd *const gUnknown_83E631C[] = { gUnknown_83E62E8, }; -static const union AnimCmd *const gUnknown_83E6320[] = +static const union AnimCmd *const sAnims_IceCrystalLarge[] = { - gUnknown_83E62F0, + sAnim_IceCrystalLarge, }; -static const union AnimCmd *const gUnknown_83E6324[] = +static const union AnimCmd *const sAnims_IceCrystalSmall[] = { - gUnknown_83E62F8, + sAnim_IceCrystalSmall, }; -static const union AnimCmd *const gUnknown_83E6328[] = +static const union AnimCmd *const sAnims_Snowball[] = { - gUnknown_83E6300, + sAnim_Snowball, }; -static const union AnimCmd *const gUnknown_83E632C[] = +static const union AnimCmd *const sAnims_BlizzardIceCrystal[] = { - gUnknown_83E6308, + sAnim_BlizzardIceCrystal, }; -const union AnimCmd *const gUnknown_83E6330[] = +const union AnimCmd *const gAnims_SmallBubblePair[] = { - gUnknown_83E6310, + sAnim_SmallBubblePair, }; -static const union AffineAnimCmd gUnknown_83E6334[] = +static const union AffineAnimCmd sAffineAnim_IceCrystalSpiralInwardLarge[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 40, 1), AFFINEANIMCMD_JUMP(0), }; -static const union AffineAnimCmd *const gUnknown_83E6344[] = +static const union AffineAnimCmd *const sAffineAnims_IceCrystalSpiralInwardLarge[] = { - gUnknown_83E6334, + sAffineAnim_IceCrystalSpiralInwardLarge, }; -const struct SpriteTemplate gUnknown_83E6348 = +const struct SpriteTemplate gIceCrystalSpiralInwardLarge = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, .oam = &gOamData_AffineDouble_ObjBlend_8x16, - .anims = gUnknown_83E6320, + .anims = sAnims_IceCrystalLarge, .images = NULL, - .affineAnims = gUnknown_83E6344, + .affineAnims = sAffineAnims_IceCrystalSpiralInwardLarge, .callback = AnimIcePunchSwirlingParticle, }; -const struct SpriteTemplate gUnknown_83E6360 = +const struct SpriteTemplate gIceCrystalSpiralInwardSmall = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, .oam = &gOamData_AffineOff_ObjBlend_8x8, - .anims = gUnknown_83E6324, + .anims = sAnims_IceCrystalSmall, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimIcePunchSwirlingParticle, }; -static const union AffineAnimCmd gUnknown_83E6378[] = +static const union AffineAnimCmd sAffineAnim_IceBeamInnerCrystal[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 10, 1), AFFINEANIMCMD_JUMP(0), }; -static const union AffineAnimCmd *const gUnknown_83E6388[] = +static const union AffineAnimCmd *const sAffineAnims_IceBeamInnerCrystal[] = { - gUnknown_83E6378, + sAffineAnim_IceBeamInnerCrystal, }; -const struct SpriteTemplate gUnknown_83E638C = +const struct SpriteTemplate gIceBeamInnerCrystalSpriteTemplate = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, .oam = &gOamData_AffineNormal_ObjBlend_8x16, - .anims = gUnknown_83E6320, + .anims = sAnims_IceCrystalLarge, .images = NULL, - .affineAnims = gUnknown_83E6388, + .affineAnims = sAffineAnims_IceBeamInnerCrystal, .callback = AnimIceBeamParticle, }; -const struct SpriteTemplate gUnknown_83E63A4 = +const struct SpriteTemplate gIceBeamOuterCrystalSpriteTemplate = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, .oam = &gOamData_AffineOff_ObjBlend_8x8, - .anims = gUnknown_83E6324, + .anims = sAnims_IceCrystalSmall, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimIceBeamParticle, }; -static const union AffineAnimCmd gUnknown_83E63BC[] = +static const union AffineAnimCmd sAffineAnim_IceCrystalHit[] = { AFFINEANIMCMD_FRAME(0xCE, 0xCE, 0, 0), AFFINEANIMCMD_FRAME(0x5, 0x5, 0, 10), @@ -209,67 +210,67 @@ static const union AffineAnimCmd gUnknown_83E63BC[] = AFFINEANIMCMD_END, }; -static const union AffineAnimCmd *const gUnknown_83E63DC[] = +static const union AffineAnimCmd *const sAffineAnims_IceCrystalHit[] = { - gUnknown_83E63BC, + sAffineAnim_IceCrystalHit, }; -const struct SpriteTemplate gUnknown_83E63E0 = +const struct SpriteTemplate gIceCrystalHitLargeSpriteTemplate = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, .oam = &gOamData_AffineNormal_ObjBlend_8x16, - .anims = gUnknown_83E6320, + .anims = sAnims_IceCrystalLarge, .images = NULL, - .affineAnims = gUnknown_83E63DC, + .affineAnims = sAffineAnims_IceCrystalHit, .callback = AnimIceEffectParticle, }; -const struct SpriteTemplate gUnknown_83E63F8 = +const struct SpriteTemplate gIceCrystalHitSmallSpriteTemplate = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, .oam = &gOamData_AffineNormal_ObjBlend_8x8, - .anims = gUnknown_83E6324, + .anims = sAnims_IceCrystalSmall, .images = NULL, - .affineAnims = gUnknown_83E63DC, + .affineAnims = sAffineAnims_IceCrystalHit, .callback = AnimIceEffectParticle, }; -const struct SpriteTemplate gUnknown_83E6410 = +const struct SpriteTemplate gSwirlingSnowballSpriteTemplate = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, .oam = &gOamData_AffineOff_ObjNormal_8x8, - .anims = gUnknown_83E6328, + .anims = sAnims_Snowball, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimSwirlingSnowball_Step1, }; -const struct SpriteTemplate gUnknown_83E6428 = +const struct SpriteTemplate gBlizzardIceCrystalSpriteTemplate = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, .oam = &gOamData_AffineOff_ObjNormal_16x16, - .anims = gUnknown_83E632C, + .anims = sAnims_BlizzardIceCrystal, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimMoveParticleBeyondTarget, }; -const struct SpriteTemplate gUnknown_83E6440 = +const struct SpriteTemplate gPowderSnowSnowballSpriteTemplate = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, .oam = &gOamData_AffineOff_ObjNormal_8x8, - .anims = gUnknown_83E6328, + .anims = sAnims_Snowball, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimMoveParticleBeyondTarget, }; -static const union AnimCmd gUnknown_83E6458[] = +static const union AnimCmd sAnim_IceGroundSpike[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(2, 5), @@ -281,51 +282,51 @@ static const union AnimCmd gUnknown_83E6458[] = ANIMCMD_END, }; -static const union AnimCmd *const gUnknown_83E6478[] = +static const union AnimCmd *const sAnims_IceGroundSpike[] = { - gUnknown_83E6458, + sAnim_IceGroundSpike, }; -const struct SpriteTemplate gUnknown_83E647C = +const struct SpriteTemplate gIceGroundSpikeSpriteTemplate = { .tileTag = ANIM_TAG_ICE_SPIKES, .paletteTag = ANIM_TAG_ICE_SPIKES, .oam = &gOamData_AffineOff_ObjBlend_8x16, - .anims = gUnknown_83E6478, + .anims = sAnims_IceGroundSpike, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimWaveFromCenterOfTarget, }; -static const union AnimCmd gUnknown_83E6494[] = +static const union AnimCmd sAnim_Cloud[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(8, 8), ANIMCMD_JUMP(0), }; -static const union AnimCmd *const gUnknown_83E64A0[] = +static const union AnimCmd *const sAnims_Cloud[] = { - gUnknown_83E6494, + sAnim_Cloud, }; -const struct SpriteTemplate gUnknown_83E64A4 = +const struct SpriteTemplate gMistCloudSpriteTemplate = { .tileTag = ANIM_TAG_MIST_CLOUD, .paletteTag = ANIM_TAG_MIST_CLOUD, .oam = &gOamData_AffineOff_ObjBlend_32x16, - .anims = gUnknown_83E64A0, + .anims = sAnims_Cloud, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = InitSwirlingFogAnim, }; -const struct SpriteTemplate gUnknown_83E64BC = +const struct SpriteTemplate gSmogCloudSpriteTemplate = { .tileTag = ANIM_TAG_PURPLE_GAS_CLOUD, .paletteTag = ANIM_TAG_PURPLE_GAS_CLOUD, .oam = &gOamData_AffineOff_ObjBlend_32x16, - .anims = gUnknown_83E64A0, + .anims = sAnims_Cloud, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = InitSwirlingFogAnim, @@ -336,7 +337,7 @@ static const u8 gUnknown_83E64D4[] = 0, 1, 2, 2, 2, 2, 3, 4, 4, 4, 5, 6, 6, 6, 6, 7, 8, 8, 8, 9, }; -const struct SpriteTemplate gUnknown_83E64E8 = +const struct SpriteTemplate gMistBallSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_BUBBLES, .paletteTag = ANIM_TAG_SMALL_BUBBLES, @@ -352,18 +353,18 @@ static const u8 gUnknown_83E6500[] = 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, }; -const struct SpriteTemplate gUnknown_83E6514 = +const struct SpriteTemplate gPoisonGasCloudSpriteTemplate = { .tileTag = ANIM_TAG_PURPLE_GAS_CLOUD, .paletteTag = ANIM_TAG_PURPLE_GAS_CLOUD, .oam = &gOamData_AffineOff_ObjBlend_32x16, - .anims = gUnknown_83E64A0, + .anims = sAnims_Cloud, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = InitPoisonGasCloudAnim, }; -static const struct HailStruct gUnknown_83E652C[] = +static const struct HailStruct sHailCoordData[] = { {100, 120, 0, 2}, {85, 120, 0, 0}, @@ -377,71 +378,71 @@ static const struct HailStruct gUnknown_83E652C[] = {38, 120, 2, 0}, }; -static const union AffineAnimCmd gUnknown_83E6554[] = +static const union AffineAnimCmd sAffineAnim_HailParticle_0[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd gUnknown_83E6564[] = +static const union AffineAnimCmd sAffineAnim_HailParticle_1[] = { AFFINEANIMCMD_FRAME(0xF0, 0xF0, 0, 0), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd gUnknown_83E6574[] = +static const union AffineAnimCmd sAffineAnim_HailParticle_2[] = { AFFINEANIMCMD_FRAME(0xE0, 0xE0, 0, 0), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd gUnknown_83E6584[] = +static const union AffineAnimCmd sAffineAnim_WeatherBallIceDown[] = { AFFINEANIMCMD_FRAME(0x150, 0x150, 0, 0), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd *const gUnknown_83E6594[] = +static const union AffineAnimCmd *const sAffineAnims_HailParticle[] = { - gUnknown_83E6554, - gUnknown_83E6564, - gUnknown_83E6574, + sAffineAnim_HailParticle_0, + sAffineAnim_HailParticle_1, + sAffineAnim_HailParticle_2, }; -static const union AffineAnimCmd *const gUnknown_83E65A0[] = +static const union AffineAnimCmd *const sAffineAnims_WeatherBallIceDown[] = { - gUnknown_83E6584, + sAffineAnim_WeatherBallIceDown, }; -static const struct SpriteTemplate gUnknown_83E65A4 = +static const struct SpriteTemplate sHailParticleSpriteTemplate = { .tileTag = ANIM_TAG_HAIL, .paletteTag = ANIM_TAG_HAIL, .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_83E6594, + .affineAnims = sAffineAnims_HailParticle, .callback = AnimHailBegin, }; -const struct SpriteTemplate gUnknown_83E65BC = +const struct SpriteTemplate gWeatherBallIceDownSpriteTemplate = { .tileTag = ANIM_TAG_HAIL, .paletteTag = ANIM_TAG_HAIL, .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_83E65A0, - .callback = sub_8077350, + .affineAnims = sAffineAnims_WeatherBallIceDown, + .callback = AnimWeatherBallDown, }; -static const union AnimCmd gUnknown_83E65D4[] = +static const union AnimCmd sAnim_IceBallChunk_0[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_83E65DC[] = +static const union AnimCmd sAnim_IceBallChunk_1[] = { ANIMCMD_FRAME(16, 4), ANIMCMD_FRAME(32, 4), @@ -450,68 +451,68 @@ static const union AnimCmd gUnknown_83E65DC[] = ANIMCMD_END, }; -static const union AnimCmd *const gUnknown_83E65F0[] = +static const union AnimCmd *const sAnims_IceBallChunk[] = { - gUnknown_83E65D4, - gUnknown_83E65DC, + sAnim_IceBallChunk_0, + sAnim_IceBallChunk_1, }; -static const union AffineAnimCmd gUnknown_83E65F8[] = +static const union AffineAnimCmd sAffineAnim_IceBallChunk_0[] = { AFFINEANIMCMD_FRAME(0xE0, 0xE0, 0, 0), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd gUnknown_83E6608[] = +static const union AffineAnimCmd sAffineAnim_IceBallChunk_1[] = { AFFINEANIMCMD_FRAME(0x118, 0x118, 0, 0), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd gUnknown_83E6618[] = +static const union AffineAnimCmd sAffineAnim_IceBallChunk_2[] = { AFFINEANIMCMD_FRAME(0x150, 0x150, 0, 0), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd gUnknown_83E6628[] = +static const union AffineAnimCmd sAffineAnim_IceBallChunk_3[] = { AFFINEANIMCMD_FRAME(0x180, 0x180, 0, 0), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd gUnknown_83E6638[] = +static const union AffineAnimCmd sAffineAnim_IceBallChunk_4[] = { AFFINEANIMCMD_FRAME(0x1C0, 0x1C0, 0, 0), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd *const gUnknown_83E6648[] = +static const union AffineAnimCmd *const sAffineAnims_IceBallChunk[] = { - gUnknown_83E65F8, - gUnknown_83E6608, - gUnknown_83E6618, - gUnknown_83E6628, - gUnknown_83E6638, + sAffineAnim_IceBallChunk_0, + sAffineAnim_IceBallChunk_1, + sAffineAnim_IceBallChunk_2, + sAffineAnim_IceBallChunk_3, + sAffineAnim_IceBallChunk_4, }; -const struct SpriteTemplate gUnknown_83E665C = +const struct SpriteTemplate gIceBallChunkSpriteTemplate = { .tileTag = ANIM_TAG_ICE_CHUNK, .paletteTag = ANIM_TAG_ICE_CHUNK, .oam = &gOamData_AffineDouble_ObjNormal_32x32, - .anims = gUnknown_83E65F0, + .anims = sAnims_IceBallChunk, .images = NULL, - .affineAnims = gUnknown_83E6648, + .affineAnims = sAffineAnims_IceBallChunk, .callback = InitIceBallAnim, }; -const struct SpriteTemplate gUnknown_83E6674 = +const struct SpriteTemplate gIceBallImpactShardSpriteTemplate = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, .oam = &gOamData_AffineOff_ObjNormal_8x8, - .anims = gUnknown_83E6324, + .anims = sAnims_IceCrystalSmall, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = InitIceBallParticle, @@ -1305,11 +1306,11 @@ static bool8 GenerateHailParticle(u8 hailStructId, u8 affineAnimNum, u8 taskId, s16 battlerX, battlerY; s16 spriteX; bool8 possibleBool = FALSE; - s8 unk = gUnknown_83E652C[hailStructId].unk3; + s8 unk = sHailCoordData[hailStructId].unk3; if (unk != 2) { - id = GetBattlerAtPosition(gUnknown_83E652C[hailStructId].unk2); + id = GetBattlerAtPosition(sHailCoordData[hailStructId].unk2); if (IsBattlerSpriteVisible(id)) { possibleBool = TRUE; @@ -1329,17 +1330,17 @@ static bool8 GenerateHailParticle(u8 hailStructId, u8 affineAnimNum, u8 taskId, } else { - battlerX = (gUnknown_83E652C[hailStructId].unk0); - battlerY = (gUnknown_83E652C[hailStructId].unk1); + battlerX = (sHailCoordData[hailStructId].unk0); + battlerY = (sHailCoordData[hailStructId].unk1); } } else { - battlerX = (gUnknown_83E652C[hailStructId].unk0); - battlerY = (gUnknown_83E652C[hailStructId].unk1); + battlerX = (sHailCoordData[hailStructId].unk0); + battlerY = (sHailCoordData[hailStructId].unk1); } spriteX = battlerX - ((battlerY + 8) / 2); - id = CreateSprite(&gUnknown_83E65A4, spriteX, -8, 18); + id = CreateSprite(&sHailParticleSpriteTemplate, spriteX, -8, 18); if (id == MAX_SPRITES) { return FALSE; @@ -1367,7 +1368,7 @@ static void AnimHailBegin(struct Sprite *sprite) return; if (sprite->data[0] == 1 && sprite->data[5] == 0) { - spriteId = CreateSprite(&gUnknown_83E63E0, sprite->data[3], sprite->data[4], sprite->subpriority); + spriteId = CreateSprite(&gIceCrystalHitLargeSpriteTemplate, sprite->data[3], sprite->data[4], sprite->subpriority); sprite->data[0] = spriteId; if (spriteId != 64) { diff --git a/src/librfu_rfu.c b/src/librfu_rfu.c index 582060f78..3f5bd8b69 100644 --- a/src/librfu_rfu.c +++ b/src/librfu_rfu.c @@ -1,3 +1,4 @@ +#include <limits.h> #include "librfu.h" struct LLSFStruct @@ -110,7 +111,7 @@ static const struct LLSFStruct llsf_struct[2] = { #define xstr(s) str(s) #define str(s) #s -const char version_string[] = "RFU_V" xstr(LIBRFU_VERSION); +static const char version_string[] = "RFU_V" xstr(LIBRFU_VERSION); static const char str_checkMbootLL[] = "RFU-MBOOT"; @@ -154,16 +155,13 @@ u16 rfu_initializeAPI(u32 *APIBuffer, u16 buffByteSize, IntrFunc *sioIntrTable_p gRfuStatic = (void *)APIBuffer + 0xb4; // + sizeof(*gRfuLinkStatus) gRfuFixed = (void *)APIBuffer + 0xdc; // + sizeof(*gRfuStatic) gRfuSlotStatusNI[0] = (void *)APIBuffer + 0x1bc; // + sizeof(*gRfuFixed) - gRfuSlotStatusUNI[0] = (void *)APIBuffer + 0x37c; // + sizeof(*gRfuSlotStatusNI[0]) + gRfuSlotStatusUNI[0] = (void *)APIBuffer + 0x37c; // + sizeof(*gRfuSlotStatusNI[0]) * RFU_CHILD_MAX for (i = 1; i < RFU_CHILD_MAX; ++i) { gRfuSlotStatusNI[i] = &gRfuSlotStatusNI[i - 1][1]; gRfuSlotStatusUNI[i] = &gRfuSlotStatusUNI[i - 1][1]; } - // TODO: Is it possible to fix the following 2 statements? - // It's equivalent to: - // gRfuFixed->STWIBuffer = &APIBuffer->intr; - // STWI_init_all(&APIBuffer->intr, sioIntrTable_p, copyInterruptToRam); + // remaining space in API buffer is used for `struct RfuIntrStruct`. gRfuFixed->STWIBuffer = (struct RfuIntrStruct *)&gRfuSlotStatusUNI[3][1]; STWI_init_all((struct RfuIntrStruct *)&gRfuSlotStatusUNI[3][1], sioIntrTable_p, copyInterruptToRam); rfu_STC_clearAPIVariables(); @@ -1800,7 +1798,7 @@ static u16 rfu_STC_NI_constructLLSF(u8 bm_slot_id, u8 **dest_pp, struct NIComm * } else { - if ((u32)NI_comm->remainSize >= NI_comm->payloadSize) + if (NI_comm->remainSize >= NI_comm->payloadSize) size = NI_comm->payloadSize; else size = NI_comm->remainSize; @@ -2095,34 +2093,31 @@ static void rfu_STC_NI_receive_Sender(u8 NI_slot, u8 bm_flag, const struct RfuLo else NI_comm->now_p[llsf_NI->phase] += NI_comm->payloadSize << 2; NI_comm->remainSize -= NI_comm->payloadSize; - if (NI_comm->remainSize != 0) - if (NI_comm->remainSize >= 0) - goto _081E30AE; - // Above is a hack to avoid optimization over comparison. - // rfu_STC_NI_constructLLSF uses this field as u32. - // It's equivalent to the following condition: - // if (NI_comm->remainSize == 0 || NI_comm->remainSize < 0) + switch (NI_comm->remainSize) + { + default: + case 0: + NI_comm->phase = 0; + if (NI_comm->state == SLOT_STATE_SEND_START) { - NI_comm->phase = 0; - if (NI_comm->state == SLOT_STATE_SEND_START) + for (i = 0; i < WINDOW_COUNT; ++i) { - for (i = 0; i < WINDOW_COUNT; ++i) - { - NI_comm->n[i] = 1; - NI_comm->now_p[i] = NI_comm->src + NI_comm->payloadSize * i; - } - NI_comm->remainSize = NI_comm->dataSize; - NI_comm->state = SLOT_STATE_SENDING; - } - else - { - NI_comm->n[0] = 0; - NI_comm->remainSize = 0; - NI_comm->state = SLOT_STATE_SEND_LAST; + NI_comm->n[i] = 1; + NI_comm->now_p[i] = NI_comm->src + NI_comm->payloadSize * i; } + NI_comm->remainSize = NI_comm->dataSize; + NI_comm->state = SLOT_STATE_SENDING; } - _081E30AE: - ; + else + { + NI_comm->n[0] = 0; + NI_comm->remainSize = 0; + NI_comm->state = SLOT_STATE_SEND_LAST; + } + break; + case 1 ... INT_MAX: + break; + } } else if (NI_comm->state == SLOT_STATE_SEND_LAST) { diff --git a/src/normal.c b/src/normal.c index 5a4d98907..99ee0e922 100644 --- a/src/normal.c +++ b/src/normal.c @@ -7,16 +7,16 @@ static void AnimConfusionDuck(struct Sprite *sprite); static void AnimSimplePaletteBlend(struct Sprite *sprite); -static void sub_80B9A7C(struct Sprite *sprite); +static void AnimComplexPaletteBlend(struct Sprite *sprite); static void sub_80B9B8C(struct Sprite *sprite); -static void sub_80BA27C(struct Sprite *sprite); -static void sub_80BA560(struct Sprite *sprite); -static void sub_80BA5F8(struct Sprite *sprite); -static void sub_80BA630(struct Sprite *sprite); -static void sub_80BA6C8(struct Sprite *sprite); -static void sub_80BA738(struct Sprite *sprite); -static void sub_80BA780(struct Sprite *sprite); -static void sub_80BA5A8(struct Sprite *sprite); +static void AnimShakeMonOrBattleTerrain(struct Sprite *sprite); +static void AnimHitSplatBasic(struct Sprite *sprite); +static void AnimHitSplatHandleInvert(struct Sprite *sprite); +static void AnimHitSplatRandom(struct Sprite *sprite); +static void AnimHitSplatOnMonEdge(struct Sprite *sprite); +static void AnimCrossImpact(struct Sprite *sprite); +static void AnimFlashingHitSplat(struct Sprite *sprite); +static void AnimHitSplatPersistent(struct Sprite *sprite); static void AnimConfusionDuckStep(struct Sprite *sprite); static void AnimSimplePaletteBlendStep(struct Sprite *sprite); static void sub_80B9AD0(struct Sprite *sprite); @@ -35,7 +35,7 @@ static void sub_80BA4D0(u8 taskId); static void sub_80BA7BC(struct Sprite *sprite); -static const union AnimCmd gUnknown_83E7ADC[] = +static const union AnimCmd sAnim_ConfusionDuck_0[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(4, 8), @@ -44,7 +44,7 @@ static const union AnimCmd gUnknown_83E7ADC[] = ANIMCMD_JUMP(0), }; -static const union AnimCmd gUnknown_83E7AF0[] = +static const union AnimCmd sAnim_ConfusionDuck_1[] = { ANIMCMD_FRAME(0, 8, .hFlip = TRUE), ANIMCMD_FRAME(4, 8), @@ -53,10 +53,10 @@ static const union AnimCmd gUnknown_83E7AF0[] = ANIMCMD_JUMP(0), }; -static const union AnimCmd *const gUnknown_83E7B04[] = +static const union AnimCmd *const sAnims_ConfusionDuck[] = { - gUnknown_83E7ADC, - gUnknown_83E7AF0, + sAnim_ConfusionDuck_0, + sAnim_ConfusionDuck_1, }; const struct SpriteTemplate gConfusionDuckSpriteTemplate = @@ -64,7 +64,7 @@ const struct SpriteTemplate gConfusionDuckSpriteTemplate = .tileTag = ANIM_TAG_DUCK, .paletteTag = ANIM_TAG_DUCK, .oam = &gOamData_AffineOff_ObjNormal_16x16, - .anims = gUnknown_83E7B04, + .anims = sAnims_ConfusionDuck, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimConfusionDuck, @@ -89,7 +89,7 @@ const struct SpriteTemplate gComplexPaletteBlendSpriteTemplate = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B9A7C, + .callback = AnimComplexPaletteBlend, }; static const union AnimCmd gUnknown_83E7B54[] = @@ -118,7 +118,7 @@ const struct SpriteTemplate gUnknown_83E7B70 = .callback = sub_80B9B8C, }; -const struct SpriteTemplate gUnknown_83E7B88 = +const struct SpriteTemplate gShakeMonOrTerrainSpriteTemplate = { .tileTag = 0, .paletteTag = 0, @@ -126,42 +126,42 @@ const struct SpriteTemplate gUnknown_83E7B88 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80BA27C, + .callback = AnimShakeMonOrBattleTerrain, }; -static const union AffineAnimCmd gUnknown_83E7BA0[] = +static const union AffineAnimCmd sAffineAnim_HitSplat_0[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd gUnknown_83E7BB0[] = +static const union AffineAnimCmd sAffineAnim_HitSplat_1[] = { AFFINEANIMCMD_FRAME(0xD8, 0xD8, 0, 0), AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd gUnknown_83E7BC8[] = +static const union AffineAnimCmd sAffineAnim_HitSplat_2[] = { AFFINEANIMCMD_FRAME(0xB0, 0xB0, 0, 0), AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd gUnknown_83E7BE0[] = +static const union AffineAnimCmd sAffineAnim_HitSplat_3[] = { AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0), AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd *const gUnknown_83E7BF8[] = +static const union AffineAnimCmd *const sAffineAnims_HitSplat[] = { - gUnknown_83E7BA0, - gUnknown_83E7BB0, - gUnknown_83E7BC8, - gUnknown_83E7BE0, + sAffineAnim_HitSplat_0, + sAffineAnim_HitSplat_1, + sAffineAnim_HitSplat_2, + sAffineAnim_HitSplat_3, }; const struct SpriteTemplate gBasicHitSplatSpriteTemplate = @@ -171,55 +171,55 @@ const struct SpriteTemplate gBasicHitSplatSpriteTemplate = .oam = &gOamData_AffineNormal_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_83E7BF8, - .callback = sub_80BA560, + .affineAnims = sAffineAnims_HitSplat, + .callback = AnimHitSplatBasic, }; -const struct SpriteTemplate gUnknown_83E7C20 = +const struct SpriteTemplate gHandleInvertHitSplatSpriteTemplate = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_IMPACT, .oam = &gOamData_AffineNormal_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_83E7BF8, - .callback = sub_80BA5F8, + .affineAnims = sAffineAnims_HitSplat, + .callback = AnimHitSplatHandleInvert, }; -const struct SpriteTemplate gUnknown_83E7C38 = +const struct SpriteTemplate gWaterHitSplatSpriteTemplate = { .tileTag = ANIM_TAG_WATER_IMPACT, .paletteTag = ANIM_TAG_WATER_IMPACT, .oam = &gOamData_AffineNormal_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_83E7BF8, - .callback = sub_80BA560, + .affineAnims = sAffineAnims_HitSplat, + .callback = AnimHitSplatBasic, }; -const struct SpriteTemplate gUnknown_83E7C50 = +const struct SpriteTemplate gRandomPosHitSplatSpriteTemplate = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_IMPACT, .oam = &gOamData_AffineNormal_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_83E7BF8, - .callback = sub_80BA630, + .affineAnims = sAffineAnims_HitSplat, + .callback = AnimHitSplatRandom, }; -const struct SpriteTemplate gUnknown_83E7C68 = +const struct SpriteTemplate gMonEdgeHitSplatSpriteTemplate = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_IMPACT, .oam = &gOamData_AffineNormal_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_83E7BF8, - .callback = sub_80BA6C8, + .affineAnims = sAffineAnims_HitSplat, + .callback = AnimHitSplatOnMonEdge, }; -const struct SpriteTemplate gUnknown_83E7C80 = +const struct SpriteTemplate gCrossImpactSpriteTemplate = { .tileTag = ANIM_TAG_CROSS_IMPACT, .paletteTag = ANIM_TAG_CROSS_IMPACT, @@ -227,29 +227,29 @@ const struct SpriteTemplate gUnknown_83E7C80 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80BA738, + .callback = AnimCrossImpact, }; -const struct SpriteTemplate gUnknown_83E7C98 = +const struct SpriteTemplate gFlashingHitSplatSpriteTemplate = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_IMPACT, .oam = &gOamData_AffineNormal_ObjNormal_32x32, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_83E7BF8, - .callback = sub_80BA780, + .affineAnims = sAffineAnims_HitSplat, + .callback = AnimFlashingHitSplat, }; -const struct SpriteTemplate gUnknown_83E7CB0 = +const struct SpriteTemplate gPersistHitSplatSpriteTemplate = { .tileTag = ANIM_TAG_IMPACT, .paletteTag = ANIM_TAG_IMPACT, .oam = &gOamData_AffineNormal_ObjBlend_32x32, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_83E7BF8, - .callback = sub_80BA5A8, + .affineAnims = sAffineAnims_HitSplat, + .callback = AnimHitSplatPersistent, }; // Moves a spinning duck around the mon's head. @@ -335,7 +335,7 @@ static void AnimSimplePaletteBlendStep(struct Sprite *sprite) DestroyAnimSprite(sprite); } -static void sub_80B9A7C(struct Sprite *sprite) +static void AnimComplexPaletteBlend(struct Sprite *sprite) { u32 selectedPalettes; @@ -461,7 +461,7 @@ static void sub_80B9C7C(u8 taskId) } } -void sub_80B9CE4(u8 taskId) +void AnimTask_BlendColorCycleExclude(u8 taskId) { s32 battler; u32 selectedPalettes = 0; @@ -527,7 +527,7 @@ static void sub_80B9DF0(u8 taskId) } } -void sub_80B9E58(u8 taskId) +void AnimTask_BlendColorCycleByTag(u8 taskId) { u8 paletteIndex; @@ -585,7 +585,7 @@ static void sub_80B9F04(u8 taskId) } } -void sub_80B9F6C(u8 taskId) +void AnimTask_FlashAnimTagWithColor(u8 taskId) { u8 paletteIndex; @@ -652,7 +652,7 @@ static void sub_80BA090(u8 taskId) } } -void sub_80BA0E8(u8 taskId) +void AnimTask_InvertScreenColor(u8 taskId) { u32 selectedPalettes = 0; u8 attackerBattler = gBattleAnimAttacker; @@ -708,7 +708,7 @@ static void sub_80BA16C(u8 taskId) } } -static void sub_80BA27C(struct Sprite *sprite) +static void AnimShakeMonOrBattleTerrain(struct Sprite *sprite) { u16 var0; @@ -789,7 +789,7 @@ static void sub_80BA3CC(void) } } -void sub_80BA47C(u8 taskId) +void AnimTask_ShakeBattleTerrain(u8 taskId) { gTasks[taskId].data[0] = gBattleAnimArgs[0]; gTasks[taskId].data[1] = gBattleAnimArgs[1]; @@ -830,7 +830,7 @@ static void sub_80BA4D0(u8 taskId) } } -static void sub_80BA560(struct Sprite *sprite) +static void AnimHitSplatBasic(struct Sprite *sprite) { StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]); if (gBattleAnimArgs[2] == 0) @@ -841,7 +841,7 @@ static void sub_80BA560(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -static void sub_80BA5A8(struct Sprite *sprite) +static void AnimHitSplatPersistent(struct Sprite *sprite) { StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]); if (gBattleAnimArgs[2] == 0) @@ -853,14 +853,14 @@ static void sub_80BA5A8(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, sub_80B1D3C); } -static void sub_80BA5F8(struct Sprite *sprite) +static void AnimHitSplatHandleInvert(struct Sprite *sprite) { if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER && !IsContest()) gBattleAnimArgs[1] = -gBattleAnimArgs[1]; - sub_80BA560(sprite); + AnimHitSplatBasic(sprite); } -static void sub_80BA630(struct Sprite *sprite) +static void AnimHitSplatRandom(struct Sprite *sprite) { if (gBattleAnimArgs[1] == -1) gBattleAnimArgs[1] = Random() & 3; @@ -875,7 +875,7 @@ static void sub_80BA630(struct Sprite *sprite) sprite->callback = RunStoredCallbackWhenAffineAnimEnds; } -static void sub_80BA6C8(struct Sprite *sprite) +static void AnimHitSplatOnMonEdge(struct Sprite *sprite) { sprite->data[0] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); sprite->pos1.x = gSprites[sprite->data[0]].pos1.x + gSprites[sprite->data[0]].pos2.x; @@ -887,7 +887,7 @@ static void sub_80BA6C8(struct Sprite *sprite) sprite->callback = RunStoredCallbackWhenAffineAnimEnds; } -static void sub_80BA738(struct Sprite *sprite) +static void AnimCrossImpact(struct Sprite *sprite) { if (gBattleAnimArgs[2] == 0) InitSpritePosToAnimAttacker(sprite, 1); @@ -898,7 +898,7 @@ static void sub_80BA738(struct Sprite *sprite) sprite->callback = WaitAnimForDuration; } -static void sub_80BA780(struct Sprite *sprite) +static void AnimFlashingHitSplat(struct Sprite *sprite) { StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]); if (gBattleAnimArgs[2] == 0) diff --git a/src/poison.c b/src/poison.c index af7f8ee86..ae458d561 100644 --- a/src/poison.c +++ b/src/poison.c @@ -2,17 +2,17 @@ #include "battle_anim.h" #include "trig.h" -static void sub_80B1620(struct Sprite *sprite); -static void sub_80B16A0(struct Sprite *sprite); -static void sub_80B1744(struct Sprite *sprite); -static void sub_80B17C4(struct Sprite *sprite); +static void AnimSludgeProjectile(struct Sprite *sprite); +static void AnimAcidPoisonBubble(struct Sprite *sprite); +static void AnimSludgeBombHitParticle(struct Sprite *sprite); +static void AnimAcidPoisonDroplet(struct Sprite *sprite); static void AnimBubbleEffect(struct Sprite *sprite); static void sub_80B1684(struct Sprite *sprite); static void sub_80B1728(struct Sprite *sprite); static void sub_80B1798(struct Sprite *sprite); static void AnimBubbleEffectStep(struct Sprite *sprite); -static const union AnimCmd gUnknown_83E6994[] = +static const union AnimCmd sAnim_ToxicBubble[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(8, 5), @@ -21,56 +21,56 @@ static const union AnimCmd gUnknown_83E6994[] = ANIMCMD_END, }; -static const union AnimCmd *const gUnknown_83E69A8[] = +static const union AnimCmd *const sAnims_ToxicBubble[] = { - gUnknown_83E6994, + sAnim_ToxicBubble, }; -const struct SpriteTemplate gUnknown_83E69AC = +const struct SpriteTemplate gToxicBubbleSpriteTemplate = { .tileTag = ANIM_TAG_TOXIC_BUBBLE, .paletteTag = ANIM_TAG_TOXIC_BUBBLE, .oam = &gOamData_AffineOff_ObjNormal_16x32, - .anims = gUnknown_83E69A8, + .anims = sAnims_ToxicBubble, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimSpriteOnMonPos, }; -static const union AnimCmd gUnknown_83E69C4[] = +static const union AnimCmd sAnim_PoisonProjectile[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_83E69CC[] = +static const union AnimCmd sAnim_AcidPoisonDroplet[] = { ANIMCMD_FRAME(4, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_83E69D4[] = +static const union AnimCmd sAnim_SludgeBombHit[] = { ANIMCMD_FRAME(8, 1), ANIMCMD_END, }; -static const union AnimCmd *const gUnknown_83E69DC[] = +static const union AnimCmd *const sAnims_PoisonProjectile[] = { - gUnknown_83E69C4, + sAnim_PoisonProjectile, }; -static const union AnimCmd *const gUnknown_83E69E0[] = +static const union AnimCmd *const sAnims_AcidPoisonDroplet[] = { - gUnknown_83E69CC, + sAnim_AcidPoisonDroplet, }; -static const union AnimCmd *const gUnknown_83E69E4[] = +static const union AnimCmd *const sAnims_SludgeBombHit[] = { - gUnknown_83E69D4, + sAnim_SludgeBombHit, }; -static const union AffineAnimCmd gUnknown_83E69E8[] = +static const union AffineAnimCmd sAffineAnim_PoisonProjectile[] = { AFFINEANIMCMD_FRAME(0x160, 0x160, 0, 0), AFFINEANIMCMD_FRAME(-0xA, -0xA, 0, 10), @@ -78,88 +78,88 @@ static const union AffineAnimCmd gUnknown_83E69E8[] = AFFINEANIMCMD_JUMP(0), }; -static const union AffineAnimCmd gUnknown_83E6A08[] = +static const union AffineAnimCmd sAffineAnim_SludgeBombHit[] = { AFFINEANIMCMD_FRAME(0xEC, 0xEC, 0, 0), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd *const gUnknown_83E6A18[] = +static const union AffineAnimCmd *const sAffineAnims_PoisonProjectile[] = { - gUnknown_83E69E8, + sAffineAnim_PoisonProjectile, }; -static const union AffineAnimCmd *const gUnknown_83E6A1C[] = +static const union AffineAnimCmd *const sAffineAnims_SludgeBombHit[] = { - gUnknown_83E6A08, + sAffineAnim_SludgeBombHit, }; -const struct SpriteTemplate gUnknown_83E6A20 = +const struct SpriteTemplate gSludgeProjectileSpriteTemplate = { .tileTag = ANIM_TAG_POISON_BUBBLE, .paletteTag = ANIM_TAG_POISON_BUBBLE, .oam = &gOamData_AffineDouble_ObjNormal_16x16, - .anims = gUnknown_83E69DC, + .anims = sAnims_PoisonProjectile, .images = NULL, - .affineAnims = gUnknown_83E6A18, - .callback = sub_80B1620, + .affineAnims = sAffineAnims_PoisonProjectile, + .callback = AnimSludgeProjectile, }; -const struct SpriteTemplate gUnknown_83E6A38 = +const struct SpriteTemplate gAcidPoisonBubbleSpriteTemplate = { .tileTag = ANIM_TAG_POISON_BUBBLE, .paletteTag = ANIM_TAG_POISON_BUBBLE, .oam = &gOamData_AffineDouble_ObjNormal_16x16, - .anims = gUnknown_83E69DC, + .anims = sAnims_PoisonProjectile, .images = NULL, - .affineAnims = gUnknown_83E6A18, - .callback = sub_80B16A0, + .affineAnims = sAffineAnims_PoisonProjectile, + .callback = AnimAcidPoisonBubble, }; -const struct SpriteTemplate gUnknown_83E6A50 = +const struct SpriteTemplate gSludgeBombHitParticleSpriteTemplate = { .tileTag = ANIM_TAG_POISON_BUBBLE, .paletteTag = ANIM_TAG_POISON_BUBBLE, .oam = &gOamData_AffineNormal_ObjNormal_16x16, - .anims = gUnknown_83E69E4, + .anims = sAnims_SludgeBombHit, .images = NULL, - .affineAnims = gUnknown_83E6A1C, - .callback = sub_80B1744, + .affineAnims = sAffineAnims_SludgeBombHit, + .callback = AnimSludgeBombHitParticle, }; -static const union AffineAnimCmd gUnknown_83E6A68[] = +static const union AffineAnimCmd sAffineAnim_AcidPoisonDroplet[] = { AFFINEANIMCMD_FRAME(-0x10, 0x10, 0, 6), AFFINEANIMCMD_FRAME(0x10, -0x10, 0, 6), AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd *const gUnknown_83E6A80[] = +const union AffineAnimCmd *const gAffineAnims_Droplet[] = { - gUnknown_83E6A68, + sAffineAnim_AcidPoisonDroplet, }; -const struct SpriteTemplate gUnknown_83E6A84 = +const struct SpriteTemplate gAcidPoisonDropletSpriteTemplate = { .tileTag = ANIM_TAG_POISON_BUBBLE, .paletteTag = ANIM_TAG_POISON_BUBBLE, .oam = &gOamData_AffineDouble_ObjNormal_16x16, - .anims = gUnknown_83E69E0, + .anims = sAnims_AcidPoisonDroplet, .images = NULL, - .affineAnims = gUnknown_83E6A80, - .callback = sub_80B17C4, + .affineAnims = gAffineAnims_Droplet, + .callback = AnimAcidPoisonDroplet, }; -static const union AffineAnimCmd gUnknown_83E6A9C[] = +static const union AffineAnimCmd sAffineAnim_Bubble[] = { AFFINEANIMCMD_FRAME(0x9C, 0x9C, 0, 0), AFFINEANIMCMD_FRAME(0x5, 0x5, 0, 20), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd *const gUnknown_83E6AB4[] = +static const union AffineAnimCmd *const sAffineAnims_Bubble[] = { - gUnknown_83E6A9C, + sAffineAnim_Bubble, }; const struct SpriteTemplate gPoisonBubbleSpriteTemplate = @@ -167,9 +167,9 @@ const struct SpriteTemplate gPoisonBubbleSpriteTemplate = .tileTag = ANIM_TAG_POISON_BUBBLE, .paletteTag = ANIM_TAG_POISON_BUBBLE, .oam = &gOamData_AffineNormal_ObjNormal_16x16, - .anims = gUnknown_83E69DC, + .anims = sAnims_PoisonProjectile, .images = NULL, - .affineAnims = gUnknown_83E6AB4, + .affineAnims = sAffineAnims_Bubble, .callback = AnimBubbleEffect, }; @@ -178,13 +178,13 @@ const struct SpriteTemplate gWaterBubbleSpriteTemplate = .tileTag = ANIM_TAG_SMALL_BUBBLES, .paletteTag = ANIM_TAG_SMALL_BUBBLES, .oam = &gOamData_AffineNormal_ObjBlend_16x16, - .anims = gUnknown_83E5A78, + .anims = gAnims_WaterBubble, .images = NULL, - .affineAnims = gUnknown_83E6AB4, + .affineAnims = sAffineAnims_Bubble, .callback = AnimBubbleEffect, }; -static void sub_80B1620(struct Sprite *sprite) +static void AnimSludgeProjectile(struct Sprite *sprite) { if (!gBattleAnimArgs[3]) StartSpriteAnim(sprite, 2); @@ -203,7 +203,7 @@ static void sub_80B1684(struct Sprite *sprite) DestroyAnimSprite(sprite); } -static void sub_80B16A0(struct Sprite *sprite) +static void AnimAcidPoisonBubble(struct Sprite *sprite) { s16 l1, l2; @@ -227,7 +227,7 @@ static void sub_80B1728(struct Sprite *sprite) DestroyAnimSprite(sprite); } -static void sub_80B1744(struct Sprite *sprite) +static void AnimSludgeBombHitParticle(struct Sprite *sprite) { sprite->data[0] = gBattleAnimArgs[2]; sprite->data[1] = sprite->pos1.x; @@ -249,7 +249,7 @@ static void sub_80B1798(struct Sprite *sprite) DestroyAnimSprite(sprite); } -static void sub_80B17C4(struct Sprite *sprite) +static void AnimAcidPoisonDroplet(struct Sprite *sprite) { SetAverageBattlerPositions(gBattleAnimTarget, TRUE, &sprite->pos1.x, &sprite->pos1.y); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) diff --git a/src/pokemon.c b/src/pokemon.c index c85c7772c..8f87db6ed 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -4819,7 +4819,7 @@ static void sub_8042D50(int stat) gBattlerTarget = gBattlerInMenuId; StringCopy(gBattleTextBuff1, gStatNamesTable[gUnknown_825DFF0[stat]]); StringCopy(gBattleTextBuff2, gBattleText_Rose); - BattleStringExpandPlaceholdersToDisplayedString(gBattleText_UnknownString3); + BattleStringExpandPlaceholdersToDisplayedString(gText_PkmnsStatChanged2); } const u8 *Battle_PrintStatBoosterEffectMessage(u16 itemId) diff --git a/src/psychic.c b/src/psychic.c index eb3522188..5a6b4f942 100644 --- a/src/psychic.c +++ b/src/psychic.c @@ -5,13 +5,13 @@ #include "trig.h" #include "constants/songs.h" -static void sub_80B2ECC(struct Sprite *sprite); -static void sub_80B31D0(struct Sprite *sprite); -static void sub_80B3278(struct Sprite *sprite); -static void sub_80B32F4(struct Sprite *sprite); -static void sub_80B37EC(struct Sprite *sprite); -static void sub_80B3A34(struct Sprite *sprite); -static void sub_80B3E84(struct Sprite *sprite); +static void AnimDefensiveWall(struct Sprite *sprite); +static void AnimWallSparkle(struct Sprite *sprite); +static void AnimBentSpoon(struct Sprite *sprite); +static void AnimQuestionMark(struct Sprite *sprite); +static void AnimRedX(struct Sprite *sprite); +static void AnimSkillSwapOrb(struct Sprite *sprite); +static void AnimPsychoBoost(struct Sprite *sprite); static void sub_80B300C(struct Sprite *sprite); static void sub_80B3044(struct Sprite *sprite); static void sub_80B30B0(struct Sprite *sprite); @@ -25,30 +25,30 @@ static void sub_80B3980(u8 taskId); static void sub_80B3B78(u8 taskId); static void sub_80B3D78(u8 taskId); -static const union AffineAnimCmd gUnknown_83E6DDC[] = +static const union AffineAnimCmd sAffineAnim_PsychUpSpiral[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), AFFINEANIMCMD_FRAME(-0x2, -0x2, -10, 120), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd *const gUnknown_83E6DF4[] = +static const union AffineAnimCmd *const sAffineAnims_PsychUpSpiral[] = { - gUnknown_83E6DDC, + sAffineAnim_PsychUpSpiral, }; -const struct SpriteTemplate gUnknown_83E6DF8 = +const struct SpriteTemplate gPsychUpSpiralSpriteTemplate = { .tileTag = ANIM_TAG_SPIRAL, .paletteTag = ANIM_TAG_SPIRAL, .oam = &gOamData_AffineNormal_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_83E6DF4, + .affineAnims = sAffineAnims_PsychUpSpiral, .callback = AnimSpriteOnMonPos, }; -const struct SpriteTemplate gUnknown_83E6E10 = +const struct SpriteTemplate gLightScreenWallSpriteTemplate = { .tileTag = ANIM_TAG_GREEN_LIGHT_WALL, .paletteTag = ANIM_TAG_GREEN_LIGHT_WALL, @@ -56,10 +56,10 @@ const struct SpriteTemplate gUnknown_83E6E10 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B2ECC, + .callback = AnimDefensiveWall, }; -const struct SpriteTemplate gUnknown_83E6E28 = +const struct SpriteTemplate gReflectWallSpriteTemplate = { .tileTag = ANIM_TAG_BLUE_LIGHT_WALL, .paletteTag = ANIM_TAG_BLUE_LIGHT_WALL, @@ -67,10 +67,10 @@ const struct SpriteTemplate gUnknown_83E6E28 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B2ECC, + .callback = AnimDefensiveWall, }; -const struct SpriteTemplate gUnknown_83E6E40 = +const struct SpriteTemplate gMirrorCoatWallSpriteTemplate = { .tileTag = ANIM_TAG_RED_LIGHT_WALL, .paletteTag = ANIM_TAG_RED_LIGHT_WALL, @@ -78,10 +78,10 @@ const struct SpriteTemplate gUnknown_83E6E40 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B2ECC, + .callback = AnimDefensiveWall, }; -const struct SpriteTemplate gUnknown_83E6E58 = +const struct SpriteTemplate gBarrierWallSpriteTemplate = { .tileTag = ANIM_TAG_GRAY_LIGHT_WALL, .paletteTag = ANIM_TAG_GRAY_LIGHT_WALL, @@ -89,10 +89,10 @@ const struct SpriteTemplate gUnknown_83E6E58 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B2ECC, + .callback = AnimDefensiveWall, }; -const struct SpriteTemplate gUnknown_83E6E70 = +const struct SpriteTemplate gMagicCoatWallSpriteTemplate = { .tileTag = ANIM_TAG_ORANGE_LIGHT_WALL, .paletteTag = ANIM_TAG_ORANGE_LIGHT_WALL, @@ -100,10 +100,10 @@ const struct SpriteTemplate gUnknown_83E6E70 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B2ECC, + .callback = AnimDefensiveWall, }; -static const union AnimCmd gUnknown_83E6E88[] = +static const union AnimCmd sAnim_ReflectSparkle[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(16, 3), @@ -113,23 +113,23 @@ static const union AnimCmd gUnknown_83E6E88[] = ANIMCMD_END, }; -static const union AnimCmd *const gUnknown_83E6EA0[] = +static const union AnimCmd *const sAnims_ReflectSparkle[] = { - gUnknown_83E6E88, + sAnim_ReflectSparkle, }; -const struct SpriteTemplate gUnknown_83E6EA4 = +const struct SpriteTemplate gReflectSparkleSpriteTemplate = { .tileTag = ANIM_TAG_SPARKLE_4, .paletteTag = ANIM_TAG_SPARKLE_4, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_83E6EA0, + .anims = sAnims_ReflectSparkle, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B31D0, + .callback = AnimWallSparkle, }; -static const union AnimCmd gUnknown_83E6EBC[] = +static const union AnimCmd sAnim_SpecialScreenSparkle[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(4, 5), @@ -138,23 +138,23 @@ static const union AnimCmd gUnknown_83E6EBC[] = ANIMCMD_END, }; -static const union AnimCmd *const gUnknown_83E6ED0[] = +static const union AnimCmd *const sAnims_SpecialScreenSparkle[] = { - gUnknown_83E6EBC, + sAnim_SpecialScreenSparkle, }; -const struct SpriteTemplate gUnknown_83E6ED4 = +const struct SpriteTemplate gSpecialScreenSparkleSpriteTemplate = { .tileTag = ANIM_TAG_SPARKLE_3, .paletteTag = ANIM_TAG_SPARKLE_3, .oam = &gOamData_AffineOff_ObjNormal_16x16, - .anims = gUnknown_83E6ED0, + .anims = sAnims_SpecialScreenSparkle, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B31D0, + .callback = AnimWallSparkle, }; -const struct SpriteTemplate gUnknown_83E6EEC = +const struct SpriteTemplate gGoldRingSpriteTemplate = { .tileTag = ANIM_TAG_GOLD_RING, .paletteTag = ANIM_TAG_GOLD_RING, @@ -165,7 +165,7 @@ const struct SpriteTemplate gUnknown_83E6EEC = .callback = TranslateAnimSpriteToTargetMonLocation, }; -static const union AnimCmd gUnknown_83E6F04[] = +static const union AnimCmd sAnim_BentSpoon_0[] = { ANIMCMD_FRAME(8, 60, .hFlip = TRUE), ANIMCMD_FRAME(16, 5, .hFlip = TRUE), @@ -185,7 +185,7 @@ static const union AnimCmd gUnknown_83E6F04[] = ANIMCMD_END, }; -const union AnimCmd gUnknown_83E6F44[] = +static const union AnimCmd sAnim_BentSpoon_1[] = { ANIMCMD_FRAME(8, 60), ANIMCMD_FRAME(16, 5), @@ -205,24 +205,24 @@ const union AnimCmd gUnknown_83E6F44[] = ANIMCMD_END, }; -static const union AnimCmd *const gUnknown_83E6F84[] = +static const union AnimCmd *const sAnims_BentSpoon[] = { - gUnknown_83E6F04, - gUnknown_83E6F44, + sAnim_BentSpoon_0, + sAnim_BentSpoon_1, }; -const struct SpriteTemplate gUnknown_83E6F8C = +const struct SpriteTemplate gBentSpoonSpriteTemplate = { .tileTag = ANIM_TAG_BENT_SPOON, .paletteTag = ANIM_TAG_BENT_SPOON, .oam = &gOamData_AffineOff_ObjNormal_16x32, - .anims = gUnknown_83E6F84, + .anims = sAnims_BentSpoon, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B3278, + .callback = AnimBentSpoon, }; -static const union AnimCmd gUnknown_83E6FA4[] = +static const union AnimCmd sAnim_QuestionMark[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(16, 6), @@ -234,12 +234,12 @@ static const union AnimCmd gUnknown_83E6FA4[] = ANIMCMD_END, }; -static const union AnimCmd *const gUnknown_83E6FC4[] = +static const union AnimCmd *const sAnims_QuestionMark[] = { - gUnknown_83E6FA4, + sAnim_QuestionMark, }; -static const union AffineAnimCmd gUnknown_83E6FC8[] = +static const union AffineAnimCmd sAffineAnim_QuestionMark[] = { AFFINEANIMCMD_FRAME(0, 0, 4, 4), AFFINEANIMCMD_FRAME(0, 0, -4, 8), @@ -248,23 +248,23 @@ static const union AffineAnimCmd gUnknown_83E6FC8[] = AFFINEANIMCMD_END, }; -static const union AffineAnimCmd *const gUnknown_83E6FF0[] = +static const union AffineAnimCmd *const sAffineAnims_QuestionMark[] = { - gUnknown_83E6FC8, + sAffineAnim_QuestionMark, }; -const struct SpriteTemplate gUnknown_83E6FF4 = +const struct SpriteTemplate gQuestionMarkSpriteTemplate = { .tileTag = ANIM_TAG_AMNESIA, .paletteTag = ANIM_TAG_AMNESIA, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_83E6FC4, + .anims = sAnims_QuestionMark, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B32F4, + .callback = AnimQuestionMark, }; -static const union AffineAnimCmd gUnknown_83E700C[] = +static const union AffineAnimCmd sAffineAnim_MeditateStretchAttacker[] = { AFFINEANIMCMD_FRAME(-8, 10, 0, 16), AFFINEANIMCMD_FRAME(18, -18, 0, 16), @@ -272,14 +272,14 @@ static const union AffineAnimCmd gUnknown_83E700C[] = AFFINEANIMCMD_END, }; -static const union AffineAnimCmd gUnknown_83E702C[] = +static const union AffineAnimCmd sAffineAnim_Teleport[] = { AFFINEANIMCMD_FRAME(64, -4, 0, 20), AFFINEANIMCMD_FRAME(0, 0, 0, -56), AFFINEANIMCMD_END, }; -static const struct SpriteTemplate gUnknown_83E7044 = +static const struct SpriteTemplate sImprisonOrbSpriteTemplate = { .tileTag = ANIM_TAG_HOLLOW_ORB, .paletteTag = ANIM_TAG_HOLLOW_ORB, @@ -290,25 +290,25 @@ static const struct SpriteTemplate gUnknown_83E7044 = .callback = SpriteCallbackDummy, }; -const struct SpriteTemplate gUnknown_83E705C = +const struct SpriteTemplate gRedXSpriteTemplate = { - .tileTag = 0x280A, - .paletteTag = 0x280A, + .tileTag = ANIM_TAG_X_SIGN, + .paletteTag = ANIM_TAG_X_SIGN, .oam = &gOamData_AffineOff_ObjNormal_64x64, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B37EC, + .callback = AnimRedX, }; -static const union AffineAnimCmd gUnknown_83E7074[] = +static const union AffineAnimCmd sAffineAnim_SkillSwapOrb_0[] = { AFFINEANIMCMD_FRAME(-0x8, -0x8, 0, 8), AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 8), AFFINEANIMCMD_JUMP(0), }; -static const union AffineAnimCmd gUnknown_83E708C[] = +static const union AffineAnimCmd sAffineAnim_SkillSwapOrb_1[] = { AFFINEANIMCMD_FRAME(0xF0, 0xF0, 0, 0), AFFINEANIMCMD_FRAME(-0x8, -0x8, 0, 6), @@ -317,7 +317,7 @@ static const union AffineAnimCmd gUnknown_83E708C[] = AFFINEANIMCMD_JUMP(1), }; -static const union AffineAnimCmd gUnknown_83E70B4[] = +static const union AffineAnimCmd sAffineAnim_SkillSwapOrb_2[] = { AFFINEANIMCMD_FRAME(0xD0, 0xD0, 0, 0), AFFINEANIMCMD_FRAME(-0x8, -0x8, 0, 4), @@ -326,7 +326,7 @@ static const union AffineAnimCmd gUnknown_83E70B4[] = AFFINEANIMCMD_JUMP(1), }; -static const union AffineAnimCmd gUnknown_83E70DC[] = +static const union AffineAnimCmd sAffineAnim_SkillSwapOrb_3[] = { AFFINEANIMCMD_FRAME(0xB0, 0xB0, 0, 0), AFFINEANIMCMD_FRAME(-0x8, -0x8, 0, 2), @@ -335,49 +335,49 @@ static const union AffineAnimCmd gUnknown_83E70DC[] = AFFINEANIMCMD_JUMP(1), }; -static const union AffineAnimCmd *const gUnknown_83E7104[] = +static const union AffineAnimCmd *const sAffineAnims_SkillSwapOrb[] = { - gUnknown_83E7074, - gUnknown_83E708C, - gUnknown_83E70B4, - gUnknown_83E70DC, + sAffineAnim_SkillSwapOrb_0, + sAffineAnim_SkillSwapOrb_1, + sAffineAnim_SkillSwapOrb_2, + sAffineAnim_SkillSwapOrb_3, }; -static const struct SpriteTemplate gUnknown_83E7114 = +static const struct SpriteTemplate sSkillSwapOrbSpriteTemplate = { .tileTag = ANIM_TAG_BLUEGREEN_ORB, .paletteTag = ANIM_TAG_BLUEGREEN_ORB, .oam = &gOamData_AffineNormal_ObjNormal_16x16, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_83E7104, - .callback = sub_80B3A34, + .affineAnims = sAffineAnims_SkillSwapOrb, + .callback = AnimSkillSwapOrb, }; -static const union AffineAnimCmd gUnknown_83E712C[] = +static const union AffineAnimCmd sAffineAnim_LusterPurgeCircle[] = { AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 0), AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 120), AFFINEANIMCMD_END_ALT(1), }; -static const union AffineAnimCmd *const gUnknown_83E7144[] = +static const union AffineAnimCmd *const gAffineAnims_LusterPurgeCircle[] = { - gUnknown_83E712C, + sAffineAnim_LusterPurgeCircle, }; -const struct SpriteTemplate gUnknown_83E7148 = +const struct SpriteTemplate gLusterPurgeCircleSpriteTemplate = { .tileTag = ANIM_TAG_WHITE_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_WHITE_CIRCLE_OF_LIGHT, .oam = &gOamData_AffineDouble_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_83E7144, + .affineAnims = gAffineAnims_LusterPurgeCircle, .callback = AnimSpriteOnMonPos, }; -static const union AffineAnimCmd gUnknown_83E7160[] = +static const union AffineAnimCmd sAffineAnim_PsychoBoostOrb_0[] = { AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 0), AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 17), @@ -392,30 +392,30 @@ static const union AffineAnimCmd gUnknown_83E7160[] = AFFINEANIMCMD_END, }; -static const union AffineAnimCmd gUnknown_83E71B8[] = +static const union AffineAnimCmd sAffineAnim_PsychoBoostOrb_1[] = { AFFINEANIMCMD_FRAME(-0x14, 0x18, 0, 15), AFFINEANIMCMD_END, }; -static const union AffineAnimCmd *const gUnknown_83E71C8[] = +static const union AffineAnimCmd *const sAffineAnims_PsychoBoostOrb[] = { - gUnknown_83E7160, - gUnknown_83E71B8, + sAffineAnim_PsychoBoostOrb_0, + sAffineAnim_PsychoBoostOrb_1, }; -const struct SpriteTemplate gUnknown_83E71D0 = +const struct SpriteTemplate gPsychoBoostOrbSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, .oam = &gOamData_AffineDouble_ObjBlend_64x64, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_83E71C8, - .callback = sub_80B3E84, + .affineAnims = sAffineAnims_PsychoBoostOrb, + .callback = AnimPsychoBoost, }; -static void sub_80B2ECC(struct Sprite *sprite) +static void AnimDefensiveWall(struct Sprite *sprite) { if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER || IsContest()) { @@ -531,7 +531,7 @@ static void sub_80B3168(struct Sprite *sprite) sprite->callback = DestroyAnimSprite; } -static void sub_80B31D0(struct Sprite *sprite) +static void AnimWallSparkle(struct Sprite *sprite) { if (sprite->data[0] == 0) { @@ -568,7 +568,7 @@ static void sub_80B31D0(struct Sprite *sprite) } } -static void sub_80B3278(struct Sprite *sprite) +static void AnimBentSpoon(struct Sprite *sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); @@ -589,7 +589,7 @@ static void sub_80B3278(struct Sprite *sprite) sprite->callback = RunStoredCallbackWhenAnimEnds; } -static void sub_80B32F4(struct Sprite *sprite) +static void AnimQuestionMark(struct Sprite *sprite) { s16 x = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_WIDTH) / 2; s16 y = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_HEIGHT) / -2; @@ -607,7 +607,7 @@ static void sub_80B32F4(struct Sprite *sprite) static void sub_80B3384(struct Sprite *sprite) { sprite->oam.affineMode = ST_OAM_AFFINE_NORMAL; - sprite->affineAnims = gUnknown_83E6FF0; + sprite->affineAnims = sAffineAnims_QuestionMark; sprite->data[0] = 0; InitSpriteAffineAnim(sprite); sprite->callback = sub_80B33B8; @@ -633,13 +633,13 @@ static void sub_80B33B8(struct Sprite *sprite) } } -void sub_80B3418(u8 taskId) +void AnimTask_MeditateStretchAttacker(u8 taskId) { struct Task *task = &gTasks[taskId]; u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); task->data[0] = spriteId; - PrepareAffineAnimInTaskData(task, spriteId, gUnknown_83E700C); + PrepareAffineAnimInTaskData(task, spriteId, sAffineAnim_MeditateStretchAttacker); task->func = sub_80B3454; } @@ -649,7 +649,7 @@ static void sub_80B3454(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_80B3480(u8 taskId) +void AnimTask_Teleport(u8 taskId) { struct Task *task = &gTasks[taskId]; u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); @@ -658,7 +658,7 @@ void sub_80B3480(u8 taskId) task->data[1] = 0; task->data[2] = 0; task->data[3] = GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER ? 4 : 8; - PrepareAffineAnimInTaskData(task, task->data[0], gUnknown_83E702C); + PrepareAffineAnimInTaskData(task, task->data[0], sAffineAnim_Teleport); task->func = sub_80B34DC; } @@ -690,7 +690,7 @@ static void sub_80B34DC(u8 taskId) } } -void sub_80B3584(u8 taskId) +void AnimTask_ImprisonOrbs(u8 taskId) { u16 var0, var1; struct Task *task = &gTasks[taskId]; @@ -719,7 +719,7 @@ static void sub_80B3618(u8 taskId) if (++task->data[1] > 8) { task->data[1] = 0; - spriteId = CreateSprite(&gUnknown_83E7044, task->data[13], task->data[14], 0); + spriteId = CreateSprite(&sImprisonOrbSpriteTemplate, task->data[13], task->data[14], 0); task->data[task->data[2] + 8] = spriteId; if (spriteId != MAX_SPRITES) { @@ -782,7 +782,7 @@ static void sub_80B37A4(struct Sprite *sprite) ++sprite->data[1]; } -static void sub_80B37EC(struct Sprite *sprite) +static void AnimRedX(struct Sprite *sprite) { if (gBattleAnimArgs[0] == 0) { @@ -793,7 +793,7 @@ static void sub_80B37EC(struct Sprite *sprite) sprite->callback = sub_80B37A4; } -void sub_80B3834(u8 taskId) +void AnimTask_SkillSwap(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -850,7 +850,7 @@ static void sub_80B3980(u8 taskId) if (++task->data[1] > 6) { task->data[1] = 0; - spriteId = CreateSprite(&gUnknown_83E7114, task->data[11], task->data[12], 0); + spriteId = CreateSprite(&sSkillSwapOrbSpriteTemplate, task->data[11], task->data[12], 0); if (spriteId != 64) { gSprites[spriteId].data[0] = 16; @@ -872,7 +872,7 @@ static void sub_80B3980(u8 taskId) } } -static void sub_80B3A34(struct Sprite *sprite) +static void AnimSkillSwapOrb(struct Sprite *sprite) { if (TranslateAnimHorizontalArc(sprite)) { @@ -881,7 +881,7 @@ static void sub_80B3A34(struct Sprite *sprite) } } -void sub_80B3A58(u8 taskId) +void AnimTask_ExtrasensoryDistortion(u8 taskId) { s16 i; u8 yOffset; @@ -969,7 +969,7 @@ static void sub_80B3B78(u8 taskId) } } -void sub_80B3C78(u8 taskId) +void AnimTask_TransparentCloneGrowAndShrink(u8 taskId) { s16 spriteId; s16 matrixNum; @@ -1034,7 +1034,7 @@ static void sub_80B3D78(u8 taskId) } } -static void sub_80B3E84(struct Sprite *sprite) +static void AnimPsychoBoost(struct Sprite *sprite) { switch (sprite->data[0]) { diff --git a/src/rock.c b/src/rock.c index a2d28d057..25db442ca 100644 --- a/src/rock.c +++ b/src/rock.c @@ -6,16 +6,16 @@ #include "trig.h" #include "constants/songs.h" -static void sub_80B4634(struct Sprite *sprite); -static void sub_80B46F8(struct Sprite *sprite); +static void AnimFallingRock(struct Sprite *sprite); +static void AnimRockFragment(struct Sprite *sprite); static void AnimDirtParticleAcrossScreen(struct Sprite *sprite); static void AnimRaiseSprite(struct Sprite *sprite); static void sub_80B4D00(u8 taskId); -static void sub_80B4F78(struct Sprite *sprite); -static void sub_80B4FE4(struct Sprite *sprite); -static void sub_80B5074(struct Sprite *sprite); -static void sub_80B50A0(struct Sprite *sprite); -static void sub_80B477C(struct Sprite *sprite); +static void AnimRolloutParticle(struct Sprite *sprite); +static void AnimRockTomb(struct Sprite *sprite); +static void AnimRockBlastRock(struct Sprite *sprite); +static void AnimRockScatter(struct Sprite *sprite); +static void AnimParticleInVortex(struct Sprite *sprite); static void sub_80B46B4(struct Sprite *sprite); static void sub_80B47C4(struct Sprite *sprite); static void sub_80B490C(u8 taskId); @@ -24,54 +24,54 @@ static u8 sub_80B4FB8(void); static void sub_80B5024(struct Sprite *sprite); static void sub_80B50F8(struct Sprite *sprite); -static const union AnimCmd gUnknown_83E7390[] = +static const union AnimCmd sAnim_FlyingRock_0[] = { ANIMCMD_FRAME(32, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_83E7398[] = +static const union AnimCmd sAnim_FlyingRock_1[] = { ANIMCMD_FRAME(48, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_83E73A0[] = +static const union AnimCmd sAnim_FlyingRock_2[] = { ANIMCMD_FRAME(64, 1), ANIMCMD_END, }; -static const union AnimCmd *const gUnknown_83E73A8[] = +static const union AnimCmd *const sAnims_FlyingRock[] = { - gUnknown_83E7390, - gUnknown_83E7398, - gUnknown_83E73A0, + sAnim_FlyingRock_0, + sAnim_FlyingRock_1, + sAnim_FlyingRock_2, }; -const struct SpriteTemplate gUnknown_83E73B4 = +const struct SpriteTemplate gFallingRockSpriteTemplate = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_83E73A8, + .anims = sAnims_FlyingRock, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B4634, + .callback = AnimFallingRock, }; -const struct SpriteTemplate gUnknown_83E73CC = +const struct SpriteTemplate gRockFragmentSpriteTemplate = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_83E73A8, + .anims = sAnims_FlyingRock, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B46F8, + .callback = AnimRockFragment, }; -const struct SpriteTemplate gUnknown_83E73E4 = +const struct SpriteTemplate gSwirlingDirtSpriteTemplate = { .tileTag = ANIM_TAG_MUD_SAND, .paletteTag = ANIM_TAG_MUD_SAND, @@ -79,10 +79,10 @@ const struct SpriteTemplate gUnknown_83E73E4 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B477C, + .callback = AnimParticleInVortex, }; -static const union AffineAnimCmd gUnknown_83E73FC[] = +static const union AffineAnimCmd sAffineAnim_Whirlpool[] = { AFFINEANIMCMD_FRAME(0xC0, 0xC0, 0, 0), AFFINEANIMCMD_FRAME(0x2, -0x3, 0, 5), @@ -90,34 +90,34 @@ static const union AffineAnimCmd gUnknown_83E73FC[] = AFFINEANIMCMD_JUMP(1), }; -static const union AffineAnimCmd *const gUnknown_83E741C[] = +static const union AffineAnimCmd *const sAffineAnims_Whirlpool[] = { - gUnknown_83E73FC, + sAffineAnim_Whirlpool, }; -const struct SpriteTemplate gUnknown_83E7420 = +const struct SpriteTemplate gWhirlpoolSpriteTemplate = { .tileTag = ANIM_TAG_WATER_ORB, .paletteTag = ANIM_TAG_WATER_ORB, .oam = &gOamData_AffineNormal_ObjBlend_16x16, - .anims = gUnknown_83E5958, + .anims = gAnims_WaterMudOrb, .images = NULL, - .affineAnims = gUnknown_83E741C, - .callback = sub_80B477C, + .affineAnims = sAffineAnims_Whirlpool, + .callback = AnimParticleInVortex, }; -const struct SpriteTemplate gUnknown_83E7438 = +const struct SpriteTemplate gFireSpinSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_83E5D48, + .anims = gAnims_BasicFire, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B477C, + .callback = AnimParticleInVortex, }; -const struct SpriteTemplate gUnknown_83E7450 = +const struct SpriteTemplate gFlyingSandCrescentSpriteTemplate = { .tileTag = ANIM_TAG_FLYING_DIRT, .paletteTag = ANIM_TAG_FLYING_DIRT, @@ -128,7 +128,7 @@ const struct SpriteTemplate gUnknown_83E7450 = .callback = AnimDirtParticleAcrossScreen, }; -static const struct Subsprite gUnknown_83E7468[] = +static const struct Subsprite sFlyingSandSubsprites[] = { { .x = -16, @@ -148,77 +148,77 @@ static const struct Subsprite gUnknown_83E7468[] = }, }; -static const struct SubspriteTable gUnknown_83E7470[] = +static const struct SubspriteTable sFlyingSandSubspriteTable[] = { - { NELEMS(gUnknown_83E7468), gUnknown_83E7468 }, + { NELEMS(sFlyingSandSubsprites), sFlyingSandSubsprites }, }; -static const union AnimCmd gUnknown_83E7478[] = +static const union AnimCmd sAnim_BasicRock_0[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_83E7480[] = +static const union AnimCmd sAnim_BasicRock_1[] = { ANIMCMD_FRAME(16, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_83E7488[] = +static const union AnimCmd sAnim_WeatherBallRockDown_0[] = { ANIMCMD_FRAME(32, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_83E7490[] = +static const union AnimCmd sAnim_WeatherBallRockDown_1[] = { ANIMCMD_FRAME(48, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_83E7498[] = +static const union AnimCmd sAnim_TwisterRock_0[] = { ANIMCMD_FRAME(64, 1), ANIMCMD_END, }; -static const union AnimCmd gUnknown_83E74A0[] = +static const union AnimCmd sAnim_TwisterRock_1[] = { ANIMCMD_FRAME(80, 1), ANIMCMD_END, }; -static const union AnimCmd *const gUnknown_83E74A8[] = +static const union AnimCmd *const sAnims_BasicRock[] = { - gUnknown_83E7478, - gUnknown_83E7480, + sAnim_BasicRock_0, + sAnim_BasicRock_1, }; -static const union AnimCmd *const gUnknown_83E74B0[] = +static const union AnimCmd *const sAnims_WeatherBallRockDown[] = { - gUnknown_83E7488, - gUnknown_83E7490, + sAnim_WeatherBallRockDown_0, + sAnim_WeatherBallRockDown_1, }; -static const union AnimCmd *const gUnknown_83E74B8[] = +static const union AnimCmd *const sAnims_TwisterRock[] = { - gUnknown_83E7498, - gUnknown_83E74A0, + sAnim_TwisterRock_0, + sAnim_TwisterRock_1, }; -const struct SpriteTemplate gUnknown_83E74C0 = +const struct SpriteTemplate gAncientPowerRockSpriteTemplate = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_83E74A8, + .anims = sAnims_BasicRock, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimRaiseSprite, }; -const struct SpriteTemplate gUnknown_83E74D8 = +const struct SpriteTemplate gRolloutMudSpriteTemplate = { .tileTag = ANIM_TAG_MUD_SAND, .paletteTag = ANIM_TAG_MUD_SAND, @@ -226,7 +226,7 @@ const struct SpriteTemplate gUnknown_83E74D8 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B4F78, + .callback = AnimRolloutParticle, }; const struct SpriteTemplate gUnknown_83E74F0 = @@ -237,83 +237,83 @@ const struct SpriteTemplate gUnknown_83E74F0 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B4F78, + .callback = AnimRolloutParticle, }; -const struct SpriteTemplate gUnknown_83E7508 = +const struct SpriteTemplate gRockTombRockSpriteTemplate = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_83E74A8, + .anims = sAnims_BasicRock, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80B4FE4, + .callback = AnimRockTomb, }; -static const union AffineAnimCmd gUnknown_83E7520[] = +static const union AffineAnimCmd sAffineAnim_BasicRock_0[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, -5, 5), AFFINEANIMCMD_JUMP(0), }; -static const union AffineAnimCmd gUnknown_83E7530[] = +static const union AffineAnimCmd sAffineAnim_BasicRock_1[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 5, 5), AFFINEANIMCMD_JUMP(0), }; -static const union AffineAnimCmd *const gUnknown_83E7540[] = +static const union AffineAnimCmd *const sAffineAnims_BasicRock[] = { - gUnknown_83E7520, - gUnknown_83E7530, + sAffineAnim_BasicRock_0, + sAffineAnim_BasicRock_1, }; -const struct SpriteTemplate gUnknown_83E7548 = +const struct SpriteTemplate gRockBlastRockSpriteTemplate = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, .oam = &gOamData_AffineNormal_ObjNormal_32x32, - .anims = gUnknown_83E74A8, + .anims = sAnims_BasicRock, .images = NULL, - .affineAnims = gUnknown_83E7540, - .callback = sub_80B5074, + .affineAnims = sAffineAnims_BasicRock, + .callback = AnimRockBlastRock, }; -const struct SpriteTemplate gUnknown_83E7560 = +const struct SpriteTemplate gRockScatterSpriteTemplate = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, .oam = &gOamData_AffineNormal_ObjNormal_32x32, - .anims = gUnknown_83E74A8, + .anims = sAnims_BasicRock, .images = NULL, - .affineAnims = gUnknown_83E7540, - .callback = sub_80B50A0, + .affineAnims = sAffineAnims_BasicRock, + .callback = AnimRockScatter, }; -const struct SpriteTemplate gUnknown_83E7578 = +const struct SpriteTemplate gTwisterRockSpriteTemplate = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gUnknown_83E74B8, + .anims = sAnims_TwisterRock, .images = NULL, - .affineAnims = gUnknown_83E7540, + .affineAnims = sAffineAnims_BasicRock, .callback = AnimMoveTwisterParticle, }; -const struct SpriteTemplate gUnknown_83E7590 = +const struct SpriteTemplate gWeatherBallRockDownSpriteTemplate = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, .oam = &gOamData_AffineNormal_ObjNormal_32x32, - .anims = gUnknown_83E74B0, + .anims = sAnims_WeatherBallRockDown, .images = NULL, - .affineAnims = gUnknown_83E7540, - .callback = sub_8077350, + .affineAnims = sAffineAnims_BasicRock, + .callback = AnimWeatherBallDown, }; -static void sub_80B4634(struct Sprite *sprite) +static void AnimFallingRock(struct Sprite *sprite) { if (gBattleAnimArgs[3] != 0) SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->pos1.x, &sprite->pos1.y); @@ -345,7 +345,7 @@ static void sub_80B46B4(struct Sprite *sprite) sprite->callback(sprite); } -static void sub_80B46F8(struct Sprite *sprite) +static void AnimRockFragment(struct Sprite *sprite) { StartSpriteAnim(sprite, gBattleAnimArgs[5]); AnimateSprite(sprite); @@ -366,7 +366,7 @@ static void sub_80B46F8(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix); } -static void sub_80B477C(struct Sprite *sprite) +static void AnimParticleInVortex(struct Sprite *sprite) { if (gBattleAnimArgs[6] == 0) InitSpritePosToAnimAttacker(sprite, 0); @@ -503,7 +503,7 @@ static void AnimDirtParticleAcrossScreen(struct Sprite *sprite) sprite->pos1.x = -64; } sprite->pos1.y = gBattleAnimArgs[0]; - SetSubspriteTables(sprite, gUnknown_83E7470); + SetSubspriteTables(sprite, sFlyingSandSubspriteTable); sprite->data[1] = gBattleAnimArgs[1]; sprite->data[2] = gBattleAnimArgs[2]; ++sprite->data[0]; @@ -547,7 +547,7 @@ static void AnimRaiseSprite(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void sub_80B4BD0(u8 taskId) +void AnimTask_Rollout(u8 taskId) { u16 var0, var1, var2, var3; u8 var4; @@ -660,7 +660,7 @@ static void sub_80B4E70(struct Task *task) switch (task->data[1]) { case 1: - spriteTemplate = &gUnknown_83E74D8; + spriteTemplate = &gRolloutMudSpriteTemplate; var0 = 0; break; case 2: @@ -696,7 +696,7 @@ static void sub_80B4E70(struct Task *task) task->data[12] *= -1; } -static void sub_80B4F78(struct Sprite *sprite) +static void AnimRolloutParticle(struct Sprite *sprite) { if (TranslateAnimHorizontalArc(sprite)) { @@ -718,7 +718,7 @@ static u8 sub_80B4FB8(void) return retVal; } -static void sub_80B4FE4(struct Sprite *sprite) +static void AnimRockTomb(struct Sprite *sprite) { StartSpriteAnim(sprite, gBattleAnimArgs[4]); sprite->pos2.x = gBattleAnimArgs[0]; @@ -749,14 +749,14 @@ static void sub_80B5024(struct Sprite *sprite) } } -static void sub_80B5074(struct Sprite *sprite) +static void AnimRockBlastRock(struct Sprite *sprite) { if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) StartSpriteAffineAnim(sprite, 1); TranslateAnimSpriteToTargetMonLocation(sprite); } -static void sub_80B50A0(struct Sprite *sprite) +static void AnimRockScatter(struct Sprite *sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 1); @@ -791,7 +791,7 @@ void AnimTask_GetSeismicTossDamageLevel(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_80B5188(u8 taskId) +void AnimTask_MoveSeismicTossBg(u8 taskId) { if (gTasks[taskId].data[0] == 0) { @@ -808,7 +808,7 @@ void sub_80B5188(u8 taskId) ++gTasks[taskId].data[0]; } -void sub_80B51EC(u8 taskId) +void AnimTask_SeismicTossBgAccelerateDownAtEnd(u8 taskId) { if (gTasks[taskId].data[0] == 0) { diff --git a/src/water.c b/src/water.c new file mode 100644 index 000000000..8614f6600 --- /dev/null +++ b/src/water.c @@ -0,0 +1,2229 @@ +#include "global.h" +#include "battle_anim.h" +#include "decompress.h" +#include "gpu_regs.h" +#include "graphics.h" +#include "palette.h" +#include "pokemon.h" +#include "random.h" +#include "scanline_effect.h" +#include "sprite.h" +#include "task.h" +#include "trig.h" +#include "util.h" + +#define ISO_RANDOMIZE2(val)(1103515245 * (val) + 12345) + +static void AnimRainDrop(struct Sprite *); +static void AnimRainDrop_Step(struct Sprite *); +static void AnimWaterBubbleProjectile(struct Sprite *); +static void AnimWaterBubbleProjectile_Step1(struct Sprite *); +static void AnimWaterBubbleProjectile_Step2(struct Sprite *); +static void AnimWaterBubbleProjectile_Step3(struct Sprite *); +static void AnimAuroraBeamRings(struct Sprite *); +static void AnimAuroraBeamRings_Step(struct Sprite *); +static void AnimToTargetInSinWave(struct Sprite *); +static void AnimToTargetInSinWave_Step(struct Sprite *); +static void AnimHydroCannonCharge(struct Sprite *); +static void AnimHydroCannonCharge_Step(struct Sprite *); +static void AnimHydroCannonBeam(struct Sprite *); +static void AnimWaterGunDroplet(struct Sprite *); +static void AnimSmallBubblePair(struct Sprite *); +static void AnimSmallBubblePair_Step(struct Sprite *); +static void AnimSmallDriftingBubbles(struct Sprite *); +static void AnimSmallDriftingBubbles_Step(struct Sprite *); +static void AnimSmallWaterOrb(struct Sprite *); +static void AnimWaterSpoutRain(struct Sprite *); +static void AnimWaterSpoutRainHit(struct Sprite *); +static void AnimWaterSportDroplet(struct Sprite *); +static void AnimWaterSportDroplet_Step(struct Sprite *); +static void AnimWaterPulseBubble(struct Sprite *); +static void AnimWaterPulseBubble_Step(struct Sprite *); +static void AnimWaterPulseRingBubble(struct Sprite *); +static void AnimWaterPulseRing_Step(struct Sprite *); +static void AnimTask_RotateAuroraRingColors_Step(u8); +static void AnimTask_RunSinAnimTimer(u8); +static void AnimTask_CreateSurfWave_Step1(u8); +static void AnimTask_CreateSurfWave_Step2(u8); +static void AnimTask_SurfWaveScanlineEffect(u8); +static void AnimTask_WaterSpoutLaunch_Step(u8); +static void AnimTask_WaterSpoutRain_Step(u8); +static u8 GetWaterSpoutPowerForAnim(void); +static void CreateWaterSpoutLaunchDroplets(struct Task*, u8); +static void CreateWaterSpoutRainDroplet(struct Task*, u8); +static void AnimTask_WaterSport_Step(u8); +static void CreateWaterSportDroplet(struct Task*); +static void CreateWaterPulseRingBubbles(struct Sprite*, int, int); + +// Both unused? Comment copied from pokeemerald +static const u8 gUnknown_83E44F4[] = INCBIN_U8("graphics/battle_anims/unk_83E4874.4bpp"); +static const u8 gUnknown_83E4874[] = INCBIN_U8("graphics/battle_anims/unk_83E4874.bin"); + +static const union AnimCmd sAnim_RainDrop[] = +{ + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(8, 2), + ANIMCMD_FRAME(16, 2), + ANIMCMD_FRAME(24, 6), + ANIMCMD_FRAME(32, 2), + ANIMCMD_FRAME(40, 2), + ANIMCMD_FRAME(48, 2), + ANIMCMD_END, +}; + +static const union AnimCmd *const sAnims_RainDrop[] = +{ + sAnim_RainDrop, +}; + +const struct SpriteTemplate gRainDropSpriteTemplate = +{ + .tileTag = ANIM_TAG_RAIN_DROPS, + .paletteTag = ANIM_TAG_RAIN_DROPS, + .oam = &gOamData_AffineOff_ObjNormal_16x32, + .anims = sAnims_RainDrop, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimRainDrop, +}; + +static const union AffineAnimCmd sAffineAnim_WaterBubbleProjectile[] = +{ + AFFINEANIMCMD_FRAME(-0x5, -0x5, 0, 10), + AFFINEANIMCMD_FRAME(0x5, 0x5, 0, 10), + AFFINEANIMCMD_JUMP(0), +}; + +static const union AffineAnimCmd *const sAffineAnims_WaterBubbleProjectile[] = +{ + sAffineAnim_WaterBubbleProjectile, +}; + +static const union AnimCmd sAnim_WaterBubbleProjectile[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(4, 5), + ANIMCMD_FRAME(8, 5), + ANIMCMD_END, +}; + +static const union AnimCmd *const sAnims_WaterBubbleProjectile[] = +{ + sAnim_WaterBubbleProjectile, +}; + +const struct SpriteTemplate gWaterBubbleProjectileSpriteTemplate = +{ + .tileTag = ANIM_TAG_BUBBLE, + .paletteTag = ANIM_TAG_BUBBLE, + .oam = &gOamData_AffineNormal_ObjBlend_16x16, + .anims = sAnims_WaterBubbleProjectile, + .images = NULL, + .affineAnims = sAffineAnims_WaterBubbleProjectile, + .callback = AnimWaterBubbleProjectile, +}; + +static const union AnimCmd sAnim_AuroraBeamRing_0[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_AuroraBeamRing_1[] = +{ + ANIMCMD_FRAME(4, 1), + ANIMCMD_END, +}; + +static const union AnimCmd *const sAnims_AuroraBeamRing[] = +{ + sAnim_AuroraBeamRing_0, + sAnim_AuroraBeamRing_1, +}; + +static const union AffineAnimCmd sAffineAnim_AuroraBeamRing[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1), + AFFINEANIMCMD_FRAME(0x60, 0x60, 0, 1), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd *const sAffineAnims_AuroraBeamRing[] = +{ + sAffineAnim_AuroraBeamRing, +}; + +const struct SpriteTemplate gAuroraBeamRingSpriteTemplate = +{ + .tileTag = ANIM_TAG_RAINBOW_RINGS, + .paletteTag = ANIM_TAG_RAINBOW_RINGS, + .oam = &gOamData_AffineDouble_ObjNormal_8x16, + .anims = sAnims_AuroraBeamRing, + .images = NULL, + .affineAnims = sAffineAnims_AuroraBeamRing, + .callback = AnimAuroraBeamRings, +}; + +static const union AnimCmd sAnim_WaterMudOrb[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(4, 1), + ANIMCMD_FRAME(8, 1), + ANIMCMD_FRAME(12, 1), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gAnims_WaterMudOrb[] = +{ + sAnim_WaterMudOrb, +}; + +const struct SpriteTemplate gHydroPumpOrbSpriteTemplate = +{ + .tileTag = ANIM_TAG_WATER_ORB, + .paletteTag = ANIM_TAG_WATER_ORB, + .oam = &gOamData_AffineOff_ObjBlend_16x16, + .anims = gAnims_WaterMudOrb, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimToTargetInSinWave, +}; + +const struct SpriteTemplate gMudShotOrbSpriteTemplate = +{ + .tileTag = ANIM_TAG_BROWN_ORB, + .paletteTag = ANIM_TAG_BROWN_ORB, + .oam = &gOamData_AffineOff_ObjBlend_16x16, + .anims = gAnims_WaterMudOrb, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimToTargetInSinWave, +}; + +const struct SpriteTemplate gSignalBeamRedOrbSpriteTemplate = +{ + .tileTag = ANIM_TAG_GLOWY_RED_ORB, + .paletteTag = ANIM_TAG_GLOWY_RED_ORB, + .oam = &gOamData_AffineOff_ObjNormal_8x8, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimToTargetInSinWave, +}; + +const struct SpriteTemplate gSignalBeamGreenOrbSpriteTemplate = +{ + .tileTag = ANIM_TAG_GLOWY_GREEN_ORB, + .paletteTag = ANIM_TAG_GLOWY_GREEN_ORB, + .oam = &gOamData_AffineOff_ObjNormal_8x8, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimToTargetInSinWave, +}; + +static const union AnimCmd sAnim_FlamethrowerFlame[] = +{ + ANIMCMD_FRAME(16, 2), + ANIMCMD_FRAME(32, 2), + ANIMCMD_FRAME(48, 2), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd *const sAnims_FlamethrowerFlame[] = +{ + sAnim_FlamethrowerFlame, +}; + +const struct SpriteTemplate gFlamethrowerFlameSpriteTemplate = +{ + .tileTag = ANIM_TAG_SMALL_EMBER, + .paletteTag = ANIM_TAG_SMALL_EMBER, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = sAnims_FlamethrowerFlame, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimToTargetInSinWave, +}; + +const struct SpriteTemplate gPsywaveRingSpriteTemplate = +{ + .tileTag = ANIM_TAG_BLUE_RING, + .paletteTag = ANIM_TAG_BLUE_RING, + .oam = &gOamData_AffineDouble_ObjNormal_16x32, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gGrowingRingAffineAnimTable, + .callback = AnimToTargetInSinWave, +}; + +static const union AffineAnimCmd sAffineAnim_HydroCannonCharge[] = +{ + AFFINEANIMCMD_FRAME(0x3, 0x3, 10, 50), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 10), + AFFINEANIMCMD_FRAME(-0x14, -0x14, -10, 20), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd sAffineAnim_HydroCannonBeam[] = +{ + AFFINEANIMCMD_FRAME(0x150, 0x150, 0, 0), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd *const sAffineAnims_HydroCannonCharge[] = +{ + sAffineAnim_HydroCannonCharge, +}; + +static const union AffineAnimCmd *const sAffineAnims_HydroCannonBeam[] = +{ + sAffineAnim_HydroCannonBeam, +}; + +const struct SpriteTemplate gHydroCannonChargeSpriteTemplate = +{ + .tileTag = ANIM_TAG_WATER_ORB, + .paletteTag = ANIM_TAG_WATER_ORB, + .oam = &gOamData_AffineDouble_ObjBlend_16x16, + .anims = gAnims_WaterMudOrb, + .images = NULL, + .affineAnims = sAffineAnims_HydroCannonCharge, + .callback = AnimHydroCannonCharge, +}; + +const struct SpriteTemplate gHydroCannonBeamSpriteTemplate = +{ + .tileTag = ANIM_TAG_WATER_ORB, + .paletteTag = ANIM_TAG_WATER_ORB, + .oam = &gOamData_AffineDouble_ObjBlend_16x16, + .anims = gAnims_WaterMudOrb, + .images = NULL, + .affineAnims = sAffineAnims_HydroCannonBeam, + .callback = AnimHydroCannonBeam, +}; + +static const union AnimCmd sAnim_WaterBubble[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_WaterGunDroplet[] = +{ + ANIMCMD_FRAME(4, 1), + ANIMCMD_END, +}; + +const union AnimCmd *const gAnims_WaterBubble[] = +{ + sAnim_WaterBubble, +}; + +static const union AnimCmd *const sAnims_WaterGunDroplet[] = +{ + sAnim_WaterGunDroplet, +}; + +const struct SpriteTemplate gWaterGunProjectileSpriteTemplate = +{ + .tileTag = ANIM_TAG_SMALL_BUBBLES, + .paletteTag = ANIM_TAG_SMALL_BUBBLES, + .oam = &gOamData_AffineOff_ObjBlend_16x16, + .anims = gAnims_WaterBubble, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimThrowProjectile, +}; + +const struct SpriteTemplate gWaterGunDropletSpriteTemplate = +{ + .tileTag = ANIM_TAG_SMALL_BUBBLES, + .paletteTag = ANIM_TAG_SMALL_BUBBLES, + .oam = &gOamData_AffineDouble_ObjBlend_16x16, + .anims = sAnims_WaterGunDroplet, + .images = NULL, + .affineAnims = gAffineAnims_Droplet, + .callback = AnimWaterGunDroplet, +}; + +const struct SpriteTemplate gSmallBubblePairSpriteTemplate = +{ + .tileTag = ANIM_TAG_ICE_CRYSTALS, // ice_crystals_4, which are bubbles + .paletteTag = ANIM_TAG_ICE_CRYSTALS, + .oam = &gOamData_AffineOff_ObjNormal_8x8, + .anims = gAnims_SmallBubblePair, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimSmallBubblePair, +}; + +const struct SpriteTemplate gSmallDriftingBubblesSpriteTemplate = +{ + .tileTag = ANIM_TAG_SMALL_BUBBLES, + .paletteTag = ANIM_TAG_SMALL_BUBBLES, + .oam = &gOamData_AffineOff_ObjNormal_8x8, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimSmallDriftingBubbles, +}; + +// Used by Water Spout / Water Sport +const struct SpriteTemplate gSmallWaterOrbSpriteTemplate = +{ + .tileTag = ANIM_TAG_GLOWY_BLUE_ORB, + .paletteTag = ANIM_TAG_GLOWY_BLUE_ORB, + .oam = &gOamData_AffineOff_ObjNormal_8x8, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimSmallWaterOrb, +}; + +static const union AnimCmd sAnim_WaterPulseBubble_0[] = +{ + ANIMCMD_FRAME(8, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_WaterPulseBubble_1[] = +{ + ANIMCMD_FRAME(9, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_WeatherBallWaterDown[] = +{ + ANIMCMD_FRAME(4, 1), + ANIMCMD_END, +}; + +static const union AnimCmd *const sAnims_WaterPulseBubble[] = +{ + sAnim_WaterPulseBubble_0, + sAnim_WaterPulseBubble_1, +}; + +static const union AnimCmd *const sAnims_WeatherBallWaterDown[] = +{ + sAnim_WeatherBallWaterDown, +}; + +static const union AffineAnimCmd sAffineAnim_WaterPulseRingBubble_0[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(-0xA, -0xA, 0, 15), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd sAffineAnim_WaterPulseRingBubble_1[] = +{ + AFFINEANIMCMD_FRAME(0xE0, 0xE0, 0, 0), + AFFINEANIMCMD_FRAME(-0x8, -0x8, 0, 15), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd sAffineAnim_WeatherBallWaterDown[] = +{ + AFFINEANIMCMD_FRAME(0x150, 0x150, 0, 0), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 15), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd *const sAffineAnims_WaterPulseRingBubble[] = +{ + sAffineAnim_WaterPulseRingBubble_0, + sAffineAnim_WaterPulseRingBubble_1, +}; + +static const union AffineAnimCmd *const sAffineAnims_WeatherBallWaterDown[] = +{ + sAffineAnim_WeatherBallWaterDown, +}; + +const struct SpriteTemplate gWaterPulseBubbleSpriteTemplate = +{ + .tileTag = ANIM_TAG_SMALL_BUBBLES, + .paletteTag = ANIM_TAG_SMALL_BUBBLES, + .oam = &gOamData_AffineOff_ObjNormal_8x8, + .anims = sAnims_WaterPulseBubble, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimWaterPulseBubble, +}; + +const struct SpriteTemplate gWaterPulseRingBubbleSpriteTemplate = +{ + .tileTag = ANIM_TAG_SMALL_BUBBLES, + .paletteTag = ANIM_TAG_SMALL_BUBBLES, + .oam = &gOamData_AffineNormal_ObjNormal_8x8, + .anims = sAnims_WaterPulseBubble, + .images = NULL, + .affineAnims = sAffineAnims_WaterPulseRingBubble, + .callback = AnimWaterPulseRingBubble, +}; + +const struct SpriteTemplate gWeatherBallWaterDownSpriteTemplate = +{ + .tileTag = ANIM_TAG_SMALL_BUBBLES, + .paletteTag = ANIM_TAG_SMALL_BUBBLES, + .oam = &gOamData_AffineNormal_ObjNormal_16x16, + .anims = sAnims_WeatherBallWaterDown, + .images = NULL, + .affineAnims = sAffineAnims_WeatherBallWaterDown, + .callback = AnimWeatherBallDown, +}; + +void AnimTask_CreateRaindrops(u8 taskId) +{ + u8 x, y; + + if (gTasks[taskId].data[0] == 0) + { + gTasks[taskId].data[1] = gBattleAnimArgs[0]; + gTasks[taskId].data[2] = gBattleAnimArgs[1]; + gTasks[taskId].data[3] = gBattleAnimArgs[2]; + } + gTasks[taskId].data[0]++; + if (gTasks[taskId].data[0] % gTasks[taskId].data[2] == 1) + { + x = Random() % 240; + y = Random() % 80; + CreateSprite(&gRainDropSpriteTemplate, x, y, 4); + } + if (gTasks[taskId].data[0] == gTasks[taskId].data[3]) + DestroyAnimVisualTask(taskId); +} + +static void AnimRainDrop(struct Sprite *sprite) +{ + sprite->callback = AnimRainDrop_Step; +} + +static void AnimRainDrop_Step(struct Sprite *sprite) +{ + if (++sprite->data[0] < 14) // Was 13 in emerald + { + sprite->pos2.x += 1; + sprite->pos2.y += 4; + } + if (sprite->animEnded) + { + DestroySprite(sprite); + } +} + +// For water bubbles that move to a dest, as in Bubble/Bubblebeam +static void AnimWaterBubbleProjectile(struct Sprite *sprite) +{ + u8 spriteId; + + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + { + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) - gBattleAnimArgs[0]; + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[1]; + sprite->animPaused = TRUE; + } + else + { + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[0]; + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[1]; + sprite->animPaused = TRUE; + } + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + gBattleAnimArgs[2] = -gBattleAnimArgs[2]; + sprite->data[0] = gBattleAnimArgs[6]; + sprite->data[1] = sprite->pos1.x; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2); + sprite->data[3] = sprite->pos1.y; + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3); + InitAnimLinearTranslation(sprite); + spriteId = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy); + sprite->data[5] = spriteId; + sprite->pos1.x -= Sin((u8)gBattleAnimArgs[4], gBattleAnimArgs[2]); + sprite->pos1.y -= Cos((u8)gBattleAnimArgs[4], gBattleAnimArgs[3]); + gSprites[spriteId].data[0] = gBattleAnimArgs[2]; + gSprites[spriteId].data[1] = gBattleAnimArgs[3]; + gSprites[spriteId].data[2] = gBattleAnimArgs[5]; + gSprites[spriteId].data[3] = (u8)gBattleAnimArgs[4] * 256; + gSprites[spriteId].data[4] = gBattleAnimArgs[6]; + sprite->callback = AnimWaterBubbleProjectile_Step1; + sprite->callback(sprite); +} + +static void AnimWaterBubbleProjectile_Step1(struct Sprite *sprite) +{ + u8 otherSpriteId = sprite->data[5]; + u8 timer = gSprites[otherSpriteId].data[4]; + u16 trigIndex = gSprites[otherSpriteId].data[3]; + + sprite->data[0] = 1; + AnimTranslateLinear(sprite); + sprite->pos2.x += Sin(trigIndex >> 8, gSprites[otherSpriteId].data[0]); + sprite->pos2.y += Cos(trigIndex >> 8, gSprites[otherSpriteId].data[1]); + gSprites[otherSpriteId].data[3] = trigIndex + gSprites[otherSpriteId].data[2]; + if (--timer != 0) + { + gSprites[otherSpriteId].data[4] = timer; + } + else + { + sprite->callback = AnimWaterBubbleProjectile_Step2; + DestroySprite(&gSprites[otherSpriteId]); + } +} + +static void AnimWaterBubbleProjectile_Step2(struct Sprite *sprite) +{ + sprite->animPaused = FALSE; + sprite->callback = RunStoredCallbackWhenAnimEnds; + StoreSpriteCallbackInData6(sprite, AnimWaterBubbleProjectile_Step3); +} + +static void AnimWaterBubbleProjectile_Step3(struct Sprite *sprite) +{ + sprite->data[0] = 10; + sprite->callback = WaitAnimForDuration; + StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix); +} + +static void AnimAuroraBeamRings(struct Sprite *sprite) +{ + s16 unkArg; + + InitSpritePosToAnimAttacker(sprite, TRUE); + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + unkArg = -gBattleAnimArgs[2]; + else + unkArg = gBattleAnimArgs[2]; + sprite->data[0] = gBattleAnimArgs[4]; + sprite->data[1] = sprite->pos1.x; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + unkArg; + sprite->data[3] = sprite->pos1.y; + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3]; + InitAnimLinearTranslation(sprite); + sprite->callback = AnimAuroraBeamRings_Step; + sprite->affineAnimPaused = TRUE; + sprite->callback(sprite); +} + +static void AnimAuroraBeamRings_Step(struct Sprite *sprite) +{ + if ((u16)gBattleAnimArgs[7] == 0xFFFF) + { + StartSpriteAnim(sprite, 1); + sprite->affineAnimPaused = FALSE; + } + if (AnimTranslateLinear(sprite)) + DestroyAnimSprite(sprite); +} + +// Updates the palette on the rainbow rings used in Aurora Beam to make them appear to be rotating counterclockwise +void AnimTask_RotateAuroraRingColors(u8 taskId) +{ + gTasks[taskId].data[0] = gBattleAnimArgs[0]; + gTasks[taskId].data[2] = IndexOfSpritePaletteTag(ANIM_TAG_RAINBOW_RINGS) * 16 + 256; + gTasks[taskId].func = AnimTask_RotateAuroraRingColors_Step; +} + +#ifdef NONMATCHING +static void AnimTask_RotateAuroraRingColors_Step(u8 taskId) +{ + int i; + u16 palIndex; + u16 *palPtr1; + u16 *palPtr2; + u16 rgbBuffer; + + if (++gTasks[taskId].data[10] == 3) + { + gTasks[taskId].data[10] = 0; + palIndex = gTasks[taskId].data[2] + 1; + palPtr1 = &gPlttBufferFaded[palIndex]; + rgbBuffer = *palPtr1; + palPtr2 = &palPtr1[1]; + for (i = 0; i < 7; i++) + palPtr1[i] = palPtr2[i]; + gPlttBufferFaded[palIndex + 7] = rgbBuffer; + } + if (++gTasks[taskId].data[11] == gTasks[taskId].data[0]) + DestroyAnimVisualTask(taskId); +} +#else +NAKED +static void AnimTask_RotateAuroraRingColors_Step(u8 taskId) +{ + asm_unified("push {r4-r7,lr}\n\ + lsls r0, 24\n\ + lsrs r4, r0, 24\n\ + ldr r1, =gTasks\n\ + lsls r0, r4, 2\n\ + adds r0, r4\n\ + lsls r0, 3\n\ + adds r2, r0, r1\n\ + ldrh r0, [r2, 0x1C]\n\ + adds r0, 0x1\n\ + strh r0, [r2, 0x1C]\n\ + lsls r0, 16\n\ + asrs r0, 16\n\ + mov r12, r1\n\ + cmp r0, 0x3\n\ + bne _081075BE\n\ + movs r0, 0\n\ + strh r0, [r2, 0x1C]\n\ + ldrh r0, [r2, 0xC]\n\ + adds r0, 0x1\n\ + lsls r0, 16\n\ + lsrs r5, r0, 16\n\ + ldr r1, =gPlttBufferFaded\n\ + lsls r0, r5, 1\n\ + adds r0, r1\n\ + ldrh r6, [r0]\n\ + adds r7, r1, 0\n\ + adds r3, r0, 0x2\n\ + movs r1, 0x6\n\ + adds r2, r0, 0\n\ +_081075A8:\n\ + ldrh r0, [r3]\n\ + strh r0, [r2]\n\ + adds r3, 0x2\n\ + adds r2, 0x2\n\ + subs r1, 0x1\n\ + cmp r1, 0\n\ + bge _081075A8\n\ + adds r0, r5, 0x7\n\ + lsls r0, 1\n\ + adds r0, r7\n\ + strh r6, [r0]\n\ +_081075BE:\n\ + lsls r0, r4, 2\n\ + adds r0, r4\n\ + lsls r0, 3\n\ + add r0, r12\n\ + ldrh r1, [r0, 0x1E]\n\ + adds r1, 0x1\n\ + strh r1, [r0, 0x1E]\n\ + lsls r1, 16\n\ + asrs r1, 16\n\ + movs r2, 0x8\n\ + ldrsh r0, [r0, r2]\n\ + cmp r1, r0\n\ + bne _081075DE\n\ + adds r0, r4, 0\n\ + bl DestroyAnimVisualTask\n\ +_081075DE:\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .pool\n"); +} +#endif + +// For animating undulating beam attacks (e.g. Flamethrower, Hydro Pump, Signal Beam) +static void AnimToTargetInSinWave(struct Sprite *sprite) +{ + u16 retArg; + + InitSpritePosToAnimAttacker(sprite, TRUE); + sprite->data[0] = 30; + sprite->data[1] = sprite->pos1.x; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2); + sprite->data[3] = sprite->pos1.y; + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3); + InitAnimLinearTranslation(sprite); + sprite->data[5] = 0xD200 / sprite->data[0]; + sprite->data[7] = gBattleAnimArgs[3]; + retArg = gBattleAnimArgs[7]; + if (gBattleAnimArgs[7] > 127) + { + sprite->data[6] = (retArg - 127) * 256; + sprite->data[7] = -sprite->data[7]; + } + else + { + sprite->data[6] = retArg * 256; + } + sprite->callback = AnimToTargetInSinWave_Step; + sprite->callback(sprite); +} + +static void AnimToTargetInSinWave_Step(struct Sprite *sprite) +{ + if (AnimTranslateLinear(sprite)) + DestroyAnimSprite(sprite); + sprite->pos2.y += Sin(sprite->data[6] >> 8, sprite->data[7]); + if ((sprite->data[6] + sprite->data[5]) >> 8 > 127) + { + sprite->data[6] = 0; + sprite->data[7] = -sprite->data[7]; + } + else + { + sprite->data[6] += sprite->data[5]; + } +} + +void AnimTask_StartSinAnimTimer(u8 taskId) +{ + gTasks[taskId].data[0] = gBattleAnimArgs[0]; + gBattleAnimArgs[7] = 0; + gTasks[taskId].func = AnimTask_RunSinAnimTimer; +} + +static void AnimTask_RunSinAnimTimer(u8 taskId) +{ + gBattleAnimArgs[7] = (gBattleAnimArgs[7] + 3) & 0xFF; + if (--gTasks[taskId].data[0] == 0) + DestroyAnimVisualTask(taskId); +} + +// Flashing blue orbs grow in size near the attacker. First stage of Hydro Cannon +static void AnimHydroCannonCharge(struct Sprite *sprite) +{ + u8 priority; + + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0); + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1); + sprite->pos2.y = -10; + priority = GetBattlerSpriteSubpriority(gBattleAnimAttacker); + if (!IsContest()) + { + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) + { + sprite->pos2.x = 10; + sprite->subpriority = priority + 2; + } + else + { + sprite->pos2.x = -10; + sprite->subpriority = priority - 2; + } + } + else + { + sprite->pos2.x = -10; + sprite->subpriority = priority + 2; + } + sprite->callback = AnimHydroCannonCharge_Step; +} + +static void AnimHydroCannonCharge_Step(struct Sprite *sprite) +{ + if (sprite->affineAnimEnded) + DestroyAnimSprite(sprite); +} + +// Flashing blue orbs move from the attacker to the target. Second stage of Hydro Cannon +static void AnimHydroCannonBeam(struct Sprite *sprite) +{ + bool8 animType; + u8 coordType; + if (GetBattlerSide(gBattleAnimAttacker) == GetBattlerSide(gBattleAnimTarget)) + { + gBattleAnimArgs[0] *= -1; + if (GetBattlerPosition(gBattleAnimAttacker) == B_POSITION_PLAYER_LEFT || GetBattlerPosition(gBattleAnimAttacker) == B_POSITION_OPPONENT_LEFT) + gBattleAnimArgs[0] *= -1; + } + if ((gBattleAnimArgs[5] & 0xFF00) == 0) + animType = TRUE; + else + animType = FALSE; + if ((u8)gBattleAnimArgs[5] == 0) + coordType = 3; + else + coordType = 1; + InitSpritePosToAnimAttacker(sprite, animType); + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + gBattleAnimArgs[2] = -gBattleAnimArgs[2]; + sprite->data[0] = gBattleAnimArgs[4]; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, coordType) + gBattleAnimArgs[3]; + sprite->callback = StartAnimLinearTranslation; + StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); +} + +// Water droplet appears and drips down. Used by Water Gun on impact +static void AnimWaterGunDroplet(struct Sprite *sprite) +{ + InitSpritePosToAnimTarget(sprite, TRUE); + sprite->data[0] = gBattleAnimArgs[4]; + sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[2]; + sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[4]; + sprite->callback = StartAnimLinearTranslation; + StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); +} + +static void AnimSmallBubblePair(struct Sprite *sprite) +{ + if (gBattleAnimArgs[3] != ANIM_ATTACKER) + InitSpritePosToAnimTarget(sprite, TRUE); + else + InitSpritePosToAnimAttacker(sprite, TRUE); + sprite->data[7] = gBattleAnimArgs[2]; + sprite->callback = AnimSmallBubblePair_Step; +} + +static void AnimSmallBubblePair_Step(struct Sprite *sprite) +{ + sprite->data[0] = (sprite->data[0] + 11) & 0xFF; + sprite->pos2.x = Sin(sprite->data[0], 4); + sprite->data[1] += 48; + sprite->pos2.y = -(sprite->data[1] >> 8); + if (--sprite->data[7] == -1) + DestroyAnimSprite(sprite); +} + +#ifdef NONMATCHING +void AnimTask_CreateSurfWave(u8 taskId) +{ + struct BattleAnimBgData animBg; + u8 taskId2; + + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16)); + SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1); + SetAnimBgAttribute(1, BG_ANIM_SCREEN_SIZE, 1); + sub_80752A0(&animBg); + if (!IsContest()) + { + SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1); + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) + AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnimBgTilemap_SurfOpponent); + else + AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnimBgTilemap_SurfPlayer); + } + else + { + // Changed from Emerald + LZDecompressVram(gBattleAnimBgTilemap_SurfContest, animBg.bgTilemap); + sub_80730C0(animBg.paletteId, animBg.bgTilemap, 0, 1); + } + AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBgImage_Surf, animBg.tilesOffset); + if (gBattleAnimArgs[0] == 0) + LoadCompressedPalette(gBattleAnimBgPalette_Surf, animBg.paletteId * 16, 32); + else + LoadCompressedPalette(gBattleAnimBgPalette_MuddyWater, animBg.paletteId * 16, 32); + taskId2 = CreateTask(AnimTask_SurfWaveScanlineEffect, gTasks[taskId].priority + 1); + gTasks[taskId].data[15] = taskId2; + gTasks[taskId2].data[0] = 0; + gTasks[taskId2].data[1] = 0x1000; + gTasks[taskId2].data[2] = 0x1000; + if (IsContest()) + { + gBattle_BG1_X = -80; + gBattle_BG1_Y = -48; + gTasks[taskId].data[0] = 2; + gTasks[taskId].data[1] = 1; + gTasks[taskId2].data[3] = 0; + } + else if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) + { + gBattle_BG1_X = -224; + gBattle_BG1_Y = 256; + gTasks[taskId].data[0] = 2; + gTasks[taskId].data[1] = -1; + gTasks[taskId2].data[3] = 1; + } + else + { + gBattle_BG1_X = 0; + gBattle_BG1_Y = -48; + gTasks[taskId].data[0] = -2; + gTasks[taskId].data[1] = 1; + gTasks[taskId2].data[3] = 0; + } + SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X); + SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y); + if (gTasks[taskId2].data[3] == 0) + { + gTasks[taskId2].data[4] = 48; + gTasks[taskId2].data[5] = 112; + } + else + { + gTasks[taskId2].data[4] = 0; + gTasks[taskId2].data[5] = 0; + } + gTasks[taskId].data[6] = 1; + gTasks[taskId].func = AnimTask_CreateSurfWave_Step1; +} +#else +NAKED +void AnimTask_CreateSurfWave(u8 taskId) +{ + asm_unified("push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + sub sp, 0x10\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + mov r10, r0\n\ + ldr r1, =0x00003f42\n\ + movs r0, 0x50\n\ + bl SetGpuReg\n\ + movs r1, 0x80\n\ + lsls r1, 5\n\ + movs r0, 0x52\n\ + bl SetGpuReg\n\ + movs r0, 0x1\n\ + movs r1, 0x4\n\ + movs r2, 0x1\n\ + bl SetAnimBgAttribute\n\ + movs r0, 0x1\n\ + movs r1, 0\n\ + movs r2, 0x1\n\ + bl SetAnimBgAttribute\n\ + mov r0, sp\n\ + bl sub_80752A0\n\ + bl IsContest\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + bne _081079E0\n\ + movs r0, 0x1\n\ + movs r1, 0x3\n\ + movs r2, 0x1\n\ + bl SetAnimBgAttribute\n\ + ldr r0, =gBattleAnimAttacker\n\ + ldrb r0, [r0]\n\ + bl GetBattlerSide\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + cmp r0, 0x1\n\ + bne _081079D0\n\ + mov r0, sp\n\ + ldrb r0, [r0, 0x9]\n\ + ldr r1, =gBattleAnimBgTilemap_SurfOpponent\n\ + bl AnimLoadCompressedBgTilemap\n\ + b _081079EA\n\ + .pool\n\ +_081079D0:\n\ + mov r0, sp\n\ + ldrb r0, [r0, 0x9]\n\ + ldr r1, =gBattleAnimBgTilemap_SurfPlayer\n\ + bl AnimLoadCompressedBgTilemap\n\ + b _081079EA\n\ + .pool\n\ +_081079E0:\n\ + ldr r0, =gBattleAnimBgTilemap_SurfContest\n\ + ldr r1, [sp, 0x4]\n\ + bl LZDecompressVram\n\ + mov r0, sp\n\ + ldrb r0, [r0, 0x8]\n\ + ldr r1, [sp, 0x4]\n\ + movs r2, 0\n\ + movs r3, 0x1\n\ + bl sub_80730C0\n\ +_081079EA:\n\ + mov r0, sp\n\ + ldrb r0, [r0, 0x9]\n\ + ldr r1, =gBattleAnimBgImage_Surf\n\ + mov r2, sp\n\ + ldrh r2, [r2, 0xA]\n\ + bl AnimLoadCompressedBgGfx\n\ + ldr r0, =gBattleAnimArgs\n\ + movs r1, 0\n\ + ldrsh r0, [r0, r1]\n\ + cmp r0, 0\n\ + bne _08107A24\n\ + ldr r0, =gBattleAnimBgPalette_Surf\n\ + mov r1, sp\n\ + ldrb r1, [r1, 0x8]\n\ + lsls r1, 4\n\ + movs r2, 0x20\n\ + bl LoadCompressedPalette\n\ + b _08107A32\n\ + .pool\n\ +_08107A24:\n\ + ldr r0, =gBattleAnimBgPalette_MuddyWater\n\ + mov r1, sp\n\ + ldrb r1, [r1, 0x8]\n\ + lsls r1, 4\n\ + movs r2, 0x20\n\ + bl LoadCompressedPalette\n\ +_08107A32:\n\ + ldr r0, =AnimTask_SurfWaveScanlineEffect\n\ + ldr r4, =gTasks\n\ + mov r2, r10\n\ + lsls r5, r2, 2\n\ + adds r1, r5, r2\n\ + lsls r1, 3\n\ + adds r6, r1, r4\n\ + ldrb r1, [r6, 0x7]\n\ + adds r1, 0x1\n\ + lsls r1, 24\n\ + lsrs r1, 24\n\ + bl CreateTask\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + mov r8, r0\n\ + movs r0, 0\n\ + mov r9, r0\n\ + mov r1, r8\n\ + strh r1, [r6, 0x26]\n\ + mov r2, r8\n\ + lsls r0, r2, 2\n\ + add r0, r8\n\ + lsls r0, 3\n\ + adds r7, r0, r4\n\ + mov r0, r9\n\ + strh r0, [r7, 0x8]\n\ + movs r0, 0x80\n\ + lsls r0, 5\n\ + strh r0, [r7, 0xA]\n\ + strh r0, [r7, 0xC]\n\ + bl IsContest\n\ + lsls r0, 24\n\ + lsrs r4, r0, 24\n\ + cmp r4, 0\n\ + beq _08107AB4\n\ + ldr r1, =0x0000ffb0\n\ + adds r0, r1, 0\n\ + ldr r2, =gBattle_BG1_X\n\ + strh r0, [r2]\n\ + adds r1, 0x20\n\ + adds r0, r1, 0\n\ + ldr r2, =gBattle_BG1_Y\n\ + strh r0, [r2]\n\ + movs r0, 0x2\n\ + strh r0, [r6, 0x8]\n\ + movs r0, 0x1\n\ + strh r0, [r6, 0xA]\n\ + mov r0, r9\n\ + strh r0, [r7, 0xE]\n\ + b _08107B0E\n\ + .pool\n\ +_08107AB4:\n\ + ldr r0, =gBattleAnimAttacker\n\ + ldrb r0, [r0]\n\ + bl GetBattlerSide\n\ + lsls r0, 24\n\ + lsrs r1, r0, 24\n\ + cmp r1, 0x1\n\ + bne _08107AF8\n\ + ldr r2, =0x0000ff20\n\ + adds r0, r2, 0\n\ + ldr r2, =gBattle_BG1_X\n\ + strh r0, [r2]\n\ + movs r2, 0x80\n\ + lsls r2, 1\n\ + adds r0, r2, 0\n\ + ldr r2, =gBattle_BG1_Y\n\ + strh r0, [r2]\n\ + movs r0, 0x2\n\ + strh r0, [r6, 0x8]\n\ + ldr r0, =0x0000ffff\n\ + strh r0, [r6, 0xA]\n\ + strh r1, [r7, 0xE]\n\ + b _08107B0E\n\ + .pool\n\ +_08107AF8:\n\ + ldr r0, =gBattle_BG1_X\n\ + strh r4, [r0]\n\ + ldr r1, =0x0000ffd0\n\ + adds r0, r1, 0\n\ + ldr r2, =gBattle_BG1_Y\n\ + strh r0, [r2]\n\ + ldr r0, =0x0000fffe\n\ + strh r0, [r6, 0x8]\n\ + movs r0, 0x1\n\ + strh r0, [r6, 0xA]\n\ + strh r4, [r7, 0xE]\n\ +_08107B0E:\n\ + ldr r0, =gBattle_BG1_X\n\ + ldrh r1, [r0]\n\ + movs r0, 0x14\n\ + bl SetGpuReg\n\ + ldr r2, =gBattle_BG1_Y\n\ + ldrh r1, [r2]\n\ + movs r0, 0x16\n\ + bl SetGpuReg\n\ + ldr r1, =gTasks\n\ + mov r2, r8\n\ + lsls r0, r2, 2\n\ + add r0, r8\n\ + lsls r0, 3\n\ + adds r1, r0, r1\n\ + movs r2, 0xE\n\ + ldrsh r0, [r1, r2]\n\ + cmp r0, 0\n\ + bne _08107B54\n\ + movs r0, 0x30\n\ + strh r0, [r1, 0x10]\n\ + movs r0, 0x70\n\ + b _08107B58\n\ + .pool\n\ +_08107B54:\n\ + movs r0, 0\n\ + strh r0, [r1, 0x10]\n\ +_08107B58:\n\ + strh r0, [r1, 0x12]\n\ + ldr r1, =gTasks\n\ + mov r2, r10\n\ + adds r0, r5, r2\n\ + lsls r0, 3\n\ + adds r0, r1\n\ + movs r1, 0x1\n\ + strh r1, [r0, 0x14]\n\ + ldr r1, =AnimTask_CreateSurfWave_Step1\n\ + str r1, [r0]\n\ + add sp, 0x10\n\ + pop {r3-r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov r10, r5\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .pool\n"); +} +#endif + +#ifdef NONMATCHING +static void AnimTask_CreateSurfWave_Step1(u8 taskId) +{ + struct BattleAnimBgData animBg; + u8 i; + u16 rgbBuffer; + u16 *BGptrX = &gBattle_BG1_X; + u16 *BGptrY = &gBattle_BG1_Y; + s16 unkUse; + u32 palOffset; + u16 palNum; + + *BGptrX += gTasks[taskId].data[0]; + *BGptrY += gTasks[taskId].data[1]; + sub_80752A0(&animBg); + gTasks[taskId].data[2] += gTasks[taskId].data[1]; + if (++gTasks[taskId].data[5] == 4) + { + rgbBuffer = gPlttBufferFaded[animBg.paletteId * 16 + 7]; + for (i = 6; i != 0; i--) + { + palNum = animBg.paletteId * 16; + palOffset = 1 + i; + gPlttBufferFaded[palNum + palOffset] = gPlttBufferFaded[palNum + palOffset - 1]; + } + gPlttBufferFaded[animBg.paletteId * 16 + 1] = rgbBuffer; + gTasks[taskId].data[5] = 0; + } + if (++gTasks[taskId].data[6] > 1) + { + gTasks[taskId].data[6] = 0; + unkUse = ++gTasks[taskId].data[3]; + if (unkUse <= 13) + { + gTasks[gTasks[taskId].data[15]].data[1] = unkUse | ((16 - unkUse) * 256); + gTasks[taskId].data[4]++; + } + if (gTasks[taskId].data[3] > 54) + { + unkUse = --gTasks[taskId].data[4]; + gTasks[gTasks[taskId].data[15]].data[1] = unkUse | ((16 - unkUse) * 256); + } + } + if (!(gTasks[gTasks[taskId].data[15]].data[1] & 0x1F)) + { + gTasks[taskId].data[0] = gTasks[gTasks[taskId].data[15]].data[1] & 0x1F; + gTasks[taskId].func = AnimTask_CreateSurfWave_Step2; + } +} +#else +NAKED +static void AnimTask_CreateSurfWave_Step1(u8 taskId) +{ + asm_unified("push {r4-r7,lr}\n\ + sub sp, 0x10\n\ + lsls r0, 24\n\ + lsrs r5, r0, 24\n\ + ldr r1, =gBattle_BG1_X\n\ + ldr r2, =gBattle_BG1_Y\n\ + ldr r0, =gTasks\n\ + lsls r4, r5, 2\n\ + adds r4, r5\n\ + lsls r4, 3\n\ + adds r4, r0\n\ + ldrh r0, [r4, 0x8]\n\ + ldrh r3, [r1]\n\ + adds r0, r3\n\ + strh r0, [r1]\n\ + ldrh r0, [r4, 0xA]\n\ + ldrh r1, [r2]\n\ + adds r0, r1\n\ + strh r0, [r2]\n\ + mov r0, sp\n\ + bl sub_80752A0\n\ + ldrh r0, [r4, 0xA]\n\ + ldrh r3, [r4, 0xC]\n\ + adds r0, r3\n\ + strh r0, [r4, 0xC]\n\ + ldrh r0, [r4, 0x12]\n\ + adds r0, 0x1\n\ + strh r0, [r4, 0x12]\n\ + lsls r0, 16\n\ + asrs r0, 16\n\ + cmp r0, 0x4\n\ + bne _08107C18\n\ + ldr r1, =gPlttBufferFaded\n\ + mov r0, sp\n\ + ldrb r0, [r0, 0x8]\n\ + lsls r0, 4\n\ + adds r0, 0x7\n\ + lsls r0, 1\n\ + adds r0, r1\n\ + ldrh r6, [r0]\n\ + movs r2, 0x6\n\ + adds r7, r1, 0\n\ + adds r3, r7, 0\n\ + mov r4, sp\n\ +_08107BDE:\n\ + ldrb r0, [r4, 0x8]\n\ + lsls r0, 4\n\ + adds r1, r2, 0x1\n\ + adds r0, r1\n\ + lsls r1, r0, 1\n\ + adds r1, r3\n\ + subs r0, 0x1\n\ + lsls r0, 1\n\ + adds r0, r3\n\ + ldrh r0, [r0]\n\ + strh r0, [r1]\n\ + subs r0, r2, 0x1\n\ + lsls r0, 24\n\ + lsrs r2, r0, 24\n\ + cmp r2, 0\n\ + bne _08107BDE\n\ + mov r0, sp\n\ + ldrb r0, [r0, 0x8]\n\ + lsls r0, 4\n\ + adds r0, 0x1\n\ + lsls r0, 1\n\ + adds r0, r7\n\ + strh r6, [r0]\n\ + ldr r1, =gTasks\n\ + lsls r0, r5, 2\n\ + adds r0, r5\n\ + lsls r0, 3\n\ + adds r0, r1\n\ + strh r2, [r0, 0x12]\n\ +_08107C18:\n\ + ldr r1, =gTasks\n\ + lsls r2, r5, 2\n\ + adds r0, r2, r5\n\ + lsls r0, 3\n\ + adds r3, r0, r1\n\ + ldrh r0, [r3, 0x14]\n\ + adds r0, 0x1\n\ + strh r0, [r3, 0x14]\n\ + lsls r0, 16\n\ + asrs r0, 16\n\ + adds r4, r1, 0\n\ + adds r6, r2, 0\n\ + cmp r0, 0x1\n\ + ble _08107C86\n\ + movs r0, 0\n\ + strh r0, [r3, 0x14]\n\ + ldrh r0, [r3, 0xE]\n\ + adds r2, r0, 0x1\n\ + strh r2, [r3, 0xE]\n\ + lsls r0, r2, 16\n\ + asrs r0, 16\n\ + cmp r0, 0xD\n\ + bgt _08107C62\n\ + movs r1, 0x26\n\ + ldrsh r0, [r3, r1]\n\ + lsls r1, r0, 2\n\ + adds r1, r0\n\ + lsls r1, 3\n\ + adds r1, r4\n\ + movs r0, 0x10\n\ + subs r0, r2\n\ + lsls r0, 8\n\ + orrs r2, r0\n\ + strh r2, [r1, 0xA]\n\ + ldrh r0, [r3, 0x10]\n\ + adds r0, 0x1\n\ + strh r0, [r3, 0x10]\n\ +_08107C62:\n\ + movs r1, 0xE\n\ + ldrsh r0, [r3, r1]\n\ + cmp r0, 0x36\n\ + ble _08107C86\n\ + ldrh r2, [r3, 0x10]\n\ + subs r2, 0x1\n\ + strh r2, [r3, 0x10]\n\ + movs r1, 0x26\n\ + ldrsh r0, [r3, r1]\n\ + lsls r1, r0, 2\n\ + adds r1, r0\n\ + lsls r1, 3\n\ + adds r1, r4\n\ + movs r0, 0x10\n\ + subs r0, r2\n\ + lsls r0, 8\n\ + orrs r2, r0\n\ + strh r2, [r1, 0xA]\n\ +_08107C86:\n\ + adds r0, r6, r5\n\ + lsls r0, 3\n\ + adds r2, r0, r4\n\ + movs r3, 0x26\n\ + ldrsh r1, [r2, r3]\n\ + lsls r0, r1, 2\n\ + adds r0, r1\n\ + lsls r0, 3\n\ + adds r0, r4\n\ + ldrh r0, [r0, 0xA]\n\ + movs r3, 0x1F\n\ + ands r3, r0\n\ + cmp r3, 0\n\ + bne _08107CA8\n\ + strh r3, [r2, 0x8]\n\ + ldr r0, =AnimTask_CreateSurfWave_Step2\n\ + str r0, [r2]\n\ +_08107CA8:\n\ + add sp, 0x10\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .pool\n"); +} +#endif + +static void AnimTask_CreateSurfWave_Step2(u8 taskId) +{ + u16 *BGptrX = &gBattle_BG1_X; + u16 *BGptrY = &gBattle_BG1_Y; + if (gTasks[taskId].data[0] == 0) + { + sub_8075358(1); + sub_8075358(2); + gTasks[taskId].data[0]++; + } + else + { + if (!IsContest()) + SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 0); + *BGptrX = 0; + *BGptrY = 0; + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 0)); + gTasks[gTasks[taskId].data[15]].data[15] = -1; + DestroyAnimVisualTask(taskId); + } +} + +static void AnimTask_SurfWaveScanlineEffect(u8 taskId) +{ + s16 i; + struct ScanlineEffectParams params; + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + for (i = 0; i < task->data[4]; i++) + gScanlineEffectRegBuffers[0][i] = gScanlineEffectRegBuffers[1][i] = task->data[2]; + for (i = task->data[4]; i < task->data[5]; i++) + gScanlineEffectRegBuffers[0][i] = gScanlineEffectRegBuffers[1][i] = task->data[1]; + for (i = task->data[5]; i < 160; i++) + gScanlineEffectRegBuffers[0][i] = gScanlineEffectRegBuffers[1][i] = task->data[2]; + + if (task->data[4] == 0) + gScanlineEffectRegBuffers[0][i] = gScanlineEffectRegBuffers[1][i] = task->data[1]; + else + gScanlineEffectRegBuffers[0][i] = gScanlineEffectRegBuffers[1][i] = task->data[2]; + + params.dmaDest = (vu16 *)REG_ADDR_BLDALPHA; + params.dmaControl = SCANLINE_EFFECT_DMACNT_16BIT; + params.initState = 1; + params.unused9 = 0; + ScanlineEffect_SetParams(params); + task->data[0]++; + break; + case 1: + if (task->data[3] == 0) + { + if (--task->data[4] <= 0) + { + task->data[4] = 0; + task->data[0]++; + } + } + else if (++task->data[5] > 111) + { + task->data[0]++; + } + + for (i = 0; i < task->data[4]; i++) + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[2]; + for (i = task->data[4]; i < task->data[5]; i++) + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[1]; + for (i = task->data[5]; i < 160; i++) + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[2]; + break; + case 2: + for (i = 0; i < task->data[4]; i++) + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[2]; + for (i = task->data[4]; i < task->data[5]; i++) + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[1]; + for (i = task->data[5]; i < 160; i++) + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[2]; + + if (task->data[15] == -1) + { + ScanlineEffect_Stop(); + DestroyTask(taskId); + } + break; + } +} + +static void AnimSmallDriftingBubbles(struct Sprite *sprite) +{ + s16 randData; + s16 randData2; + + sprite->oam.tileNum += 8; + InitSpritePosToAnimTarget(sprite, TRUE); + randData = (Random() & 0xFF) | 256; + randData2 = (Random() & 0x1FF); + if (randData2 > 255) + randData2 = 256 - randData2; + sprite->data[1] = randData; + sprite->data[2] = randData2; + sprite->callback = AnimSmallDriftingBubbles_Step; +} + +static void AnimSmallDriftingBubbles_Step(struct Sprite *sprite) +{ + sprite->data[3] += sprite->data[1]; + sprite->data[4] += sprite->data[2]; + if (sprite->data[1] & 1) + sprite->pos2.x = -(sprite->data[3] >> 8); + else + sprite->pos2.x = sprite->data[3] >> 8; + sprite->pos2.y = sprite->data[4] >> 8; + if (++sprite->data[0] == 21) + DestroyAnimSprite(sprite); +} + +void AnimTask_WaterSpoutLaunch(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + task->data[15] = GetAnimBattlerSpriteId(ANIM_ATTACKER); + task->data[5] = gSprites[task->data[15]].pos1.y; + task->data[1] = GetWaterSpoutPowerForAnim(); + PrepareBattlerSpriteForRotScale(task->data[15], ST_OAM_OBJ_NORMAL); + task->func = AnimTask_WaterSpoutLaunch_Step; +} + +static void AnimTask_WaterSpoutLaunch_Step(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + sub_80765D4(task, task->data[15], 0x100, 0x100, 224, 0x200, 32); + task->data[0]++; + case 1: + if (++task->data[3] > 1) + { + task->data[3] = 0; + if (++task->data[4] & 1) + { + gSprites[task->data[15]].pos2.x = 3; + gSprites[task->data[15]].pos1.y++; + } + else + { + gSprites[task->data[15]].pos2.x = -3; + } + } + if (sub_8076640(task) == 0) + { + SetBattlerSpriteYOffsetFromYScale(task->data[15]); + gSprites[task->data[15]].pos2.x = 0; + task->data[3] = 0; + task->data[4] = 0; + task->data[0]++; + } + break; + case 2: + if (++task->data[3] > 4) + { + sub_80765D4(task, task->data[15], 224, 0x200, 384, 224, 8); + task->data[3] = 0; + task->data[0]++; + } + break; + case 3: + if (sub_8076640(task) == 0) + { + task->data[3] = 0; + task->data[4] = 0; + task->data[0]++; + } + break; + case 4: + CreateWaterSpoutLaunchDroplets(task, taskId); + task->data[0]++; + case 5: + if (++task->data[3] > 1) + { + task->data[3] = 0; + if (++task->data[4] & 1) + gSprites[task->data[15]].pos2.y += 2; + else + gSprites[task->data[15]].pos2.y -= 2; + if (task->data[4] == 10) + { + sub_80765D4(task, task->data[15], 384, 224, 0x100, 0x100, 8); + task->data[3] = 0; + task->data[4] = 0; + task->data[0]++; + } + } + break; + case 6: + gSprites[task->data[15]].pos1.y--; + if (sub_8076640(task) == 0) + { + ResetSpriteRotScale(task->data[15]); + gSprites[task->data[15]].pos1.y = task->data[5]; + task->data[4] = 0; + task->data[0]++; + } + break; + case 7: + if (task->data[2] == 0) + DestroyAnimVisualTask(taskId); + break; + } +} + +// Returns a value 0-3 relative to which quarter HP the attacker is in +// A higher number results in more water sprites during the Water Spout animation +static u8 GetWaterSpoutPowerForAnim(void) +{ + u8 i; + u16 hp; + u16 maxhp; + u16 partyIndex; + struct Pokemon *slot; + + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) + { + partyIndex = gBattlerPartyIndexes[gBattleAnimAttacker]; + slot = &gPlayerParty[partyIndex]; + maxhp = GetMonData(slot, MON_DATA_MAX_HP); + hp = GetMonData(slot, MON_DATA_HP); + maxhp /= 4; + } + else + { + partyIndex = gBattlerPartyIndexes[gBattleAnimAttacker]; + slot = &gEnemyParty[partyIndex]; + maxhp = GetMonData(slot, MON_DATA_MAX_HP); + hp = GetMonData(slot, MON_DATA_HP); + maxhp /= 4; + } + for (i = 0; i < 3; i++) + { + if (hp < maxhp * (i + 1)) + return i; + } + return 3; +} + +static void CreateWaterSpoutLaunchDroplets(struct Task *task, u8 taskId) +{ + s16 i; + s16 attackerCoordX = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); + s16 attackerCoordY = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); + s16 trigIndex = 172; + u8 subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker) - 1; + s16 increment = 4 - task->data[1]; + u8 spriteId; + + if (increment <= 0) + increment = 1; + for (i = 0; i < 20; i += increment) + { + spriteId = CreateSprite(&gSmallWaterOrbSpriteTemplate, attackerCoordX, attackerCoordY, subpriority); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].data[1] = i; + gSprites[spriteId].data[2] = attackerCoordX * 16; + gSprites[spriteId].data[3] = attackerCoordY * 16; + gSprites[spriteId].data[4] = Cos(trigIndex, 64); + gSprites[spriteId].data[5] = Sin(trigIndex, 64); + gSprites[spriteId].data[6] = taskId; + gSprites[spriteId].data[7] = 2; + if (task->data[2] & 1) + AnimSmallWaterOrb(&gSprites[spriteId]); + task->data[2]++; + } + trigIndex = (trigIndex + increment * 2); + trigIndex &= 0xFF; + } +} + +static void AnimSmallWaterOrb(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + sprite->data[4] += (sprite->data[1] % 6) * 3; + sprite->data[5] += (sprite->data[1] % 3) * 3; + sprite->data[0]++; + case 1: + sprite->data[2] += sprite->data[4]; + sprite->data[3] += sprite->data[5]; + sprite->pos1.x = sprite->data[2] >> 4; + sprite->pos1.y = sprite->data[3] >> 4; + if (sprite->pos1.x < -8 || sprite->pos1.x > 248 || sprite->pos1.y < -8 || sprite->pos1.y > 120) + { + gTasks[sprite->data[6]].data[sprite->data[7]]--; + DestroySprite(sprite); + } + break; + } +} + +void AnimTask_WaterSpoutRain(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + task->data[1] = GetWaterSpoutPowerForAnim(); + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) + { + task->data[4] = 136; + task->data[6] = 40; + } + else + { + task->data[4] = 16; + task->data[6] = 80; + } + task->data[5] = 98; + task->data[7] = task->data[4] + 49; + task->data[12] = task->data[1] * 5 + 5; + task->func = AnimTask_WaterSpoutRain_Step; +} + +static void AnimTask_WaterSpoutRain_Step(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + u8 taskId2; + + switch (task->data[0]) + { + case 0: + if (++task->data[2] > 2) + { + task->data[2] = 0; + CreateWaterSpoutRainDroplet(task, taskId); + } + if (task->data[10] != 0 && task->data[13] == 0) + { + gBattleAnimArgs[0] = ANIM_TARGET; + gBattleAnimArgs[1] = 0; + gBattleAnimArgs[2] = 12; + taskId2 = CreateTask(AnimTask_HorizontalShake, 80); + if (taskId2 != 0xFF) + { + gTasks[taskId2].func(taskId2); + gAnimVisualTaskCount++; + } + gBattleAnimArgs[0] = ANIM_DEF_PARTNER; + taskId2 = CreateTask(AnimTask_HorizontalShake, 80); + if (taskId2 != 0xFF) + { + gTasks[taskId2].func(taskId2); + gAnimVisualTaskCount++; + } + task->data[13] = 1; + } + if (task->data[11] >= task->data[12]) + task->data[0]++; + break; + case 1: + if (task->data[9] == 0) + DestroyAnimVisualTask(taskId); + break; + } +} + +static void CreateWaterSpoutRainDroplet(struct Task *task, u8 taskId) +{ + u16 yPosArg = ((gSineTable[task->data[8]] + 3) >> 4) + task->data[6]; + u8 spriteId = CreateSprite(&gSmallWaterOrbSpriteTemplate, task->data[7], 0, 0); + + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].callback = AnimWaterSpoutRain; + gSprites[spriteId].data[5] = yPosArg; + gSprites[spriteId].data[6] = taskId; + gSprites[spriteId].data[7] = 9; + task->data[9]++; + } + task->data[11]++; + task->data[8] = (task->data[8] + 39) & 0xFF; + task->data[7] = (ISO_RANDOMIZE2(task->data[7]) % task->data[5]) + task->data[4]; +} + +static void AnimWaterSpoutRain(struct Sprite *sprite) +{ + if (sprite->data[0] == 0) + { + sprite->pos1.y += 8; + if (sprite->pos1.y >= sprite->data[5]) + { + gTasks[sprite->data[6]].data[10] = 1; + sprite->data[1] = CreateSprite(&gWaterHitSplatSpriteTemplate, sprite->pos1.x, sprite->pos1.y, 1); + if (sprite->data[1] != MAX_SPRITES) + { + StartSpriteAffineAnim(&gSprites[sprite->data[1]], 3); + gSprites[sprite->data[1]].data[6] = sprite->data[6]; + gSprites[sprite->data[1]].data[7] = sprite->data[7]; + gSprites[sprite->data[1]].callback = AnimWaterSpoutRainHit; + } + DestroySprite(sprite); + } + } +} + +static void AnimWaterSpoutRainHit(struct Sprite *sprite) +{ + if (++sprite->data[1] > 1) + { + sprite->data[1] = 0; + sprite->invisible ^= 1; + if (++sprite->data[2] == 12) + { + gTasks[sprite->data[6]].data[sprite->data[7]]--; + FreeOamMatrix(sprite->oam.matrixNum); + DestroySprite(sprite); + } + } +} + +void AnimTask_WaterSport(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + task->data[3] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); + task->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); + task->data[7] = (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) ? 1 : -1; + if (IsContest()) + task->data[7] *= -1; + task->data[5] = task->data[3] + task->data[7] * 8; + task->data[6] = task->data[4] - task->data[7] * 8; + task->data[9] = -32; + task->data[1] = 0; + task->data[0] = 0; + task->func = AnimTask_WaterSport_Step; +} + +static void AnimTask_WaterSport_Step(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + CreateWaterSportDroplet(task); + if (task->data[10] != 0) + task->data[0]++; + break; + case 1: + CreateWaterSportDroplet(task); + if (++task->data[1] > 16) + { + task->data[1] = 0; + task->data[0]++; + } + break; + case 2: + CreateWaterSportDroplet(task); + task->data[5] += task->data[7] * 6; + if (!(task->data[5] >= -16 && task->data[5] <= 256)) + { + if (++task->data[12] > 2) + { + task->data[13] = 1; + task->data[0] = 6; + task->data[1] = 0; + } + else + { + task->data[1] = 0; + task->data[0]++; + } + } + break; + case 3: + CreateWaterSportDroplet(task); + task->data[6] -= task->data[7] * 2; + if (++task->data[1] > 7) + task->data[0]++; + break; + case 4: + CreateWaterSportDroplet(task); + task->data[5] -= task->data[7] * 6; + if (!(task->data[5] >= -16 && task->data[5] <= 256)) + { + task->data[12]++; + task->data[1] = 0; + task->data[0]++; + } + break; + case 5: + CreateWaterSportDroplet(task); + task->data[6] -= task->data[7] * 2; + if (++task->data[1] > 7) + task->data[0] = 2; + break; + case 6: + if (task->data[8] == 0) + task->data[0]++; + break; + default: + DestroyAnimVisualTask(taskId); + break; + } +} + +static void CreateWaterSportDroplet(struct Task *task) +{ + u8 spriteId; + + if (++task->data[2] > 1) + { + task->data[2] = 0; + spriteId = CreateSprite(&gSmallWaterOrbSpriteTemplate, task->data[3], task->data[4], 10); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].data[0] = 16; + gSprites[spriteId].data[2] = task->data[5]; + gSprites[spriteId].data[4] = task->data[6]; + gSprites[spriteId].data[5] = task->data[9]; + InitAnimArcTranslation(&gSprites[spriteId]); + gSprites[spriteId].callback = AnimWaterSportDroplet; + task->data[8]++; + } + } +} + +static void AnimWaterSportDroplet(struct Sprite *sprite) +{ + if (TranslateAnimHorizontalArc(sprite)) + { + sprite->pos1.x += sprite->pos2.x; + sprite->pos1.y += sprite->pos2.y; + sprite->data[0] = 6; + sprite->data[2] = (Random() & 0x1F) - 16 + sprite->pos1.x; + sprite->data[4] = (Random() & 0x1F) - 16 + sprite->pos1.y; + sprite->data[5] = ~(Random() & 7); + InitAnimArcTranslation(sprite); + sprite->callback = AnimWaterSportDroplet_Step; + } +} + +static void AnimWaterSportDroplet_Step(struct Sprite *sprite) +{ + u16 i; + + if (TranslateAnimHorizontalArc(sprite)) + { + for (i = 0; i < NUM_TASKS; i++) + { + if (gTasks[i].func == AnimTask_WaterSport_Step) + { + gTasks[i].data[10] = 1; + gTasks[i].data[8]--; + DestroySprite(sprite); + } + } + } +} + +static void AnimWaterPulseBubble(struct Sprite *sprite) +{ + sprite->pos1.x = gBattleAnimArgs[0]; + sprite->pos1.y = gBattleAnimArgs[1]; + sprite->data[0] = gBattleAnimArgs[2]; + sprite->data[1] = gBattleAnimArgs[3]; + sprite->data[2] = gBattleAnimArgs[4]; + sprite->data[3] = gBattleAnimArgs[5]; + sprite->callback = AnimWaterPulseBubble_Step; +} + +static void AnimWaterPulseBubble_Step(struct Sprite *sprite) +{ + sprite->data[4] -= sprite->data[0]; + sprite->pos2.y = sprite->data[4] / 10; + sprite->data[5] = (sprite->data[5] + sprite->data[1]) & 0xFF; + sprite->pos2.x = Sin(sprite->data[5], sprite->data[2]); + if (--sprite->data[3] == 0) + DestroyAnimSprite(sprite); +} + +static void AnimWaterPulseRingBubble(struct Sprite *sprite) +{ + sprite->data[3] += sprite->data[1]; + sprite->data[4] += sprite->data[2]; + sprite->pos2.x = sprite->data[3] >> 7; + sprite->pos2.y = sprite->data[4] >> 7; + if (--sprite->data[0] == 0) + { + FreeSpriteOamMatrix(sprite); + DestroySprite(sprite); + } +} + +void AnimWaterPulseRing(struct Sprite *sprite) +{ + InitSpritePosToAnimAttacker(sprite, TRUE); + sprite->data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, 2); + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 3); + sprite->data[3] = gBattleAnimArgs[2]; + sprite->data[4] = gBattleAnimArgs[3]; + sprite->callback = AnimWaterPulseRing_Step; +} + +static void AnimWaterPulseRing_Step(struct Sprite *sprite) +{ + int xDiff = sprite->data[1] - sprite->pos1.x; + int yDiff = sprite->data[2] - sprite->pos1.y; + + sprite->pos2.x = (sprite->data[0] * xDiff) / sprite->data[3]; + sprite->pos2.y = (sprite->data[0] * yDiff) / sprite->data[3]; + if (++sprite->data[5] == sprite->data[4]) + { + sprite->data[5] = 0; + CreateWaterPulseRingBubbles(sprite, xDiff, yDiff); + } + if (sprite->data[3] == sprite->data[0]) + DestroyAnimSprite(sprite); + sprite->data[0]++; +} + +#ifdef NONMATCHING +static void CreateWaterPulseRingBubbles(struct Sprite *sprite, int xDiff, int yDiff) +{ + s16 something = sprite->data[0] / 2; + s16 combinedX = sprite->pos1.x + sprite->pos2.x; + s16 combinedY = sprite->pos1.y + sprite->pos2.y; + s16 randomSomethingY = yDiff + (Random() % 10) - 5; + s16 randomSomethingX = -xDiff + (Random() % 10) - 5; + s16 i; + u8 spriteId; + + for (i = 0; i <= 0; i++) + { + spriteId = CreateSprite(&gWaterPulseRingBubbleSpriteTemplate, combinedX, combinedY + something, 130); + gSprites[spriteId].data[0] = 20; + gSprites[spriteId].data[1] = randomSomethingY; + gSprites[spriteId].subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker) - 1; + if (randomSomethingX < 0) + gSprites[spriteId].data[2] = -randomSomethingX; + else + gSprites[spriteId].data[2] = randomSomethingX; + } + for (i = 0; i <= 0; i++) + { + spriteId = CreateSprite(&gWaterPulseRingBubbleSpriteTemplate, combinedX, combinedY - something, 130); + gSprites[spriteId].data[0] = 20; + gSprites[spriteId].data[1] = randomSomethingY; + gSprites[spriteId].subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker) - 1; + if (randomSomethingX > 0) + gSprites[spriteId].data[2] = -randomSomethingX; + else + gSprites[spriteId].data[2] = randomSomethingX; + } +} +#else +NAKED +static void CreateWaterPulseRingBubbles(struct Sprite *sprite, int xDiff, int yDiff) +{ + asm_unified("push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + sub sp, 0x18\n\ + adds r4, r1, 0\n\ + adds r5, r2, 0\n\ + movs r2, 0x2E\n\ + ldrsh r1, [r0, r2]\n\ + lsrs r2, r1, 31\n\ + adds r1, r2\n\ + lsls r1, 15\n\ + lsrs r1, 16\n\ + str r1, [sp]\n\ + ldrh r1, [r0, 0x24]\n\ + ldrh r3, [r0, 0x20]\n\ + adds r1, r3\n\ + lsls r1, 16\n\ + lsrs r1, 16\n\ + mov r8, r1\n\ + ldrh r1, [r0, 0x26]\n\ + ldrh r0, [r0, 0x22]\n\ + adds r1, r0\n\ + lsls r1, 16\n\ + lsrs r1, 16\n\ + mov r10, r1\n\ + bl Random\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + movs r1, 0xA\n\ + bl __umodsi3\n\ + adds r0, r5, r0\n\ + subs r0, 0x5\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + mov r9, r0\n\ + bl Random\n\ + negs r4, r4\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + movs r1, 0xA\n\ + bl __umodsi3\n\ + adds r4, r0\n\ + subs r4, 0x5\n\ + lsls r4, 16\n\ + lsrs r7, r4, 16\n\ + movs r6, 0\n\ + mov r0, r8\n\ + lsls r0, 16\n\ + mov r8, r0\n\ + mov r1, r10\n\ + lsls r1, 16\n\ + str r1, [sp, 0xC]\n\ + ldr r2, [sp]\n\ + lsls r2, 16\n\ + str r2, [sp, 0x10]\n\ + asrs r1, 16\n\ + lsls r0, r7, 16\n\ + asrs r5, r0, 16\n\ + str r0, [sp, 0x14]\n\ + negs r3, r5\n\ + str r3, [sp, 0x4]\n\ + asrs r0, r2, 16\n\ + adds r1, r0\n\ + lsls r1, 16\n\ + mov r10, r1\n\ +_08108DE2:\n\ + ldr r0, =gWaterPulseRingBubbleSpriteTemplate\n\ + mov r2, r8\n\ + asrs r1, r2, 16\n\ + mov r3, r10\n\ + asrs r2, r3, 16\n\ + movs r3, 0x82\n\ + bl CreateSprite\n\ + lsls r0, 24\n\ + lsrs r2, r0, 24\n\ + ldr r1, =gSprites\n\ + lsls r0, r2, 4\n\ + adds r0, r2\n\ + lsls r0, 2\n\ + adds r4, r0, r1\n\ + movs r0, 0x14\n\ + strh r0, [r4, 0x2E]\n\ + mov r0, r9\n\ + strh r0, [r4, 0x30]\n\ + ldr r0, =gBattleAnimAttacker\n\ + ldrb r0, [r0]\n\ + bl GetBattlerSpriteSubpriority\n\ + subs r0, 0x1\n\ + adds r1, r4, 0\n\ + adds r1, 0x43\n\ + strb r0, [r1]\n\ + cmp r5, 0\n\ + bge _08108E30\n\ + mov r1, sp\n\ + ldrh r1, [r1, 0x4]\n\ + strh r1, [r4, 0x32]\n\ + b _08108E32\n\ + .pool\n\ +_08108E30:\n\ + strh r7, [r4, 0x32]\n\ +_08108E32:\n\ + lsls r0, r6, 16\n\ + movs r2, 0x80\n\ + lsls r2, 9\n\ + adds r0, r2\n\ + lsrs r6, r0, 16\n\ + cmp r0, 0\n\ + ble _08108DE2\n\ + movs r6, 0\n\ + ldr r3, [sp, 0xC]\n\ + asrs r1, r3, 16\n\ + ldr r0, [sp, 0x14]\n\ + asrs r5, r0, 16\n\ + negs r2, r5\n\ + str r2, [sp, 0x8]\n\ + ldr r3, [sp, 0x10]\n\ + asrs r0, r3, 16\n\ + subs r1, r0\n\ + lsls r1, 16\n\ + mov r10, r1\n\ +_08108E58:\n\ + ldr r0, =gWaterPulseRingBubbleSpriteTemplate\n\ + mov r2, r8\n\ + asrs r1, r2, 16\n\ + mov r3, r10\n\ + asrs r2, r3, 16\n\ + movs r3, 0x82\n\ + bl CreateSprite\n\ + lsls r0, 24\n\ + lsrs r2, r0, 24\n\ + ldr r1, =gSprites\n\ + lsls r0, r2, 4\n\ + adds r0, r2\n\ + lsls r0, 2\n\ + adds r4, r0, r1\n\ + movs r0, 0x14\n\ + strh r0, [r4, 0x2E]\n\ + mov r0, r9\n\ + strh r0, [r4, 0x30]\n\ + ldr r0, =gBattleAnimAttacker\n\ + ldrb r0, [r0]\n\ + bl GetBattlerSpriteSubpriority\n\ + subs r0, 0x1\n\ + adds r1, r4, 0\n\ + adds r1, 0x43\n\ + strb r0, [r1]\n\ + cmp r5, 0\n\ + ble _08108EA8\n\ + mov r1, sp\n\ + ldrh r1, [r1, 0x8]\n\ + strh r1, [r4, 0x32]\n\ + b _08108EAA\n\ + .pool\n\ +_08108EA8:\n\ + strh r7, [r4, 0x32]\n\ +_08108EAA:\n\ + lsls r0, r6, 16\n\ + movs r2, 0x80\n\ + lsls r2, 9\n\ + adds r0, r2\n\ + lsrs r6, r0, 16\n\ + cmp r0, 0\n\ + ble _08108E58\n\ + add sp, 0x18\n\ + pop {r3-r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov r10, r5\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n"); +} +#endif |