From 17e4bff02030f335ab2122f0e1c4d1df0ba760e6 Mon Sep 17 00:00:00 2001 From: Unnunu Date: Mon, 14 Nov 2022 14:00:29 +0300 Subject: [PATCH] star beam and few others (#857) * peach/star beam * 3 more * func_802A5290 wip * PR comments --- include/effects.h | 26 +- include/enums.h | 9 + src/415D90.c | 179 ++- src/battle/star/common/peach_star_beam.inc.c | 768 ++++++++++++ src/battle/star/peach_beam/7997B0.c | 309 +---- src/battle/star/star_beam/796FC0.c | 775 +----------- src/effects/peach_star_beam.c | 114 +- src/world/partner/bow.c | 30 +- src/world/partner/goombario.c | 218 +++- .../asm/nonmatchings/415D90/func_802A4A54.s | 573 --------- .../asm/nonmatchings/415D90/func_802A57C8.s | 26 - .../peach_beam/7997B0/func_802A1518_799CC8.s | 1072 ----------------- .../star_beam/796FC0/func_802A1518_7974D8.s | 1072 ----------------- .../world/partner/bow/func_802BD540_323E90.s | 91 -- 14 files changed, 1176 insertions(+), 4086 deletions(-) create mode 100644 src/battle/star/common/peach_star_beam.inc.c delete mode 100644 ver/us/asm/nonmatchings/415D90/func_802A4A54.s delete mode 100644 ver/us/asm/nonmatchings/415D90/func_802A57C8.s delete mode 100644 ver/us/asm/nonmatchings/battle/star/peach_beam/7997B0/func_802A1518_799CC8.s delete mode 100644 ver/us/asm/nonmatchings/battle/star/star_beam/796FC0/func_802A1518_7974D8.s delete mode 100644 ver/us/asm/nonmatchings/world/partner/bow/func_802BD540_323E90.s diff --git a/include/effects.h b/include/effects.h index 213ed9394e..807d438635 100644 --- a/include/effects.h +++ b/include/effects.h @@ -2303,11 +2303,11 @@ typedef struct FireworkRocketFXData { /* 0xA0 */ f32 unk_A0[4]; } FireworkRocketFXData; // size = 0xB0 -typedef struct PeachStarBeamInner { +typedef struct PeachStarBeamSpirit { /* 0x00 */ s32 flags; - /* 0x04 */ Vec3f unk_04; - /* 0x10 */ Vec3f unk_10; -} PeachStarBeamInner; // size = 0x1C + /* 0x04 */ Vec3f pos; + /* 0x10 */ Vec3f lockedPos; +} PeachStarBeamSpirit; // size = 0x1C typedef struct PeachStarBeamFXData { /* 0x00 */ s32 type; @@ -2317,21 +2317,19 @@ typedef struct PeachStarBeamFXData { /* 0x18 */ s32 primR; /* 0x1C */ s32 primG; /* 0x20 */ s32 primB; - /* 0x24 */ s32 alpha; + /* 0x24 */ s32 beamAlpha; /* 0x28 */ s32 envR; /* 0x2C */ s32 envG; /* 0x30 */ s32 envB; /* 0x34 */ s32 envA; - /* 0x38 */ f32 unk_38; + /* 0x38 */ f32 beamScale; /* 0x3C */ s32 unk_3C; - /* 0x40 */ f32 unk_40; - /* 0x44 */ f32 unk_44; - /* 0x48 */ f32 unk_48; - /* 0x4C */ f32 unk_4C; - /* 0x50 */ f32 unk_50; - /* 0x54 */ f32 unk_54; - /* 0x58 */ f32 unk_58; - /* 0x5C */ PeachStarBeamInner parts[8]; + /* 0x40 */ f32 rotationSpeed; + /* 0x44 */ f32 rotationAngle; + /* 0x48 */ f32 circleRadius; + /* 0x4C */ Vec3f circleCenter; + /* 0x58 */ f32 twinkYOffset; + /* 0x5C */ PeachStarBeamSpirit spirits[8]; } PeachStarBeamFXData; // size = 0x13C typedef struct ChapterChangeFXData { diff --git a/include/enums.h b/include/enums.h index 92d245c665..e0772dc128 100644 --- a/include/enums.h +++ b/include/enums.h @@ -826,7 +826,11 @@ enum SoundIDs { SOUND_233 = 0x00000233, SOUND_234 = 0x00000234, SOUND_23D = 0x0000023D, + SOUND_241 = 0x00000241, SOUND_246 = 0x00000246, + SOUND_248 = 0x00000248, + SOUND_249 = 0x00000249, + SOUND_24A = 0x0000024A, SOUND_24B = 0x0000024B, SOUND_259 = 0x00000259, SOUND_25A = 0x0000025A, @@ -1121,6 +1125,8 @@ enum SoundIDs { SOUND_607 = 0x00000607, SOUND_62A = 0x0000062A, SOUND_62B = 0x0000062B, + SOUND_648 = 0x00000648, + SOUND_649 = 0x00000649, SOUND_6A2 = 0x000006A2, SOUND_749 = 0x00000749, SOUND_759 = 0x00000759, @@ -1183,6 +1189,7 @@ enum SoundIDs { SOUND_2043 = 0x00002043, SOUND_2045 = 0x00002045, SOUND_2046 = 0x00002046, + SOUND_2047 = 0x00002047, SOUND_2049 = 0x00002049, SOUND_204A = 0x0000204A, SOUND_204B = 0x0000204B, @@ -1449,6 +1456,8 @@ enum SoundIDs { SOUND_80000065 = 0x80000065, SOUND_80000066 = 0x80000066, SOUND_80000067 = 0x80000067, + SOUND_80000068 = 0x80000068, + SOUND_80000069 = 0x80000069, SOUND_8000006A = 0x8000006A, SOUND_8000006B = 0x8000006B, SOUND_8000006C = 0x8000006C, diff --git a/src/415D90.c b/src/415D90.c index b32fdea3ac..c09d0c561c 100644 --- a/src/415D90.c +++ b/src/415D90.c @@ -385,7 +385,7 @@ void func_802A4534(s32 arg0, s32 x, s32 y); void func_802A5290(s32 arg0, s32 x, s32 y); void func_802A56F8(s32 arg0, s32 x, s32 y); void func_802A5738(s32 arg0, s32 x, s32 y); -void func_802A57C8(s32 arg0, s32 x, s32 y); +void func_802A57C8(s32* userData, s32 x, s32 y, s32 width, s32 height, s32 opacity, s32 darkening); void func_802A1000(void) { D_802AD006 = 255; @@ -1750,13 +1750,10 @@ void func_802A4A10(void) { D_802AD604 = 30; } -// v0/v1 dumb -#ifdef NON_MATCHING s32 func_802A4A54(void) { BattleStatus* battleStatus = &gBattleStatus; s32 id; - s32 x; - s32 y; + s32 x, y; s32 width; s32 msgID; s32 i; @@ -1774,29 +1771,29 @@ s32 func_802A4A54(void) { hud_element_set_flags(id, HUD_ELEMENT_FLAGS_FILTER_TEX | HUD_ELEMENT_FLAGS_80); } - D_802AD618 = id = hud_element_create(HES_AnimatedHandPointer); + D_802AD618 = id = hud_element_create(&HES_AnimatedHandPointer); hud_element_set_flags(id, HUD_ELEMENT_FLAGS_DROP_SHADOW | HUD_ELEMENT_FLAGS_80); hud_element_set_render_pos(id, D_802AD63C, D_802AD63E); - D_802AD61C = id = hud_element_create(HES_GreenArrowUp); + D_802AD61C = id = hud_element_create(&HES_GreenArrowUp); hud_element_set_flags(id, HUD_ELEMENT_FLAGS_DROP_SHADOW | HUD_ELEMENT_FLAGS_80); hud_element_set_render_pos(id, D_802AD63C + 39, D_802AD63E - 7); - D_802AD620 = id = hud_element_create(HES_GreenArrowDown); + D_802AD620 = id = hud_element_create(&HES_GreenArrowDown); hud_element_set_flags(id, HUD_ELEMENT_FLAGS_DROP_SHADOW | HUD_ELEMENT_FLAGS_80); hud_element_set_render_pos(id, D_802AD63C + 39, D_802AD63E + 78); D_802AD614 = MSG_PAL_STANDARD; x = D_802AD63C; y = D_802AD63E; - set_window_properties(6, x, y, 144, (D_802AD60A * 13) + 26, 0, func_802A5290, NULL, -1); - set_window_properties(7, x + 18, y - 6, 108, 16, 1, func_802A56F8, NULL, -1); + set_window_properties(WINDOW_ID_6, x, y, 144, (D_802AD60A * 13) + 26, 0, func_802A5290, NULL, -1); + set_window_properties(WINDOW_ID_7, x + 18, y - 6, 108, 16, 1, func_802A56F8, NULL, -1); x = 20; y = 186; - set_window_properties(8, x, y, 280, 32, 0x14, func_802A5738, NULL, -1); - set_window_update(6, 1); - set_window_update(7, 1); - set_window_update(8, 1); + set_window_properties(WINDOW_ID_8, x, y, 280, 32, 20, func_802A5738, NULL, -1); + set_window_update(WINDOW_ID_6, WINDOW_UPDATE_SHOW); + set_window_update(WINDOW_ID_7, WINDOW_UPDATE_SHOW); + set_window_update(WINDOW_ID_8, WINDOW_UPDATE_SHOW); D_802AD604 = 1; break; case 1: @@ -1834,7 +1831,7 @@ s32 func_802A4A54(void) { D_802AD608 = D_802AD605; } if (D_802AD605 >= D_802AD609) { - D_802AD608 = D_802AD605 - (D_802AD60A - 1); + D_802AD608 = D_802AD605 + 1 - D_802AD60A; } D_802AD609 = D_802AD608 + 6; if (D_802AD609 > D_802AD66C) { @@ -1867,32 +1864,32 @@ s32 func_802A4A54(void) { hud_element_set_tint(D_802AD618, 160, 160, 160); hud_element_set_tint(D_802AD61C, 160, 160, 160); hud_element_set_tint(D_802AD620, 160, 160, 160); - hud_element_set_script(D_802AD618, HES_HandPointer); + hud_element_set_script(D_802AD618, &HES_HandPointer); D_802AD614 = MSG_PAL_0D; - set_window_update(6, 4); - set_window_update(7, 4); - set_window_update(8, 2); + set_window_update(WINDOW_ID_6, WINDOW_UPDATE_DARKENED); + set_window_update(WINDOW_ID_7, WINDOW_UPDATE_DARKENED); + set_window_update(WINDOW_ID_8, WINDOW_UPDATE_HIDE); return D_802AD605 + 1; case -2: - return 0xFF; + return 255; case 10: - set_window_update(6, 2); - set_window_update(7, 2); - set_window_update(8, 2); + set_window_update(WINDOW_ID_6, WINDOW_UPDATE_HIDE); + set_window_update(WINDOW_ID_7, WINDOW_UPDATE_HIDE); + set_window_update(WINDOW_ID_8, WINDOW_UPDATE_HIDE); D_802AD604 = 11; return D_802AD605 + 1; case 11: return D_802AD605 + 1; case 20: - set_window_update(6, 1); - set_window_update(7, 1); - set_window_update(8, 1); + set_window_update(WINDOW_ID_6, WINDOW_UPDATE_SHOW); + set_window_update(WINDOW_ID_7, WINDOW_UPDATE_SHOW); + set_window_update(WINDOW_ID_8, WINDOW_UPDATE_SHOW); D_802AD604 = 1; return D_802AD605 + 1; case 30: - set_window_update(6, 1); - set_window_update(7, 1); - set_window_update(8, 1); + set_window_update(WINDOW_ID_6, WINDOW_UPDATE_SHOW); + set_window_update(WINDOW_ID_7, WINDOW_UPDATE_SHOW); + set_window_update(WINDOW_ID_8, WINDOW_UPDATE_SHOW); D_802AD604 = -1; break; case 40: @@ -1900,19 +1897,23 @@ s32 func_802A4A54(void) { D_802AD604 = 41; return -1; case 41: - set_window_update(6, 2); - set_window_update(7, 2); - set_window_update(8, 2); - if (D_802AD610 == 0) { - msgID = 0x1D0000; - msgID |= 0xCB; - } else { - msgID = 0x1D0000; - msgID |= 0xCC; + set_window_update(WINDOW_ID_6, WINDOW_UPDATE_HIDE); + set_window_update(WINDOW_ID_7, WINDOW_UPDATE_HIDE); + set_window_update(WINDOW_ID_8, WINDOW_UPDATE_HIDE); + switch (D_802AD610) { + case 0: + msgID = MSG_Menus_00CB; + break; + case 1: + msgID = MSG_Menus_00CC; + break; + default: + msgID = MSG_Menus_00CC; + break; } width = get_msg_width(msgID, 0) + 23; - set_window_properties(9, (SCREEN_WIDTH / 2) - ((width) / 2), 80, width, 28, 0x14, func_802A57C8, NULL, -1); - set_window_update(9, 1); + set_window_properties(WINDOW_ID_9, (SCREEN_WIDTH / 2) - (width / 2), 80, width, 28, 20, func_802A57C8, NULL, -1); + set_window_update(WINDOW_ID_9, 1); D_802AD612 = 60; D_802AD604 = 42; return -1; @@ -1924,18 +1925,17 @@ s32 func_802A4A54(void) { D_802AD612--; return -1; } - set_window_update(9, 2); - set_window_update(6, 1); - set_window_update(7, 1); - set_window_update(8, 1); + set_window_update(WINDOW_ID_9, WINDOW_UPDATE_HIDE); + set_window_update(WINDOW_ID_6, WINDOW_UPDATE_SHOW); + set_window_update(WINDOW_ID_7, WINDOW_UPDATE_SHOW); + set_window_update(WINDOW_ID_8, WINDOW_UPDATE_SHOW); D_802AD604 = 1; break; } return 0; } -#else -INCLUDE_ASM(s32, "415D90", func_802A4A54); -#endif + +static const f32 padding4 = 0.0f; // getting there but needs work #ifdef NON_EQUIVALENT @@ -1953,8 +1953,9 @@ void func_802A5290(s32 arg0, s32 x, s32 y) { s32 yOffset; s32 uly; s32 xTemp; - s32 iconIndex; + s32 id; s32 i; + s32 j; switch (D_802AD604) { case -1: @@ -1980,26 +1981,25 @@ void func_802A5290(s32 arg0, s32 x, s32 y) { xTemp = x + 33; phi_s1 = y + (D_802AD60C + 19); - for (i = 0; i < D_802AD66C; i++, phi_s1 += 13) { + for (j = 0; j < D_802AD66C; phi_s1 += 13, j++) { s32 palette = D_802AD614; - if (D_802AD678[i] == 5 && is_ability_active(ABILITY_QUICK_CHANGE)) { + if (D_802AD678[j] == 5 && is_ability_active(ABILITY_QUICK_CHANGE)) { palette = MSG_PAL_37; } - if (D_802AD690[i] == 0) { + if (D_802AD690[j] == 0) { palette = MSG_PAL_0B; } - draw_msg(D_802AD658[i], xTemp, phi_s1, D_802AD624, palette, DRAW_MSG_STYLE_MENU); + draw_msg(D_802AD658[j], xTemp, phi_s1, D_802AD624, palette, DRAW_MSG_STYLE_MENU); } xTemp = x + 24; - phi_s1_2 = D_802AD60C + y + 24; - for (i = 0; i < D_802AD66C; i++, phi_s1_2 += 13) { - iconIndex = D_802AD628[i]; - - hud_element_set_render_pos(iconIndex, xTemp, phi_s1_2); - hud_element_set_alpha(iconIndex, D_802AD624); - hud_element_draw_without_clipping(iconIndex); + phi_s1 = D_802AD60C + y + 24; + for (i = 0; i < D_802AD66C; phi_s1 += 13, i++) { + id = D_802AD628[i]; + hud_element_set_render_pos(id, xTemp, phi_s1); + hud_element_set_alpha(id, D_802AD624); + hud_element_draw_without_clipping(id); } temp_s1_3 = (D_802AD605 - D_802AD608) * 13; @@ -2010,23 +2010,23 @@ void func_802A5290(s32 arg0, s32 x, s32 y) { D_802AD60E = temp_s1_3; } - iconIndex = D_802AD618; - hud_element_set_render_pos(iconIndex, x + 10, y + (D_802AD60E + 26)); - hud_element_set_alpha(iconIndex, D_802AD624); - hud_element_draw_clipped(iconIndex); + id = D_802AD618; + hud_element_set_render_pos(id, x + 10, y + (D_802AD60E + 26)); + hud_element_set_alpha(id, D_802AD624); + hud_element_draw_clipped(id); if (D_802AD608 > 0) { - iconIndex = D_802AD61C; - hud_element_set_render_pos(iconIndex, x + 67, y + 16); - hud_element_set_alpha(iconIndex, D_802AD624); - hud_element_draw_clipped(iconIndex); + id = D_802AD61C; + hud_element_set_render_pos(id, x + 67, y + 16); + hud_element_set_alpha(id, D_802AD624); + hud_element_draw_clipped(id); } if (D_802AD609 < D_802AD66C) { - iconIndex = D_802AD620; - hud_element_set_render_pos(iconIndex, x + 67, y + 100); - hud_element_set_alpha(iconIndex, D_802AD624); - hud_element_draw_clipped(iconIndex); + id = D_802AD620; + hud_element_set_render_pos(id, x + 67, y + 100); + hud_element_set_alpha(id, D_802AD624); + hud_element_draw_clipped(id); } break; @@ -2037,7 +2037,7 @@ INCLUDE_ASM(s32, "415D90", func_802A5290); #endif void func_802A56F8(s32 arg0, s32 x, s32 y) { - draw_msg(0x1D0043, x + 15, y + 2, D_802AD624, MSG_PAL_33, DRAW_MSG_STYLE_MENU); + draw_msg(MSG_Menus_0043, x + 15, y + 2, D_802AD624, MSG_PAL_33, DRAW_MSG_STYLE_MENU); } void func_802A5738(s32 arg0, s32 x, s32 y) { @@ -2054,29 +2054,24 @@ void func_802A5738(s32 arg0, s32 x, s32 y) { } } -// regalloc, arg setting order dumbness -#ifdef NON_EQUIVALENT -void func_802A57C8(s32 arg0, s32 x, s32 y) { - s32 a0; +void func_802A57C8(s32* userData, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) { + s32 x = baseX + 11; + s32 y = baseY + 6; + s32 msgID; - s32 x2; - s32 y2; - - x2 = x + 11; - y2 = y + 6; - - if (D_802AD610 == 0) { - a0 = 0x1D0000; - a0 |= 0xCB; - } else { - a0 = 0x1D0000; - a0 |= 0xCC; + switch (D_802AD610) { + case 0: + msgID = MSG_Menus_00CB; + break; + case 1: + msgID = MSG_Menus_00CC; + break; + default: + msgID = MSG_Menus_00CC; + break; } - draw_msg(a0, x2, y2, 255, MSG_PAL_0F, 0); + draw_msg(msgID, x, y, 255, MSG_PAL_0F, 0); } -#else -INCLUDE_ASM(s32, "415D90", func_802A57C8); -#endif s32 can_btl_state_update_switch_to_player(void) { BattleStatus* battleStatus = &gBattleStatus; diff --git a/src/battle/star/common/peach_star_beam.inc.c b/src/battle/star/common/peach_star_beam.inc.c new file mode 100644 index 0000000000..f7c73c1bb4 --- /dev/null +++ b/src/battle/star/common/peach_star_beam.inc.c @@ -0,0 +1,768 @@ +#include "common.h" +#include "script_api/battle.h" + +#include "common/StarPower.inc.c" + +ApiStatus N(GetStage)(Evt* script, s32 isInitialCall); +ApiStatus N(starBeam2)(Evt* script, s32 isInitialCall); + +EvtScript N(802A24F0) = { + EVT_CALL(GetOwnerID, LVarA) + EVT_IF_EQ(LVarA, ACTOR_PLAYER) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_69) + EVT_WAIT(10) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_GotItem) + EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 16) + EVT_CALL(SetActorSpeed, ACTOR_PLAYER, EVT_FLOAT(4.0)) + EVT_CALL(SetGoalPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) + EVT_CALL(PlayerRunToGoal, 0) + EVT_WAIT(8) + EVT_CALL(PlaySound, SOUND_241) + EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) + EVT_ADD(LVar1, 15) + EVT_CALL(N(UnkStarFunc1), LVar0, LVar1, LVar2) + EVT_CALL(N(FadeBackgroundToBlack)) + EVT_WAIT(20) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_AnimPray) + EVT_WAIT(10) + EVT_CALL(PlaySound, SOUND_2051) + EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) + EVT_CALL(N(UnkStarFunc2), LVar0, LVar1, LVar2) + EVT_WAIT(30) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_1002A) + EVT_ELSE + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_69) + EVT_WAIT(10) + EVT_CALL(N(UnkStarFunc), 0) + EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 16) + EVT_CALL(SetActorSpeed, ACTOR_PARTNER, EVT_FLOAT(4.0)) + EVT_CALL(SetGoalPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) + EVT_CALL(RunToGoal, ACTOR_PARTNER, 0, FALSE) + EVT_CALL(N(UnkStarFunc), 4) + EVT_WAIT(8) + EVT_CALL(PlaySound, SOUND_241) + EVT_CALL(N(UnkStarFunc), 1) + EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) + EVT_ADD(LVar1, 15) + EVT_CALL(N(UnkStarFunc1), LVar0, LVar1, LVar2) + EVT_CALL(N(FadeBackgroundToBlack)) + EVT_WAIT(20) + EVT_CALL(PlaySound, SOUND_2051) + EVT_CALL(N(UnkStarFunc), 1) + EVT_WAIT(10) + EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) + EVT_CALL(N(UnkStarFunc2), LVar0, LVar1, LVar2) + EVT_WAIT(30) + EVT_CALL(N(UnkStarFunc), 4) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(beforeUsePower) = { + EVT_CALL(GetOwnerID, LVarA) + EVT_IF_EQ(LVarA, ACTOR_PLAYER) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_69) + EVT_WAIT(10) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_GotItem) + EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 16) + EVT_CALL(SetActorSpeed, ACTOR_PLAYER, EVT_FLOAT(4.0)) + EVT_CALL(SetGoalPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) + EVT_CALL(PlayerRunToGoal, 0) + EVT_WAIT(8) + EVT_CALL(PlaySound, SOUND_241) + EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) + EVT_ADD(LVar1, 15) + EVT_CALL(N(UnkStarFunc1), LVar0, LVar1, LVar2) + EVT_CALL(N(UnkBackgroundFunc2)) + EVT_WAIT(20) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_AnimPray) + EVT_WAIT(10) + EVT_CALL(PlaySound, SOUND_2051) + EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) + EVT_CALL(N(UnkStarFunc2), LVar0, LVar1, LVar2) + EVT_WAIT(30) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_1002A) + EVT_ELSE + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_69) + EVT_WAIT(10) + EVT_CALL(N(UnkStarFunc), 0) + EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 16) + EVT_CALL(SetActorSpeed, ACTOR_PARTNER, EVT_FLOAT(4.0)) + EVT_CALL(SetGoalPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) + EVT_CALL(RunToGoal, ACTOR_PARTNER, 0, FALSE) + EVT_CALL(N(UnkStarFunc), 4) + EVT_WAIT(8) + EVT_CALL(PlaySound, SOUND_241) + EVT_CALL(N(UnkStarFunc), 1) + EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) + EVT_ADD(LVar1, 15) + EVT_CALL(N(UnkStarFunc1), LVar0, LVar1, LVar2) + EVT_CALL(N(UnkBackgroundFunc2)) + EVT_WAIT(20) + EVT_CALL(PlaySound, SOUND_2051) + EVT_CALL(N(UnkStarFunc), 1) + EVT_WAIT(10) + EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) + EVT_CALL(N(UnkStarFunc2), LVar0, LVar1, LVar2) + EVT_WAIT(30) + EVT_CALL(N(UnkStarFunc), 4) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(802A2C20) = { + EVT_WAIT(8) + EVT_CALL(SetForegroundModelsVisible, 0) + EVT_CALL(UseBattleCamPresetImmediately, BTL_CAM_PRESET_73) + EVT_CALL(MoveBattleCamOver, 1) + EVT_CALL(PlaySound, SOUND_2041) + EVT_CALL(CreateNpc, 100, LVar0) + EVT_CALL(N(SetNpcCollision32)) + EVT_CALL(SetNpcFlagBits, 100, NPC_FLAG_40000, TRUE) + EVT_CALL(SetNpcPos, 100, -75, 150, 0) + EVT_CALL(SetNpcDecoration, 100, 0, 5) + EVT_CALL(N(UnkStarFunc3), -75, 167, 0) + EVT_WAIT(10) + EVT_CALL(EnableNpcBlur, 100, 1) + EVT_SET(LVar0, 0) + EVT_LOOP(8) + EVT_ADD(LVar0, 67) + EVT_CALL(SetNpcRotation, 100, 0, LVar0, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_WAIT(10) + EVT_CALL(EnableNpcBlur, 100, 0) + EVT_THREAD + EVT_WAIT(10) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_69) + EVT_END_THREAD + EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) + EVT_ADD(LVar1, 50) + EVT_CALL(NpcFlyTo, 100, LVar0, LVar1, LVar2, 30, 0, 10) + EVT_CALL(SetForegroundModelsVisible, 1) + EVT_RETURN + EVT_END +}; + +EvtScript N(802A2E2C) = { + EVT_CALL(GetOwnerID, LVarA) + EVT_IF_EQ(LVarA, 0) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(PlaySound, SOUND_2047) + EVT_THREAD + EVT_LOOP(5) + EVT_WAIT(6) + EVT_CALL(GetNpcPos, 100, LVar0, LVar1, LVar2) + EVT_CALL(N(UnkStarFunc4), LVar0, LVar1, LVar2) + EVT_END_LOOP + EVT_END_THREAD + EVT_CALL(EnableNpcBlur, 100, 1) + EVT_THREAD + EVT_SET(LVar2, 0) + EVT_SET(LVar3, 720) + EVT_CALL(MakeLerp, LVar2, LVar3, 30, 2) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(SetNpcRotation, 100, 0, LVar0, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_END_THREAD + EVT_CALL(GetNpcPos, 100, LVar0, LVar1, LVar2) + EVT_ADD(LVar1, 60) + EVT_CALL(NpcFlyTo, 100, LVar0, LVar1, LVar2, 15, 0, 10) + EVT_ADD(LVar1, 140) + EVT_CALL(NpcFlyTo, 100, LVar0, LVar1, LVar2, 15, 0, 10) + EVT_WAIT(10) + EVT_CALL(EnableNpcBlur, 100, 0) + EVT_CALL(DeleteNpc, 100) + EVT_ELSE + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) + EVT_CALL(PlaySound, SOUND_2045) + EVT_THREAD + EVT_LOOP(5) + EVT_WAIT(6) + EVT_CALL(GetNpcPos, 100, LVar0, LVar1, LVar2) + EVT_CALL(N(UnkStarFunc4), LVar0, LVar1, LVar2) + EVT_END_LOOP + EVT_END_THREAD + EVT_CALL(EnableNpcBlur, 100, 1) + EVT_THREAD + EVT_SET(LVar2, 0) + EVT_SET(LVar3, 720) + EVT_CALL(MakeLerp, LVar2, LVar3, 30, 2) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(SetNpcRotation, 100, 0, LVar0, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_END_THREAD + EVT_CALL(GetNpcPos, 100, LVar0, LVar1, LVar2) + EVT_ADD(LVar1, 60) + EVT_CALL(NpcFlyTo, 100, LVar0, LVar1, LVar2, 15, 0, 10) + EVT_ADD(LVar1, 140) + EVT_CALL(NpcFlyTo, 100, LVar0, LVar1, LVar2, 15, 0, 10) + EVT_WAIT(10) + EVT_CALL(EnableNpcBlur, 100, 0) + EVT_CALL(DeleteNpc, 100) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(afterUsePower) = { + EVT_CALL(GetOwnerID, LVarA) + EVT_IF_EQ(LVarA, ACTOR_PLAYER) + EVT_CALL(N(UnkBackgroundFunc)) + EVT_WAIT(15) + EVT_CALL(SetGoalToHome, ACTOR_PLAYER) + EVT_CALL(SetActorSpeed, ACTOR_PLAYER, EVT_FLOAT(8.0)) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_Running) + EVT_CALL(PlayerRunToGoal, 0) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_10002) + EVT_ELSE + EVT_CALL(N(UnkBackgroundFunc)) + EVT_WAIT(15) + EVT_CALL(SetGoalToHome, ACTOR_PARTNER) + EVT_CALL(SetActorSpeed, ACTOR_PARTNER, EVT_FLOAT(8.0)) + EVT_CALL(N(UnkStarFunc), 3) + EVT_CALL(RunToGoal, ACTOR_PARTNER, 0) + EVT_CALL(N(UnkStarFunc), 4) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(802A33A8) = { + EVT_THREAD + EVT_CALL(PlayEffect, EFFECT_SHIMMER_BURST, 0, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), 100, 0, 0, 0, 0, 0, 0, 0) + EVT_WAIT(5) + EVT_CALL(PlayEffect, EFFECT_SHIMMER_BURST, 0, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), 100, 0, 0, 0, 0, 0, 0, 0) + EVT_IF_EQ(LVarA, 1) + EVT_WAIT(5) + EVT_CALL(PlayEffect, EFFECT_SHIMMER_BURST, 0, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), 100, 0, 0, 0, 0, 0, 0, 0) + EVT_END_IF + EVT_END_THREAD + EVT_WAIT(20) + EVT_CALL(PlayEffect, EFFECT_ENERGY_ORB_WAVE, 4, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), 30, 0, 0, 0, 0, 0, 0, 0) + EVT_RETURN + EVT_END +}; + +s32 N(spiritsFlyDelay)[] = { 35, 0, 5, 10, 15, 20, 25, 30 }; +s32 N(spiritsFlyAwayDelay)[] = { 35, 0, 5, 10, 15, 20, 25, 30 }; + +f32 N(spiritsScatterPos)[] = { + 89.0f, 180.0f, 0.0f, + -36.0f, 180.0f, 0.0f, + 204.0f, 180.0f, 0.0f, + 30.0f, 97.0f, 477.0f, + 230.0f, 81.0f, 0.0f, + 129.0f, 180.0f, 0.0f, + -60.0f, 180.0f, 0.0f, + -234.0f, 39.0f, 0.0f, +}; + +enum { + PEACH_STAR_BEAM_CREATE_EFFECT = 0, + PEACH_STAR_BEAM_SPIRITS_APPEAR = 1, + PEACH_STAR_BEAM_ZOOM_OUT = 2, + PEACH_STAR_BEAM_SHRINK_CIRCLE = 3, + PEACH_STAR_BEAM_FLY_TO_TARGET = 4, + PEACH_STAR_BEAM_MAKE_ADDITIONAL_EFFECTS = 5, + PEACH_STAR_BEAM_MAKE_BEAM = 6, + PEACH_STAR_BEAM_WAIT = 7, + PEACH_STAR_BEAM_FADE_OUT_BEAM = 8, + PEACH_STAR_BEAM_START_FLY_AWAY = 9, + PEACH_STAR_BEAM_SPIRITS_FLY_AWAY = 10, + PEACH_STAR_BEAM_IMMUNE = 20, + PEACH_STAR_BEAM_SPIRITS_SCATTER = 21, +}; + +static EffectInstance* N(effect); +static char N(padding)[4]; +static s32 N(miscParticlesTimeLeft)[8]; +static s32 N(spiritsMoveTime)[8]; +static s32 N(starBeamStage); + +ApiStatus N(ProcessPeachStarBeam)(Evt* script, s32 isInitialCall) { + PeachStarBeamFXData* effectData; + PeachStarBeamSpirit* spirit; + Bytecode* args = script->ptrReadPos; + Actor* player = gBattleStatus.playerActor; + ActorState* playerState = &player->state; + s32 i; + f32 currentPosX, currentPosY, currentPosZ; + f32 targetPosX, targetPosY, targetPosZ; + f32 goalPosX, goalPosY, goalPosZ; + s32 cond; + Evt* newScript; + f32 dist; + + if (isInitialCall) { + N(starBeamStage) = 0; + script->functionTemp[2] = evt_get_variable(script, *args++); + script->functionTemp[0] = PEACH_STAR_BEAM_CREATE_EFFECT; + } + + if (player->targetListLength == 1) { + Actor* target = get_actor(player->targetActorID); + if (target == NULL) { + return ApiStatus_DONE2; + } + get_actor_part(target, player->targetPartIndex); + targetPosX = target->currentPos.x + target->headOffset.x; + if (target->flags & ACTOR_FLAG_HP_OFFSET_BELOW) { + targetPosY = target->currentPos.y + target->headOffset.y - target->size.y; + } else if (!(target->flags & ACTOR_FLAG_8000)) { + targetPosY = target->currentPos.y + target->headOffset.y + target->size.y; + } else { + targetPosY = target->currentPos.y + target->headOffset.y + target->size.y * 2; + } + targetPosZ = target->currentPos.z + target->headOffset.z; + } else { + targetPosX = 64.0f; + targetPosY = 80.0f; + targetPosZ = 0.0f; + } + + switch (script->functionTemp[0]) { + case PEACH_STAR_BEAM_SPIRITS_APPEAR: + case PEACH_STAR_BEAM_ZOOM_OUT: + case PEACH_STAR_BEAM_SHRINK_CIRCLE: + case PEACH_STAR_BEAM_FLY_TO_TARGET: + case PEACH_STAR_BEAM_MAKE_ADDITIONAL_EFFECTS: + case PEACH_STAR_BEAM_MAKE_BEAM: + case PEACH_STAR_BEAM_WAIT: + case PEACH_STAR_BEAM_FADE_OUT_BEAM: + case PEACH_STAR_BEAM_START_FLY_AWAY: + effectData = N(effect)->data.peachStarBeam; + for (i = 0; i < ARRAY_COUNT(effectData->spirits); i++) { + if (script->functionTemp[2] != 0 || i != 0) { + spirit = &effectData->spirits[i]; + if (N(miscParticlesTimeLeft)[i] != 0) { + N(miscParticlesTimeLeft)[i]--; + } else { + N(miscParticlesTimeLeft)[i] = 20; + if (N(spiritsFlyDelay)[i] <= 0) { + fx_misc_particles(4, spirit->lockedPos.x, spirit->lockedPos.y, spirit->lockedPos.z, 20.0f, 20.0f, 1.0f, 10, 20); + } else { + fx_misc_particles(4, spirit->pos.x, spirit->pos.y, spirit->pos.z, 20.0f, 20.0f, 1.0f, 10, 20); + } + } + } + } + break; + case PEACH_STAR_BEAM_SPIRITS_FLY_AWAY: + effectData = N(effect)->data.peachStarBeam; + for (i = 0; i < ARRAY_COUNT(effectData->spirits); i++) { + if (script->functionTemp[2] != 0 || i != 0) { + spirit = &effectData->spirits[i]; + if (N(miscParticlesTimeLeft)[i] != 0) { + N(miscParticlesTimeLeft)[i]--; + } else { + N(miscParticlesTimeLeft)[i] = 20; + if (N(spiritsFlyAwayDelay)[i] <= 0) { + fx_misc_particles(4, spirit->lockedPos.x, spirit->lockedPos.y, spirit->lockedPos.z, 20.0f, 20.0f, 1.0f, 10, 20); + } else { + fx_misc_particles(4, spirit->pos.x, spirit->pos.y, spirit->pos.z, 20.0f, 20.0f, 1.0f, 10, 20); + } + } + } + } + break; + } + + switch (script->functionTemp[0]) { + case PEACH_STAR_BEAM_CREATE_EFFECT: + currentPosX = player->currentPos.x; + currentPosY = player->currentPos.y + player->size.y + 30.0f; + currentPosZ = player->currentPos.z; + + playerState->currentPos.x = currentPosX; + playerState->currentPos.y = currentPosY + 150.0f; + playerState->currentPos.z = currentPosZ; + + playerState->goalPos.x = currentPosX; + playerState->goalPos.y = currentPosY; + playerState->goalPos.z = currentPosZ; + + if (script->functionTemp[2] == 0) { + N(effect) = fx_peach_star_beam(0, currentPosX, currentPosY, currentPosZ, 1.0f, 0); + } else { + N(effect) = fx_peach_star_beam(1, currentPosX, currentPosY, currentPosZ, 1.0f, 0); + } + playerState->distance = 48.0f; + N(effect)->data.peachStarBeam->unk_3C = 0; + N(effect)->data.peachStarBeam->circleRadius = playerState->distance; + N(effect)->data.peachStarBeam->beamAlpha = 0; + N(effect)->data.peachStarBeam->twinkYOffset = 30.0f; + N(effect)->data.peachStarBeam->rotationSpeed = 5.0f; + for (i = 0; i < ARRAY_COUNT(N(miscParticlesTimeLeft)); i++) { + N(miscParticlesTimeLeft)[i] = rand_int(20); + } + + script->functionTemp[1] = 40; + if (script->functionTemp[2] == 0) { + sfx_play_sound(SOUND_80000068); + } else { + sfx_play_sound(SOUND_80000069); + } + script->functionTemp[0] = PEACH_STAR_BEAM_SPIRITS_APPEAR; + break; + case PEACH_STAR_BEAM_SPIRITS_APPEAR: + playerState->currentPos.y += (playerState->goalPos.y - playerState->currentPos.y) / 10.0f; + N(effect)->data.peachStarBeam->circleCenter.x = playerState->currentPos.x; + N(effect)->data.peachStarBeam->circleCenter.y = playerState->currentPos.y; + N(effect)->data.peachStarBeam->circleCenter.z = playerState->currentPos.z; + N(effect)->data.peachStarBeam->unk_3C = 0; + N(effect)->data.peachStarBeam->circleRadius = playerState->distance; + N(effect)->data.peachStarBeam->beamAlpha = 0; + if (script->functionTemp[1] == 0) { + script->functionTemp[1] = 20; + script->functionTemp[0] = PEACH_STAR_BEAM_ZOOM_OUT; + } else { + script->functionTemp[1]--; + } + break; + case PEACH_STAR_BEAM_ZOOM_OUT: + if (script->functionTemp[1] == 0) { + btl_cam_use_preset(BTL_CAM_PRESET_C); + btl_cam_move(10); + script->functionTemp[1] = 15; + script->functionTemp[0] = PEACH_STAR_BEAM_SHRINK_CIRCLE; + } else { + script->functionTemp[1]--; + } + break; + case PEACH_STAR_BEAM_SHRINK_CIRCLE: + playerState->distance += (24.0f - playerState->distance) * 0.125f; + N(effect)->data.peachStarBeam->circleRadius = playerState->distance; + if (script->functionTemp[1] == 0) { + playerState->goalPos.x = targetPosX; + playerState->goalPos.y = targetPosY; + playerState->goalPos.z = targetPosZ; + for (i = 0; i < ARRAY_COUNT(N(spiritsMoveTime)); i++) { + N(spiritsMoveTime)[i] = 30; + } + + if (script->functionTemp[2] == 0) { + sfx_play_sound(SOUND_648); + } else { + sfx_play_sound(SOUND_649); + } + script->functionTemp[0] = PEACH_STAR_BEAM_FLY_TO_TARGET; + } else { + script->functionTemp[1]--; + } + break; + case PEACH_STAR_BEAM_FLY_TO_TARGET: + cond = FALSE; + playerState->distance += (48.0f - playerState->distance) * 0.25f; + N(effect)->data.peachStarBeam->circleRadius = playerState->distance; + for (i = 0; i < 2; i++) { + if (i != 0) { + spirit = &effectData->spirits[i]; + if (N(spiritsFlyDelay)[i] < 0) { + currentPosX = playerState->currentPos.x; + currentPosY = playerState->currentPos.y; + currentPosZ = playerState->currentPos.z; + + goalPosX = playerState->goalPos.x; + goalPosY = playerState->goalPos.y; + goalPosZ = playerState->goalPos.z; + + playerState->currentPos.x += goalPosX - currentPosX; + playerState->currentPos.y += goalPosY - currentPosY; + playerState->currentPos.z += goalPosZ - currentPosZ; + } else { + cond = TRUE; + if (N(spiritsFlyDelay)[i] != 0) { + N(spiritsFlyDelay)[i]--; + } else { + currentPosX = playerState->currentPos.x; + currentPosY = playerState->currentPos.y; + currentPosZ = playerState->currentPos.z; + goalPosX = playerState->goalPos.x; + goalPosY = playerState->goalPos.y; + goalPosZ = playerState->goalPos.z; + dist = dist2D(currentPosX, currentPosZ, goalPosX, goalPosZ); + playerState->currentPos.x += (goalPosX - currentPosX) / N(spiritsMoveTime)[i]; + playerState->currentPos.y += (goalPosY - currentPosY) / N(spiritsMoveTime)[i]; + playerState->currentPos.z += (goalPosZ - currentPosZ) / N(spiritsMoveTime)[i]; + if (N(spiritsMoveTime)[i] == 1) { + N(spiritsFlyDelay)[i] = -1; + playerState->currentPos.x = goalPosX; + playerState->currentPos.y = goalPosY; + playerState->currentPos.z = goalPosZ; + } else { + playerState->currentPos.y += dist / 60.0f; + } + N(spiritsMoveTime)[i]--; + } + } + } + } + + N(effect)->data.peachStarBeam->circleCenter.x = playerState->currentPos.x; + N(effect)->data.peachStarBeam->circleCenter.y = playerState->currentPos.y; + N(effect)->data.peachStarBeam->circleCenter.z = playerState->currentPos.z; + N(effect)->data.peachStarBeam->pos.x = playerState->currentPos.x; + N(effect)->data.peachStarBeam->pos.y = 0.0f; + N(effect)->data.peachStarBeam->pos.z = playerState->currentPos.z; + if (!cond) { + playerState->currentPos.x = playerState->goalPos.x; + playerState->currentPos.y = playerState->goalPos.y; + playerState->currentPos.z = playerState->goalPos.z; + N(effect)->data.peachStarBeam->circleCenter.x = playerState->currentPos.x; + N(effect)->data.peachStarBeam->circleCenter.y = playerState->currentPos.y; + N(effect)->data.peachStarBeam->circleCenter.z = playerState->currentPos.z; + N(effect)->data.peachStarBeam->pos.x = playerState->currentPos.x; + N(effect)->data.peachStarBeam->pos.y = 0.0f; + N(effect)->data.peachStarBeam->pos.z = playerState->currentPos.z; + effectData = N(effect)->data.peachStarBeam; + for (i = 0; i < ARRAY_COUNT(effectData->spirits); i++) { + if (script->functionTemp[2] != 0 || i != 0) { + spirit = &effectData->spirits[i]; + N(spiritsFlyDelay)[i] = 1; + spirit->flags &= ~2; + } + } + + btl_cam_use_preset(BTL_CAM_PRESET_D); + btl_cam_move(30); + script->functionTemp[1] = 15; + script->functionTemp[0] = PEACH_STAR_BEAM_MAKE_ADDITIONAL_EFFECTS; + } + break; + case PEACH_STAR_BEAM_MAKE_ADDITIONAL_EFFECTS: + if (script->functionTemp[1] == 0) { + playerState->moveTime = 0; + N(effect)->data.peachStarBeam->unk_3C = 0; + N(effect)->data.peachStarBeam->beamAlpha = 0; + if (script->functionTemp[2] != 0) { + N(effect)->data.peachStarBeam->primR = 240; + N(effect)->data.peachStarBeam->primG = 80; + N(effect)->data.peachStarBeam->primB = 200; + N(effect)->data.peachStarBeam->envR = 240; + N(effect)->data.peachStarBeam->envG = 240; + N(effect)->data.peachStarBeam->envB = 240; + } + newScript = start_script(&N(802A33A8), EVT_PRIORITY_A, 0); + + newScript->varTable[0] = playerState->currentPos.x; + newScript->varTable[1] = playerState->currentPos.y * 0.5f; + newScript->varTable[2] = playerState->currentPos.z; + newScript->varTable[10] = script->functionTemp[2]; + + do {} while (0); // required to match + + sfx_play_sound(SOUND_24A); + script->functionTemp[1] = 45; + script->functionTemp[0] = PEACH_STAR_BEAM_MAKE_BEAM; + } else { + script->functionTemp[1]--; + } + break; + case PEACH_STAR_BEAM_MAKE_BEAM: + playerState->moveTime += 30; + if (playerState->moveTime > 255) { + playerState->moveTime = 255; + } + N(effect)->data.peachStarBeam->unk_3C = playerState->moveTime; + N(effect)->data.peachStarBeam->beamAlpha = playerState->moveTime; + if (script->functionTemp[1] == 0) { + N(starBeamStage) = 1; + if (script->functionTemp[2] == 0 && player->targetListLength == 1) { + if (get_actor_part(get_actor(player->targetActorID), player->targetPartIndex)->eventFlags & ACTOR_EVENT_FLAG_80000) { + script->functionTemp[0] = PEACH_STAR_BEAM_IMMUNE; + } else { + script->functionTemp[1] = 15; + script->functionTemp[0] = PEACH_STAR_BEAM_WAIT; + } + } else { + script->functionTemp[1] = 15; + script->functionTemp[0] = PEACH_STAR_BEAM_WAIT; + } + } else { + script->functionTemp[1]--; + } + break; + case PEACH_STAR_BEAM_WAIT: + if (script->functionTemp[1] == 0) { + script->functionTemp[1] = 10; + script->functionTemp[0] = PEACH_STAR_BEAM_FADE_OUT_BEAM; + } else { + script->functionTemp[1]--; + } + break; + case PEACH_STAR_BEAM_FADE_OUT_BEAM: + playerState->moveTime -= 30; + if (playerState->moveTime < 0) { + playerState->moveTime = 0; + } + N(effect)->data.peachStarBeam->unk_3C = playerState->moveTime; + N(effect)->data.peachStarBeam->beamAlpha = playerState->moveTime; + if (script->functionTemp[1] == 0) { + script->functionTemp[1] = 10; + script->functionTemp[0] = PEACH_STAR_BEAM_START_FLY_AWAY; + } else { + script->functionTemp[1]--; + } + break; + case PEACH_STAR_BEAM_START_FLY_AWAY: + if (script->functionTemp[1] != 0) { + script->functionTemp[1]--; + break; + } + playerState->goalPos.x = targetPosX; + playerState->goalPos.y = targetPosY + 170.0f; + playerState->goalPos.z = targetPosZ; + script->functionTemp[1] = 20; + script->functionTemp[0] = PEACH_STAR_BEAM_SPIRITS_FLY_AWAY; + break; + case PEACH_STAR_BEAM_SPIRITS_FLY_AWAY: + if (script->functionTemp[1] != 0) { + script->functionTemp[1]--; + if (script->functionTemp[1] == 0) { + if (script->functionTemp[2] == 0) { + func_80149A6C(SOUND_248, TRUE); + sfx_play_sound(SOUND_648); + } else { + func_80149A6C(SOUND_249, TRUE); + sfx_play_sound(SOUND_649); + } + } + } + cond = FALSE; + effectData = N(effect)->data.peachStarBeam; + for (i = 0; i < ARRAY_COUNT(effectData->spirits); i++) { + if (script->functionTemp[2] != 0 || i != 0) { + spirit = &effectData->spirits[i]; + if (N(spiritsFlyAwayDelay)[i] >= 0) { + cond = TRUE; + if (N(spiritsFlyAwayDelay)[i] != 0) { + N(spiritsFlyAwayDelay)[i]--; + } else { + spirit->flags |= 2; + currentPosY = spirit->lockedPos.y; + spirit->lockedPos.y += (playerState->goalPos.y - currentPosY) / 10.0f; + if (fabsf(spirit->lockedPos.y - playerState->goalPos.y) < 1.0) { + N(spiritsFlyAwayDelay)[i] = -1; + } + } + } + } + } + + if (!cond) { + N(starBeamStage) = 2; + N(effect)->flags |= EFFECT_INSTANCE_FLAGS_10; + return ApiStatus_DONE2; + } + break; + case PEACH_STAR_BEAM_IMMUNE: + N(effect)->data.peachStarBeam->unk_3C = 0; + N(effect)->data.peachStarBeam->beamAlpha = 0; + for (i = 0; i < ARRAY_COUNT(N(spiritsMoveTime)); i++) { + N(spiritsMoveTime)[i] = 15; + } + + if (script->functionTemp[2] == 0) { + func_80149A6C(SOUND_248, FALSE); + } else { + func_80149A6C(SOUND_249, FALSE); + } + script->functionTemp[0] = PEACH_STAR_BEAM_SPIRITS_SCATTER; + break; + case PEACH_STAR_BEAM_SPIRITS_SCATTER: + cond = FALSE; + effectData = N(effect)->data.peachStarBeam; + for (i = 0; i < ARRAY_COUNT(effectData->spirits); i++) { + if (script->functionTemp[2] != 0 || i != 0) { + spirit = &effectData->spirits[i]; + if (N(spiritsFlyDelay)[i] < 0) { + currentPosX = spirit->lockedPos.x; + currentPosY = spirit->lockedPos.y; + currentPosZ = spirit->lockedPos.z; + + goalPosX = N(spiritsScatterPos)[3 * i + 0]; + goalPosY = N(spiritsScatterPos)[3 * i + 1]; + goalPosZ = N(spiritsScatterPos)[3 * i + 2]; + + spirit->lockedPos.x += goalPosX - currentPosX; + spirit->lockedPos.y += goalPosY - currentPosY; + spirit->lockedPos.z += goalPosZ - currentPosZ; + } else { + cond = TRUE; + if (N(spiritsFlyDelay)[i] != 0) { + N(spiritsFlyDelay)[i]--; + } else { + currentPosX = spirit->lockedPos.x; + currentPosY = spirit->lockedPos.y; + currentPosZ = spirit->lockedPos.z; + + spirit->flags |= 2; + + goalPosX = N(spiritsScatterPos)[3 * i + 0]; + goalPosY = N(spiritsScatterPos)[3 * i + 1]; + goalPosZ = N(spiritsScatterPos)[3 * i + 2]; + dist = dist2D(currentPosX, currentPosZ, goalPosX, goalPosZ); + spirit->lockedPos.x += (goalPosX - currentPosX) / N(spiritsMoveTime)[i]; + spirit->lockedPos.y += (goalPosY - currentPosY) / N(spiritsMoveTime)[i]; + spirit->lockedPos.z += (goalPosZ - currentPosZ) / N(spiritsMoveTime)[i]; + if (N(spiritsMoveTime)[i] == 1) { + N(spiritsFlyDelay)[i] = -1; + spirit->lockedPos.x = goalPosX; + spirit->lockedPos.y = goalPosY; + spirit->lockedPos.z = goalPosZ; + } else { + spirit->lockedPos.y += dist / 60.0f; + } + N(spiritsMoveTime)[i]--; + } + } + } + } + + if (!cond) { + N(starBeamStage) = 2; + N(effect)->flags |= EFFECT_INSTANCE_FLAGS_10; + return ApiStatus_DONE2; + } + break; + } + return ApiStatus_BLOCK; +} + +ApiStatus N(GetStage)(Evt* script, s32 isInitialCall) { + script->varTable[0] = N(starBeamStage); + return ApiStatus_DONE2; +} + +ApiStatus N(unkStarBeamBgFunc)(Evt* script, s32 isInitialCall) { + if (isInitialCall) { + script->functionTemp[0] = 230; + } + + set_background_color_blend(0, 0, 0, script->functionTemp[0]); + + script->functionTemp[0] -= 5; + if (script->functionTemp[0] <= 200) { + set_background_color_blend(0, 0, 0, 200); + return ApiStatus_DONE2; + } + + return ApiStatus_BLOCK; +} diff --git a/src/battle/star/peach_beam/7997B0.c b/src/battle/star/peach_beam/7997B0.c index 3ee4bdaa1f..331d0ef4e0 100644 --- a/src/battle/star/peach_beam/7997B0.c +++ b/src/battle/star/peach_beam/7997B0.c @@ -4,316 +4,21 @@ #define NAMESPACE battle_star_peach_beam -#include "common/StarPower.inc.c" - -ApiStatus func_802A1518_799CC8(Evt* script, s32 isInitialCall); -INCLUDE_ASM(s32, "battle/star/peach_beam/7997B0", func_802A1518_799CC8); - -ApiStatus func_802A2468_79AC18(Evt* script, s32 isInitialCall) { - script->varTable[0] = D_802A3838; - return ApiStatus_DONE2; -} - -ApiStatus func_802A247C_79AC2C(Evt* script, s32 isInitialCall) { - if (isInitialCall) { - script->functionTemp[0] = 230; - } - - set_background_color_blend(0, 0, 0, script->functionTemp[0]); - - script->functionTemp[0] -= 5; - if (script->functionTemp[0] <= 200) { - set_background_color_blend(0, 0, 0, 200); - return ApiStatus_DONE2; - } - - return ApiStatus_BLOCK; -} - -// this file is identical in c code to star beam -// TODO: consider .inc.c? - -EvtScript N(802A24F0) = { - EVT_CALL(GetOwnerID, LVarA) - EVT_IF_EQ(LVarA, 0) - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_69) - EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_GotItem) - EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) - EVT_ADD(LVar0, 16) - EVT_CALL(SetActorSpeed, ACTOR_PLAYER, EVT_FLOAT(4.0)) - EVT_CALL(SetGoalPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) - EVT_CALL(PlayerRunToGoal, 0) - EVT_WAIT(8) - EVT_CALL(PlaySound, 0x241) - EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) - EVT_ADD(LVar1, 15) - EVT_CALL(N(UnkStarFunc1), LVar0, LVar1, LVar2) - EVT_CALL(N(FadeBackgroundToBlack)) - EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_AnimPray) - EVT_WAIT(10) - EVT_CALL(PlaySound, 0x2051) - EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) - EVT_CALL(N(UnkStarFunc2), LVar0, LVar1, LVar2) - EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, 0x01002A) - EVT_ELSE - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_69) - EVT_WAIT(10) - EVT_CALL(N(UnkStarFunc), 0) - EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) - EVT_ADD(LVar0, 16) - EVT_CALL(SetActorSpeed, ACTOR_PARTNER, EVT_FLOAT(4.0)) - EVT_CALL(SetGoalPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) - EVT_CALL(RunToGoal, ACTOR_PARTNER, 0, FALSE) - EVT_CALL(N(UnkStarFunc), 4) - EVT_WAIT(8) - EVT_CALL(PlaySound, 0x241) - EVT_CALL(N(UnkStarFunc), 1) - EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) - EVT_ADD(LVar1, 15) - EVT_CALL(N(UnkStarFunc1), LVar0, LVar1, LVar2) - EVT_CALL(N(FadeBackgroundToBlack)) - EVT_WAIT(20) - EVT_CALL(PlaySound, 0x2051) - EVT_CALL(N(UnkStarFunc), 1) - EVT_WAIT(10) - EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) - EVT_CALL(N(UnkStarFunc2), LVar0, LVar1, LVar2) - EVT_WAIT(30) - EVT_CALL(N(UnkStarFunc), 4) - EVT_END_IF - EVT_RETURN - EVT_END -}; - -EvtScript N(802A2888) = { - EVT_CALL(GetOwnerID, LVarA) - EVT_IF_EQ(LVarA, 0) - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_69) - EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_GotItem) - EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) - EVT_ADD(LVar0, 16) - EVT_CALL(SetActorSpeed, ACTOR_PLAYER, EVT_FLOAT(4.0)) - EVT_CALL(SetGoalPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) - EVT_CALL(PlayerRunToGoal, 0) - EVT_WAIT(8) - EVT_CALL(PlaySound, 0x241) - EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) - EVT_ADD(LVar1, 15) - EVT_CALL(N(UnkStarFunc1), LVar0, LVar1, LVar2) - EVT_CALL(N(UnkBackgroundFunc2)) - EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_AnimPray) - EVT_WAIT(10) - EVT_CALL(PlaySound, 0x2051) - EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) - EVT_CALL(N(UnkStarFunc2), LVar0, LVar1, LVar2) - EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, 0x01002A) - EVT_ELSE - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_69) - EVT_WAIT(10) - EVT_CALL(N(UnkStarFunc), 0) - EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) - EVT_ADD(LVar0, 16) - EVT_CALL(SetActorSpeed, ACTOR_PARTNER, EVT_FLOAT(4.0)) - EVT_CALL(SetGoalPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) - EVT_CALL(RunToGoal, ACTOR_PARTNER, 0, FALSE) - EVT_CALL(N(UnkStarFunc), 4) - EVT_WAIT(8) - EVT_CALL(PlaySound, 0x241) - EVT_CALL(N(UnkStarFunc), 1) - EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) - EVT_ADD(LVar1, 15) - EVT_CALL(N(UnkStarFunc1), LVar0, LVar1, LVar2) - EVT_CALL(N(UnkBackgroundFunc2)) - EVT_WAIT(20) - EVT_CALL(PlaySound, 0x2051) - EVT_CALL(N(UnkStarFunc), 1) - EVT_WAIT(10) - EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) - EVT_CALL(N(UnkStarFunc2), LVar0, LVar1, LVar2) - EVT_WAIT(30) - EVT_CALL(N(UnkStarFunc), 4) - EVT_END_IF - EVT_RETURN - EVT_END -}; - -EvtScript N(802A2C20) = { - EVT_WAIT(8) - EVT_CALL(SetForegroundModelsVisible, 0) - EVT_CALL(UseBattleCamPresetImmediately, BTL_CAM_PRESET_73) - EVT_CALL(MoveBattleCamOver, 1) - EVT_CALL(PlaySound, 0x2041) - EVT_CALL(CreateNpc, 100, LVar0) - EVT_CALL(N(SetNpcCollision32)) - EVT_CALL(SetNpcFlagBits, 100, ((NPC_FLAG_40000)), TRUE) - EVT_CALL(SetNpcPos, 100, -75, 150, 0) - EVT_CALL(SetNpcDecoration, 100, 0, 5) - EVT_CALL(N(UnkStarFunc3), -75, 167, 0) - EVT_WAIT(10) - EVT_CALL(EnableNpcBlur, 100, 1) - EVT_SET(LVar0, 0) - EVT_LOOP(8) - EVT_ADD(LVar0, 67) - EVT_CALL(SetNpcRotation, 100, 0, LVar0, 0) - EVT_WAIT(1) - EVT_END_LOOP - EVT_WAIT(10) - EVT_CALL(EnableNpcBlur, 100, 0) - EVT_THREAD - EVT_WAIT(10) - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_69) - EVT_END_THREAD - EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) - EVT_ADD(LVar1, 50) - EVT_CALL(NpcFlyTo, 100, LVar0, LVar1, LVar2, 30, 0, 10) - EVT_CALL(SetForegroundModelsVisible, 1) - EVT_RETURN - EVT_END -}; - -EvtScript N(802A2E2C) = { - EVT_CALL(GetOwnerID, LVarA) - EVT_IF_EQ(LVarA, 0) - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) - EVT_CALL(PlaySound, 0x2047) - EVT_THREAD - EVT_LOOP(5) - EVT_WAIT(6) - EVT_CALL(GetNpcPos, 100, LVar0, LVar1, LVar2) - EVT_CALL(N(UnkStarFunc4), LVar0, LVar1, LVar2) - EVT_END_LOOP - EVT_END_THREAD - EVT_CALL(EnableNpcBlur, 100, 1) - EVT_THREAD - EVT_SET(LVar2, 0) - EVT_SET(LVar3, 720) - EVT_CALL(MakeLerp, LVar2, LVar3, 30, 2) - EVT_LOOP(0) - EVT_CALL(UpdateLerp) - EVT_CALL(SetNpcRotation, 100, 0, LVar0, 0) - EVT_WAIT(1) - EVT_IF_EQ(LVar1, 0) - EVT_BREAK_LOOP - EVT_END_IF - EVT_END_LOOP - EVT_END_THREAD - EVT_CALL(GetNpcPos, 100, LVar0, LVar1, LVar2) - EVT_ADD(LVar1, 60) - EVT_CALL(NpcFlyTo, 100, LVar0, LVar1, LVar2, 15, 0, 10) - EVT_ADD(LVar1, 140) - EVT_CALL(NpcFlyTo, 100, LVar0, LVar1, LVar2, 15, 0, 10) - EVT_WAIT(10) - EVT_CALL(EnableNpcBlur, 100, 0) - EVT_CALL(DeleteNpc, 100) - EVT_ELSE - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) - EVT_CALL(PlaySound, 0x2045) - EVT_THREAD - EVT_LOOP(5) - EVT_WAIT(6) - EVT_CALL(GetNpcPos, 100, LVar0, LVar1, LVar2) - EVT_CALL(N(UnkStarFunc4), LVar0, LVar1, LVar2) - EVT_END_LOOP - EVT_END_THREAD - EVT_CALL(EnableNpcBlur, 100, 1) - EVT_THREAD - EVT_SET(LVar2, 0) - EVT_SET(LVar3, 720) - EVT_CALL(MakeLerp, LVar2, LVar3, 30, 2) - EVT_LOOP(0) - EVT_CALL(UpdateLerp) - EVT_CALL(SetNpcRotation, 100, 0, LVar0, 0) - EVT_WAIT(1) - EVT_IF_EQ(LVar1, 0) - EVT_BREAK_LOOP - EVT_END_IF - EVT_END_LOOP - EVT_END_THREAD - EVT_CALL(GetNpcPos, 100, LVar0, LVar1, LVar2) - EVT_ADD(LVar1, 60) - EVT_CALL(NpcFlyTo, 100, LVar0, LVar1, LVar2, 15, 0, 10) - EVT_ADD(LVar1, 140) - EVT_CALL(NpcFlyTo, 100, LVar0, LVar1, LVar2, 15, 0, 10) - EVT_WAIT(10) - EVT_CALL(EnableNpcBlur, 100, 0) - EVT_CALL(DeleteNpc, 100) - EVT_END_IF - EVT_RETURN - EVT_END -}; - -EvtScript N(802A327C) = { - EVT_CALL(GetOwnerID, LVarA) - EVT_IF_EQ(LVarA, 0) - EVT_CALL(N(UnkBackgroundFunc)) - EVT_WAIT(15) - EVT_CALL(SetGoalToHome, ACTOR_PLAYER) - EVT_CALL(SetActorSpeed, ACTOR_PLAYER, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_Running) - EVT_CALL(PlayerRunToGoal, 0) - EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_10002) - EVT_ELSE - EVT_CALL(N(UnkBackgroundFunc)) - EVT_WAIT(15) - EVT_CALL(SetGoalToHome, ACTOR_PARTNER) - EVT_CALL(SetActorSpeed, ACTOR_PARTNER, EVT_FLOAT(8.0)) - EVT_CALL(N(UnkStarFunc), 3) - EVT_CALL(RunToGoal, ACTOR_PARTNER, 0) - EVT_CALL(N(UnkStarFunc), 4) - EVT_END_IF - EVT_RETURN - EVT_END -}; - -EvtScript N(802A33A8) = { - EVT_THREAD - EVT_CALL(PlayEffect, 0x38, 0, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), 100, 0, 0, 0, 0, 0, 0, 0) - EVT_WAIT(5) - EVT_CALL(PlayEffect, 0x38, 0, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), 100, 0, 0, 0, 0, 0, 0, 0) - EVT_IF_EQ(LVarA, 1) - EVT_WAIT(5) - EVT_CALL(PlayEffect, 0x38, 0, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), 100, 0, 0, 0, 0, 0, 0, 0) - EVT_END_IF - EVT_END_THREAD - EVT_WAIT(20) - EVT_CALL(PlayEffect, 0x52, 4, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), 30, 0, 0, 0, 0, 0, 0, 0) - EVT_RETURN - EVT_END -}; - -s32 N(D_802A3514_7FCCC4)[] = { - 0x00000023, 0x00000000, 0x00000005, 0x0000000A, 0x0000000F, 0x00000014, 0x00000019, 0x0000001E, -}; - -s32 N(D_802A3534_7FCCE4)[] = { - 0x00000023, 0x00000000, 0x00000005, 0x0000000A, 0x0000000F, 0x00000014, 0x00000019, 0x0000001E, -}; - -s32 N(D_802A3554_7FCD04)[] = { - 0x42B20000, 0x43340000, 0x00000000, 0xC2100000, 0x43340000, 0x00000000, 0x434C0000, 0x43340000, - 0x00000000, 0x41F00000, 0x42C20000, 0x43EE8000, 0x43660000, 0x42A20000, 0x00000000, 0x43010000, - 0x43340000, 0x00000000, 0xC2700000, 0x43340000, 0x00000000, 0xC36A0000, 0x421C0000, 0x00000000, -}; +#include "../common/peach_star_beam.inc.c" EvtScript N(usePower) = { - EVT_EXEC_WAIT(N(802A2888)) + EVT_EXEC_WAIT(N(beforeUsePower)) EVT_CALL(AddBattleCamZoom, 100) EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(InitTargetIterator) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_THREAD - EVT_CALL(func_802A1518_799CC8, 1) + EVT_CALL(N(ProcessPeachStarBeam), 1) EVT_END_THREAD EVT_WAIT(10) EVT_LOOP(0) EVT_WAIT(1) - EVT_CALL(func_802A2468_79AC18) + EVT_CALL(N(GetStage)) EVT_IF_EQ(LVar0, 1) EVT_BREAK_LOOP EVT_END_IF @@ -328,15 +33,15 @@ EvtScript N(usePower) = { EVT_END_IF EVT_LOOP(0) EVT_WAIT(1) - EVT_CALL(func_802A2468_79AC18) + EVT_CALL(N(GetStage)) EVT_IF_EQ(LVar0, 2) EVT_BREAK_LOOP EVT_END_IF EVT_END_LOOP EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) - EVT_CALL(func_802A247C_79AC2C) + EVT_CALL(N(unkStarBeamBgFunc)) EVT_CALL(func_80276EFC) - EVT_EXEC_WAIT(N(802A327C)) + EVT_EXEC_WAIT(N(afterUsePower)) EVT_RETURN EVT_END }; diff --git a/src/battle/star/star_beam/796FC0.c b/src/battle/star/star_beam/796FC0.c index ac878e1f76..3101ac5a45 100644 --- a/src/battle/star/star_beam/796FC0.c +++ b/src/battle/star/star_beam/796FC0.c @@ -5,293 +5,21 @@ #define NAMESPACE battle_star_star_beam -#include "common/StarPower.inc.c" - -ApiStatus func_802A1518_7974D8(Evt* script, s32 isInitialCall); -ApiStatus func_802A2468_798428(Evt* script, s32 isInitialCall); -ApiStatus func_802A247C_79843C(Evt* script, s32 isInitialCall); - -EvtScript N(802A24F0) = { - EVT_CALL(GetOwnerID, LVarA) - EVT_IF_EQ(LVarA, 0) - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_69) - EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_GotItem) - EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) - EVT_ADD(LVar0, 16) - EVT_CALL(SetActorSpeed, ACTOR_PLAYER, EVT_FLOAT(4.0)) - EVT_CALL(SetGoalPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) - EVT_CALL(PlayerRunToGoal, 0) - EVT_WAIT(8) - EVT_CALL(PlaySound, 0x241) - EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) - EVT_ADD(LVar1, 15) - EVT_CALL(N(UnkStarFunc1), LVar0, LVar1, LVar2) - EVT_CALL(N(FadeBackgroundToBlack)) - EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_AnimPray) - EVT_WAIT(10) - EVT_CALL(PlaySound, 0x2051) - EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) - EVT_CALL(N(UnkStarFunc2), LVar0, LVar1, LVar2) - EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, 0x01002A) - EVT_ELSE - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_69) - EVT_WAIT(10) - EVT_CALL(N(UnkStarFunc), 0) - EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) - EVT_ADD(LVar0, 16) - EVT_CALL(SetActorSpeed, ACTOR_PARTNER, EVT_FLOAT(4.0)) - EVT_CALL(SetGoalPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) - EVT_CALL(RunToGoal, ACTOR_PARTNER, 0, FALSE) - EVT_CALL(N(UnkStarFunc), 4) - EVT_WAIT(8) - EVT_CALL(PlaySound, 0x241) - EVT_CALL(N(UnkStarFunc), 1) - EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) - EVT_ADD(LVar1, 15) - EVT_CALL(N(UnkStarFunc1), LVar0, LVar1, LVar2) - EVT_CALL(N(FadeBackgroundToBlack)) - EVT_WAIT(20) - EVT_CALL(PlaySound, 0x2051) - EVT_CALL(N(UnkStarFunc), 1) - EVT_WAIT(10) - EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) - EVT_CALL(N(UnkStarFunc2), LVar0, LVar1, LVar2) - EVT_WAIT(30) - EVT_CALL(N(UnkStarFunc), 4) - EVT_END_IF - EVT_RETURN - EVT_END -}; - -EvtScript N(802A2888) = { - EVT_CALL(GetOwnerID, LVarA) - EVT_IF_EQ(LVarA, 0) - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_69) - EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_GotItem) - EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) - EVT_ADD(LVar0, 16) - EVT_CALL(SetActorSpeed, ACTOR_PLAYER, EVT_FLOAT(4.0)) - EVT_CALL(SetGoalPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) - EVT_CALL(PlayerRunToGoal, 0) - EVT_WAIT(8) - EVT_CALL(PlaySound, 0x241) - EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) - EVT_ADD(LVar1, 15) - EVT_CALL(N(UnkStarFunc1), LVar0, LVar1, LVar2) - EVT_CALL(N(UnkBackgroundFunc2)) - EVT_WAIT(20) - EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_AnimPray) - EVT_WAIT(10) - EVT_CALL(PlaySound, 0x2051) - EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) - EVT_CALL(N(UnkStarFunc2), LVar0, LVar1, LVar2) - EVT_WAIT(30) - EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, 0x01002A) - EVT_ELSE - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_69) - EVT_WAIT(10) - EVT_CALL(N(UnkStarFunc), 0) - EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) - EVT_ADD(LVar0, 16) - EVT_CALL(SetActorSpeed, ACTOR_PARTNER, EVT_FLOAT(4.0)) - EVT_CALL(SetGoalPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) - EVT_CALL(RunToGoal, ACTOR_PARTNER, 0, FALSE) - EVT_CALL(N(UnkStarFunc), 4) - EVT_WAIT(8) - EVT_CALL(PlaySound, 0x241) - EVT_CALL(N(UnkStarFunc), 1) - EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) - EVT_ADD(LVar1, 15) - EVT_CALL(N(UnkStarFunc1), LVar0, LVar1, LVar2) - EVT_CALL(N(UnkBackgroundFunc2)) - EVT_WAIT(20) - EVT_CALL(PlaySound, 0x2051) - EVT_CALL(N(UnkStarFunc), 1) - EVT_WAIT(10) - EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) - EVT_CALL(N(UnkStarFunc2), LVar0, LVar1, LVar2) - EVT_WAIT(30) - EVT_CALL(N(UnkStarFunc), 4) - EVT_END_IF - EVT_RETURN - EVT_END -}; - -EvtScript N(802A2C20) = { - EVT_WAIT(8) - EVT_CALL(SetForegroundModelsVisible, 0) - EVT_CALL(UseBattleCamPresetImmediately, BTL_CAM_PRESET_73) - EVT_CALL(MoveBattleCamOver, 1) - EVT_CALL(PlaySound, 0x2041) - EVT_CALL(CreateNpc, 100, LVar0) - EVT_CALL(N(SetNpcCollision32)) - EVT_CALL(SetNpcFlagBits, 100, ((NPC_FLAG_40000)), TRUE) - EVT_CALL(SetNpcPos, 100, -75, 150, 0) - EVT_CALL(SetNpcDecoration, 100, 0, 5) - EVT_CALL(N(UnkStarFunc3), -75, 167, 0) - EVT_WAIT(10) - EVT_CALL(EnableNpcBlur, 100, 1) - EVT_SET(LVar0, 0) - EVT_LOOP(8) - EVT_ADD(LVar0, 67) - EVT_CALL(SetNpcRotation, 100, 0, LVar0, 0) - EVT_WAIT(1) - EVT_END_LOOP - EVT_WAIT(10) - EVT_CALL(EnableNpcBlur, 100, 0) - EVT_THREAD - EVT_WAIT(10) - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_69) - EVT_END_THREAD - EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) - EVT_ADD(LVar1, 50) - EVT_CALL(NpcFlyTo, 100, LVar0, LVar1, LVar2, 30, 0, 10) - EVT_CALL(SetForegroundModelsVisible, 1) - EVT_RETURN - EVT_END -}; - -EvtScript N(802A2E2C) = { - EVT_CALL(GetOwnerID, LVarA) - EVT_IF_EQ(LVarA, 0) - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) - EVT_CALL(PlaySound, 0x2047) - EVT_THREAD - EVT_LOOP(5) - EVT_WAIT(6) - EVT_CALL(GetNpcPos, 100, LVar0, LVar1, LVar2) - EVT_CALL(N(UnkStarFunc4), LVar0, LVar1, LVar2) - EVT_END_LOOP - EVT_END_THREAD - EVT_CALL(EnableNpcBlur, 100, 1) - EVT_THREAD - EVT_SET(LVar2, 0) - EVT_SET(LVar3, 720) - EVT_CALL(MakeLerp, LVar2, LVar3, 30, 2) - EVT_LOOP(0) - EVT_CALL(UpdateLerp) - EVT_CALL(SetNpcRotation, 100, 0, LVar0, 0) - EVT_WAIT(1) - EVT_IF_EQ(LVar1, 0) - EVT_BREAK_LOOP - EVT_END_IF - EVT_END_LOOP - EVT_END_THREAD - EVT_CALL(GetNpcPos, 100, LVar0, LVar1, LVar2) - EVT_ADD(LVar1, 60) - EVT_CALL(NpcFlyTo, 100, LVar0, LVar1, LVar2, 15, 0, 10) - EVT_ADD(LVar1, 140) - EVT_CALL(NpcFlyTo, 100, LVar0, LVar1, LVar2, 15, 0, 10) - EVT_WAIT(10) - EVT_CALL(EnableNpcBlur, 100, 0) - EVT_CALL(DeleteNpc, 100) - EVT_ELSE - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) - EVT_CALL(PlaySound, 0x2045) - EVT_THREAD - EVT_LOOP(5) - EVT_WAIT(6) - EVT_CALL(GetNpcPos, 100, LVar0, LVar1, LVar2) - EVT_CALL(N(UnkStarFunc4), LVar0, LVar1, LVar2) - EVT_END_LOOP - EVT_END_THREAD - EVT_CALL(EnableNpcBlur, 100, 1) - EVT_THREAD - EVT_SET(LVar2, 0) - EVT_SET(LVar3, 720) - EVT_CALL(MakeLerp, LVar2, LVar3, 30, 2) - EVT_LOOP(0) - EVT_CALL(UpdateLerp) - EVT_CALL(SetNpcRotation, 100, 0, LVar0, 0) - EVT_WAIT(1) - EVT_IF_EQ(LVar1, 0) - EVT_BREAK_LOOP - EVT_END_IF - EVT_END_LOOP - EVT_END_THREAD - EVT_CALL(GetNpcPos, 100, LVar0, LVar1, LVar2) - EVT_ADD(LVar1, 60) - EVT_CALL(NpcFlyTo, 100, LVar0, LVar1, LVar2, 15, 0, 10) - EVT_ADD(LVar1, 140) - EVT_CALL(NpcFlyTo, 100, LVar0, LVar1, LVar2, 15, 0, 10) - EVT_WAIT(10) - EVT_CALL(EnableNpcBlur, 100, 0) - EVT_CALL(DeleteNpc, 100) - EVT_END_IF - EVT_RETURN - EVT_END -}; - -EvtScript N(802A327C) = { - EVT_CALL(GetOwnerID, LVarA) - EVT_IF_EQ(LVarA, 0) - EVT_CALL(N(UnkBackgroundFunc)) - EVT_WAIT(15) - EVT_CALL(SetGoalToHome, ACTOR_PLAYER) - EVT_CALL(SetActorSpeed, ACTOR_PLAYER, EVT_FLOAT(8.0)) - EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_Running) - EVT_CALL(PlayerRunToGoal, 0) - EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario_10002) - EVT_ELSE - EVT_CALL(N(UnkBackgroundFunc)) - EVT_WAIT(15) - EVT_CALL(SetGoalToHome, ACTOR_PARTNER) - EVT_CALL(SetActorSpeed, ACTOR_PARTNER, EVT_FLOAT(8.0)) - EVT_CALL(N(UnkStarFunc), 3) - EVT_CALL(RunToGoal, ACTOR_PARTNER, 0) - EVT_CALL(N(UnkStarFunc), 4) - EVT_END_IF - EVT_RETURN - EVT_END -}; - -EvtScript N(802A33A8) = { - EVT_THREAD - EVT_CALL(PlayEffect, 0x38, 0, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), 100, 0, 0, 0, 0, 0, 0, 0) - EVT_WAIT(5) - EVT_CALL(PlayEffect, 0x38, 0, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), 100, 0, 0, 0, 0, 0, 0, 0) - EVT_IF_EQ(LVarA, 1) - EVT_WAIT(5) - EVT_CALL(PlayEffect, 0x38, 0, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), 100, 0, 0, 0, 0, 0, 0, 0) - EVT_END_IF - EVT_END_THREAD - EVT_WAIT(20) - EVT_CALL(PlayEffect, 0x52, 4, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), 30, 0, 0, 0, 0, 0, 0, 0) - EVT_RETURN - EVT_END -}; - -s32 D_802A3514_7994D4[] = { 35, 0, 5, 10, 15, 20, 25, 30 }; -s32 D_802A3534_7994F4[] = { 35, 0, 5, 10, 15, 20, 25, 30 }; - -Vec3f D_802A3554_799514[] = { - { 89.0f, 180.0f, 0.0f }, - { -36.0f, 180.0f, 0.0f }, - { 204.0f, 180.0f, 0.0f }, - { 30.0f, 97.0f, 477.0f }, - { 230.0f, 81.0f, 0.0f }, - { 129.0f, 180.0f, 0.0f }, - { -60.0f, 180.0f, 0.0f }, - { -234.0f, 39.0f, 0.0f }, -}; +#include "../common/peach_star_beam.inc.c" EvtScript N(usePower) = { - EVT_EXEC_WAIT(N(802A2888)) + EVT_EXEC_WAIT(N(beforeUsePower)) EVT_CALL(AddBattleCamZoom, 100) EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(InitTargetIterator) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_THREAD - EVT_CALL(func_802A1518_7974D8, 0) + EVT_CALL(N(ProcessPeachStarBeam), 0) EVT_END_THREAD EVT_WAIT(10) EVT_LOOP(0) EVT_WAIT(1) - EVT_CALL(func_802A2468_798428) + EVT_CALL(N(GetStage)) EVT_IF_EQ(LVar0, 1) EVT_BREAK_LOOP EVT_END_IF @@ -306,504 +34,15 @@ EvtScript N(usePower) = { EVT_END_IF EVT_LOOP(0) EVT_WAIT(1) - EVT_CALL(func_802A2468_798428) + EVT_CALL(N(GetStage)) EVT_IF_EQ(LVar0, 2) EVT_BREAK_LOOP EVT_END_IF EVT_END_LOOP EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_C) - EVT_CALL(func_802A247C_79843C) + EVT_CALL(N(unkStarBeamBgFunc)) EVT_CALL(func_80276EFC) - EVT_EXEC_WAIT(N(802A327C)) + EVT_EXEC_WAIT(N(afterUsePower)) EVT_RETURN EVT_END }; - -BSS EffectInstance* D_802A37F0; -BSS char D_802A37F4[4]; -BSS s32 D_802A37F8[8]; -BSS s32 D_802A3818[8]; -BSS s32 D_802A3834[8]; - -// flots -#ifdef NON_MATCHING -ApiStatus func_802A1518_7974D8(Evt* script, s32 isInitialCall) { - PeachStarBeamFXData* sp28; - PeachStarBeamInner* part; - Bytecode* args = script->ptrReadPos; - Actor* player = gBattleStatus.playerActor; - ActorState* playerState = &player->state; - s32 i; - - f32 playerX, playerY, playerZ; - f32 playerGoalX, playerGoalY, playerGoalZ; - f32 goalX, goalY, goalZ; - f32 tx, ty, tz; - s32 cond; - Actor* target; - Evt* script; - f32 dist; - f32 dist2; - - f32 temp_f20; - f32 temp_f22; - f32 temp_f30; - s32 var_a0; - - if (isInitialCall) { - D_802A3838 = 0; - script->functionTemp[2] = evt_get_variable(script, *args++); - script->functionTemp[0] = 0; - } - - if (player->targetListLength == 1) { - target = get_actor(player->targetActorID); - if (target == NULL) { - return ApiStatus_DONE2; - } - - get_actor_part(target, player->targetPartIndex); - goalX = target->currentPos.x + target->headOffset.x; - if (target->flags & 0x800) { - goalY = (target->currentPos.y + target->headOffset.y) - target->size.y; - } else if (!(target->flags & 0x8000)) { - goalY = target->size.y + (target->currentPos.y + target->headOffset.y); - } else { - goalY = target->currentPos.y + target->headOffset.y + (target->size.y * 2); - } - goalZ = target->currentPos.z + target->headOffset.z; - } else { - goalX = 64.0f; - goalY = 80.0f; - goalZ = 0.0f; - } - - switch (script->functionTemp[0]) { - case 1: - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - sp28 = D_802A37F0->data.peachStarBeam; - - for (i = 0; i < ARRAY_COUNT(sp28->parts); i++) { - if (script->functionTemp[2] != 0 || i != 0) { - part = &sp28->parts[i]; - - if (D_802A37F8[i] != 0) { - D_802A37F8[i]--; - } else { - D_802A37F8[i] = 20; - - if (D_802A3514_7994D4[i] <= 0) { - fx_misc_particles(4, part->unk_10.x, part->unk_10.y, part->unk_10.z, 20.0f, 20.0f, 1.0f, 10, 20); - } else { - fx_misc_particles(4, part->unk_04.x, part->unk_04.y, part->unk_04.z, 20.0f, 20.0f, 1.0f, 10, 20); - } - } - } - } - break; - case 10: - sp28 = D_802A37F0->data.peachStarBeam; - - for (i = 0; i < ARRAY_COUNT(sp28->parts); i++) { - if (script->functionTemp[2] != 0 || i != 0) { - part = &sp28->parts[i]; - - if (D_802A37F8[i] != 0) { - D_802A37F8[i]--; - } else { - D_802A37F8[i] = 20; - - if (D_802A3534_7994F4[i] <= 0) { - fx_misc_particles(4, part->unk_10.x, part->unk_10.y, part->unk_10.z, 20.0f, 20.0f, 1.0f, 10, 20); - } else { - fx_misc_particles(4, part->unk_04.x, part->unk_04.y, part->unk_04.z, 20.0f, 20.0f, 1.0f, 10, 20); - } - - } - } - } - break; - } - - switch (script->functionTemp[0]) { - case 0: - temp_f20 = player->currentPos.x; - temp_f30 = player->currentPos.z; - playerState->currentPos.x = temp_f20; - temp_f22 = player->currentPos.y + player->size.y + 30.0f; - playerState->currentPos.z = temp_f30; - playerState->goalPos.x = temp_f20; - playerState->goalPos.z = temp_f30; - playerState->goalPos.y = temp_f22; - playerState->currentPos.y = playerState->goalPos.y + 150.0f; - - if (script->functionTemp[2] == 0) { - D_802A37F0 = fx_peach_star_beam(0, temp_f20, temp_f22, temp_f30, 1.0f, 0); - } else { - D_802A37F0 = fx_peach_star_beam(1, temp_f20, temp_f22, temp_f30, 1.0f, 0); - } - - playerState->distance = 48.0f; - D_802A37F0->data.peachStarBeam->unk_3C = 0; - D_802A37F0->data.peachStarBeam->unk_48 = playerState->distance; - D_802A37F0->data.peachStarBeam->alpha = 0; - D_802A37F0->data.peachStarBeam->unk_58 = 30.0f; - D_802A37F0->data.peachStarBeam->unk_40 = 5.0f; - - for (i = 0; i < ARRAY_COUNT(D_802A37F8); i++) { - D_802A37F8[i] = rand_int(20); - } - - script->functionTemp[1] = 40; - if (script->functionTemp[2] == 0) { - sfx_play_sound(0x80000068); - } else { - sfx_play_sound(0x80000069); - } - script->functionTemp[0] = 1; - break; - case 1: - playerState->currentPos.y += (playerState->goalPos.y - playerState->currentPos.y) / 10.0f; - D_802A37F0->data.peachStarBeam->unk_4C = playerState->currentPos.x; - D_802A37F0->data.peachStarBeam->unk_50 = playerState->currentPos.y; - D_802A37F0->data.peachStarBeam->unk_54 = playerState->currentPos.z; - D_802A37F0->data.peachStarBeam->unk_3C = 0; - D_802A37F0->data.peachStarBeam->unk_48 = playerState->distance; - D_802A37F0->data.peachStarBeam->alpha = 0; - if (script->functionTemp[1] == 0) { - script->functionTemp[1] = 20; - script->functionTemp[0] = 2; - } else { - script->functionTemp[1]--; - } - break; - case 2: - if (script->functionTemp[1] == 0) { - btl_cam_use_preset(2); - btl_cam_move(10); - script->functionTemp[1] = 15; - script->functionTemp[0] = 3; - } else { - script->functionTemp[1]--; - } - break; - case 3: - playerState->distance += (24.0f - playerState->distance) * 0.125f; - D_802A37F0->data.peachStarBeam->unk_48 = playerState->distance; - if (script->functionTemp[1] == 0) { - playerState->goalPos.x = goalX; - playerState->goalPos.y = goalY; - playerState->goalPos.z = goalZ; - - for (i = 0; i < ARRAY_COUNT(D_802A3834); i++) { - D_802A3834[i] = 30; - } - - if (script->functionTemp[2] == 0) { - sfx_play_sound(0x648); - } else { - sfx_play_sound(0x649); - } - script->functionTemp[0] = 4; - } else { - script->functionTemp[1]--; - } - break; - case 4: - cond = FALSE; - playerState->distance += (48.0f - playerState->distance) * 0.25f; - D_802A37F0->data.peachStarBeam->unk_48 = playerState->distance; - - for (i = 0; i < 2; i++) { - if (i != 0) { - if (D_802A3514_7994D4[i] < 0) { - playerState->currentPos.x += playerState->goalPos.x - playerState->currentPos.x; - playerState->currentPos.y += playerState->goalPos.y - playerState->currentPos.y; - playerState->currentPos.z += playerState->goalPos.z - playerState->currentPos.z; - } else { - cond = TRUE; - if (D_802A3514_7994D4[i] != 0) { - D_802A3514_7994D4[i]--; - } else { - playerX = playerState->currentPos.x; - playerY = playerState->currentPos.y; - playerZ = playerState->currentPos.z; - playerGoalX = playerState->goalPos.x; - playerGoalY = playerState->goalPos.y; - playerGoalZ = playerState->goalPos.z; - dist = dist2D(playerX, playerZ, playerGoalX, playerGoalZ); - playerState->currentPos.x += (playerGoalX - playerX) / D_802A3818[i]; - playerState->currentPos.y += (playerGoalY - playerY) / D_802A3818[i]; - playerState->currentPos.z += (playerGoalZ - playerZ) / D_802A3818[i]; - if (D_802A3818[i] == 1) { - D_802A3514_7994D4[i] = -1; - playerState->currentPos.x = playerGoalX; - playerState->currentPos.y = playerGoalY; - playerState->currentPos.z = playerGoalZ; - } else { - playerState->currentPos.y += dist / 60.0f; - } - D_802A3818[i]--; - } - } - } - } - - D_802A37F0->data.peachStarBeam->unk_4C = playerState->currentPos.x; - D_802A37F0->data.peachStarBeam->unk_50 = playerState->currentPos.y; - D_802A37F0->data.peachStarBeam->unk_54 = playerState->currentPos.z; - D_802A37F0->data.peachStarBeam->pos.x = playerState->currentPos.x; - D_802A37F0->data.peachStarBeam->pos.y = 0.0f; - D_802A37F0->data.peachStarBeam->pos.z = playerState->currentPos.z; - - if (!cond) { - playerState->currentPos.x = playerState->goalPos.x; - playerState->currentPos.y = playerState->goalPos.y; - playerState->currentPos.z = playerState->goalPos.z; - D_802A37F0->data.peachStarBeam->unk_4C = playerState->currentPos.x; - D_802A37F0->data.peachStarBeam->unk_50 = playerState->currentPos.y; - D_802A37F0->data.peachStarBeam->unk_54 = playerState->currentPos.z; - D_802A37F0->data.peachStarBeam->pos.x = playerState->currentPos.x; - D_802A37F0->data.peachStarBeam->pos.y = 0.0f; - D_802A37F0->data.peachStarBeam->pos.z = playerState->currentPos.z; - - sp28 = D_802A37F0->data.peachStarBeam; - for (i = 0; i < ARRAY_COUNT(sp28->parts); i++) { - if ((script->functionTemp[2] != 0) || (i != 0)) { - part = &sp28->parts[i]; - D_802A3514_7994D4[i] = 1; - part->flags &= ~2; - } - } - btl_cam_use_preset(3); - btl_cam_move(30); - script->functionTemp[1] = 15; - script->functionTemp[0] = 5; - } - break; - case 5: - if (script->functionTemp[1] == 0) { - playerState->moveTime = 0; - D_802A37F0->data.peachStarBeam->unk_3C = 0; - D_802A37F0->data.peachStarBeam->alpha = 0; - if (script->functionTemp[2] != 0) { - D_802A37F0->data.peachStarBeam->primR = 240; - D_802A37F0->data.peachStarBeam->primG = 80; - D_802A37F0->data.peachStarBeam->primB = 200; - D_802A37F0->data.peachStarBeam->envR = 240; - D_802A37F0->data.peachStarBeam->envG = 240; - D_802A37F0->data.peachStarBeam->envB = 240; - } - script = start_script(battle_star_star_beam_802A33A8, 0xA, 0); - script->varTable[0] = playerState->currentPos.x; - script->varTable[1] = playerState->currentPos.y * 0.5f; - script->varTable[2] = playerState->currentPos.z; - script->varTable[10] = script->functionTemp[2]; - sfx_play_sound(0x24A); - script->functionTemp[1] = 45; - script->functionTemp[0] = 6; - } else { - script->functionTemp[1]--; - } - break; - case 6: - playerState->moveTime += 30; - if (playerState->moveTime > 255) { - playerState->moveTime = 255; - } - D_802A37F0->data.peachStarBeam->unk_3C = playerState->moveTime; - D_802A37F0->data.peachStarBeam->alpha = playerState->moveTime; - if (script->functionTemp[1] == 0) { - D_802A3838 = 1; - if (script->functionTemp[2] == 0 && player->targetListLength == 1) { - if (get_actor_part(get_actor(player->targetActorID), player->targetPartIndex)->eventFlags & 0x80000) { - script->functionTemp[0] = 20; - } else { - script->functionTemp[1] = 15; - script->functionTemp[0] = 7; - } - } else { - script->functionTemp[1] = 15; - script->functionTemp[0] = 7; - } - } else { - script->functionTemp[1]--; - } - break; - case 7: - if (script->functionTemp[1] == 0) { - script->functionTemp[1] = 10; - script->functionTemp[0] = 8; - } else { - script->functionTemp[1]--; - } - break; - case 8: - playerState->moveTime -= 30; - if (playerState->moveTime < 0) { - playerState->moveTime = 0; - } - D_802A37F0->data.peachStarBeam->unk_3C = playerState->moveTime; - D_802A37F0->data.peachStarBeam->alpha = playerState->moveTime; - if (script->functionTemp[1] == 0) { - script->functionTemp[1] = 10; - script->functionTemp[0] = 9; - } else { - script->functionTemp[1]--; - } - break; - case 9: - if (script->functionTemp[1] != 0) { - script->functionTemp[1]--; - break; - } - playerState->goalPos.x = goalX; - playerState->goalPos.y = goalY + 170.0f; - playerState->goalPos.z = goalZ; - script->functionTemp[1] = 20; - script->functionTemp[0] = 10; - break; - case 10: - if (script->functionTemp[1] != 0) { - script->functionTemp[1]--; - if (script->functionTemp[1] == 0) { - if (script->functionTemp[2] == 0) { - func_80149A6C(0x248, 1); - sfx_play_sound(0x648); - } else { - func_80149A6C(0x249, 1); - sfx_play_sound(0x649); - } - } - } - - cond = FALSE; - for (i = 0; i < ARRAY_COUNT(sp28->parts); i++) { - if (script->functionTemp[2] != 0 || i != 0) { - part = &sp28->parts[i]; - - if (D_802A3534_7994F4[i] >= 0) { - cond = TRUE; - if (D_802A3534_7994F4[i] != 0) { - D_802A3534_7994F4[i]--; - } else { - part->flags |= 2; - part->unk_10.y += (playerState->goalPos.y - part->unk_10.y) / 10.0f; - if (fabsf(part->unk_10.y - playerState->goalPos.y) < 1.0) { - D_802A3534_7994F4[i] = -1; - } - } - } - } - } - - if (!cond) { - D_802A3838 = 2; - D_802A37F0->flags |= 0x10; - return ApiStatus_DONE2; - } - break; - case 20: - D_802A37F0->data.peachStarBeam->unk_3C = 0; - D_802A37F0->data.peachStarBeam->alpha = 0; - - for (i = 0; i < ARRAY_COUNT(D_802A3834); i++) { - D_802A3834[i] = 15; - } - - if (script->functionTemp[2] == 0) { - func_80149A6C(0x248, 0); - } else { - func_80149A6C(0x249, 0); - } - script->functionTemp[0] = 0x15; - break; - case 21: - cond = FALSE; - sp28 = D_802A37F0->data.peachStarBeam; - - for (i = 0; i < ARRAY_COUNT(sp28->parts); i++) { - if ((script->functionTemp[2] != 0) || (i != 0)) { - part = &sp28->parts[i]; - - if (D_802A3514_7994D4[i] < 0) { - part->unk_10.x += D_802A3554_799514[i].x - part->unk_10.x; - part->unk_10.y += D_802A3554_799514[i].y - part->unk_10.y; - part->unk_10.z += D_802A3554_799514[i].z - part->unk_10.z; - } else { - cond = TRUE; - if (D_802A3514_7994D4[i] != 0) { - D_802A3514_7994D4[i]--; - } else { - part->flags |= 2; - tx = D_802A3554_799514[i].x; - ty = D_802A3554_799514[i].y; - tz = D_802A3554_799514[i].z; - dist2 = dist2D(part->unk_10.x, part->unk_10.z, tx, tz); - part->unk_10.x += (tx - part->unk_10.x) / D_802A3818[i]; - part->unk_10.y += (ty - part->unk_10.y) / D_802A3818[i]; - part->unk_10.z += (tz - part->unk_10.z) / D_802A3818[i]; - if (D_802A3818[i] == 1) { - D_802A3514_7994D4[i] = -1; - part->unk_10.x = tx; - part->unk_10.y = ty; - part->unk_10.z = tz; - } else { - part->unk_10.y = (part->unk_10.y + (dist2 / 60.0f)); - } - D_802A3818[i]--; - } - } - } - } - - if (!cond) { - D_802A3838 = 2; - D_802A37F0->flags |= 0x10; - return ApiStatus_DONE2; - } - break; - case 11: - case 12: - case 13: - case 14: - case 15: - case 16: - case 17: - case 18: - case 19: - break; - } - return ApiStatus_BLOCK; -} -#else -INCLUDE_ASM(s32, "battle/star/star_beam/796FC0", func_802A1518_7974D8); -#endif - -ApiStatus func_802A2468_798428(Evt* script, s32 isInitialCall) { - script->varTable[0] = D_802A3838; - return ApiStatus_DONE2; -} - -ApiStatus func_802A247C_79843C(Evt* script, s32 isInitialCall) { - if (isInitialCall) { - script->functionTemp[0] = 230; - } - - set_background_color_blend(0, 0, 0, script->functionTemp[0]); - - script->functionTemp[0] -= 5; - if (script->functionTemp[0] <= 200) { - set_background_color_blend(0, 0, 0, 200); - return ApiStatus_DONE2; - } - - return ApiStatus_BLOCK; -} diff --git a/src/effects/peach_star_beam.c b/src/effects/peach_star_beam.c index 7d0039d241..a1f2bc56d2 100644 --- a/src/effects/peach_star_beam.c +++ b/src/effects/peach_star_beam.c @@ -34,7 +34,7 @@ void peach_star_beam_update(EffectInstance* effect); void peach_star_beam_render(EffectInstance* effect); void peach_star_beam_appendGfx(void* effect); -EffectInstance* peach_star_beam_main(s32 type, f32 x, f32 y, f32 z, f32 arg4, s32 arg5) { +EffectInstance* peach_star_beam_main(s32 type, f32 x, f32 y, f32 z, f32 arg4, s32 duration) { EffectBlueprint bp; EffectInstance* effect; PeachStarBeamFXData* data; @@ -55,19 +55,19 @@ EffectInstance* peach_star_beam_main(s32 type, f32 x, f32 y, f32 z, f32 arg4, s3 data->type = type; data->lifetime = 0; - if (arg5 <= 0) { + if (duration <= 0) { data->timeLeft = 1000; } else { - data->timeLeft = arg5; + data->timeLeft = duration; } - data->alpha = 224; + data->beamAlpha = 224; data->pos.x = x; data->pos.y = y; data->pos.z = z; data->unk_3C = 255; - data->unk_38 = arg4; - data->unk_48 = 80.0f; - data->unk_58 = 50.0f; + data->beamScale = arg4; + data->circleRadius = 80.0f; + data->twinkYOffset = 50.0f; data->primR = 255; data->primG = 255; data->primB = 120; @@ -75,14 +75,14 @@ EffectInstance* peach_star_beam_main(s32 type, f32 x, f32 y, f32 z, f32 arg4, s3 data->envG = 255; data->envB = 255; data->envA = 255; - data->unk_40 = 5.0f; - data->unk_44 = 0; - data->unk_4C = x; - data->unk_50 = y + 50.0f; - data->unk_54 = z; + data->rotationSpeed = 5.0f; + data->rotationAngle = 0; + data->circleCenter.x = x; + data->circleCenter.y = y + 50.0f; + data->circleCenter.z = z; - for (i = 0; i < ARRAY_COUNT(data->parts); i++) { - PeachStarBeamInner* part = &data->parts[i]; + for (i = 0; i < ARRAY_COUNT(data->spirits); i++) { + PeachStarBeamSpirit* part = &data->spirits[i]; if (type == 0 && i == 0) { part->flags = 0; @@ -98,12 +98,12 @@ void peach_star_beam_init(EffectInstance* effect) { void peach_star_beam_update(EffectInstance* effect) { PeachStarBeamFXData* data = effect->data.peachStarBeam; - f32 unk_44; - f32 unk_48; - f32 unk_4C; - f32 unk_50; - f32 unk_54; - f32 angle; + f32 rotationAngle; + f32 radius; + f32 centerX; + f32 centerY; + f32 centerZ; + f32 spiritAngle; s32 i; if (effect->flags & 0x10) { @@ -121,30 +121,30 @@ void peach_star_beam_update(EffectInstance* effect) { return; } - data->unk_44 += data->unk_40; - unk_44 = data->unk_44; - unk_48 = data->unk_48; - unk_4C = data->unk_4C; - unk_50 = data->unk_50; - unk_54 = data->unk_54; + data->rotationAngle += data->rotationSpeed; + rotationAngle = data->rotationAngle; + radius = data->circleRadius; + centerX = data->circleCenter.x; + centerY = data->circleCenter.y; + centerZ = data->circleCenter.z; - for (i = 0; i < ARRAY_COUNT(data->parts); i++) { - PeachStarBeamInner* part = &data->parts[i]; + for (i = 0; i < ARRAY_COUNT(data->spirits); i++) { + PeachStarBeamSpirit* part = &data->spirits[i]; if (i == 0) { - part->unk_04.x = unk_4C; - part->unk_04.y = unk_50 + data->unk_58; - part->unk_04.z = unk_54; + part->pos.x = centerX; + part->pos.y = centerY + data->twinkYOffset; + part->pos.z = centerZ; } else { - angle = unk_44 + ((-360 + (360 * i)) / 7); - part->unk_04.x = unk_4C + (unk_48 * shim_sin_deg(angle)); - part->unk_04.y = unk_50; - part->unk_04.z = unk_54 + (unk_48 * shim_cos_deg(angle)); + spiritAngle = rotationAngle + ((-360 + (360 * i)) / 7); + part->pos.x = centerX + radius * shim_sin_deg(spiritAngle); + part->pos.y = centerY; + part->pos.z = centerZ + radius * shim_cos_deg(spiritAngle); } if (!(part->flags & 2)) { - part->unk_10.x = part->unk_04.x; - part->unk_10.y = part->unk_04.y; - part->unk_10.z = part->unk_04.z; + part->lockedPos.x = part->pos.x; + part->lockedPos.y = part->pos.y; + part->lockedPos.z = part->pos.z; } } } @@ -166,8 +166,8 @@ void peach_star_beam_appendGfx(void* effect) { Matrix4f sp20, sp60; Camera* camera = &gCameras[gCurrentCameraID]; PeachStarBeamFXData* data = ((EffectInstance*)effect)->data.peachStarBeam; - PeachStarBeamInner* part; - s32 alpha = data->alpha; + PeachStarBeamSpirit* part; + s32 alpha = data->beamAlpha; f32 partX, partY, partZ; s32 i; @@ -175,17 +175,17 @@ void peach_star_beam_appendGfx(void* effect) { gSPSegment(gMasterGfxPos++, 0x9, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data)); gSPDisplayList(gMasterGfxPos++, D_09005090_3EAFC0); - for (i = 0; i < ARRAY_COUNT(data->parts); i++) { - part = &data->parts[i]; + for (i = 0; i < ARRAY_COUNT(data->spirits); i++) { + part = &data->spirits[i]; if (part->flags & 1) { if (part->flags & 2) { - partX = part->unk_10.x; - partY = part->unk_10.y; - partZ = part->unk_10.z; + partX = part->lockedPos.x; + partY = part->lockedPos.y; + partZ = part->lockedPos.z; } else { - partX = part->unk_04.x; - partY = part->unk_04.y; - partZ = part->unk_04.z; + partX = part->pos.x; + partY = part->pos.y; + partZ = part->pos.z; } if (!(data->pos.z < partZ)) { @@ -204,7 +204,7 @@ void peach_star_beam_appendGfx(void* effect) { } shim_guTranslateF(sp20, data->pos.x, data->pos.y - (((f32) (255 - data->unk_3C) * 400.0) / 255.0), data->pos.z); - shim_guScaleF(sp60, data->unk_38 * 0.4, data->unk_38 * 0.4, data->unk_38 * 0.4); + shim_guScaleF(sp60, data->beamScale * 0.4, data->beamScale * 0.4, data->beamScale * 0.4); shim_guMtxCatF(sp60, sp20, sp20); shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]); @@ -218,18 +218,18 @@ void peach_star_beam_appendGfx(void* effect) { gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW); gSPDisplayList(gMasterGfxPos++, D_09005090_3EAFC0); - for (i = 0; i < ARRAY_COUNT(data->parts); i++) { - part = &data->parts[i]; + for (i = 0; i < ARRAY_COUNT(data->spirits); i++) { + part = &data->spirits[i]; if (part->flags & 1) { if (part->flags & 2) { - partX = part->unk_10.x; - partY = part->unk_10.y; - partZ = part->unk_10.z; + partX = part->lockedPos.x; + partY = part->lockedPos.y; + partZ = part->lockedPos.z; } else { - partX = part->unk_04.x; - partY = part->unk_04.y; - partZ = part->unk_04.z; + partX = part->pos.x; + partY = part->pos.y; + partZ = part->pos.z; } if (!(partZ <= data->pos.z)) { diff --git a/src/world/partner/bow.c b/src/world/partner/bow.c index b03f9ce8a9..224a400c23 100644 --- a/src/world/partner/bow.c +++ b/src/world/partner/bow.c @@ -133,33 +133,27 @@ void func_802BD4FC_323E4C(Npc* bow) { } } -#ifdef NON_MATCHING s32 func_802BD540_323E90(void) { - f32 sp20, sp24, sp28; - f32 temp_f12, temp_f22; + f32 x, y, z; + f32 yaw; PlayerStatus* playerStatus = &gPlayerStatus; - f32 tempX, tempZ; if (gGameStatusPtr->areaID != AREA_OMO) { return -1; - } else { - if (gPlayerStatus.pushVelocity.x != 0.0f || gPlayerStatus.pushVelocity.z != 0.0f) { - temp_f22 = atan2(0.0f, 0.0f, gPlayerStatus.pushVelocity.x, gPlayerStatus.pushVelocity.z); - temp_f12 = temp_f22 + 180.0f; - sp20 = gPlayerStatus.position.x; - sp24 = gPlayerStatus.position.z; - sp28 = gPlayerStatus.position.y + (gPlayerStatus.colliderHeight * 0.5f); - add_vec2D_polar(&sp20, &sp24, gPlayerStatus.colliderDiameter * 0.5f, clamp_angle(temp_f12)); - return player_test_lateral_overlap(0, &gPlayerStatus, &sp20, &sp28, &sp24, - gPlayerStatus.colliderDiameter, temp_f22); - } + } + if (playerStatus->pushVelocity.x == 0.0f && playerStatus->pushVelocity.z == 0.0f) { return -1; } + + yaw = atan2(0.0f, 0.0f, playerStatus->pushVelocity.x, playerStatus->pushVelocity.z); + x = playerStatus->position.x; + y = playerStatus->position.y + (playerStatus->colliderHeight * 0.5f); + z = playerStatus->position.z; + + add_vec2D_polar(&x, &z, playerStatus->colliderDiameter * 0.5f, clamp_angle(yaw + 180.0f)); + return player_test_lateral_overlap(0, playerStatus, &x, &y, &z, playerStatus->colliderDiameter, yaw); } -#else -INCLUDE_ASM(s32, "world/partner/bow", func_802BD540_323E90); -#endif ApiStatus BowUseAbility(Evt* script, s32 isInitialCall) { PlayerStatus* playerStatus = &gPlayerStatus; diff --git a/src/world/partner/goombario.c b/src/world/partner/goombario.c index 42e1e54341..b8475fa957 100644 --- a/src/world/partner/goombario.c +++ b/src/world/partner/goombario.c @@ -3,8 +3,22 @@ #include "goombario.h" #include "../src/world/partners.h" #include "message_ids.h" +#include "entity.h" -extern s32* D_802B79A8_E21858; +typedef struct UnkE20EB0 { + /* 0x00 */ Npc* unk_00; + /* 0x04 */ Vec3f pos; + /* 0x10 */ f32 unk_10; + /* 0x14 */ f32 scale; + /* 0x18 */ s32 unk_18; + /* 0x1C */ f32 unk_1C; + /* 0x20 */ s32 unk_20; + /* 0x24 */ char unk_24[6]; + /* 0x2A */ u8 unk_2A; + /* 0x2B */ u8 unk_2B; +} UnkE20EB0; /* size = 0x2C */ + +extern UnkE20EB0* D_802B79A8_E21858; BSS s32 D_802BDF30; BSS s32 D_802BDF34; @@ -208,8 +222,210 @@ s32 world_goombario_can_pause(Npc* goombario) { } // get message for tattle routine +#ifdef NON_MATCHING +ApiStatus func_802BD5D8_3174F8(Evt* script, s32 isInitialCall) { + PlayerStatus* playerStatus = &gPlayerStatus; + Npc* goombario = script->owner2.npc; + s32 msgID; + s32 entityType; + s32 triggerSomething; + s32 v1; + s32 i; + s32 v0; + + if (isInitialCall) { + func_802BD564_317484(goombario); + D_802BDF64 = 0; + D_802BDF30 = 0; + D_802BDF34 = 0; + if (playerStatus->animFlags & 0x20) { + D_802BDF30 = 1; + D_802BDF38 = D_802B79A8_E21858->unk_00; + } + if (playerStatus->animFlags & 0x10) { + D_802BDF34 = 1; + } + script->functionTemp[0] = 40; + } + + switch (script->functionTemp[0]) { + case 40: + if (!(goombario->flags & 0x1000) || playerStatus->inputEnabledCounter != 0) { + script->varTable[0] = -1; + return ApiStatus_DONE2; + } + script->functionTemp[1] = 3; + disable_player_input(); + D_802BDF64 = 1; + script->functionTemp[2] = playerStatus->inputEnabledCounter; + script->functionTemp[0]++; + break; + case 41: + if (script->functionTemp[1] != 0) { + script->functionTemp[1]--; + } else { + if (script->functionTemp[2] < playerStatus->inputEnabledCounter) { + script->varTable[0] = -1; + enable_player_input(); + D_802BDF64 = 0; + return ApiStatus_DONE2; + } + script->functionTemp[0] = 0; + } + break; + case 0: + set_time_freeze_mode(1); + playerStatus->flags &= ~0x2000000; + goombario->currentAnim = 0x010001; + goombario->yaw = clamp_angle(gCameras[CAM_DEFAULT].currentYaw + playerStatus->spriteFacingAngle - 90.0f); + gPartnerActionStatus.partnerActionState = 1; + close_status_menu(); + if (D_802BDF30 != 0) { + script->varTable[0] = 0; + script->functionTemp[0] = 20; + break; + } + script->functionTemp[0] = 1; + /* fallthrough */ + case 1: + if (GoombarioGetTattleID >= 0 && (GoombarioGetTattleID & 0x4000)) { + entityType = get_entity_type(GoombarioGetTattleID); + msgID = -1; + do {} while (0); + for (i = 0; EntityTattles[2 * i] != -1; i++) { + if (EntityTattles[2 * i] != entityType) { + continue; + } + switch (entityType) { + case 22: + case 25: + if (gPlayerData.hammerLevel >= 1) { + msgID = 0x1B0002; + } + break; + case 23: + case 26: + if (gPlayerData.hammerLevel >= 2) { + msgID = 0x1B0004; + } + break; + case 36: + if (gPlayerData.bootsLevel == 1) { + msgID = 0x1B0018; + } else if (gPlayerData.bootsLevel == 2) { + msgID = 0x1B0019; + } + break; + case 37: + if (gPlayerData.bootsLevel == 1) { + msgID = 0x1B001B; + } else if (gPlayerData.bootsLevel == 2) { + msgID = 0x1B001C; + } + break; + case 9: + if (gPlayerData.bootsLevel >= 2) { + msgID = 0x1B000D; + } + break; + case 10: + if (gPlayerData.bootsLevel >= 2) { + msgID = 0x1B000F; + } + break; + case 49: + if (gPlayerData.bootsLevel >= 2) { + msgID = 0x1B001E; + } + break; + case 50: + if (get_entity_by_index(GoombarioGetTattleID & 0x3FFF)->dataBuf.chest->itemID == -1) { + msgID = 0x1B0016; + } + break; + } + if (msgID != -1) { + script->varTable[0] = msgID; + } else { + script->varTable[0] = EntityTattles[2 * i + 1]; + } + script->varTable[1] = 0; + return ApiStatus_DONE2; + } + } + + if (GoombarioGetTattleID >= 0 && (GoombarioGetTattleID & 0x2000)) { + D_802BDF38 = get_npc_unsafe(GoombarioGetTattleID & 0x1FFF); + v0 = get_enemy(D_802BDF38->npcID)->tattleMsg; + if (v0 != 0) { + msgID = v0; + if (msgID < -270000000) { + script->varTable[0] = ((s32(*)(void))msgID)(); + } else { + script->varTable[0] = msgID; + script->varTable[1] = 0; + } + } + return ApiStatus_DONE2; + } + + if (D_802BDF34 != 0) { + script->varTable[0] = 0x1B0025; + script->varTable[1] = 0; + return ApiStatus_DONE2; + } + + if (GoombarioGetTattleID >= 0) { + v1 = func_802BD100_317020(GoombarioGetTattleID); + } else { + v1 = 0; + } + + if (v1 == 0) { + msgID = get_current_map_settings()->tattle.msgID; + if (msgID != 0) { + if (msgID < -270000000) { + script->varTable[0] = ((s32(*)(void))msgID)(); + } else { + script->varTable[0] = msgID; + script->varTable[1] = 0; + } + } + } else { + script->varTable[0] = v1; + script->varTable[1] = 1; + } + return ApiStatus_DONE2; + } + + switch (script->functionTemp[0]) { + case 10: + msgID = get_current_map_settings()->tattle.msgID; + if (msgID != 0) { + if (msgID < -270000000) { + script->varTable[0] = ((s32(*)(void))msgID)(); + } else { + script->varTable[0] = msgID; + script->varTable[1] = 0; + } + return ApiStatus_DONE2; + } + break; + case 20: + v1 = get_enemy(D_802BDF38->npcID)->tattleMsg; + if (v1 != 0) { + script->varTable[0] = v1; + script->varTable[1] = 0; + return ApiStatus_DONE2; + } + break; + } + return ApiStatus_BLOCK; +} +#else ApiStatus func_802BD5D8_3174F8(Evt* script, s32 isInitialCall); INCLUDE_ASM(ApiStatus, "world/partner/goombario", func_802BD5D8_3174F8, Evt* script, s32 isInitialCall); +#endif ApiStatus func_802BDB30_317A50(Evt* script, s32 isInitialCall) { PartnerActionStatus* goombarioActionStatus = &gPartnerActionStatus; diff --git a/ver/us/asm/nonmatchings/415D90/func_802A4A54.s b/ver/us/asm/nonmatchings/415D90/func_802A4A54.s deleted file mode 100644 index 20dc0b1c1f..0000000000 --- a/ver/us/asm/nonmatchings/415D90/func_802A4A54.s +++ /dev/null @@ -1,573 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -dlabel jtbl_802AB9F0 -.word .L802A5054_419DE4, .L802A4F74_419D04, .L802A4AA8_419838, .L802A4D4C_419ADC, .L802A5270_41A000, .L802A5270_41A000, .L802A5270_41A000, .L802A5270_41A000, .L802A5270_41A000, .L802A5270_41A000, .L802A5270_41A000, .L802A5270_41A000, .L802A505C_419DEC, .L802A5090_419E20, .L802A5270_41A000, .L802A5270_41A000, .L802A5270_41A000, .L802A5270_41A000, .L802A5270_41A000, .L802A5270_41A000, .L802A5270_41A000, .L802A5270_41A000, .L802A50A0_419E30, .L802A5270_41A000, .L802A5270_41A000, .L802A5270_41A000, .L802A5270_41A000, .L802A5270_41A000, .L802A5270_41A000, .L802A5270_41A000, .L802A5270_41A000, .L802A5270_41A000, .L802A50E0_419E70, .L802A5270_41A000, .L802A5270_41A000, .L802A5270_41A000, .L802A5270_41A000, .L802A5270_41A000, .L802A5270_41A000, .L802A5270_41A000, .L802A5270_41A000, .L802A5270_41A000, .L802A510C_419E9C, .L802A5130_419EC0, .L802A51F0_419F80, 0 - -.section .text - -glabel func_802A4A54 -/* 4197E4 802A4A54 3C02802B */ lui $v0, %hi(D_802AD604) -/* 4197E8 802A4A58 9042D604 */ lbu $v0, %lo(D_802AD604)($v0) -/* 4197EC 802A4A5C 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 4197F0 802A4A60 AFB20030 */ sw $s2, 0x30($sp) -/* 4197F4 802A4A64 3C12800E */ lui $s2, %hi(gBattleStatus) -/* 4197F8 802A4A68 2652C070 */ addiu $s2, $s2, %lo(gBattleStatus) -/* 4197FC 802A4A6C AFBF0038 */ sw $ra, 0x38($sp) -/* 419800 802A4A70 AFB30034 */ sw $s3, 0x34($sp) -/* 419804 802A4A74 AFB1002C */ sw $s1, 0x2c($sp) -/* 419808 802A4A78 24420002 */ addiu $v0, $v0, 2 -/* 41980C 802A4A7C 00021600 */ sll $v0, $v0, 0x18 -/* 419810 802A4A80 00021E03 */ sra $v1, $v0, 0x18 -/* 419814 802A4A84 2C62002D */ sltiu $v0, $v1, 0x2d -/* 419818 802A4A88 104001F9 */ beqz $v0, .L802A5270_41A000 -/* 41981C 802A4A8C AFB00028 */ sw $s0, 0x28($sp) -/* 419820 802A4A90 00031080 */ sll $v0, $v1, 2 -/* 419824 802A4A94 3C01802B */ lui $at, %hi(jtbl_802AB9F0) -/* 419828 802A4A98 00220821 */ addu $at, $at, $v0 -/* 41982C 802A4A9C 8C22B9F0 */ lw $v0, %lo(jtbl_802AB9F0)($at) -/* 419830 802A4AA0 00400008 */ jr $v0 -/* 419834 802A4AA4 00000000 */ nop -.L802A4AA8_419838: -/* 419838 802A4AA8 3C05802B */ lui $a1, %hi(D_802AD608) -/* 41983C 802A4AAC 80A5D608 */ lb $a1, %lo(D_802AD608)($a1) -/* 419840 802A4AB0 3C04802B */ lui $a0, %hi(D_802AD605) -/* 419844 802A4AB4 8084D605 */ lb $a0, %lo(D_802AD605)($a0) -/* 419848 802A4AB8 24020014 */ addiu $v0, $zero, 0x14 -/* 41984C 802A4ABC 3C01802B */ lui $at, %hi(D_802AD63C) -/* 419850 802A4AC0 A422D63C */ sh $v0, %lo(D_802AD63C)($at) -/* 419854 802A4AC4 24020044 */ addiu $v0, $zero, 0x44 -/* 419858 802A4AC8 3C01802B */ lui $at, %hi(D_802AD63E) -/* 41985C 802A4ACC A422D63E */ sh $v0, %lo(D_802AD63E)($at) -/* 419860 802A4AD0 00051823 */ negu $v1, $a1 -/* 419864 802A4AD4 00031040 */ sll $v0, $v1, 1 -/* 419868 802A4AD8 00431021 */ addu $v0, $v0, $v1 -/* 41986C 802A4ADC 00021080 */ sll $v0, $v0, 2 -/* 419870 802A4AE0 00431021 */ addu $v0, $v0, $v1 -/* 419874 802A4AE4 00852023 */ subu $a0, $a0, $a1 -/* 419878 802A4AE8 3C01802B */ lui $at, %hi(D_802AD60C) -/* 41987C 802A4AEC A422D60C */ sh $v0, %lo(D_802AD60C)($at) -/* 419880 802A4AF0 00041040 */ sll $v0, $a0, 1 -/* 419884 802A4AF4 00441021 */ addu $v0, $v0, $a0 -/* 419888 802A4AF8 00021080 */ sll $v0, $v0, 2 -/* 41988C 802A4AFC 3C03802B */ lui $v1, %hi(D_802AD66C) -/* 419890 802A4B00 8C63D66C */ lw $v1, %lo(D_802AD66C)($v1) -/* 419894 802A4B04 00441021 */ addu $v0, $v0, $a0 -/* 419898 802A4B08 3C01802B */ lui $at, %hi(D_802AD60E) -/* 41989C 802A4B0C A422D60E */ sh $v0, %lo(D_802AD60E)($at) -/* 4198A0 802A4B10 18600017 */ blez $v1, .L802A4B70 -/* 4198A4 802A4B14 0000882D */ daddu $s1, $zero, $zero -/* 4198A8 802A4B18 3C13802B */ lui $s3, %hi(D_802AD628) -/* 4198AC 802A4B1C 2673D628 */ addiu $s3, $s3, %lo(D_802AD628) -/* 4198B0 802A4B20 3C10802B */ lui $s0, %hi(D_802AD640) -/* 4198B4 802A4B24 2610D640 */ addiu $s0, $s0, %lo(D_802AD640) -.L802A4B28: -/* 4198B8 802A4B28 8E040000 */ lw $a0, ($s0) -/* 4198BC 802A4B2C 26100004 */ addiu $s0, $s0, 4 -/* 4198C0 802A4B30 0C050529 */ jal hud_element_create -/* 4198C4 802A4B34 26310001 */ addiu $s1, $s1, 1 -/* 4198C8 802A4B38 0040902D */ daddu $s2, $v0, $zero -/* 4198CC 802A4B3C 3C053EE6 */ lui $a1, 0x3ee6 -/* 4198D0 802A4B40 34A56666 */ ori $a1, $a1, 0x6666 -/* 4198D4 802A4B44 0240202D */ daddu $a0, $s2, $zero -/* 4198D8 802A4B48 0C051308 */ jal hud_element_set_scale -/* 4198DC 802A4B4C AE720000 */ sw $s2, ($s3) -/* 4198E0 802A4B50 0240202D */ daddu $a0, $s2, $zero -/* 4198E4 802A4B54 0C051280 */ jal hud_element_set_flags -/* 4198E8 802A4B58 34058080 */ ori $a1, $zero, 0x8080 -/* 4198EC 802A4B5C 3C02802B */ lui $v0, %hi(D_802AD66C) -/* 4198F0 802A4B60 8C42D66C */ lw $v0, %lo(D_802AD66C)($v0) -/* 4198F4 802A4B64 0222102A */ slt $v0, $s1, $v0 -/* 4198F8 802A4B68 1440FFEF */ bnez $v0, .L802A4B28 -/* 4198FC 802A4B6C 26730004 */ addiu $s3, $s3, 4 -.L802A4B70: -/* 419900 802A4B70 3C048010 */ lui $a0, %hi(HES_AnimatedHandPointer) -/* 419904 802A4B74 24844A28 */ addiu $a0, $a0, %lo(HES_AnimatedHandPointer) -/* 419908 802A4B78 0C050529 */ jal hud_element_create -/* 41990C 802A4B7C 00000000 */ nop -/* 419910 802A4B80 0040902D */ daddu $s2, $v0, $zero -/* 419914 802A4B84 0240202D */ daddu $a0, $s2, $zero -/* 419918 802A4B88 3C052000 */ lui $a1, 0x2000 -/* 41991C 802A4B8C 3C01802B */ lui $at, %hi(D_802AD618) -/* 419920 802A4B90 AC32D618 */ sw $s2, %lo(D_802AD618)($at) -/* 419924 802A4B94 0C051280 */ jal hud_element_set_flags -/* 419928 802A4B98 34A50080 */ ori $a1, $a1, 0x80 -/* 41992C 802A4B9C 3C10802B */ lui $s0, %hi(D_802AD63C) -/* 419930 802A4BA0 2610D63C */ addiu $s0, $s0, %lo(D_802AD63C) -/* 419934 802A4BA4 3C11802B */ lui $s1, %hi(D_802AD63E) -/* 419938 802A4BA8 2631D63E */ addiu $s1, $s1, %lo(D_802AD63E) -/* 41993C 802A4BAC 86050000 */ lh $a1, ($s0) -/* 419940 802A4BB0 86260000 */ lh $a2, ($s1) -/* 419944 802A4BB4 0C051261 */ jal hud_element_set_render_pos -/* 419948 802A4BB8 0240202D */ daddu $a0, $s2, $zero -/* 41994C 802A4BBC 3C048010 */ lui $a0, %hi(HES_GreenArrowUp) -/* 419950 802A4BC0 248477E4 */ addiu $a0, $a0, %lo(HES_GreenArrowUp) -/* 419954 802A4BC4 0C050529 */ jal hud_element_create -/* 419958 802A4BC8 00000000 */ nop -/* 41995C 802A4BCC 0040902D */ daddu $s2, $v0, $zero -/* 419960 802A4BD0 0240202D */ daddu $a0, $s2, $zero -/* 419964 802A4BD4 3C052000 */ lui $a1, 0x2000 -/* 419968 802A4BD8 3C01802B */ lui $at, %hi(D_802AD61C) -/* 41996C 802A4BDC AC32D61C */ sw $s2, %lo(D_802AD61C)($at) -/* 419970 802A4BE0 0C051280 */ jal hud_element_set_flags -/* 419974 802A4BE4 34A50080 */ ori $a1, $a1, 0x80 -/* 419978 802A4BE8 0240202D */ daddu $a0, $s2, $zero -/* 41997C 802A4BEC 86050000 */ lh $a1, ($s0) -/* 419980 802A4BF0 86260000 */ lh $a2, ($s1) -/* 419984 802A4BF4 24A50027 */ addiu $a1, $a1, 0x27 -/* 419988 802A4BF8 0C051261 */ jal hud_element_set_render_pos -/* 41998C 802A4BFC 24C6FFF9 */ addiu $a2, $a2, -7 -/* 419990 802A4C00 3C048010 */ lui $a0, %hi(HES_GreenArrowDown) -/* 419994 802A4C04 24847798 */ addiu $a0, $a0, %lo(HES_GreenArrowDown) -/* 419998 802A4C08 0C050529 */ jal hud_element_create -/* 41999C 802A4C0C 00000000 */ nop -/* 4199A0 802A4C10 0040902D */ daddu $s2, $v0, $zero -/* 4199A4 802A4C14 0240202D */ daddu $a0, $s2, $zero -/* 4199A8 802A4C18 3C052000 */ lui $a1, 0x2000 -/* 4199AC 802A4C1C 3C01802B */ lui $at, %hi(D_802AD620) -/* 4199B0 802A4C20 AC32D620 */ sw $s2, %lo(D_802AD620)($at) -/* 4199B4 802A4C24 0C051280 */ jal hud_element_set_flags -/* 4199B8 802A4C28 34A50080 */ ori $a1, $a1, 0x80 -/* 4199BC 802A4C2C 0240202D */ daddu $a0, $s2, $zero -/* 4199C0 802A4C30 86050000 */ lh $a1, ($s0) -/* 4199C4 802A4C34 86260000 */ lh $a2, ($s1) -/* 4199C8 802A4C38 24A50027 */ addiu $a1, $a1, 0x27 -/* 4199CC 802A4C3C 0C051261 */ jal hud_element_set_render_pos -/* 4199D0 802A4C40 24C6004E */ addiu $a2, $a2, 0x4e -/* 4199D4 802A4C44 24040006 */ addiu $a0, $zero, 6 -/* 4199D8 802A4C48 24070090 */ addiu $a3, $zero, 0x90 -/* 4199DC 802A4C4C 86130000 */ lh $s3, ($s0) -/* 4199E0 802A4C50 2402000A */ addiu $v0, $zero, 0xa -/* 4199E4 802A4C54 3C01802B */ lui $at, %hi(D_802AD614) -/* 4199E8 802A4C58 A022D614 */ sb $v0, %lo(D_802AD614)($at) -/* 4199EC 802A4C5C 3C02802A */ lui $v0, %hi(func_802A5290) -/* 4199F0 802A4C60 24425290 */ addiu $v0, $v0, %lo(func_802A5290) -/* 4199F4 802A4C64 2412FFFF */ addiu $s2, $zero, -1 -/* 4199F8 802A4C68 AFA00014 */ sw $zero, 0x14($sp) -/* 4199FC 802A4C6C AFA20018 */ sw $v0, 0x18($sp) -/* 419A00 802A4C70 AFA0001C */ sw $zero, 0x1c($sp) -/* 419A04 802A4C74 AFB20020 */ sw $s2, 0x20($sp) -/* 419A08 802A4C78 86300000 */ lh $s0, ($s1) -/* 419A0C 802A4C7C 3C03802B */ lui $v1, %hi(D_802AD60A) -/* 419A10 802A4C80 8063D60A */ lb $v1, %lo(D_802AD60A)($v1) -/* 419A14 802A4C84 0260282D */ daddu $a1, $s3, $zero -/* 419A18 802A4C88 0200302D */ daddu $a2, $s0, $zero -/* 419A1C 802A4C8C 00031040 */ sll $v0, $v1, 1 -/* 419A20 802A4C90 00431021 */ addu $v0, $v0, $v1 -/* 419A24 802A4C94 00021080 */ sll $v0, $v0, 2 -/* 419A28 802A4C98 00431021 */ addu $v0, $v0, $v1 -/* 419A2C 802A4C9C 2442001A */ addiu $v0, $v0, 0x1a -/* 419A30 802A4CA0 0C051F32 */ jal set_window_properties -/* 419A34 802A4CA4 AFA20010 */ sw $v0, 0x10($sp) -/* 419A38 802A4CA8 24040007 */ addiu $a0, $zero, 7 -/* 419A3C 802A4CAC 26650012 */ addiu $a1, $s3, 0x12 -/* 419A40 802A4CB0 2606FFFA */ addiu $a2, $s0, -6 -/* 419A44 802A4CB4 2407006C */ addiu $a3, $zero, 0x6c -/* 419A48 802A4CB8 24020010 */ addiu $v0, $zero, 0x10 -/* 419A4C 802A4CBC 24100001 */ addiu $s0, $zero, 1 -/* 419A50 802A4CC0 AFA20010 */ sw $v0, 0x10($sp) -/* 419A54 802A4CC4 3C02802A */ lui $v0, %hi(func_802A56F8) -/* 419A58 802A4CC8 244256F8 */ addiu $v0, $v0, %lo(func_802A56F8) -/* 419A5C 802A4CCC AFB00014 */ sw $s0, 0x14($sp) -/* 419A60 802A4CD0 AFA20018 */ sw $v0, 0x18($sp) -/* 419A64 802A4CD4 AFA0001C */ sw $zero, 0x1c($sp) -/* 419A68 802A4CD8 0C051F32 */ jal set_window_properties -/* 419A6C 802A4CDC AFB20020 */ sw $s2, 0x20($sp) -/* 419A70 802A4CE0 24130014 */ addiu $s3, $zero, 0x14 -/* 419A74 802A4CE4 24040008 */ addiu $a0, $zero, 8 -/* 419A78 802A4CE8 0260282D */ daddu $a1, $s3, $zero -/* 419A7C 802A4CEC 240600BA */ addiu $a2, $zero, 0xba -/* 419A80 802A4CF0 24070118 */ addiu $a3, $zero, 0x118 -/* 419A84 802A4CF4 24020020 */ addiu $v0, $zero, 0x20 -/* 419A88 802A4CF8 AFA20010 */ sw $v0, 0x10($sp) -/* 419A8C 802A4CFC 3C02802A */ lui $v0, %hi(func_802A5738) -/* 419A90 802A4D00 24425738 */ addiu $v0, $v0, %lo(func_802A5738) -/* 419A94 802A4D04 AFB30014 */ sw $s3, 0x14($sp) -/* 419A98 802A4D08 AFA20018 */ sw $v0, 0x18($sp) -/* 419A9C 802A4D0C AFA0001C */ sw $zero, 0x1c($sp) -/* 419AA0 802A4D10 0C051F32 */ jal set_window_properties -/* 419AA4 802A4D14 AFB20020 */ sw $s2, 0x20($sp) -/* 419AA8 802A4D18 24040006 */ addiu $a0, $zero, 6 -/* 419AAC 802A4D1C 0C051F9F */ jal set_window_update -/* 419AB0 802A4D20 0200282D */ daddu $a1, $s0, $zero -/* 419AB4 802A4D24 24040007 */ addiu $a0, $zero, 7 -/* 419AB8 802A4D28 0C051F9F */ jal set_window_update -/* 419ABC 802A4D2C 0200282D */ daddu $a1, $s0, $zero -/* 419AC0 802A4D30 24040008 */ addiu $a0, $zero, 8 -/* 419AC4 802A4D34 0C051F9F */ jal set_window_update -/* 419AC8 802A4D38 0200282D */ daddu $a1, $s0, $zero -/* 419ACC 802A4D3C 3C01802B */ lui $at, %hi(D_802AD604) -/* 419AD0 802A4D40 A030D604 */ sb $s0, %lo(D_802AD604)($at) -/* 419AD4 802A4D44 080A949D */ j .L802A5274 -/* 419AD8 802A4D48 0000102D */ daddu $v0, $zero, $zero -.L802A4D4C_419ADC: -/* 419ADC 802A4D4C 3C02802B */ lui $v0, %hi(D_802AD607) -/* 419AE0 802A4D50 8042D607 */ lb $v0, %lo(D_802AD607)($v0) -/* 419AE4 802A4D54 14400147 */ bnez $v0, .L802A5274 -/* 419AE8 802A4D58 0000102D */ daddu $v0, $zero, $zero -/* 419AEC 802A4D5C 3C04802B */ lui $a0, %hi(D_802AD605) -/* 419AF0 802A4D60 2484D605 */ addiu $a0, $a0, %lo(D_802AD605) -/* 419AF4 802A4D64 3C050001 */ lui $a1, 1 -/* 419AF8 802A4D68 8E420218 */ lw $v0, 0x218($s2) -/* 419AFC 802A4D6C 90830000 */ lbu $v1, ($a0) -/* 419B00 802A4D70 00451024 */ and $v0, $v0, $a1 -/* 419B04 802A4D74 3C01802B */ lui $at, %hi(D_802AD606) -/* 419B08 802A4D78 A023D606 */ sb $v1, %lo(D_802AD606)($at) -/* 419B0C 802A4D7C 10400008 */ beqz $v0, .L802A4DA0 -/* 419B10 802A4D80 00031600 */ sll $v0, $v1, 0x18 -/* 419B14 802A4D84 1C400005 */ bgtz $v0, .L802A4D9C -/* 419B18 802A4D88 2462FFFF */ addiu $v0, $v1, -1 -/* 419B1C 802A4D8C 8E420214 */ lw $v0, 0x214($s2) -/* 419B20 802A4D90 00451024 */ and $v0, $v0, $a1 -/* 419B24 802A4D94 10400002 */ beqz $v0, .L802A4DA0 -/* 419B28 802A4D98 2462FFFF */ addiu $v0, $v1, -1 -.L802A4D9C: -/* 419B2C 802A4D9C A0820000 */ sb $v0, ($a0) -.L802A4DA0: -/* 419B30 802A4DA0 8E420218 */ lw $v0, 0x218($s2) -/* 419B34 802A4DA4 3C060002 */ lui $a2, 2 -/* 419B38 802A4DA8 00461024 */ and $v0, $v0, $a2 -/* 419B3C 802A4DAC 10400010 */ beqz $v0, .L802A4DF0 -/* 419B40 802A4DB0 00000000 */ nop -/* 419B44 802A4DB4 3C05802B */ lui $a1, %hi(D_802AD605) -/* 419B48 802A4DB8 24A5D605 */ addiu $a1, $a1, %lo(D_802AD605) -/* 419B4C 802A4DBC 3C02802B */ lui $v0, %hi(D_802AD66C) -/* 419B50 802A4DC0 8C42D66C */ lw $v0, %lo(D_802AD66C)($v0) -/* 419B54 802A4DC4 80A30000 */ lb $v1, ($a1) -/* 419B58 802A4DC8 90A40000 */ lbu $a0, ($a1) -/* 419B5C 802A4DCC 2442FFFF */ addiu $v0, $v0, -1 -/* 419B60 802A4DD0 0062182A */ slt $v1, $v1, $v0 -/* 419B64 802A4DD4 14600005 */ bnez $v1, .L802A4DEC -/* 419B68 802A4DD8 24820001 */ addiu $v0, $a0, 1 -/* 419B6C 802A4DDC 8E420214 */ lw $v0, 0x214($s2) -/* 419B70 802A4DE0 00461024 */ and $v0, $v0, $a2 -/* 419B74 802A4DE4 10400002 */ beqz $v0, .L802A4DF0 -/* 419B78 802A4DE8 24820001 */ addiu $v0, $a0, 1 -.L802A4DEC: -/* 419B7C 802A4DEC A0A20000 */ sb $v0, ($a1) -.L802A4DF0: -/* 419B80 802A4DF0 3C10802B */ lui $s0, %hi(D_802AD605) -/* 419B84 802A4DF4 2610D605 */ addiu $s0, $s0, %lo(D_802AD605) -/* 419B88 802A4DF8 82020000 */ lb $v0, ($s0) -/* 419B8C 802A4DFC 04410005 */ bgez $v0, .L802A4E14 -/* 419B90 802A4E00 00000000 */ nop -/* 419B94 802A4E04 3C02802B */ lui $v0, %hi(D_802AD66C + 0x3) -/* 419B98 802A4E08 9042D66F */ lbu $v0, %lo(D_802AD66C + 0x3)($v0) -/* 419B9C 802A4E0C 2442FFFF */ addiu $v0, $v0, -1 -/* 419BA0 802A4E10 A2020000 */ sb $v0, ($s0) -.L802A4E14: -/* 419BA4 802A4E14 3C11802B */ lui $s1, %hi(D_802AD66C) -/* 419BA8 802A4E18 2631D66C */ addiu $s1, $s1, %lo(D_802AD66C) -/* 419BAC 802A4E1C 8E220000 */ lw $v0, ($s1) -/* 419BB0 802A4E20 82030000 */ lb $v1, ($s0) -/* 419BB4 802A4E24 2442FFFF */ addiu $v0, $v0, -1 -/* 419BB8 802A4E28 0043102A */ slt $v0, $v0, $v1 -/* 419BBC 802A4E2C 54400001 */ bnel $v0, $zero, .L802A4E34 -/* 419BC0 802A4E30 A2000000 */ sb $zero, ($s0) -.L802A4E34: -/* 419BC4 802A4E34 3C03802B */ lui $v1, %hi(D_802AD606) -/* 419BC8 802A4E38 8063D606 */ lb $v1, %lo(D_802AD606)($v1) -/* 419BCC 802A4E3C 82020000 */ lb $v0, ($s0) -/* 419BD0 802A4E40 10620009 */ beq $v1, $v0, .L802A4E68 -/* 419BD4 802A4E44 00031080 */ sll $v0, $v1, 2 -/* 419BD8 802A4E48 3C04802B */ lui $a0, %hi(D_802AD628) -/* 419BDC 802A4E4C 00822021 */ addu $a0, $a0, $v0 -/* 419BE0 802A4E50 8C84D628 */ lw $a0, %lo(D_802AD628)($a0) -/* 419BE4 802A4E54 3C053EE6 */ lui $a1, 0x3ee6 -/* 419BE8 802A4E58 0C051308 */ jal hud_element_set_scale -/* 419BEC 802A4E5C 34A56666 */ ori $a1, $a1, 0x6666 -/* 419BF0 802A4E60 0C05272D */ jal sfx_play_sound -/* 419BF4 802A4E64 240400C7 */ addiu $a0, $zero, 0xc7 -.L802A4E68: -/* 419BF8 802A4E68 3C04802B */ lui $a0, %hi(D_802AD608) -/* 419BFC 802A4E6C 2484D608 */ addiu $a0, $a0, %lo(D_802AD608) -/* 419C00 802A4E70 82050000 */ lb $a1, ($s0) -/* 419C04 802A4E74 80820000 */ lb $v0, ($a0) -/* 419C08 802A4E78 92030000 */ lbu $v1, ($s0) -/* 419C0C 802A4E7C 00A2102A */ slt $v0, $a1, $v0 -/* 419C10 802A4E80 54400001 */ bnel $v0, $zero, .L802A4E88 -/* 419C14 802A4E84 A0830000 */ sb $v1, ($a0) -.L802A4E88: -/* 419C18 802A4E88 3C06802B */ lui $a2, %hi(D_802AD609) -/* 419C1C 802A4E8C 24C6D609 */ addiu $a2, $a2, %lo(D_802AD609) -/* 419C20 802A4E90 80C20000 */ lb $v0, ($a2) -/* 419C24 802A4E94 00A2102A */ slt $v0, $a1, $v0 -/* 419C28 802A4E98 14400006 */ bnez $v0, .L802A4EB4 -/* 419C2C 802A4E9C 00000000 */ nop -/* 419C30 802A4EA0 3C02802B */ lui $v0, %hi(D_802AD60A) -/* 419C34 802A4EA4 9042D60A */ lbu $v0, %lo(D_802AD60A)($v0) -/* 419C38 802A4EA8 2442FFFF */ addiu $v0, $v0, -1 -/* 419C3C 802A4EAC 00621023 */ subu $v0, $v1, $v0 -/* 419C40 802A4EB0 A0820000 */ sb $v0, ($a0) -.L802A4EB4: -/* 419C44 802A4EB4 90820000 */ lbu $v0, ($a0) -/* 419C48 802A4EB8 24420006 */ addiu $v0, $v0, 6 -/* 419C4C 802A4EBC A0C20000 */ sb $v0, ($a2) -/* 419C50 802A4EC0 00021600 */ sll $v0, $v0, 0x18 -/* 419C54 802A4EC4 8E230000 */ lw $v1, ($s1) -/* 419C58 802A4EC8 00021603 */ sra $v0, $v0, 0x18 -/* 419C5C 802A4ECC 0062182A */ slt $v1, $v1, $v0 -/* 419C60 802A4ED0 10600003 */ beqz $v1, .L802A4EE0 -/* 419C64 802A4ED4 00000000 */ nop -/* 419C68 802A4ED8 92220003 */ lbu $v0, 3($s1) -/* 419C6C 802A4EDC A0C20000 */ sb $v0, ($a2) -.L802A4EE0: -/* 419C70 802A4EE0 8E430214 */ lw $v1, 0x214($s2) -/* 419C74 802A4EE4 30628000 */ andi $v0, $v1, 0x8000 -/* 419C78 802A4EE8 10400019 */ beqz $v0, .L802A4F50 -/* 419C7C 802A4EEC 00051080 */ sll $v0, $a1, 2 -/* 419C80 802A4EF0 3C03802B */ lui $v1, %hi(D_802AD690) -/* 419C84 802A4EF4 00621821 */ addu $v1, $v1, $v0 -/* 419C88 802A4EF8 8C63D690 */ lw $v1, %lo(D_802AD690)($v1) -/* 419C8C 802A4EFC 24020001 */ addiu $v0, $zero, 1 -/* 419C90 802A4F00 14620005 */ bne $v1, $v0, .L802A4F18 -/* 419C94 802A4F04 00000000 */ nop -/* 419C98 802A4F08 0C05272D */ jal sfx_play_sound -/* 419C9C 802A4F0C 240400C9 */ addiu $a0, $zero, 0xc9 -/* 419CA0 802A4F10 080A949A */ j .L802A5268 -/* 419CA4 802A4F14 2402FFFF */ addiu $v0, $zero, -1 -.L802A4F18: -/* 419CA8 802A4F18 0C05272D */ jal sfx_play_sound -/* 419CAC 802A4F1C 2404021D */ addiu $a0, $zero, 0x21d -/* 419CB0 802A4F20 82020000 */ lb $v0, ($s0) -/* 419CB4 802A4F24 00021080 */ sll $v0, $v0, 2 -/* 419CB8 802A4F28 3C03802B */ lui $v1, %hi(D_802AD6A8 + 0x2) -/* 419CBC 802A4F2C 00621821 */ addu $v1, $v1, $v0 -/* 419CC0 802A4F30 9463D6AA */ lhu $v1, %lo(D_802AD6A8 + 0x2)($v1) -/* 419CC4 802A4F34 24020028 */ addiu $v0, $zero, 0x28 -/* 419CC8 802A4F38 3C01802B */ lui $at, %hi(D_802AD604) -/* 419CCC 802A4F3C A022D604 */ sb $v0, %lo(D_802AD604)($at) -/* 419CD0 802A4F40 3C01802B */ lui $at, %hi(D_802AD610) -/* 419CD4 802A4F44 A423D610 */ sh $v1, %lo(D_802AD610)($at) -/* 419CD8 802A4F48 080A949D */ j .L802A5274 -/* 419CDC 802A4F4C 0000102D */ daddu $v0, $zero, $zero -.L802A4F50: -/* 419CE0 802A4F50 30624000 */ andi $v0, $v1, 0x4000 -/* 419CE4 802A4F54 104000C7 */ beqz $v0, .L802A5274 -/* 419CE8 802A4F58 0000102D */ daddu $v0, $zero, $zero -/* 419CEC 802A4F5C 0C05272D */ jal sfx_play_sound -/* 419CF0 802A4F60 240400CA */ addiu $a0, $zero, 0xca -/* 419CF4 802A4F64 0C0A91CB */ jal func_802A472C -/* 419CF8 802A4F68 00000000 */ nop -/* 419CFC 802A4F6C 080A949A */ j .L802A5268 -/* 419D00 802A4F70 2402FFFE */ addiu $v0, $zero, -2 -.L802A4F74_419D04: -/* 419D04 802A4F74 3C02802B */ lui $v0, %hi(D_802AD66C) -/* 419D08 802A4F78 8C42D66C */ lw $v0, %lo(D_802AD66C)($v0) -/* 419D0C 802A4F7C 1840000F */ blez $v0, .L802A4FBC -/* 419D10 802A4F80 0000882D */ daddu $s1, $zero, $zero -/* 419D14 802A4F84 3C10802B */ lui $s0, %hi(D_802AD628) -/* 419D18 802A4F88 2610D628 */ addiu $s0, $s0, %lo(D_802AD628) -/* 419D1C 802A4F8C 240500A0 */ addiu $a1, $zero, 0xa0 -.L802A4F90: -/* 419D20 802A4F90 00A0302D */ daddu $a2, $a1, $zero -/* 419D24 802A4F94 00A0382D */ daddu $a3, $a1, $zero -/* 419D28 802A4F98 8E040000 */ lw $a0, ($s0) -/* 419D2C 802A4F9C 0C0513BF */ jal hud_element_set_tint -/* 419D30 802A4FA0 26100004 */ addiu $s0, $s0, 4 -/* 419D34 802A4FA4 3C02802B */ lui $v0, %hi(D_802AD66C) -/* 419D38 802A4FA8 8C42D66C */ lw $v0, %lo(D_802AD66C)($v0) -/* 419D3C 802A4FAC 26310001 */ addiu $s1, $s1, 1 -/* 419D40 802A4FB0 0222102A */ slt $v0, $s1, $v0 -/* 419D44 802A4FB4 1440FFF6 */ bnez $v0, .L802A4F90 -/* 419D48 802A4FB8 240500A0 */ addiu $a1, $zero, 0xa0 -.L802A4FBC: -/* 419D4C 802A4FBC 240500A0 */ addiu $a1, $zero, 0xa0 -/* 419D50 802A4FC0 00A0302D */ daddu $a2, $a1, $zero -/* 419D54 802A4FC4 3C10802B */ lui $s0, %hi(D_802AD618) -/* 419D58 802A4FC8 2610D618 */ addiu $s0, $s0, %lo(D_802AD618) -/* 419D5C 802A4FCC 8E040000 */ lw $a0, ($s0) -/* 419D60 802A4FD0 0C0513BF */ jal hud_element_set_tint -/* 419D64 802A4FD4 00A0382D */ daddu $a3, $a1, $zero -/* 419D68 802A4FD8 240500A0 */ addiu $a1, $zero, 0xa0 -/* 419D6C 802A4FDC 00A0302D */ daddu $a2, $a1, $zero -/* 419D70 802A4FE0 3C04802B */ lui $a0, %hi(D_802AD61C) -/* 419D74 802A4FE4 8C84D61C */ lw $a0, %lo(D_802AD61C)($a0) -/* 419D78 802A4FE8 0C0513BF */ jal hud_element_set_tint -/* 419D7C 802A4FEC 00A0382D */ daddu $a3, $a1, $zero -/* 419D80 802A4FF0 240500A0 */ addiu $a1, $zero, 0xa0 -/* 419D84 802A4FF4 00A0302D */ daddu $a2, $a1, $zero -/* 419D88 802A4FF8 3C04802B */ lui $a0, %hi(D_802AD620) -/* 419D8C 802A4FFC 8C84D620 */ lw $a0, %lo(D_802AD620)($a0) -/* 419D90 802A5000 0C0513BF */ jal hud_element_set_tint -/* 419D94 802A5004 00A0382D */ daddu $a3, $a1, $zero -/* 419D98 802A5008 8E040000 */ lw $a0, ($s0) -/* 419D9C 802A500C 3C058010 */ lui $a1, %hi(HES_HandPointer) -/* 419DA0 802A5010 24A54A00 */ addiu $a1, $a1, %lo(HES_HandPointer) -/* 419DA4 802A5014 0C0511FF */ jal hud_element_set_script -/* 419DA8 802A5018 00000000 */ nop -/* 419DAC 802A501C 24040006 */ addiu $a0, $zero, 6 -/* 419DB0 802A5020 2402000D */ addiu $v0, $zero, 0xd -/* 419DB4 802A5024 3C01802B */ lui $at, %hi(D_802AD614) -/* 419DB8 802A5028 A022D614 */ sb $v0, %lo(D_802AD614)($at) -/* 419DBC 802A502C 0C051F9F */ jal set_window_update -/* 419DC0 802A5030 24050004 */ addiu $a1, $zero, 4 -/* 419DC4 802A5034 24040007 */ addiu $a0, $zero, 7 -/* 419DC8 802A5038 0C051F9F */ jal set_window_update -/* 419DCC 802A503C 24050004 */ addiu $a1, $zero, 4 -/* 419DD0 802A5040 24040008 */ addiu $a0, $zero, 8 -/* 419DD4 802A5044 0C051F9F */ jal set_window_update -/* 419DD8 802A5048 24050002 */ addiu $a1, $zero, 2 -/* 419DDC 802A504C 080A9424 */ j .L802A5090_419E20 -/* 419DE0 802A5050 00000000 */ nop -.L802A5054_419DE4: -/* 419DE4 802A5054 080A949D */ j .L802A5274 -/* 419DE8 802A5058 240200FF */ addiu $v0, $zero, 0xff -.L802A505C_419DEC: -/* 419DEC 802A505C 24040006 */ addiu $a0, $zero, 6 -/* 419DF0 802A5060 0C051F9F */ jal set_window_update -/* 419DF4 802A5064 24050002 */ addiu $a1, $zero, 2 -/* 419DF8 802A5068 24040007 */ addiu $a0, $zero, 7 -/* 419DFC 802A506C 0C051F9F */ jal set_window_update -/* 419E00 802A5070 24050002 */ addiu $a1, $zero, 2 -/* 419E04 802A5074 24040008 */ addiu $a0, $zero, 8 -/* 419E08 802A5078 0C051F9F */ jal set_window_update -/* 419E0C 802A507C 24050002 */ addiu $a1, $zero, 2 -/* 419E10 802A5080 3C02802B */ lui $v0, %hi(D_802AD605) -/* 419E14 802A5084 8042D605 */ lb $v0, %lo(D_802AD605)($v0) -/* 419E18 802A5088 080A9434 */ j .L802A50D0 -/* 419E1C 802A508C 2403000B */ addiu $v1, $zero, 0xb -.L802A5090_419E20: -/* 419E20 802A5090 3C02802B */ lui $v0, %hi(D_802AD605) -/* 419E24 802A5094 8042D605 */ lb $v0, %lo(D_802AD605)($v0) -/* 419E28 802A5098 080A949D */ j .L802A5274 -/* 419E2C 802A509C 24420001 */ addiu $v0, $v0, 1 -.L802A50A0_419E30: -/* 419E30 802A50A0 24040006 */ addiu $a0, $zero, 6 -/* 419E34 802A50A4 0C051F9F */ jal set_window_update -/* 419E38 802A50A8 24050001 */ addiu $a1, $zero, 1 -/* 419E3C 802A50AC 24040007 */ addiu $a0, $zero, 7 -/* 419E40 802A50B0 0C051F9F */ jal set_window_update -/* 419E44 802A50B4 24050001 */ addiu $a1, $zero, 1 -/* 419E48 802A50B8 24040008 */ addiu $a0, $zero, 8 -/* 419E4C 802A50BC 0C051F9F */ jal set_window_update -/* 419E50 802A50C0 24050001 */ addiu $a1, $zero, 1 -/* 419E54 802A50C4 3C02802B */ lui $v0, %hi(D_802AD605) -/* 419E58 802A50C8 8042D605 */ lb $v0, %lo(D_802AD605)($v0) -/* 419E5C 802A50CC 24030001 */ addiu $v1, $zero, 1 -.L802A50D0: -/* 419E60 802A50D0 3C01802B */ lui $at, %hi(D_802AD604) -/* 419E64 802A50D4 A023D604 */ sb $v1, %lo(D_802AD604)($at) -/* 419E68 802A50D8 080A949D */ j .L802A5274 -/* 419E6C 802A50DC 24420001 */ addiu $v0, $v0, 1 -.L802A50E0_419E70: -/* 419E70 802A50E0 24040006 */ addiu $a0, $zero, 6 -/* 419E74 802A50E4 0C051F9F */ jal set_window_update -/* 419E78 802A50E8 24050001 */ addiu $a1, $zero, 1 -/* 419E7C 802A50EC 24040007 */ addiu $a0, $zero, 7 -/* 419E80 802A50F0 0C051F9F */ jal set_window_update -/* 419E84 802A50F4 24050001 */ addiu $a1, $zero, 1 -/* 419E88 802A50F8 24040008 */ addiu $a0, $zero, 8 -/* 419E8C 802A50FC 0C051F9F */ jal set_window_update -/* 419E90 802A5100 24050001 */ addiu $a1, $zero, 1 -/* 419E94 802A5104 080A949A */ j .L802A5268 -/* 419E98 802A5108 2402FFFF */ addiu $v0, $zero, -1 -.L802A510C_419E9C: -/* 419E9C 802A510C 2402FFFF */ addiu $v0, $zero, -1 -/* 419EA0 802A5110 0040182D */ daddu $v1, $v0, $zero -/* 419EA4 802A5114 3C01802B */ lui $at, %hi(D_802AD6D4) -/* 419EA8 802A5118 AC23D6D4 */ sw $v1, %lo(D_802AD6D4)($at) -/* 419EAC 802A511C 24030029 */ addiu $v1, $zero, 0x29 -/* 419EB0 802A5120 3C01802B */ lui $at, %hi(D_802AD604) -/* 419EB4 802A5124 A023D604 */ sb $v1, %lo(D_802AD604)($at) -/* 419EB8 802A5128 080A949D */ j .L802A5274 -/* 419EBC 802A512C 00000000 */ nop -.L802A5130_419EC0: -/* 419EC0 802A5130 24040006 */ addiu $a0, $zero, 6 -/* 419EC4 802A5134 0C051F9F */ jal set_window_update -/* 419EC8 802A5138 24050002 */ addiu $a1, $zero, 2 -/* 419ECC 802A513C 24040007 */ addiu $a0, $zero, 7 -/* 419ED0 802A5140 0C051F9F */ jal set_window_update -/* 419ED4 802A5144 24050002 */ addiu $a1, $zero, 2 -/* 419ED8 802A5148 24040008 */ addiu $a0, $zero, 8 -/* 419EDC 802A514C 0C051F9F */ jal set_window_update -/* 419EE0 802A5150 24050002 */ addiu $a1, $zero, 2 -/* 419EE4 802A5154 3C03802B */ lui $v1, %hi(D_802AD610) -/* 419EE8 802A5158 8463D610 */ lh $v1, %lo(D_802AD610)($v1) -/* 419EEC 802A515C 14600003 */ bnez $v1, .L802A516C -/* 419EF0 802A5160 3C04001D */ lui $a0, 0x1d -/* 419EF4 802A5164 080A945C */ j .L802A5170 -/* 419EF8 802A5168 348400CB */ ori $a0, $a0, 0xcb -.L802A516C: -/* 419EFC 802A516C 348400CC */ ori $a0, $a0, 0xcc -.L802A5170: -/* 419F00 802A5170 0C04991D */ jal get_msg_width -/* 419F04 802A5174 0000282D */ daddu $a1, $zero, $zero -/* 419F08 802A5178 24040009 */ addiu $a0, $zero, 9 -/* 419F0C 802A517C 24470017 */ addiu $a3, $v0, 0x17 -/* 419F10 802A5180 00072FC2 */ srl $a1, $a3, 0x1f -/* 419F14 802A5184 00E52821 */ addu $a1, $a3, $a1 -/* 419F18 802A5188 00052843 */ sra $a1, $a1, 1 -/* 419F1C 802A518C 240200A0 */ addiu $v0, $zero, 0xa0 -/* 419F20 802A5190 00452823 */ subu $a1, $v0, $a1 -/* 419F24 802A5194 24060050 */ addiu $a2, $zero, 0x50 -/* 419F28 802A5198 2402001C */ addiu $v0, $zero, 0x1c -/* 419F2C 802A519C AFA20010 */ sw $v0, 0x10($sp) -/* 419F30 802A51A0 24020014 */ addiu $v0, $zero, 0x14 -/* 419F34 802A51A4 AFA20014 */ sw $v0, 0x14($sp) -/* 419F38 802A51A8 3C02802A */ lui $v0, %hi(func_802A57C8) -/* 419F3C 802A51AC 244257C8 */ addiu $v0, $v0, %lo(func_802A57C8) -/* 419F40 802A51B0 AFA20018 */ sw $v0, 0x18($sp) -/* 419F44 802A51B4 2402FFFF */ addiu $v0, $zero, -1 -/* 419F48 802A51B8 AFA0001C */ sw $zero, 0x1c($sp) -/* 419F4C 802A51BC 0C051F32 */ jal set_window_properties -/* 419F50 802A51C0 AFA20020 */ sw $v0, 0x20($sp) -/* 419F54 802A51C4 24040009 */ addiu $a0, $zero, 9 -/* 419F58 802A51C8 0C051F9F */ jal set_window_update -/* 419F5C 802A51CC 24050001 */ addiu $a1, $zero, 1 -/* 419F60 802A51D0 2403003C */ addiu $v1, $zero, 0x3c -/* 419F64 802A51D4 3C01802B */ lui $at, %hi(D_802AD612) -/* 419F68 802A51D8 A423D612 */ sh $v1, %lo(D_802AD612)($at) -/* 419F6C 802A51DC 2403002A */ addiu $v1, $zero, 0x2a -/* 419F70 802A51E0 3C01802B */ lui $at, %hi(D_802AD604) -/* 419F74 802A51E4 A023D604 */ sb $v1, %lo(D_802AD604)($at) -/* 419F78 802A51E8 080A949D */ j .L802A5274 -/* 419F7C 802A51EC 2402FFFF */ addiu $v0, $zero, -1 -.L802A51F0_419F80: -/* 419F80 802A51F0 3C028007 */ lui $v0, %hi(gGameStatusPtr) -/* 419F84 802A51F4 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) -/* 419F88 802A51F8 8C420010 */ lw $v0, 0x10($v0) -/* 419F8C 802A51FC 3042C000 */ andi $v0, $v0, 0xc000 -/* 419F90 802A5200 10400003 */ beqz $v0, .L802A5210 -/* 419F94 802A5204 00000000 */ nop -/* 419F98 802A5208 3C01802B */ lui $at, %hi(D_802AD612) -/* 419F9C 802A520C A420D612 */ sh $zero, %lo(D_802AD612)($at) -.L802A5210: -/* 419FA0 802A5210 3C04802B */ lui $a0, %hi(D_802AD612) -/* 419FA4 802A5214 2484D612 */ addiu $a0, $a0, %lo(D_802AD612) -/* 419FA8 802A5218 84820000 */ lh $v0, ($a0) -/* 419FAC 802A521C 94830000 */ lhu $v1, ($a0) -/* 419FB0 802A5220 10400004 */ beqz $v0, .L802A5234 -/* 419FB4 802A5224 2462FFFF */ addiu $v0, $v1, -1 -/* 419FB8 802A5228 A4820000 */ sh $v0, ($a0) -/* 419FBC 802A522C 080A949D */ j .L802A5274 -/* 419FC0 802A5230 2402FFFF */ addiu $v0, $zero, -1 -.L802A5234: -/* 419FC4 802A5234 24040009 */ addiu $a0, $zero, 9 -/* 419FC8 802A5238 0C051F9F */ jal set_window_update -/* 419FCC 802A523C 24050002 */ addiu $a1, $zero, 2 -/* 419FD0 802A5240 24040006 */ addiu $a0, $zero, 6 -/* 419FD4 802A5244 0C051F9F */ jal set_window_update -/* 419FD8 802A5248 24050001 */ addiu $a1, $zero, 1 -/* 419FDC 802A524C 24040007 */ addiu $a0, $zero, 7 -/* 419FE0 802A5250 0C051F9F */ jal set_window_update -/* 419FE4 802A5254 24050001 */ addiu $a1, $zero, 1 -/* 419FE8 802A5258 24040008 */ addiu $a0, $zero, 8 -/* 419FEC 802A525C 0C051F9F */ jal set_window_update -/* 419FF0 802A5260 24050001 */ addiu $a1, $zero, 1 -/* 419FF4 802A5264 24020001 */ addiu $v0, $zero, 1 -.L802A5268: -/* 419FF8 802A5268 3C01802B */ lui $at, %hi(D_802AD604) -/* 419FFC 802A526C A022D604 */ sb $v0, %lo(D_802AD604)($at) -.L802A5270_41A000: -/* 41A000 802A5270 0000102D */ daddu $v0, $zero, $zero -.L802A5274: -/* 41A004 802A5274 8FBF0038 */ lw $ra, 0x38($sp) -/* 41A008 802A5278 8FB30034 */ lw $s3, 0x34($sp) -/* 41A00C 802A527C 8FB20030 */ lw $s2, 0x30($sp) -/* 41A010 802A5280 8FB1002C */ lw $s1, 0x2c($sp) -/* 41A014 802A5284 8FB00028 */ lw $s0, 0x28($sp) -/* 41A018 802A5288 03E00008 */ jr $ra -/* 41A01C 802A528C 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/ver/us/asm/nonmatchings/415D90/func_802A57C8.s b/ver/us/asm/nonmatchings/415D90/func_802A57C8.s deleted file mode 100644 index 83927f7fd1..0000000000 --- a/ver/us/asm/nonmatchings/415D90/func_802A57C8.s +++ /dev/null @@ -1,26 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802A57C8 -/* 41A558 802A57C8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 41A55C 802A57CC 24A5000B */ addiu $a1, $a1, 0xb -/* 41A560 802A57D0 3C03802B */ lui $v1, %hi(D_802AD610) -/* 41A564 802A57D4 8463D610 */ lh $v1, %lo(D_802AD610)($v1) -/* 41A568 802A57D8 24C60006 */ addiu $a2, $a2, 6 -/* 41A56C 802A57DC 14600004 */ bnez $v1, .L802A57F0 -/* 41A570 802A57E0 AFBF0018 */ sw $ra, 0x18($sp) -/* 41A574 802A57E4 3C04001D */ lui $a0, 0x1d -/* 41A578 802A57E8 080A95FE */ j .L802A57F8 -/* 41A57C 802A57EC 348400CB */ ori $a0, $a0, 0xcb -.L802A57F0: -/* 41A580 802A57F0 3C04001D */ lui $a0, 0x1d -/* 41A584 802A57F4 348400CC */ ori $a0, $a0, 0xcc -.L802A57F8: -/* 41A588 802A57F8 2402000F */ addiu $v0, $zero, 0xf -/* 41A58C 802A57FC 240700FF */ addiu $a3, $zero, 0xff -/* 41A590 802A5800 AFA20010 */ sw $v0, 0x10($sp) -/* 41A594 802A5804 0C04993B */ jal draw_msg -/* 41A598 802A5808 AFA00014 */ sw $zero, 0x14($sp) -/* 41A59C 802A580C 8FBF0018 */ lw $ra, 0x18($sp) -/* 41A5A0 802A5810 03E00008 */ jr $ra -/* 41A5A4 802A5814 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/ver/us/asm/nonmatchings/battle/star/peach_beam/7997B0/func_802A1518_799CC8.s b/ver/us/asm/nonmatchings/battle/star/peach_beam/7997B0/func_802A1518_799CC8.s deleted file mode 100644 index f990d4a1f6..0000000000 --- a/ver/us/asm/nonmatchings/battle/star/peach_beam/7997B0/func_802A1518_799CC8.s +++ /dev/null @@ -1,1072 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata -dlabel jtbl_802A3790_79BF40 -.word .L802A18B0_797870, .L802A1A00_7979C0, .L802A1A88_797A48, .L802A1AB8_797A78, .L802A1B54_797B14, .L802A1E34_797DF4, .L802A1F0C_797ECC, .L802A1FC8_797F88, .L802A1FE8_797FA8, .L802A2040_798000, .L802A2080_798040, .L802A241C_7983DC, .L802A241C_7983DC, .L802A241C_7983DC, .L802A241C_7983DC, .L802A241C_7983DC, .L802A241C_7983DC, .L802A241C_7983DC, .L802A241C_7983DC, .L802A241C_7983DC, .L802A219C_79815C, .L802A21F8_7981B8, 0, 0 - -.section .text -glabel func_802A1518_799CC8 -/* 7974D8 802A1518 27BDFF68 */ addiu $sp, $sp, -0x98 -/* 7974DC 802A151C AFB50054 */ sw $s5, 0x54($sp) -/* 7974E0 802A1520 3C15800E */ lui $s5, %hi(gBattleStatus+0xD8) -/* 7974E4 802A1524 8EB5C148 */ lw $s5, %lo(gBattleStatus+0xD8)($s5) -/* 7974E8 802A1528 AFBE0060 */ sw $fp, 0x60($sp) -/* 7974EC 802A152C 0080F02D */ daddu $fp, $a0, $zero -/* 7974F0 802A1530 AFBF0064 */ sw $ra, 0x64($sp) -/* 7974F4 802A1534 AFB7005C */ sw $s7, 0x5c($sp) -/* 7974F8 802A1538 AFB60058 */ sw $s6, 0x58($sp) -/* 7974FC 802A153C AFB40050 */ sw $s4, 0x50($sp) -/* 797500 802A1540 AFB3004C */ sw $s3, 0x4c($sp) -/* 797504 802A1544 AFB20048 */ sw $s2, 0x48($sp) -/* 797508 802A1548 AFB10044 */ sw $s1, 0x44($sp) -/* 79750C 802A154C AFB00040 */ sw $s0, 0x40($sp) -/* 797510 802A1550 F7BE0090 */ sdc1 $f30, 0x90($sp) -/* 797514 802A1554 F7BC0088 */ sdc1 $f28, 0x88($sp) -/* 797518 802A1558 F7BA0080 */ sdc1 $f26, 0x80($sp) -/* 79751C 802A155C F7B80078 */ sdc1 $f24, 0x78($sp) -/* 797520 802A1560 F7B60070 */ sdc1 $f22, 0x70($sp) -/* 797524 802A1564 F7B40068 */ sdc1 $f20, 0x68($sp) -/* 797528 802A1568 8FC2000C */ lw $v0, 0xc($fp) -/* 79752C 802A156C 10A00007 */ beqz $a1, .L802A158C -/* 797530 802A1570 26B1000C */ addiu $s1, $s5, 0xc -/* 797534 802A1574 3C01802A */ lui $at, %hi(D_802A3838) -/* 797538 802A1578 AC203838 */ sw $zero, %lo(D_802A3838)($at) -/* 79753C 802A157C 0C0B1EAF */ jal evt_get_variable -/* 797540 802A1580 8C450000 */ lw $a1, ($v0) -/* 797544 802A1584 AFC20078 */ sw $v0, 0x78($fp) -/* 797548 802A1588 AFC00070 */ sw $zero, 0x70($fp) -.L802A158C: -/* 79754C 802A158C 82A3040C */ lb $v1, 0x40c($s5) -/* 797550 802A1590 24020001 */ addiu $v0, $zero, 1 -/* 797554 802A1594 14620040 */ bne $v1, $v0, .L802A1698 -/* 797558 802A1598 00000000 */ nop -/* 79755C 802A159C 0C09A75B */ jal get_actor -/* 797560 802A15A0 86A40428 */ lh $a0, 0x428($s5) -/* 797564 802A15A4 0040802D */ daddu $s0, $v0, $zero -/* 797568 802A15A8 1200039D */ beqz $s0, .L802A2420 -/* 79756C 802A15AC 24020002 */ addiu $v0, $zero, 2 -/* 797570 802A15B0 82A50426 */ lb $a1, 0x426($s5) -/* 797574 802A15B4 0C099117 */ jal get_actor_part -/* 797578 802A15B8 0200202D */ daddu $a0, $s0, $zero -/* 79757C 802A15BC 86020150 */ lh $v0, 0x150($s0) -/* 797580 802A15C0 C6000144 */ lwc1 $f0, 0x144($s0) -/* 797584 802A15C4 8E030000 */ lw $v1, ($s0) -/* 797588 802A15C8 44821000 */ mtc1 $v0, $f2 -/* 79758C 802A15CC 00000000 */ nop -/* 797590 802A15D0 468010A0 */ cvt.s.w $f2, $f2 -/* 797594 802A15D4 30620800 */ andi $v0, $v1, 0x800 -/* 797598 802A15D8 1040000D */ beqz $v0, .L802A1610 -/* 79759C 802A15DC 46020700 */ add.s $f28, $f0, $f2 -/* 7975A0 802A15E0 86020152 */ lh $v0, 0x152($s0) -/* 7975A4 802A15E4 C6000148 */ lwc1 $f0, 0x148($s0) -/* 7975A8 802A15E8 44821000 */ mtc1 $v0, $f2 -/* 7975AC 802A15EC 00000000 */ nop -/* 7975B0 802A15F0 468010A0 */ cvt.s.w $f2, $f2 -/* 7975B4 802A15F4 92020191 */ lbu $v0, 0x191($s0) -/* 7975B8 802A15F8 46020000 */ add.s $f0, $f0, $f2 -/* 7975BC 802A15FC 44821000 */ mtc1 $v0, $f2 -/* 7975C0 802A1600 00000000 */ nop -/* 7975C4 802A1604 468010A0 */ cvt.s.w $f2, $f2 -/* 7975C8 802A1608 080A859F */ j .L802A167C -/* 7975CC 802A160C 46020601 */ sub.s $f24, $f0, $f2 -.L802A1610: -/* 7975D0 802A1610 30628000 */ andi $v0, $v1, 0x8000 -/* 7975D4 802A1614 1440000D */ bnez $v0, .L802A164C -/* 7975D8 802A1618 00000000 */ nop -/* 7975DC 802A161C 86020152 */ lh $v0, 0x152($s0) -/* 7975E0 802A1620 C6000148 */ lwc1 $f0, 0x148($s0) -/* 7975E4 802A1624 44821000 */ mtc1 $v0, $f2 -/* 7975E8 802A1628 00000000 */ nop -/* 7975EC 802A162C 468010A0 */ cvt.s.w $f2, $f2 -/* 7975F0 802A1630 92020191 */ lbu $v0, 0x191($s0) -/* 7975F4 802A1634 46020000 */ add.s $f0, $f0, $f2 -/* 7975F8 802A1638 44821000 */ mtc1 $v0, $f2 -/* 7975FC 802A163C 00000000 */ nop -/* 797600 802A1640 468010A0 */ cvt.s.w $f2, $f2 -/* 797604 802A1644 080A859F */ j .L802A167C -/* 797608 802A1648 46001600 */ add.s $f24, $f2, $f0 -.L802A164C: -/* 79760C 802A164C 86020152 */ lh $v0, 0x152($s0) -/* 797610 802A1650 C6020148 */ lwc1 $f2, 0x148($s0) -/* 797614 802A1654 44820000 */ mtc1 $v0, $f0 -/* 797618 802A1658 00000000 */ nop -/* 79761C 802A165C 46800020 */ cvt.s.w $f0, $f0 -/* 797620 802A1660 92020191 */ lbu $v0, 0x191($s0) -/* 797624 802A1664 46001080 */ add.s $f2, $f2, $f0 -/* 797628 802A1668 00021040 */ sll $v0, $v0, 1 -/* 79762C 802A166C 44820000 */ mtc1 $v0, $f0 -/* 797630 802A1670 00000000 */ nop -/* 797634 802A1674 46800020 */ cvt.s.w $f0, $f0 -/* 797638 802A1678 46001600 */ add.s $f24, $f2, $f0 -.L802A167C: -/* 79763C 802A167C 86020154 */ lh $v0, 0x154($s0) -/* 797640 802A1680 C602014C */ lwc1 $f2, 0x14c($s0) -/* 797644 802A1684 44820000 */ mtc1 $v0, $f0 -/* 797648 802A1688 00000000 */ nop -/* 79764C 802A168C 46800020 */ cvt.s.w $f0, $f0 -/* 797650 802A1690 080A85AB */ j .L802A16AC -/* 797654 802A1694 46001680 */ add.s $f26, $f2, $f0 -.L802A1698: -/* 797658 802A1698 3C014280 */ lui $at, 0x4280 -/* 79765C 802A169C 4481E000 */ mtc1 $at, $f28 -/* 797660 802A16A0 3C0142A0 */ lui $at, 0x42a0 -/* 797664 802A16A4 4481C000 */ mtc1 $at, $f24 -/* 797668 802A16A8 4480D000 */ mtc1 $zero, $f26 -.L802A16AC: -/* 79766C 802A16AC 8FC30070 */ lw $v1, 0x70($fp) -/* 797670 802A16B0 18600077 */ blez $v1, .L802A1890 -/* 797674 802A16B4 2862000A */ slti $v0, $v1, 0xa -/* 797678 802A16B8 14400006 */ bnez $v0, .L802A16D4 -/* 79767C 802A16BC 0000902D */ daddu $s2, $zero, $zero -/* 797680 802A16C0 2402000A */ addiu $v0, $zero, 0xa -/* 797684 802A16C4 1062003B */ beq $v1, $v0, .L802A17B4 -/* 797688 802A16C8 2C620016 */ sltiu $v0, $v1, 0x16 -/* 79768C 802A16CC 080A8625 */ j .L802A1894 -/* 797690 802A16D0 00000000 */ nop -.L802A16D4: -/* 797694 802A16D4 24160014 */ addiu $s6, $zero, 0x14 -/* 797698 802A16D8 2417000A */ addiu $s7, $zero, 0xa -/* 79769C 802A16DC 3C13802A */ lui $s3, %hi(D_802A37F8) -/* 7976A0 802A16E0 267337F8 */ addiu $s3, $s3, %lo(D_802A37F8) -/* 7976A4 802A16E4 3C0141A0 */ lui $at, 0x41a0 -/* 7976A8 802A16E8 4481A000 */ mtc1 $at, $f20 -/* 7976AC 802A16EC 3C02802A */ lui $v0, %hi(D_802A37F0) -/* 7976B0 802A16F0 8C4237F0 */ lw $v0, %lo(D_802A37F0)($v0) -/* 7976B4 802A16F4 3C013F80 */ lui $at, 0x3f80 -/* 7976B8 802A16F8 4481B000 */ mtc1 $at, $f22 -/* 7976BC 802A16FC 8C42000C */ lw $v0, 0xc($v0) -/* 7976C0 802A1700 2414005C */ addiu $s4, $zero, 0x5c -/* 7976C4 802A1704 AFA20028 */ sw $v0, 0x28($sp) -.L802A1708: -/* 7976C8 802A1708 8FC20078 */ lw $v0, 0x78($fp) -/* 7976CC 802A170C 14400003 */ bnez $v0, .L802A171C -/* 7976D0 802A1710 00121880 */ sll $v1, $s2, 2 -/* 7976D4 802A1714 52400021 */ beql $s2, $zero, .L802A179C -/* 7976D8 802A1718 26730004 */ addiu $s3, $s3, 4 -.L802A171C: -/* 7976DC 802A171C 8FA80028 */ lw $t0, 0x28($sp) -/* 7976E0 802A1720 8E620000 */ lw $v0, ($s3) -/* 7976E4 802A1724 10400004 */ beqz $v0, .L802A1738 -/* 7976E8 802A1728 01148021 */ addu $s0, $t0, $s4 -/* 7976EC 802A172C 2442FFFF */ addiu $v0, $v0, -1 -/* 7976F0 802A1730 080A85E6 */ j .L802A1798 -/* 7976F4 802A1734 AE620000 */ sw $v0, ($s3) -.L802A1738: -/* 7976F8 802A1738 3C08802A */ lui $t0, %hi(D_802A3514_7994D4) -/* 7976FC 802A173C 25083514 */ addiu $t0, $t0, %lo(D_802A3514_7994D4) -/* 797700 802A1740 00681021 */ addu $v0, $v1, $t0 -/* 797704 802A1744 AE760000 */ sw $s6, ($s3) -/* 797708 802A1748 8C420000 */ lw $v0, ($v0) -/* 79770C 802A174C 1C400009 */ bgtz $v0, .L802A1774 -/* 797710 802A1750 E7B40010 */ swc1 $f20, 0x10($sp) -/* 797714 802A1754 E7B40014 */ swc1 $f20, 0x14($sp) -/* 797718 802A1758 E7B60018 */ swc1 $f22, 0x18($sp) -/* 79771C 802A175C AFB7001C */ sw $s7, 0x1c($sp) -/* 797720 802A1760 AFB60020 */ sw $s6, 0x20($sp) -/* 797724 802A1764 8E050010 */ lw $a1, 0x10($s0) -/* 797728 802A1768 8E060014 */ lw $a2, 0x14($s0) -/* 79772C 802A176C 080A85E4 */ j .L802A1790 -/* 797730 802A1770 8E070018 */ lw $a3, 0x18($s0) -.L802A1774: -/* 797734 802A1774 E7B40014 */ swc1 $f20, 0x14($sp) -/* 797738 802A1778 E7B60018 */ swc1 $f22, 0x18($sp) -/* 79773C 802A177C AFB7001C */ sw $s7, 0x1c($sp) -/* 797740 802A1780 AFB60020 */ sw $s6, 0x20($sp) -/* 797744 802A1784 8E050004 */ lw $a1, 4($s0) -/* 797748 802A1788 8E060008 */ lw $a2, 8($s0) -/* 79774C 802A178C 8E07000C */ lw $a3, 0xc($s0) -.L802A1790: -/* 797750 802A1790 0C01C8D4 */ jal fx_misc_particles -/* 797754 802A1794 24040004 */ addiu $a0, $zero, 4 -.L802A1798: -/* 797758 802A1798 26730004 */ addiu $s3, $s3, 4 -.L802A179C: -/* 79775C 802A179C 26520001 */ addiu $s2, $s2, 1 -/* 797760 802A17A0 2A420008 */ slti $v0, $s2, 8 -/* 797764 802A17A4 1440FFD8 */ bnez $v0, .L802A1708 -/* 797768 802A17A8 2694001C */ addiu $s4, $s4, 0x1c -/* 79776C 802A17AC 080A8623 */ j .L802A188C -/* 797770 802A17B0 00000000 */ nop -.L802A17B4: -/* 797774 802A17B4 24160014 */ addiu $s6, $zero, 0x14 -/* 797778 802A17B8 2417000A */ addiu $s7, $zero, 0xa -/* 79777C 802A17BC 3C13802A */ lui $s3, %hi(D_802A37F8) -/* 797780 802A17C0 267337F8 */ addiu $s3, $s3, %lo(D_802A37F8) -/* 797784 802A17C4 3C0141A0 */ lui $at, 0x41a0 -/* 797788 802A17C8 4481A000 */ mtc1 $at, $f20 -/* 79778C 802A17CC 3C02802A */ lui $v0, %hi(D_802A37F0) -/* 797790 802A17D0 8C4237F0 */ lw $v0, %lo(D_802A37F0)($v0) -/* 797794 802A17D4 3C013F80 */ lui $at, 0x3f80 -/* 797798 802A17D8 4481B000 */ mtc1 $at, $f22 -/* 79779C 802A17DC 8C42000C */ lw $v0, 0xc($v0) -/* 7977A0 802A17E0 2414005C */ addiu $s4, $zero, 0x5c -/* 7977A4 802A17E4 AFA20028 */ sw $v0, 0x28($sp) -.L802A17E8: -/* 7977A8 802A17E8 8FC20078 */ lw $v0, 0x78($fp) -/* 7977AC 802A17EC 14400003 */ bnez $v0, .L802A17FC -/* 7977B0 802A17F0 00121880 */ sll $v1, $s2, 2 -/* 7977B4 802A17F4 52400021 */ beql $s2, $zero, .L802A187C -/* 7977B8 802A17F8 26730004 */ addiu $s3, $s3, 4 -.L802A17FC: -/* 7977BC 802A17FC 8FA80028 */ lw $t0, 0x28($sp) -/* 7977C0 802A1800 8E620000 */ lw $v0, ($s3) -/* 7977C4 802A1804 10400004 */ beqz $v0, .L802A1818 -/* 7977C8 802A1808 01148021 */ addu $s0, $t0, $s4 -/* 7977CC 802A180C 2442FFFF */ addiu $v0, $v0, -1 -/* 7977D0 802A1810 080A861E */ j .L802A1878 -/* 7977D4 802A1814 AE620000 */ sw $v0, ($s3) -.L802A1818: -/* 7977D8 802A1818 3C08802A */ lui $t0, %hi(D_802A3534_7994F4) -/* 7977DC 802A181C 25083534 */ addiu $t0, $t0, %lo(D_802A3534_7994F4) -/* 7977E0 802A1820 00681021 */ addu $v0, $v1, $t0 -/* 7977E4 802A1824 AE760000 */ sw $s6, ($s3) -/* 7977E8 802A1828 8C420000 */ lw $v0, ($v0) -/* 7977EC 802A182C 1C400009 */ bgtz $v0, .L802A1854 -/* 7977F0 802A1830 E7B40010 */ swc1 $f20, 0x10($sp) -/* 7977F4 802A1834 E7B40014 */ swc1 $f20, 0x14($sp) -/* 7977F8 802A1838 E7B60018 */ swc1 $f22, 0x18($sp) -/* 7977FC 802A183C AFB7001C */ sw $s7, 0x1c($sp) -/* 797800 802A1840 AFB60020 */ sw $s6, 0x20($sp) -/* 797804 802A1844 8E050010 */ lw $a1, 0x10($s0) -/* 797808 802A1848 8E060014 */ lw $a2, 0x14($s0) -/* 79780C 802A184C 080A861C */ j .L802A1870 -/* 797810 802A1850 8E070018 */ lw $a3, 0x18($s0) -.L802A1854: -/* 797814 802A1854 E7B40014 */ swc1 $f20, 0x14($sp) -/* 797818 802A1858 E7B60018 */ swc1 $f22, 0x18($sp) -/* 79781C 802A185C AFB7001C */ sw $s7, 0x1c($sp) -/* 797820 802A1860 AFB60020 */ sw $s6, 0x20($sp) -/* 797824 802A1864 8E050004 */ lw $a1, 4($s0) -/* 797828 802A1868 8E060008 */ lw $a2, 8($s0) -/* 79782C 802A186C 8E07000C */ lw $a3, 0xc($s0) -.L802A1870: -/* 797830 802A1870 0C01C8D4 */ jal fx_misc_particles -/* 797834 802A1874 24040004 */ addiu $a0, $zero, 4 -.L802A1878: -/* 797838 802A1878 26730004 */ addiu $s3, $s3, 4 -.L802A187C: -/* 79783C 802A187C 26520001 */ addiu $s2, $s2, 1 -/* 797840 802A1880 2A420008 */ slti $v0, $s2, 8 -/* 797844 802A1884 1440FFD8 */ bnez $v0, .L802A17E8 -/* 797848 802A1888 2694001C */ addiu $s4, $s4, 0x1c -.L802A188C: -/* 79784C 802A188C 8FC30070 */ lw $v1, 0x70($fp) -.L802A1890: -/* 797850 802A1890 2C620016 */ sltiu $v0, $v1, 0x16 -.L802A1894: -/* 797854 802A1894 104002E1 */ beqz $v0, .L802A241C_7983DC -/* 797858 802A1898 00031080 */ sll $v0, $v1, 2 -/* 79785C 802A189C 3C01802A */ lui $at, %hi(jtbl_802A3790_79BF40) -/* 797860 802A18A0 00220821 */ addu $at, $at, $v0 -/* 797864 802A18A4 8C223790 */ lw $v0, %lo(jtbl_802A3790_79BF40)($at) -/* 797868 802A18A8 00400008 */ jr $v0 -/* 79786C 802A18AC 00000000 */ nop -.L802A18B0_797870: -/* 797870 802A18B0 C6B40144 */ lwc1 $f20, 0x144($s5) -/* 797874 802A18B4 C6BE014C */ lwc1 $f30, 0x14c($s5) -/* 797878 802A18B8 92A20191 */ lbu $v0, 0x191($s5) -/* 79787C 802A18BC C6A20148 */ lwc1 $f2, 0x148($s5) -/* 797880 802A18C0 3C0141F0 */ lui $at, 0x41f0 -/* 797884 802A18C4 44812000 */ mtc1 $at, $f4 -/* 797888 802A18C8 44820000 */ mtc1 $v0, $f0 -/* 79788C 802A18CC 00000000 */ nop -/* 797890 802A18D0 46800020 */ cvt.s.w $f0, $f0 -/* 797894 802A18D4 46001080 */ add.s $f2, $f2, $f0 -/* 797898 802A18D8 3C014316 */ lui $at, 0x4316 -/* 79789C 802A18DC 44810000 */ mtc1 $at, $f0 -/* 7978A0 802A18E0 E6340000 */ swc1 $f20, ($s1) -/* 7978A4 802A18E4 46041580 */ add.s $f22, $f2, $f4 -/* 7978A8 802A18E8 E63E0008 */ swc1 $f30, 8($s1) -/* 7978AC 802A18EC E634000C */ swc1 $f20, 0xc($s1) -/* 7978B0 802A18F0 4600B000 */ add.s $f0, $f22, $f0 -/* 7978B4 802A18F4 E63E0014 */ swc1 $f30, 0x14($s1) -/* 7978B8 802A18F8 E6360010 */ swc1 $f22, 0x10($s1) -/* 7978BC 802A18FC E6200004 */ swc1 $f0, 4($s1) -/* 7978C0 802A1900 8FC20078 */ lw $v0, 0x78($fp) -/* 7978C4 802A1904 54400008 */ bnel $v0, $zero, .L802A1928 -/* 7978C8 802A1908 24040001 */ addiu $a0, $zero, 1 -/* 7978CC 802A190C 4405A000 */ mfc1 $a1, $f20 -/* 7978D0 802A1910 4406B000 */ mfc1 $a2, $f22 -/* 7978D4 802A1914 4407F000 */ mfc1 $a3, $f30 -/* 7978D8 802A1918 3C013F80 */ lui $at, 0x3f80 -/* 7978DC 802A191C 44810000 */ mtc1 $at, $f0 -/* 7978E0 802A1920 080A864F */ j .L802A193C -/* 7978E4 802A1924 0000202D */ daddu $a0, $zero, $zero -.L802A1928: -/* 7978E8 802A1928 4405A000 */ mfc1 $a1, $f20 -/* 7978EC 802A192C 4406B000 */ mfc1 $a2, $f22 -/* 7978F0 802A1930 4407F000 */ mfc1 $a3, $f30 -/* 7978F4 802A1934 3C013F80 */ lui $at, 0x3f80 -/* 7978F8 802A1938 44810000 */ mtc1 $at, $f0 -.L802A193C: -/* 7978FC 802A193C AFA00014 */ sw $zero, 0x14($sp) -/* 797900 802A1940 0C01C964 */ jal fx_peach_star_beam -/* 797904 802A1944 E7A00010 */ swc1 $f0, 0x10($sp) -/* 797908 802A1948 3C01802A */ lui $at, %hi(D_802A37F0) -/* 79790C 802A194C AC2237F0 */ sw $v0, %lo(D_802A37F0)($at) -/* 797910 802A1950 3C014240 */ lui $at, 0x4240 -/* 797914 802A1954 44810000 */ mtc1 $at, $f0 -/* 797918 802A1958 3C03802A */ lui $v1, %hi(D_802A37F0) -/* 79791C 802A195C 8C6337F0 */ lw $v1, %lo(D_802A37F0)($v1) -/* 797920 802A1960 E620004C */ swc1 $f0, 0x4c($s1) -/* 797924 802A1964 8C62000C */ lw $v0, 0xc($v1) -/* 797928 802A1968 AC40003C */ sw $zero, 0x3c($v0) -/* 79792C 802A196C 8C62000C */ lw $v0, 0xc($v1) -/* 797930 802A1970 C620004C */ lwc1 $f0, 0x4c($s1) -/* 797934 802A1974 E4400048 */ swc1 $f0, 0x48($v0) -/* 797938 802A1978 8C62000C */ lw $v0, 0xc($v1) -/* 79793C 802A197C 3C0141F0 */ lui $at, 0x41f0 -/* 797940 802A1980 44810000 */ mtc1 $at, $f0 -/* 797944 802A1984 AC400024 */ sw $zero, 0x24($v0) -/* 797948 802A1988 8C62000C */ lw $v0, 0xc($v1) -/* 79794C 802A198C 0000902D */ daddu $s2, $zero, $zero -/* 797950 802A1990 E4400058 */ swc1 $f0, 0x58($v0) -/* 797954 802A1994 8C62000C */ lw $v0, 0xc($v1) -/* 797958 802A1998 3C0140A0 */ lui $at, 0x40a0 -/* 79795C 802A199C 44810000 */ mtc1 $at, $f0 -/* 797960 802A19A0 3C10802A */ lui $s0, %hi(D_802A37F8) -/* 797964 802A19A4 261037F8 */ addiu $s0, $s0, %lo(D_802A37F8) -/* 797968 802A19A8 E4400040 */ swc1 $f0, 0x40($v0) -.L802A19AC: -/* 79796C 802A19AC 0C00A67F */ jal rand_int -/* 797970 802A19B0 24040014 */ addiu $a0, $zero, 0x14 -/* 797974 802A19B4 AE020000 */ sw $v0, ($s0) -/* 797978 802A19B8 26520001 */ addiu $s2, $s2, 1 -/* 79797C 802A19BC 2A420008 */ slti $v0, $s2, 8 -/* 797980 802A19C0 1440FFFA */ bnez $v0, .L802A19AC -/* 797984 802A19C4 26100004 */ addiu $s0, $s0, 4 -/* 797988 802A19C8 8FC30078 */ lw $v1, 0x78($fp) -/* 79798C 802A19CC 24020028 */ addiu $v0, $zero, 0x28 -/* 797990 802A19D0 14600004 */ bnez $v1, .L802A19E4 -/* 797994 802A19D4 AFC20074 */ sw $v0, 0x74($fp) -/* 797998 802A19D8 3C048000 */ lui $a0, 0x8000 -/* 79799C 802A19DC 080A867B */ j .L802A19EC -/* 7979A0 802A19E0 34840068 */ ori $a0, $a0, 0x68 -.L802A19E4: -/* 7979A4 802A19E4 3C048000 */ lui $a0, 0x8000 -/* 7979A8 802A19E8 34840069 */ ori $a0, $a0, 0x69 -.L802A19EC: -/* 7979AC 802A19EC 0C05272D */ jal sfx_play_sound -/* 7979B0 802A19F0 00000000 */ nop -/* 7979B4 802A19F4 24020001 */ addiu $v0, $zero, 1 -/* 7979B8 802A19F8 080A8907 */ j .L802A241C_7983DC -/* 7979BC 802A19FC AFC20070 */ sw $v0, 0x70($fp) -.L802A1A00_7979C0: -/* 7979C0 802A1A00 C6200010 */ lwc1 $f0, 0x10($s1) -/* 7979C4 802A1A04 C6240004 */ lwc1 $f4, 4($s1) -/* 7979C8 802A1A08 46040001 */ sub.s $f0, $f0, $f4 -/* 7979CC 802A1A0C 3C014120 */ lui $at, 0x4120 -/* 7979D0 802A1A10 44811000 */ mtc1 $at, $f2 -/* 7979D4 802A1A14 3C03802A */ lui $v1, %hi(D_802A37F0) -/* 7979D8 802A1A18 8C6337F0 */ lw $v1, %lo(D_802A37F0)($v1) -/* 7979DC 802A1A1C 46020003 */ div.s $f0, $f0, $f2 -/* 7979E0 802A1A20 46002100 */ add.s $f4, $f4, $f0 -/* 7979E4 802A1A24 C6200000 */ lwc1 $f0, ($s1) -/* 7979E8 802A1A28 E6240004 */ swc1 $f4, 4($s1) -/* 7979EC 802A1A2C 8C62000C */ lw $v0, 0xc($v1) -/* 7979F0 802A1A30 E440004C */ swc1 $f0, 0x4c($v0) -/* 7979F4 802A1A34 8C62000C */ lw $v0, 0xc($v1) -/* 7979F8 802A1A38 C6200004 */ lwc1 $f0, 4($s1) -/* 7979FC 802A1A3C E4400050 */ swc1 $f0, 0x50($v0) -/* 797A00 802A1A40 8C62000C */ lw $v0, 0xc($v1) -/* 797A04 802A1A44 C6200008 */ lwc1 $f0, 8($s1) -/* 797A08 802A1A48 E4400054 */ swc1 $f0, 0x54($v0) -/* 797A0C 802A1A4C 8C62000C */ lw $v0, 0xc($v1) -/* 797A10 802A1A50 AC40003C */ sw $zero, 0x3c($v0) -/* 797A14 802A1A54 8C62000C */ lw $v0, 0xc($v1) -/* 797A18 802A1A58 C620004C */ lwc1 $f0, 0x4c($s1) -/* 797A1C 802A1A5C E4400048 */ swc1 $f0, 0x48($v0) -/* 797A20 802A1A60 8C62000C */ lw $v0, 0xc($v1) -/* 797A24 802A1A64 AC400024 */ sw $zero, 0x24($v0) -/* 797A28 802A1A68 8FC20074 */ lw $v0, 0x74($fp) -/* 797A2C 802A1A6C 14400177 */ bnez $v0, .L802A204C -/* 797A30 802A1A70 2442FFFF */ addiu $v0, $v0, -1 -/* 797A34 802A1A74 24020014 */ addiu $v0, $zero, 0x14 -/* 797A38 802A1A78 AFC20074 */ sw $v0, 0x74($fp) -/* 797A3C 802A1A7C 24020002 */ addiu $v0, $zero, 2 -/* 797A40 802A1A80 080A8907 */ j .L802A241C_7983DC -/* 797A44 802A1A84 AFC20070 */ sw $v0, 0x70($fp) -.L802A1A88_797A48: -/* 797A48 802A1A88 8FC20074 */ lw $v0, 0x74($fp) -/* 797A4C 802A1A8C 1440016F */ bnez $v0, .L802A204C -/* 797A50 802A1A90 2442FFFF */ addiu $v0, $v0, -1 -/* 797A54 802A1A94 0C093903 */ jal btl_cam_use_preset -/* 797A58 802A1A98 24040002 */ addiu $a0, $zero, 2 -/* 797A5C 802A1A9C 0C093936 */ jal btl_cam_move -/* 797A60 802A1AA0 2404000A */ addiu $a0, $zero, 0xa -/* 797A64 802A1AA4 2402000F */ addiu $v0, $zero, 0xf -/* 797A68 802A1AA8 AFC20074 */ sw $v0, 0x74($fp) -/* 797A6C 802A1AAC 24020003 */ addiu $v0, $zero, 3 -/* 797A70 802A1AB0 080A8907 */ j .L802A241C_7983DC -/* 797A74 802A1AB4 AFC20070 */ sw $v0, 0x70($fp) -.L802A1AB8_797A78: -/* 797A78 802A1AB8 C624004C */ lwc1 $f4, 0x4c($s1) -/* 797A7C 802A1ABC 3C0141C0 */ lui $at, 0x41c0 -/* 797A80 802A1AC0 44810000 */ mtc1 $at, $f0 -/* 797A84 802A1AC4 00000000 */ nop -/* 797A88 802A1AC8 46040001 */ sub.s $f0, $f0, $f4 -/* 797A8C 802A1ACC 3C013E00 */ lui $at, 0x3e00 -/* 797A90 802A1AD0 44811000 */ mtc1 $at, $f2 -/* 797A94 802A1AD4 00000000 */ nop -/* 797A98 802A1AD8 46020002 */ mul.s $f0, $f0, $f2 -/* 797A9C 802A1ADC 00000000 */ nop -/* 797AA0 802A1AE0 46002100 */ add.s $f4, $f4, $f0 -/* 797AA4 802A1AE4 3C02802A */ lui $v0, %hi(D_802A37F0) -/* 797AA8 802A1AE8 8C4237F0 */ lw $v0, %lo(D_802A37F0)($v0) -/* 797AAC 802A1AEC E624004C */ swc1 $f4, 0x4c($s1) -/* 797AB0 802A1AF0 8C42000C */ lw $v0, 0xc($v0) -/* 797AB4 802A1AF4 E4440048 */ swc1 $f4, 0x48($v0) -/* 797AB8 802A1AF8 8FC20074 */ lw $v0, 0x74($fp) -/* 797ABC 802A1AFC 54400153 */ bnel $v0, $zero, .L802A204C -/* 797AC0 802A1B00 2442FFFF */ addiu $v0, $v0, -1 -/* 797AC4 802A1B04 2403001E */ addiu $v1, $zero, 0x1e -/* 797AC8 802A1B08 24120007 */ addiu $s2, $zero, 7 -/* 797ACC 802A1B0C 3C02802A */ lui $v0, %hi(D_802A3834) -/* 797AD0 802A1B10 24423834 */ addiu $v0, $v0, %lo(D_802A3834) -/* 797AD4 802A1B14 E63C000C */ swc1 $f28, 0xc($s1) -/* 797AD8 802A1B18 E6380010 */ swc1 $f24, 0x10($s1) -/* 797ADC 802A1B1C E63A0014 */ swc1 $f26, 0x14($s1) -.L802A1B20: -/* 797AE0 802A1B20 AC430000 */ sw $v1, ($v0) -/* 797AE4 802A1B24 2652FFFF */ addiu $s2, $s2, -1 -/* 797AE8 802A1B28 0641FFFD */ bgez $s2, .L802A1B20 -/* 797AEC 802A1B2C 2442FFFC */ addiu $v0, $v0, -4 -/* 797AF0 802A1B30 8FC20078 */ lw $v0, 0x78($fp) -/* 797AF4 802A1B34 14400002 */ bnez $v0, .L802A1B40 -/* 797AF8 802A1B38 24040649 */ addiu $a0, $zero, 0x649 -/* 797AFC 802A1B3C 24040648 */ addiu $a0, $zero, 0x648 -.L802A1B40: -/* 797B00 802A1B40 0C05272D */ jal sfx_play_sound -/* 797B04 802A1B44 00000000 */ nop -/* 797B08 802A1B48 24020004 */ addiu $v0, $zero, 4 -/* 797B0C 802A1B4C 080A8907 */ j .L802A241C_7983DC -/* 797B10 802A1B50 AFC20070 */ sw $v0, 0x70($fp) -.L802A1B54_797B14: -/* 797B14 802A1B54 C624004C */ lwc1 $f4, 0x4c($s1) -/* 797B18 802A1B58 3C014240 */ lui $at, 0x4240 -/* 797B1C 802A1B5C 44811000 */ mtc1 $at, $f2 -/* 797B20 802A1B60 00000000 */ nop -/* 797B24 802A1B64 46041081 */ sub.s $f2, $f2, $f4 -/* 797B28 802A1B68 3C013E80 */ lui $at, 0x3e80 -/* 797B2C 802A1B6C 44810000 */ mtc1 $at, $f0 -/* 797B30 802A1B70 00000000 */ nop -/* 797B34 802A1B74 46001082 */ mul.s $f2, $f2, $f0 -/* 797B38 802A1B78 00000000 */ nop -/* 797B3C 802A1B7C 0000B82D */ daddu $s7, $zero, $zero -/* 797B40 802A1B80 02E0902D */ daddu $s2, $s7, $zero -/* 797B44 802A1B84 3C13802A */ lui $s3, %hi(D_802A3818) -/* 797B48 802A1B88 26733818 */ addiu $s3, $s3, %lo(D_802A3818) -/* 797B4C 802A1B8C 0260A82D */ daddu $s5, $s3, $zero -/* 797B50 802A1B90 46022100 */ add.s $f4, $f4, $f2 -/* 797B54 802A1B94 3C02802A */ lui $v0, %hi(D_802A37F0) -/* 797B58 802A1B98 8C4237F0 */ lw $v0, %lo(D_802A37F0)($v0) -/* 797B5C 802A1B9C 02E0A02D */ daddu $s4, $s7, $zero -/* 797B60 802A1BA0 E624004C */ swc1 $f4, 0x4c($s1) -/* 797B64 802A1BA4 8C42000C */ lw $v0, 0xc($v0) -/* 797B68 802A1BA8 3C10802A */ lui $s0, %hi(D_802A3514_7994D4) -/* 797B6C 802A1BAC 26103514 */ addiu $s0, $s0, %lo(D_802A3514_7994D4) -/* 797B70 802A1BB0 E4440048 */ swc1 $f4, 0x48($v0) -.L802A1BB4: -/* 797B74 802A1BB4 5240004F */ beql $s2, $zero, .L802A1CF4 -/* 797B78 802A1BB8 26730004 */ addiu $s3, $s3, 4 -/* 797B7C 802A1BBC 8E020000 */ lw $v0, ($s0) -/* 797B80 802A1BC0 04410013 */ bgez $v0, .L802A1C10 -/* 797B84 802A1BC4 00000000 */ nop -/* 797B88 802A1BC8 C6340000 */ lwc1 $f20, ($s1) -/* 797B8C 802A1BCC C638000C */ lwc1 $f24, 0xc($s1) -/* 797B90 802A1BD0 C6360004 */ lwc1 $f22, 4($s1) -/* 797B94 802A1BD4 4614C181 */ sub.s $f6, $f24, $f20 -/* 797B98 802A1BD8 C63C0010 */ lwc1 $f28, 0x10($s1) -/* 797B9C 802A1BDC C63E0008 */ lwc1 $f30, 8($s1) -/* 797BA0 802A1BE0 4616E001 */ sub.s $f0, $f28, $f22 -/* 797BA4 802A1BE4 C63A0014 */ lwc1 $f26, 0x14($s1) -/* 797BA8 802A1BE8 461ED081 */ sub.s $f2, $f26, $f30 -/* 797BAC 802A1BEC 4606A180 */ add.s $f6, $f20, $f6 -/* 797BB0 802A1BF0 4600B106 */ mov.s $f4, $f22 -/* 797BB4 802A1BF4 46002100 */ add.s $f4, $f4, $f0 -/* 797BB8 802A1BF8 4600F006 */ mov.s $f0, $f30 -/* 797BBC 802A1BFC 46020000 */ add.s $f0, $f0, $f2 -/* 797BC0 802A1C00 E6260000 */ swc1 $f6, ($s1) -/* 797BC4 802A1C04 E6240004 */ swc1 $f4, 4($s1) -/* 797BC8 802A1C08 080A873C */ j .L802A1CF0 -/* 797BCC 802A1C0C E6200008 */ swc1 $f0, 8($s1) -.L802A1C10: -/* 797BD0 802A1C10 10400004 */ beqz $v0, .L802A1C24 -/* 797BD4 802A1C14 24170001 */ addiu $s7, $zero, 1 -/* 797BD8 802A1C18 2442FFFF */ addiu $v0, $v0, -1 -/* 797BDC 802A1C1C 080A873C */ j .L802A1CF0 -/* 797BE0 802A1C20 AE020000 */ sw $v0, ($s0) -.L802A1C24: -/* 797BE4 802A1C24 C6340000 */ lwc1 $f20, ($s1) -/* 797BE8 802A1C28 C6360004 */ lwc1 $f22, 4($s1) -/* 797BEC 802A1C2C C63E0008 */ lwc1 $f30, 8($s1) -/* 797BF0 802A1C30 C638000C */ lwc1 $f24, 0xc($s1) -/* 797BF4 802A1C34 C63C0010 */ lwc1 $f28, 0x10($s1) -/* 797BF8 802A1C38 C63A0014 */ lwc1 $f26, 0x14($s1) -/* 797BFC 802A1C3C 4600A306 */ mov.s $f12, $f20 -/* 797C00 802A1C40 4406C000 */ mfc1 $a2, $f24 -/* 797C04 802A1C44 4407D000 */ mfc1 $a3, $f26 -/* 797C08 802A1C48 0C00A7B5 */ jal dist2D -/* 797C0C 802A1C4C 4600F386 */ mov.s $f14, $f30 -/* 797C10 802A1C50 02951021 */ addu $v0, $s4, $s5 -/* 797C14 802A1C54 4614C101 */ sub.s $f4, $f24, $f20 -/* 797C18 802A1C58 C4460000 */ lwc1 $f6, ($v0) -/* 797C1C 802A1C5C 468031A0 */ cvt.s.w $f6, $f6 -/* 797C20 802A1C60 C6220000 */ lwc1 $f2, ($s1) -/* 797C24 802A1C64 46062103 */ div.s $f4, $f4, $f6 -/* 797C28 802A1C68 46041080 */ add.s $f2, $f2, $f4 -/* 797C2C 802A1C6C 4616E101 */ sub.s $f4, $f28, $f22 -/* 797C30 802A1C70 E6220000 */ swc1 $f2, ($s1) -/* 797C34 802A1C74 C4460000 */ lwc1 $f6, ($v0) -/* 797C38 802A1C78 468031A0 */ cvt.s.w $f6, $f6 -/* 797C3C 802A1C7C C6220004 */ lwc1 $f2, 4($s1) -/* 797C40 802A1C80 46062103 */ div.s $f4, $f4, $f6 -/* 797C44 802A1C84 46041080 */ add.s $f2, $f2, $f4 -/* 797C48 802A1C88 461ED101 */ sub.s $f4, $f26, $f30 -/* 797C4C 802A1C8C E6220004 */ swc1 $f2, 4($s1) -/* 797C50 802A1C90 C4460000 */ lwc1 $f6, ($v0) -/* 797C54 802A1C94 468031A0 */ cvt.s.w $f6, $f6 -/* 797C58 802A1C98 C6220008 */ lwc1 $f2, 8($s1) -/* 797C5C 802A1C9C 46062103 */ div.s $f4, $f4, $f6 -/* 797C60 802A1CA0 46041080 */ add.s $f2, $f2, $f4 -/* 797C64 802A1CA4 E6220008 */ swc1 $f2, 8($s1) -/* 797C68 802A1CA8 8C420000 */ lw $v0, ($v0) -/* 797C6C 802A1CAC 14570007 */ bne $v0, $s7, .L802A1CCC -/* 797C70 802A1CB0 46000106 */ mov.s $f4, $f0 -/* 797C74 802A1CB4 2402FFFF */ addiu $v0, $zero, -1 -/* 797C78 802A1CB8 AE020000 */ sw $v0, ($s0) -/* 797C7C 802A1CBC E6380000 */ swc1 $f24, ($s1) -/* 797C80 802A1CC0 E63C0004 */ swc1 $f28, 4($s1) -/* 797C84 802A1CC4 080A8739 */ j .L802A1CE4 -/* 797C88 802A1CC8 E63A0008 */ swc1 $f26, 8($s1) -.L802A1CCC: -/* 797C8C 802A1CCC 3C014270 */ lui $at, 0x4270 -/* 797C90 802A1CD0 44810000 */ mtc1 $at, $f0 -/* 797C94 802A1CD4 C6220004 */ lwc1 $f2, 4($s1) -/* 797C98 802A1CD8 46002003 */ div.s $f0, $f4, $f0 -/* 797C9C 802A1CDC 46001080 */ add.s $f2, $f2, $f0 -/* 797CA0 802A1CE0 E6220004 */ swc1 $f2, 4($s1) -.L802A1CE4: -/* 797CA4 802A1CE4 8E620000 */ lw $v0, ($s3) -/* 797CA8 802A1CE8 2442FFFF */ addiu $v0, $v0, -1 -/* 797CAC 802A1CEC AE620000 */ sw $v0, ($s3) -.L802A1CF0: -/* 797CB0 802A1CF0 26730004 */ addiu $s3, $s3, 4 -.L802A1CF4: -/* 797CB4 802A1CF4 26940004 */ addiu $s4, $s4, 4 -/* 797CB8 802A1CF8 26520001 */ addiu $s2, $s2, 1 -/* 797CBC 802A1CFC 2A420002 */ slti $v0, $s2, 2 -/* 797CC0 802A1D00 1440FFAC */ bnez $v0, .L802A1BB4 -/* 797CC4 802A1D04 26100004 */ addiu $s0, $s0, 4 -/* 797CC8 802A1D08 3C03802A */ lui $v1, %hi(D_802A37F0) -/* 797CCC 802A1D0C 8C6337F0 */ lw $v1, %lo(D_802A37F0)($v1) -/* 797CD0 802A1D10 C6200000 */ lwc1 $f0, ($s1) -/* 797CD4 802A1D14 8C62000C */ lw $v0, 0xc($v1) -/* 797CD8 802A1D18 E440004C */ swc1 $f0, 0x4c($v0) -/* 797CDC 802A1D1C 8C62000C */ lw $v0, 0xc($v1) -/* 797CE0 802A1D20 C6200004 */ lwc1 $f0, 4($s1) -/* 797CE4 802A1D24 E4400050 */ swc1 $f0, 0x50($v0) -/* 797CE8 802A1D28 8C62000C */ lw $v0, 0xc($v1) -/* 797CEC 802A1D2C C6200008 */ lwc1 $f0, 8($s1) -/* 797CF0 802A1D30 E4400054 */ swc1 $f0, 0x54($v0) -/* 797CF4 802A1D34 8C62000C */ lw $v0, 0xc($v1) -/* 797CF8 802A1D38 C6200000 */ lwc1 $f0, ($s1) -/* 797CFC 802A1D3C E4400004 */ swc1 $f0, 4($v0) -/* 797D00 802A1D40 8C62000C */ lw $v0, 0xc($v1) -/* 797D04 802A1D44 AC400008 */ sw $zero, 8($v0) -/* 797D08 802A1D48 8C62000C */ lw $v0, 0xc($v1) -/* 797D0C 802A1D4C C6200008 */ lwc1 $f0, 8($s1) -/* 797D10 802A1D50 16E001B2 */ bnez $s7, .L802A241C_7983DC -/* 797D14 802A1D54 E440000C */ swc1 $f0, 0xc($v0) -/* 797D18 802A1D58 C620000C */ lwc1 $f0, 0xc($s1) -/* 797D1C 802A1D5C C6220010 */ lwc1 $f2, 0x10($s1) -/* 797D20 802A1D60 C6240014 */ lwc1 $f4, 0x14($s1) -/* 797D24 802A1D64 E6200000 */ swc1 $f0, ($s1) -/* 797D28 802A1D68 E6220004 */ swc1 $f2, 4($s1) -/* 797D2C 802A1D6C E6240008 */ swc1 $f4, 8($s1) -/* 797D30 802A1D70 8C62000C */ lw $v0, 0xc($v1) -/* 797D34 802A1D74 E440004C */ swc1 $f0, 0x4c($v0) -/* 797D38 802A1D78 8C62000C */ lw $v0, 0xc($v1) -/* 797D3C 802A1D7C C6200004 */ lwc1 $f0, 4($s1) -/* 797D40 802A1D80 E4400050 */ swc1 $f0, 0x50($v0) -/* 797D44 802A1D84 8C62000C */ lw $v0, 0xc($v1) -/* 797D48 802A1D88 C6200008 */ lwc1 $f0, 8($s1) -/* 797D4C 802A1D8C 0000902D */ daddu $s2, $zero, $zero -/* 797D50 802A1D90 E4400054 */ swc1 $f0, 0x54($v0) -/* 797D54 802A1D94 8C62000C */ lw $v0, 0xc($v1) -/* 797D58 802A1D98 C6200000 */ lwc1 $f0, ($s1) -/* 797D5C 802A1D9C 24070001 */ addiu $a3, $zero, 1 -/* 797D60 802A1DA0 E4400004 */ swc1 $f0, 4($v0) -/* 797D64 802A1DA4 8C62000C */ lw $v0, 0xc($v1) -/* 797D68 802A1DA8 2406FFFD */ addiu $a2, $zero, -3 -/* 797D6C 802A1DAC AC400008 */ sw $zero, 8($v0) -/* 797D70 802A1DB0 8C62000C */ lw $v0, 0xc($v1) -/* 797D74 802A1DB4 C6200008 */ lwc1 $f0, 8($s1) -/* 797D78 802A1DB8 3C05802A */ lui $a1, %hi(D_802A3514_7994D4) -/* 797D7C 802A1DBC 24A53514 */ addiu $a1, $a1, %lo(D_802A3514_7994D4) -/* 797D80 802A1DC0 E440000C */ swc1 $f0, 0xc($v0) -/* 797D84 802A1DC4 8C63000C */ lw $v1, 0xc($v1) -/* 797D88 802A1DC8 2404005C */ addiu $a0, $zero, 0x5c -/* 797D8C 802A1DCC AFA30028 */ sw $v1, 0x28($sp) -.L802A1DD0: -/* 797D90 802A1DD0 8FC20078 */ lw $v0, 0x78($fp) -/* 797D94 802A1DD4 14400003 */ bnez $v0, .L802A1DE4 -/* 797D98 802A1DD8 00000000 */ nop -/* 797D9C 802A1DDC 52400008 */ beql $s2, $zero, .L802A1E00 -/* 797DA0 802A1DE0 24A50004 */ addiu $a1, $a1, 4 -.L802A1DE4: -/* 797DA4 802A1DE4 8FA80028 */ lw $t0, 0x28($sp) -/* 797DA8 802A1DE8 ACA70000 */ sw $a3, ($a1) -/* 797DAC 802A1DEC 01048021 */ addu $s0, $t0, $a0 -/* 797DB0 802A1DF0 8E020000 */ lw $v0, ($s0) -/* 797DB4 802A1DF4 00461024 */ and $v0, $v0, $a2 -/* 797DB8 802A1DF8 AE020000 */ sw $v0, ($s0) -/* 797DBC 802A1DFC 24A50004 */ addiu $a1, $a1, 4 -.L802A1E00: -/* 797DC0 802A1E00 26520001 */ addiu $s2, $s2, 1 -/* 797DC4 802A1E04 2A420008 */ slti $v0, $s2, 8 -/* 797DC8 802A1E08 1440FFF1 */ bnez $v0, .L802A1DD0 -/* 797DCC 802A1E0C 2484001C */ addiu $a0, $a0, 0x1c -/* 797DD0 802A1E10 0C093903 */ jal btl_cam_use_preset -/* 797DD4 802A1E14 24040003 */ addiu $a0, $zero, 3 -/* 797DD8 802A1E18 0C093936 */ jal btl_cam_move -/* 797DDC 802A1E1C 2404001E */ addiu $a0, $zero, 0x1e -/* 797DE0 802A1E20 2402000F */ addiu $v0, $zero, 0xf -/* 797DE4 802A1E24 AFC20074 */ sw $v0, 0x74($fp) -/* 797DE8 802A1E28 24020005 */ addiu $v0, $zero, 5 -/* 797DEC 802A1E2C 080A8907 */ j .L802A241C_7983DC -/* 797DF0 802A1E30 AFC20070 */ sw $v0, 0x70($fp) -.L802A1E34_797DF4: -/* 797DF4 802A1E34 8FC20074 */ lw $v0, 0x74($fp) -/* 797DF8 802A1E38 14400084 */ bnez $v0, .L802A204C -/* 797DFC 802A1E3C 2442FFFF */ addiu $v0, $v0, -1 -/* 797E00 802A1E40 3C05802A */ lui $a1, %hi(D_802A37F0) -/* 797E04 802A1E44 8CA537F0 */ lw $a1, %lo(D_802A37F0)($a1) -/* 797E08 802A1E48 A6200064 */ sh $zero, 0x64($s1) -/* 797E0C 802A1E4C 8CA2000C */ lw $v0, 0xc($a1) -/* 797E10 802A1E50 AC40003C */ sw $zero, 0x3c($v0) -/* 797E14 802A1E54 8CA2000C */ lw $v0, 0xc($a1) -/* 797E18 802A1E58 AC400024 */ sw $zero, 0x24($v0) -/* 797E1C 802A1E5C 8FC20078 */ lw $v0, 0x78($fp) -/* 797E20 802A1E60 1040000F */ beqz $v0, .L802A1EA0 -/* 797E24 802A1E64 240400F0 */ addiu $a0, $zero, 0xf0 -/* 797E28 802A1E68 8CA2000C */ lw $v0, 0xc($a1) -/* 797E2C 802A1E6C AC440018 */ sw $a0, 0x18($v0) -/* 797E30 802A1E70 8CA3000C */ lw $v1, 0xc($a1) -/* 797E34 802A1E74 24020050 */ addiu $v0, $zero, 0x50 -/* 797E38 802A1E78 AC62001C */ sw $v0, 0x1c($v1) -/* 797E3C 802A1E7C 8CA3000C */ lw $v1, 0xc($a1) -/* 797E40 802A1E80 240200C8 */ addiu $v0, $zero, 0xc8 -/* 797E44 802A1E84 AC620020 */ sw $v0, 0x20($v1) -/* 797E48 802A1E88 8CA2000C */ lw $v0, 0xc($a1) -/* 797E4C 802A1E8C AC440028 */ sw $a0, 0x28($v0) -/* 797E50 802A1E90 8CA2000C */ lw $v0, 0xc($a1) -/* 797E54 802A1E94 AC44002C */ sw $a0, 0x2c($v0) -/* 797E58 802A1E98 8CA2000C */ lw $v0, 0xc($a1) -/* 797E5C 802A1E9C AC440030 */ sw $a0, 0x30($v0) -.L802A1EA0: -/* 797E60 802A1EA0 3C04802A */ lui $a0, %hi(battle_star_star_beam_802A33A8) -/* 797E64 802A1EA4 248433A8 */ addiu $a0, $a0, %lo(battle_star_star_beam_802A33A8) -/* 797E68 802A1EA8 2405000A */ addiu $a1, $zero, 0xa -/* 797E6C 802A1EAC 0C0B0CF8 */ jal start_script -/* 797E70 802A1EB0 0000302D */ daddu $a2, $zero, $zero -/* 797E74 802A1EB4 C6200000 */ lwc1 $f0, ($s1) -/* 797E78 802A1EB8 3C013F00 */ lui $at, 0x3f00 -/* 797E7C 802A1EBC 44811000 */ mtc1 $at, $f2 -/* 797E80 802A1EC0 4600020D */ trunc.w.s $f8, $f0 -/* 797E84 802A1EC4 E4480084 */ swc1 $f8, 0x84($v0) -/* 797E88 802A1EC8 C6200004 */ lwc1 $f0, 4($s1) -/* 797E8C 802A1ECC 46020002 */ mul.s $f0, $f0, $f2 -/* 797E90 802A1ED0 00000000 */ nop -/* 797E94 802A1ED4 4600020D */ trunc.w.s $f8, $f0 -/* 797E98 802A1ED8 E4480088 */ swc1 $f8, 0x88($v0) -/* 797E9C 802A1EDC C6200008 */ lwc1 $f0, 8($s1) -/* 797EA0 802A1EE0 4600020D */ trunc.w.s $f8, $f0 -/* 797EA4 802A1EE4 E448008C */ swc1 $f8, 0x8c($v0) -/* 797EA8 802A1EE8 8FC30078 */ lw $v1, 0x78($fp) -/* 797EAC 802A1EEC AC4300AC */ sw $v1, 0xac($v0) -/* 797EB0 802A1EF0 0C05272D */ jal sfx_play_sound -/* 797EB4 802A1EF4 2404024A */ addiu $a0, $zero, 0x24a -/* 797EB8 802A1EF8 2402002D */ addiu $v0, $zero, 0x2d -/* 797EBC 802A1EFC AFC20074 */ sw $v0, 0x74($fp) -/* 797EC0 802A1F00 24020006 */ addiu $v0, $zero, 6 -/* 797EC4 802A1F04 080A8907 */ j .L802A241C_7983DC -/* 797EC8 802A1F08 AFC20070 */ sw $v0, 0x70($fp) -.L802A1F0C_797ECC: -/* 797ECC 802A1F0C 96220064 */ lhu $v0, 0x64($s1) -/* 797ED0 802A1F10 2442001E */ addiu $v0, $v0, 0x1e -/* 797ED4 802A1F14 A6220064 */ sh $v0, 0x64($s1) -/* 797ED8 802A1F18 00021400 */ sll $v0, $v0, 0x10 -/* 797EDC 802A1F1C 00021403 */ sra $v0, $v0, 0x10 -/* 797EE0 802A1F20 28420100 */ slti $v0, $v0, 0x100 -/* 797EE4 802A1F24 14400002 */ bnez $v0, .L802A1F30 -/* 797EE8 802A1F28 240200FF */ addiu $v0, $zero, 0xff -/* 797EEC 802A1F2C A6220064 */ sh $v0, 0x64($s1) -.L802A1F30: -/* 797EF0 802A1F30 3C04802A */ lui $a0, %hi(D_802A37F0) -/* 797EF4 802A1F34 8C8437F0 */ lw $a0, %lo(D_802A37F0)($a0) -/* 797EF8 802A1F38 86220064 */ lh $v0, 0x64($s1) -/* 797EFC 802A1F3C 8C83000C */ lw $v1, 0xc($a0) -/* 797F00 802A1F40 AC62003C */ sw $v0, 0x3c($v1) -/* 797F04 802A1F44 8C83000C */ lw $v1, 0xc($a0) -/* 797F08 802A1F48 86220064 */ lh $v0, 0x64($s1) -/* 797F0C 802A1F4C AC620024 */ sw $v0, 0x24($v1) -/* 797F10 802A1F50 8FC20074 */ lw $v0, 0x74($fp) -/* 797F14 802A1F54 1440003D */ bnez $v0, .L802A204C -/* 797F18 802A1F58 2442FFFF */ addiu $v0, $v0, -1 -/* 797F1C 802A1F5C 8FC20078 */ lw $v0, 0x78($fp) -/* 797F20 802A1F60 24030001 */ addiu $v1, $zero, 1 -/* 797F24 802A1F64 3C01802A */ lui $at, %hi(D_802A3838) -/* 797F28 802A1F68 AC233838 */ sw $v1, %lo(D_802A3838)($at) -/* 797F2C 802A1F6C 14400012 */ bnez $v0, .L802A1FB8 -/* 797F30 802A1F70 2402000F */ addiu $v0, $zero, 0xf -/* 797F34 802A1F74 82A2040C */ lb $v0, 0x40c($s5) -/* 797F38 802A1F78 1443000F */ bne $v0, $v1, .L802A1FB8 -/* 797F3C 802A1F7C 2402000F */ addiu $v0, $zero, 0xf -/* 797F40 802A1F80 86A40428 */ lh $a0, 0x428($s5) -/* 797F44 802A1F84 0C09A75B */ jal get_actor -/* 797F48 802A1F88 00000000 */ nop -/* 797F4C 802A1F8C 82A50426 */ lb $a1, 0x426($s5) -/* 797F50 802A1F90 0C099117 */ jal get_actor_part -/* 797F54 802A1F94 0040202D */ daddu $a0, $v0, $zero -/* 797F58 802A1F98 8C42007C */ lw $v0, 0x7c($v0) -/* 797F5C 802A1F9C 3C030008 */ lui $v1, 8 -/* 797F60 802A1FA0 00431024 */ and $v0, $v0, $v1 -/* 797F64 802A1FA4 10400003 */ beqz $v0, .L802A1FB4 -/* 797F68 802A1FA8 24020014 */ addiu $v0, $zero, 0x14 -/* 797F6C 802A1FAC 080A8907 */ j .L802A241C_7983DC -/* 797F70 802A1FB0 AFC20070 */ sw $v0, 0x70($fp) -.L802A1FB4: -/* 797F74 802A1FB4 2402000F */ addiu $v0, $zero, 0xf -.L802A1FB8: -/* 797F78 802A1FB8 AFC20074 */ sw $v0, 0x74($fp) -/* 797F7C 802A1FBC 24020007 */ addiu $v0, $zero, 7 -/* 797F80 802A1FC0 080A8907 */ j .L802A241C_7983DC -/* 797F84 802A1FC4 AFC20070 */ sw $v0, 0x70($fp) -.L802A1FC8_797F88: -/* 797F88 802A1FC8 8FC20074 */ lw $v0, 0x74($fp) -/* 797F8C 802A1FCC 1440001F */ bnez $v0, .L802A204C -/* 797F90 802A1FD0 2442FFFF */ addiu $v0, $v0, -1 -/* 797F94 802A1FD4 2402000A */ addiu $v0, $zero, 0xa -/* 797F98 802A1FD8 AFC20074 */ sw $v0, 0x74($fp) -/* 797F9C 802A1FDC 24020008 */ addiu $v0, $zero, 8 -/* 797FA0 802A1FE0 080A8907 */ j .L802A241C_7983DC -/* 797FA4 802A1FE4 AFC20070 */ sw $v0, 0x70($fp) -.L802A1FE8_797FA8: -/* 797FA8 802A1FE8 96220064 */ lhu $v0, 0x64($s1) -/* 797FAC 802A1FEC 2442FFE2 */ addiu $v0, $v0, -0x1e -/* 797FB0 802A1FF0 A6220064 */ sh $v0, 0x64($s1) -/* 797FB4 802A1FF4 00021400 */ sll $v0, $v0, 0x10 -/* 797FB8 802A1FF8 04420001 */ bltzl $v0, .L802A2000 -/* 797FBC 802A1FFC A6200064 */ sh $zero, 0x64($s1) -.L802A2000: -/* 797FC0 802A2000 3C04802A */ lui $a0, %hi(D_802A37F0) -/* 797FC4 802A2004 8C8437F0 */ lw $a0, %lo(D_802A37F0)($a0) -/* 797FC8 802A2008 86220064 */ lh $v0, 0x64($s1) -/* 797FCC 802A200C 8C83000C */ lw $v1, 0xc($a0) -/* 797FD0 802A2010 AC62003C */ sw $v0, 0x3c($v1) -/* 797FD4 802A2014 8C83000C */ lw $v1, 0xc($a0) -/* 797FD8 802A2018 86220064 */ lh $v0, 0x64($s1) -/* 797FDC 802A201C AC620024 */ sw $v0, 0x24($v1) -/* 797FE0 802A2020 8FC20074 */ lw $v0, 0x74($fp) -/* 797FE4 802A2024 14400009 */ bnez $v0, .L802A204C -/* 797FE8 802A2028 2442FFFF */ addiu $v0, $v0, -1 -/* 797FEC 802A202C 2402000A */ addiu $v0, $zero, 0xa -/* 797FF0 802A2030 AFC20074 */ sw $v0, 0x74($fp) -/* 797FF4 802A2034 24020009 */ addiu $v0, $zero, 9 -/* 797FF8 802A2038 080A8907 */ j .L802A241C_7983DC -/* 797FFC 802A203C AFC20070 */ sw $v0, 0x70($fp) -.L802A2040_798000: -/* 798000 802A2040 8FC20074 */ lw $v0, 0x74($fp) -/* 798004 802A2044 10400003 */ beqz $v0, .L802A2054 -/* 798008 802A2048 2442FFFF */ addiu $v0, $v0, -1 -.L802A204C: -/* 79800C 802A204C 080A8907 */ j .L802A241C_7983DC -/* 798010 802A2050 AFC20074 */ sw $v0, 0x74($fp) -.L802A2054: -/* 798014 802A2054 3C01432A */ lui $at, 0x432a -/* 798018 802A2058 44810000 */ mtc1 $at, $f0 -/* 79801C 802A205C 24020014 */ addiu $v0, $zero, 0x14 -/* 798020 802A2060 4600C000 */ add.s $f0, $f24, $f0 -/* 798024 802A2064 E63C000C */ swc1 $f28, 0xc($s1) -/* 798028 802A2068 E63A0014 */ swc1 $f26, 0x14($s1) -/* 79802C 802A206C E6200010 */ swc1 $f0, 0x10($s1) -/* 798030 802A2070 AFC20074 */ sw $v0, 0x74($fp) -/* 798034 802A2074 2402000A */ addiu $v0, $zero, 0xa -/* 798038 802A2078 080A8907 */ j .L802A241C_7983DC -/* 79803C 802A207C AFC20070 */ sw $v0, 0x70($fp) -.L802A2080_798040: -/* 798040 802A2080 8FC20074 */ lw $v0, 0x74($fp) -/* 798044 802A2084 10400010 */ beqz $v0, .L802A20C8 -/* 798048 802A2088 2442FFFF */ addiu $v0, $v0, -1 -/* 79804C 802A208C 1440000E */ bnez $v0, .L802A20C8 -/* 798050 802A2090 AFC20074 */ sw $v0, 0x74($fp) -/* 798054 802A2094 8FC20078 */ lw $v0, 0x78($fp) -/* 798058 802A2098 54400006 */ bnel $v0, $zero, .L802A20B4 -/* 79805C 802A209C 24040249 */ addiu $a0, $zero, 0x249 -/* 798060 802A20A0 24040248 */ addiu $a0, $zero, 0x248 -/* 798064 802A20A4 0C05269B */ jal func_80149A6C -/* 798068 802A20A8 24050001 */ addiu $a1, $zero, 1 -/* 79806C 802A20AC 080A8830 */ j .L802A20C0 -/* 798070 802A20B0 24040648 */ addiu $a0, $zero, 0x648 -.L802A20B4: -/* 798074 802A20B4 0C05269B */ jal func_80149A6C -/* 798078 802A20B8 24050001 */ addiu $a1, $zero, 1 -/* 79807C 802A20BC 24040649 */ addiu $a0, $zero, 0x649 -.L802A20C0: -/* 798080 802A20C0 0C05272D */ jal sfx_play_sound -/* 798084 802A20C4 00000000 */ nop -.L802A20C8: -/* 798088 802A20C8 0000B82D */ daddu $s7, $zero, $zero -/* 79808C 802A20CC 02E0902D */ daddu $s2, $s7, $zero -/* 798090 802A20D0 2405FFFF */ addiu $a1, $zero, -1 -/* 798094 802A20D4 3C03802A */ lui $v1, %hi(D_802A3534_7994F4) -/* 798098 802A20D8 24633534 */ addiu $v1, $v1, %lo(D_802A3534_7994F4) -/* 79809C 802A20DC 3C014120 */ lui $at, 0x4120 -/* 7980A0 802A20E0 44813000 */ mtc1 $at, $f6 -/* 7980A4 802A20E4 3C02802A */ lui $v0, %hi(D_802A37F0) -/* 7980A8 802A20E8 8C4237F0 */ lw $v0, %lo(D_802A37F0)($v0) -/* 7980AC 802A20EC 3C013FF0 */ lui $at, 0x3ff0 -/* 7980B0 802A20F0 44812800 */ mtc1 $at, $f5 -/* 7980B4 802A20F4 44802000 */ mtc1 $zero, $f4 -/* 7980B8 802A20F8 8C42000C */ lw $v0, 0xc($v0) -/* 7980BC 802A20FC 2404005C */ addiu $a0, $zero, 0x5c -/* 7980C0 802A2100 AFA20028 */ sw $v0, 0x28($sp) -.L802A2104: -/* 7980C4 802A2104 8FC20078 */ lw $v0, 0x78($fp) -/* 7980C8 802A2108 14400003 */ bnez $v0, .L802A2118 -/* 7980CC 802A210C 00000000 */ nop -/* 7980D0 802A2110 5240001C */ beql $s2, $zero, .L802A2184 -/* 7980D4 802A2114 24630004 */ addiu $v1, $v1, 4 -.L802A2118: -/* 7980D8 802A2118 8FA80028 */ lw $t0, 0x28($sp) -/* 7980DC 802A211C 8C620000 */ lw $v0, ($v1) -/* 7980E0 802A2120 04400017 */ bltz $v0, .L802A2180 -/* 7980E4 802A2124 01048021 */ addu $s0, $t0, $a0 -/* 7980E8 802A2128 10400004 */ beqz $v0, .L802A213C -/* 7980EC 802A212C 24170001 */ addiu $s7, $zero, 1 -/* 7980F0 802A2130 2442FFFF */ addiu $v0, $v0, -1 -/* 7980F4 802A2134 080A8860 */ j .L802A2180 -/* 7980F8 802A2138 AC620000 */ sw $v0, ($v1) -.L802A213C: -/* 7980FC 802A213C 8E020000 */ lw $v0, ($s0) -/* 798100 802A2140 C6160014 */ lwc1 $f22, 0x14($s0) -/* 798104 802A2144 34420002 */ ori $v0, $v0, 2 -/* 798108 802A2148 AE020000 */ sw $v0, ($s0) -/* 79810C 802A214C C6200010 */ lwc1 $f0, 0x10($s1) -/* 798110 802A2150 46160001 */ sub.s $f0, $f0, $f22 -/* 798114 802A2154 46060003 */ div.s $f0, $f0, $f6 -/* 798118 802A2158 4600B000 */ add.s $f0, $f22, $f0 -/* 79811C 802A215C E6000014 */ swc1 $f0, 0x14($s0) -/* 798120 802A2160 C6220010 */ lwc1 $f2, 0x10($s1) -/* 798124 802A2164 46020001 */ sub.s $f0, $f0, $f2 -/* 798128 802A2168 46000005 */ abs.s $f0, $f0 -/* 79812C 802A216C 46000021 */ cvt.d.s $f0, $f0 -/* 798130 802A2170 4624003C */ c.lt.d $f0, $f4 -/* 798134 802A2174 00000000 */ nop -/* 798138 802A2178 45030001 */ bc1tl .L802A2180 -/* 79813C 802A217C AC650000 */ sw $a1, ($v1) -.L802A2180: -/* 798140 802A2180 24630004 */ addiu $v1, $v1, 4 -.L802A2184: -/* 798144 802A2184 26520001 */ addiu $s2, $s2, 1 -/* 798148 802A2188 2A420008 */ slti $v0, $s2, 8 -/* 79814C 802A218C 1440FFDD */ bnez $v0, .L802A2104 -/* 798150 802A2190 2484001C */ addiu $a0, $a0, 0x1c -/* 798154 802A2194 080A88FB */ j .L802A23EC -/* 798158 802A2198 00000000 */ nop -.L802A219C_79815C: -/* 79815C 802A219C 3C02802A */ lui $v0, %hi(D_802A37F0) -/* 798160 802A21A0 8C4237F0 */ lw $v0, %lo(D_802A37F0)($v0) -/* 798164 802A21A4 2404000F */ addiu $a0, $zero, 0xf -/* 798168 802A21A8 8C43000C */ lw $v1, 0xc($v0) -/* 79816C 802A21AC 24120007 */ addiu $s2, $zero, 7 -/* 798170 802A21B0 AC60003C */ sw $zero, 0x3c($v1) -/* 798174 802A21B4 8C42000C */ lw $v0, 0xc($v0) -/* 798178 802A21B8 3C03802A */ lui $v1, %hi(D_802A3834) -/* 79817C 802A21BC 24633834 */ addiu $v1, $v1, %lo(D_802A3834) -/* 798180 802A21C0 AC400024 */ sw $zero, 0x24($v0) -.L802A21C4: -/* 798184 802A21C4 AC640000 */ sw $a0, ($v1) -/* 798188 802A21C8 2652FFFF */ addiu $s2, $s2, -1 -/* 79818C 802A21CC 0641FFFD */ bgez $s2, .L802A21C4 -/* 798190 802A21D0 2463FFFC */ addiu $v1, $v1, -4 -/* 798194 802A21D4 8FC20078 */ lw $v0, 0x78($fp) -/* 798198 802A21D8 14400002 */ bnez $v0, .L802A21E4 -/* 79819C 802A21DC 24040249 */ addiu $a0, $zero, 0x249 -/* 7981A0 802A21E0 24040248 */ addiu $a0, $zero, 0x248 -.L802A21E4: -/* 7981A4 802A21E4 0C05269B */ jal func_80149A6C -/* 7981A8 802A21E8 0000282D */ daddu $a1, $zero, $zero -/* 7981AC 802A21EC 24020015 */ addiu $v0, $zero, 0x15 -/* 7981B0 802A21F0 080A8907 */ j .L802A241C_7983DC -/* 7981B4 802A21F4 AFC20070 */ sw $v0, 0x70($fp) -.L802A21F8_7981B8: -/* 7981B8 802A21F8 0000B82D */ daddu $s7, $zero, $zero -/* 7981BC 802A21FC 02E0902D */ daddu $s2, $s7, $zero -/* 7981C0 802A2200 3C13802A */ lui $s3, %hi(D_802A3818) -/* 7981C4 802A2204 26733818 */ addiu $s3, $s3, %lo(D_802A3818) -/* 7981C8 802A2208 02E0282D */ daddu $a1, $s7, $zero -/* 7981CC 802A220C 24160008 */ addiu $s6, $zero, 8 -/* 7981D0 802A2210 24150004 */ addiu $s5, $zero, 4 -/* 7981D4 802A2214 3C03802A */ lui $v1, %hi(D_802A3554_799514) -/* 7981D8 802A2218 24633554 */ addiu $v1, $v1, %lo(D_802A3554_799514) -/* 7981DC 802A221C 0060A02D */ daddu $s4, $v1, $zero -/* 7981E0 802A2220 3C02802A */ lui $v0, %hi(D_802A37F0) -/* 7981E4 802A2224 8C4237F0 */ lw $v0, %lo(D_802A37F0)($v0) -/* 7981E8 802A2228 3C11802A */ lui $s1, %hi(D_802A3514_7994D4) -/* 7981EC 802A222C 26313514 */ addiu $s1, $s1, %lo(D_802A3514_7994D4) -/* 7981F0 802A2230 8C42000C */ lw $v0, 0xc($v0) -/* 7981F4 802A2234 2404005C */ addiu $a0, $zero, 0x5c -/* 7981F8 802A2238 AFA20028 */ sw $v0, 0x28($sp) -.L802A223C: -/* 7981FC 802A223C 8FC20078 */ lw $v0, 0x78($fp) -/* 798200 802A2240 14400003 */ bnez $v0, .L802A2250 -/* 798204 802A2244 00000000 */ nop -/* 798208 802A2248 5240005F */ beql $s2, $zero, .L802A23C8 -/* 79820C 802A224C 26730004 */ addiu $s3, $s3, 4 -.L802A2250: -/* 798210 802A2250 8FA80028 */ lw $t0, 0x28($sp) -/* 798214 802A2254 8E220000 */ lw $v0, ($s1) -/* 798218 802A2258 04410015 */ bgez $v0, .L802A22B0 -/* 79821C 802A225C 01048021 */ addu $s0, $t0, $a0 -/* 798220 802A2260 02A31021 */ addu $v0, $s5, $v1 -/* 798224 802A2264 C6140010 */ lwc1 $f20, 0x10($s0) -/* 798228 802A2268 C6980000 */ lwc1 $f24, ($s4) -/* 79822C 802A226C C45C0000 */ lwc1 $f28, ($v0) -/* 798230 802A2270 02C31021 */ addu $v0, $s6, $v1 -/* 798234 802A2274 4614C181 */ sub.s $f6, $f24, $f20 -/* 798238 802A2278 C6160014 */ lwc1 $f22, 0x14($s0) -/* 79823C 802A227C C61E0018 */ lwc1 $f30, 0x18($s0) -/* 798240 802A2280 4616E001 */ sub.s $f0, $f28, $f22 -/* 798244 802A2284 C45A0000 */ lwc1 $f26, ($v0) -/* 798248 802A2288 461ED081 */ sub.s $f2, $f26, $f30 -/* 79824C 802A228C 4606A180 */ add.s $f6, $f20, $f6 -/* 798250 802A2290 4600B106 */ mov.s $f4, $f22 -/* 798254 802A2294 46002100 */ add.s $f4, $f4, $f0 -/* 798258 802A2298 4600F006 */ mov.s $f0, $f30 -/* 79825C 802A229C 46020000 */ add.s $f0, $f0, $f2 -/* 798260 802A22A0 E6060010 */ swc1 $f6, 0x10($s0) -/* 798264 802A22A4 E6040014 */ swc1 $f4, 0x14($s0) -/* 798268 802A22A8 080A88F1 */ j .L802A23C4 -/* 79826C 802A22AC E6000018 */ swc1 $f0, 0x18($s0) -.L802A22B0: -/* 798270 802A22B0 10400004 */ beqz $v0, .L802A22C4 -/* 798274 802A22B4 24170001 */ addiu $s7, $zero, 1 -/* 798278 802A22B8 2442FFFF */ addiu $v0, $v0, -1 -/* 79827C 802A22BC 080A88F1 */ j .L802A23C4 -/* 798280 802A22C0 AE220000 */ sw $v0, ($s1) -.L802A22C4: -/* 798284 802A22C4 C6140010 */ lwc1 $f20, 0x10($s0) -/* 798288 802A22C8 C6160014 */ lwc1 $f22, 0x14($s0) -/* 79828C 802A22CC C61E0018 */ lwc1 $f30, 0x18($s0) -/* 798290 802A22D0 8E020000 */ lw $v0, ($s0) -/* 798294 802A22D4 4600A306 */ mov.s $f12, $f20 -/* 798298 802A22D8 34420002 */ ori $v0, $v0, 2 -/* 79829C 802A22DC AE020000 */ sw $v0, ($s0) -/* 7982A0 802A22E0 02C31021 */ addu $v0, $s6, $v1 -/* 7982A4 802A22E4 C45A0000 */ lwc1 $f26, ($v0) -/* 7982A8 802A22E8 02A31021 */ addu $v0, $s5, $v1 -/* 7982AC 802A22EC C6980000 */ lwc1 $f24, ($s4) -/* 7982B0 802A22F0 C45C0000 */ lwc1 $f28, ($v0) -/* 7982B4 802A22F4 4406C000 */ mfc1 $a2, $f24 -/* 7982B8 802A22F8 4407D000 */ mfc1 $a3, $f26 -/* 7982BC 802A22FC 4600F386 */ mov.s $f14, $f30 -/* 7982C0 802A2300 AFA30030 */ sw $v1, 0x30($sp) -/* 7982C4 802A2304 AFA40034 */ sw $a0, 0x34($sp) -/* 7982C8 802A2308 0C00A7B5 */ jal dist2D -/* 7982CC 802A230C AFA50038 */ sw $a1, 0x38($sp) -/* 7982D0 802A2310 3C08802A */ lui $t0, %hi(D_802A3818) -/* 7982D4 802A2314 25083818 */ addiu $t0, $t0, %lo(D_802A3818) -/* 7982D8 802A2318 4614C101 */ sub.s $f4, $f24, $f20 -/* 7982DC 802A231C 8FA50038 */ lw $a1, 0x38($sp) -/* 7982E0 802A2320 C6020010 */ lwc1 $f2, 0x10($s0) -/* 7982E4 802A2324 00A81021 */ addu $v0, $a1, $t0 -/* 7982E8 802A2328 C4460000 */ lwc1 $f6, ($v0) -/* 7982EC 802A232C 468031A0 */ cvt.s.w $f6, $f6 -/* 7982F0 802A2330 46062103 */ div.s $f4, $f4, $f6 -/* 7982F4 802A2334 46041080 */ add.s $f2, $f2, $f4 -/* 7982F8 802A2338 4616E101 */ sub.s $f4, $f28, $f22 -/* 7982FC 802A233C E6020010 */ swc1 $f2, 0x10($s0) -/* 798300 802A2340 C4460000 */ lwc1 $f6, ($v0) -/* 798304 802A2344 468031A0 */ cvt.s.w $f6, $f6 -/* 798308 802A2348 C6020014 */ lwc1 $f2, 0x14($s0) -/* 79830C 802A234C 46062103 */ div.s $f4, $f4, $f6 -/* 798310 802A2350 46041080 */ add.s $f2, $f2, $f4 -/* 798314 802A2354 461ED101 */ sub.s $f4, $f26, $f30 -/* 798318 802A2358 E6020014 */ swc1 $f2, 0x14($s0) -/* 79831C 802A235C C4460000 */ lwc1 $f6, ($v0) -/* 798320 802A2360 468031A0 */ cvt.s.w $f6, $f6 -/* 798324 802A2364 C6020018 */ lwc1 $f2, 0x18($s0) -/* 798328 802A2368 46062103 */ div.s $f4, $f4, $f6 -/* 79832C 802A236C 46041080 */ add.s $f2, $f2, $f4 -/* 798330 802A2370 E6020018 */ swc1 $f2, 0x18($s0) -/* 798334 802A2374 8C420000 */ lw $v0, ($v0) -/* 798338 802A2378 8FA30030 */ lw $v1, 0x30($sp) -/* 79833C 802A237C 8FA40034 */ lw $a0, 0x34($sp) -/* 798340 802A2380 14570007 */ bne $v0, $s7, .L802A23A0 -/* 798344 802A2384 46000106 */ mov.s $f4, $f0 -/* 798348 802A2388 2402FFFF */ addiu $v0, $zero, -1 -/* 79834C 802A238C AE220000 */ sw $v0, ($s1) -/* 798350 802A2390 E6180010 */ swc1 $f24, 0x10($s0) -/* 798354 802A2394 E61C0014 */ swc1 $f28, 0x14($s0) -/* 798358 802A2398 080A88EE */ j .L802A23B8 -/* 79835C 802A239C E61A0018 */ swc1 $f26, 0x18($s0) -.L802A23A0: -/* 798360 802A23A0 3C014270 */ lui $at, 0x4270 -/* 798364 802A23A4 44810000 */ mtc1 $at, $f0 -/* 798368 802A23A8 C6020014 */ lwc1 $f2, 0x14($s0) -/* 79836C 802A23AC 46002003 */ div.s $f0, $f4, $f0 -/* 798370 802A23B0 46001080 */ add.s $f2, $f2, $f0 -/* 798374 802A23B4 E6020014 */ swc1 $f2, 0x14($s0) -.L802A23B8: -/* 798378 802A23B8 8E620000 */ lw $v0, ($s3) -/* 79837C 802A23BC 2442FFFF */ addiu $v0, $v0, -1 -/* 798380 802A23C0 AE620000 */ sw $v0, ($s3) -.L802A23C4: -/* 798384 802A23C4 26730004 */ addiu $s3, $s3, 4 -.L802A23C8: -/* 798388 802A23C8 24A50004 */ addiu $a1, $a1, 4 -/* 79838C 802A23CC 26D6000C */ addiu $s6, $s6, 0xc -/* 798390 802A23D0 26B5000C */ addiu $s5, $s5, 0xc -/* 798394 802A23D4 2694000C */ addiu $s4, $s4, 0xc -/* 798398 802A23D8 26310004 */ addiu $s1, $s1, 4 -/* 79839C 802A23DC 26520001 */ addiu $s2, $s2, 1 -/* 7983A0 802A23E0 2A420008 */ slti $v0, $s2, 8 -/* 7983A4 802A23E4 1440FF95 */ bnez $v0, .L802A223C -/* 7983A8 802A23E8 2484001C */ addiu $a0, $a0, 0x1c -.L802A23EC: -/* 7983AC 802A23EC 16E0000C */ bnez $s7, .L802A2420 -/* 7983B0 802A23F0 0000102D */ daddu $v0, $zero, $zero -/* 7983B4 802A23F4 3C03802A */ lui $v1, %hi(D_802A37F0) -/* 7983B8 802A23F8 8C6337F0 */ lw $v1, %lo(D_802A37F0)($v1) -/* 7983BC 802A23FC 24020002 */ addiu $v0, $zero, 2 -/* 7983C0 802A2400 8C640000 */ lw $a0, ($v1) -/* 7983C4 802A2404 0040282D */ daddu $a1, $v0, $zero -/* 7983C8 802A2408 3C01802A */ lui $at, %hi(D_802A3838) -/* 7983CC 802A240C AC253838 */ sw $a1, %lo(D_802A3838)($at) -/* 7983D0 802A2410 34840010 */ ori $a0, $a0, 0x10 -/* 7983D4 802A2414 080A8908 */ j .L802A2420 -/* 7983D8 802A2418 AC640000 */ sw $a0, ($v1) -.L802A241C_7983DC: -/* 7983DC 802A241C 0000102D */ daddu $v0, $zero, $zero -.L802A2420: -/* 7983E0 802A2420 8FBF0064 */ lw $ra, 0x64($sp) -/* 7983E4 802A2424 8FBE0060 */ lw $fp, 0x60($sp) -/* 7983E8 802A2428 8FB7005C */ lw $s7, 0x5c($sp) -/* 7983EC 802A242C 8FB60058 */ lw $s6, 0x58($sp) -/* 7983F0 802A2430 8FB50054 */ lw $s5, 0x54($sp) -/* 7983F4 802A2434 8FB40050 */ lw $s4, 0x50($sp) -/* 7983F8 802A2438 8FB3004C */ lw $s3, 0x4c($sp) -/* 7983FC 802A243C 8FB20048 */ lw $s2, 0x48($sp) -/* 798400 802A2440 8FB10044 */ lw $s1, 0x44($sp) -/* 798404 802A2444 8FB00040 */ lw $s0, 0x40($sp) -/* 798408 802A2448 D7BE0090 */ ldc1 $f30, 0x90($sp) -/* 79840C 802A244C D7BC0088 */ ldc1 $f28, 0x88($sp) -/* 798410 802A2450 D7BA0080 */ ldc1 $f26, 0x80($sp) -/* 798414 802A2454 D7B80078 */ ldc1 $f24, 0x78($sp) -/* 798418 802A2458 D7B60070 */ ldc1 $f22, 0x70($sp) -/* 79841C 802A245C D7B40068 */ ldc1 $f20, 0x68($sp) -/* 798420 802A2460 03E00008 */ jr $ra -/* 798424 802A2464 27BD0098 */ addiu $sp, $sp, 0x98 diff --git a/ver/us/asm/nonmatchings/battle/star/star_beam/796FC0/func_802A1518_7974D8.s b/ver/us/asm/nonmatchings/battle/star/star_beam/796FC0/func_802A1518_7974D8.s deleted file mode 100644 index 523c509a87..0000000000 --- a/ver/us/asm/nonmatchings/battle/star/star_beam/796FC0/func_802A1518_7974D8.s +++ /dev/null @@ -1,1072 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata -dlabel jtbl_802A3790_799750 -.word .L802A18B0_797870, .L802A1A00_7979C0, .L802A1A88_797A48, .L802A1AB8_797A78, .L802A1B54_797B14, .L802A1E34_797DF4, .L802A1F0C_797ECC, .L802A1FC8_797F88, .L802A1FE8_797FA8, .L802A2040_798000, .L802A2080_798040, .L802A241C_7983DC, .L802A241C_7983DC, .L802A241C_7983DC, .L802A241C_7983DC, .L802A241C_7983DC, .L802A241C_7983DC, .L802A241C_7983DC, .L802A241C_7983DC, .L802A241C_7983DC, .L802A219C_79815C, .L802A21F8_7981B8, 0, 0 - -.section .text -glabel func_802A1518_7974D8 -/* 7974D8 802A1518 27BDFF68 */ addiu $sp, $sp, -0x98 -/* 7974DC 802A151C AFB50054 */ sw $s5, 0x54($sp) -/* 7974E0 802A1520 3C15800E */ lui $s5, %hi(gBattleStatus+0xD8) -/* 7974E4 802A1524 8EB5C148 */ lw $s5, %lo(gBattleStatus+0xD8)($s5) -/* 7974E8 802A1528 AFBE0060 */ sw $fp, 0x60($sp) -/* 7974EC 802A152C 0080F02D */ daddu $fp, $a0, $zero -/* 7974F0 802A1530 AFBF0064 */ sw $ra, 0x64($sp) -/* 7974F4 802A1534 AFB7005C */ sw $s7, 0x5c($sp) -/* 7974F8 802A1538 AFB60058 */ sw $s6, 0x58($sp) -/* 7974FC 802A153C AFB40050 */ sw $s4, 0x50($sp) -/* 797500 802A1540 AFB3004C */ sw $s3, 0x4c($sp) -/* 797504 802A1544 AFB20048 */ sw $s2, 0x48($sp) -/* 797508 802A1548 AFB10044 */ sw $s1, 0x44($sp) -/* 79750C 802A154C AFB00040 */ sw $s0, 0x40($sp) -/* 797510 802A1550 F7BE0090 */ sdc1 $f30, 0x90($sp) -/* 797514 802A1554 F7BC0088 */ sdc1 $f28, 0x88($sp) -/* 797518 802A1558 F7BA0080 */ sdc1 $f26, 0x80($sp) -/* 79751C 802A155C F7B80078 */ sdc1 $f24, 0x78($sp) -/* 797520 802A1560 F7B60070 */ sdc1 $f22, 0x70($sp) -/* 797524 802A1564 F7B40068 */ sdc1 $f20, 0x68($sp) -/* 797528 802A1568 8FC2000C */ lw $v0, 0xc($fp) -/* 79752C 802A156C 10A00007 */ beqz $a1, .L802A158C -/* 797530 802A1570 26B1000C */ addiu $s1, $s5, 0xc -/* 797534 802A1574 3C01802A */ lui $at, %hi(D_802A3838) -/* 797538 802A1578 AC203838 */ sw $zero, %lo(D_802A3838)($at) -/* 79753C 802A157C 0C0B1EAF */ jal evt_get_variable -/* 797540 802A1580 8C450000 */ lw $a1, ($v0) -/* 797544 802A1584 AFC20078 */ sw $v0, 0x78($fp) -/* 797548 802A1588 AFC00070 */ sw $zero, 0x70($fp) -.L802A158C: -/* 79754C 802A158C 82A3040C */ lb $v1, 0x40c($s5) -/* 797550 802A1590 24020001 */ addiu $v0, $zero, 1 -/* 797554 802A1594 14620040 */ bne $v1, $v0, .L802A1698 -/* 797558 802A1598 00000000 */ nop -/* 79755C 802A159C 0C09A75B */ jal get_actor -/* 797560 802A15A0 86A40428 */ lh $a0, 0x428($s5) -/* 797564 802A15A4 0040802D */ daddu $s0, $v0, $zero -/* 797568 802A15A8 1200039D */ beqz $s0, .L802A2420 -/* 79756C 802A15AC 24020002 */ addiu $v0, $zero, 2 -/* 797570 802A15B0 82A50426 */ lb $a1, 0x426($s5) -/* 797574 802A15B4 0C099117 */ jal get_actor_part -/* 797578 802A15B8 0200202D */ daddu $a0, $s0, $zero -/* 79757C 802A15BC 86020150 */ lh $v0, 0x150($s0) -/* 797580 802A15C0 C6000144 */ lwc1 $f0, 0x144($s0) -/* 797584 802A15C4 8E030000 */ lw $v1, ($s0) -/* 797588 802A15C8 44821000 */ mtc1 $v0, $f2 -/* 79758C 802A15CC 00000000 */ nop -/* 797590 802A15D0 468010A0 */ cvt.s.w $f2, $f2 -/* 797594 802A15D4 30620800 */ andi $v0, $v1, 0x800 -/* 797598 802A15D8 1040000D */ beqz $v0, .L802A1610 -/* 79759C 802A15DC 46020700 */ add.s $f28, $f0, $f2 -/* 7975A0 802A15E0 86020152 */ lh $v0, 0x152($s0) -/* 7975A4 802A15E4 C6000148 */ lwc1 $f0, 0x148($s0) -/* 7975A8 802A15E8 44821000 */ mtc1 $v0, $f2 -/* 7975AC 802A15EC 00000000 */ nop -/* 7975B0 802A15F0 468010A0 */ cvt.s.w $f2, $f2 -/* 7975B4 802A15F4 92020191 */ lbu $v0, 0x191($s0) -/* 7975B8 802A15F8 46020000 */ add.s $f0, $f0, $f2 -/* 7975BC 802A15FC 44821000 */ mtc1 $v0, $f2 -/* 7975C0 802A1600 00000000 */ nop -/* 7975C4 802A1604 468010A0 */ cvt.s.w $f2, $f2 -/* 7975C8 802A1608 080A859F */ j .L802A167C -/* 7975CC 802A160C 46020601 */ sub.s $f24, $f0, $f2 -.L802A1610: -/* 7975D0 802A1610 30628000 */ andi $v0, $v1, 0x8000 -/* 7975D4 802A1614 1440000D */ bnez $v0, .L802A164C -/* 7975D8 802A1618 00000000 */ nop -/* 7975DC 802A161C 86020152 */ lh $v0, 0x152($s0) -/* 7975E0 802A1620 C6000148 */ lwc1 $f0, 0x148($s0) -/* 7975E4 802A1624 44821000 */ mtc1 $v0, $f2 -/* 7975E8 802A1628 00000000 */ nop -/* 7975EC 802A162C 468010A0 */ cvt.s.w $f2, $f2 -/* 7975F0 802A1630 92020191 */ lbu $v0, 0x191($s0) -/* 7975F4 802A1634 46020000 */ add.s $f0, $f0, $f2 -/* 7975F8 802A1638 44821000 */ mtc1 $v0, $f2 -/* 7975FC 802A163C 00000000 */ nop -/* 797600 802A1640 468010A0 */ cvt.s.w $f2, $f2 -/* 797604 802A1644 080A859F */ j .L802A167C -/* 797608 802A1648 46001600 */ add.s $f24, $f2, $f0 -.L802A164C: -/* 79760C 802A164C 86020152 */ lh $v0, 0x152($s0) -/* 797610 802A1650 C6020148 */ lwc1 $f2, 0x148($s0) -/* 797614 802A1654 44820000 */ mtc1 $v0, $f0 -/* 797618 802A1658 00000000 */ nop -/* 79761C 802A165C 46800020 */ cvt.s.w $f0, $f0 -/* 797620 802A1660 92020191 */ lbu $v0, 0x191($s0) -/* 797624 802A1664 46001080 */ add.s $f2, $f2, $f0 -/* 797628 802A1668 00021040 */ sll $v0, $v0, 1 -/* 79762C 802A166C 44820000 */ mtc1 $v0, $f0 -/* 797630 802A1670 00000000 */ nop -/* 797634 802A1674 46800020 */ cvt.s.w $f0, $f0 -/* 797638 802A1678 46001600 */ add.s $f24, $f2, $f0 -.L802A167C: -/* 79763C 802A167C 86020154 */ lh $v0, 0x154($s0) -/* 797640 802A1680 C602014C */ lwc1 $f2, 0x14c($s0) -/* 797644 802A1684 44820000 */ mtc1 $v0, $f0 -/* 797648 802A1688 00000000 */ nop -/* 79764C 802A168C 46800020 */ cvt.s.w $f0, $f0 -/* 797650 802A1690 080A85AB */ j .L802A16AC -/* 797654 802A1694 46001680 */ add.s $f26, $f2, $f0 -.L802A1698: -/* 797658 802A1698 3C014280 */ lui $at, 0x4280 -/* 79765C 802A169C 4481E000 */ mtc1 $at, $f28 -/* 797660 802A16A0 3C0142A0 */ lui $at, 0x42a0 -/* 797664 802A16A4 4481C000 */ mtc1 $at, $f24 -/* 797668 802A16A8 4480D000 */ mtc1 $zero, $f26 -.L802A16AC: -/* 79766C 802A16AC 8FC30070 */ lw $v1, 0x70($fp) -/* 797670 802A16B0 18600077 */ blez $v1, .L802A1890 -/* 797674 802A16B4 2862000A */ slti $v0, $v1, 0xa -/* 797678 802A16B8 14400006 */ bnez $v0, .L802A16D4 -/* 79767C 802A16BC 0000902D */ daddu $s2, $zero, $zero -/* 797680 802A16C0 2402000A */ addiu $v0, $zero, 0xa -/* 797684 802A16C4 1062003B */ beq $v1, $v0, .L802A17B4 -/* 797688 802A16C8 2C620016 */ sltiu $v0, $v1, 0x16 -/* 79768C 802A16CC 080A8625 */ j .L802A1894 -/* 797690 802A16D0 00000000 */ nop -.L802A16D4: -/* 797694 802A16D4 24160014 */ addiu $s6, $zero, 0x14 -/* 797698 802A16D8 2417000A */ addiu $s7, $zero, 0xa -/* 79769C 802A16DC 3C13802A */ lui $s3, %hi(D_802A37F8) -/* 7976A0 802A16E0 267337F8 */ addiu $s3, $s3, %lo(D_802A37F8) -/* 7976A4 802A16E4 3C0141A0 */ lui $at, 0x41a0 -/* 7976A8 802A16E8 4481A000 */ mtc1 $at, $f20 -/* 7976AC 802A16EC 3C02802A */ lui $v0, %hi(D_802A37F0) -/* 7976B0 802A16F0 8C4237F0 */ lw $v0, %lo(D_802A37F0)($v0) -/* 7976B4 802A16F4 3C013F80 */ lui $at, 0x3f80 -/* 7976B8 802A16F8 4481B000 */ mtc1 $at, $f22 -/* 7976BC 802A16FC 8C42000C */ lw $v0, 0xc($v0) -/* 7976C0 802A1700 2414005C */ addiu $s4, $zero, 0x5c -/* 7976C4 802A1704 AFA20028 */ sw $v0, 0x28($sp) -.L802A1708: -/* 7976C8 802A1708 8FC20078 */ lw $v0, 0x78($fp) -/* 7976CC 802A170C 14400003 */ bnez $v0, .L802A171C -/* 7976D0 802A1710 00121880 */ sll $v1, $s2, 2 -/* 7976D4 802A1714 52400021 */ beql $s2, $zero, .L802A179C -/* 7976D8 802A1718 26730004 */ addiu $s3, $s3, 4 -.L802A171C: -/* 7976DC 802A171C 8FA80028 */ lw $t0, 0x28($sp) -/* 7976E0 802A1720 8E620000 */ lw $v0, ($s3) -/* 7976E4 802A1724 10400004 */ beqz $v0, .L802A1738 -/* 7976E8 802A1728 01148021 */ addu $s0, $t0, $s4 -/* 7976EC 802A172C 2442FFFF */ addiu $v0, $v0, -1 -/* 7976F0 802A1730 080A85E6 */ j .L802A1798 -/* 7976F4 802A1734 AE620000 */ sw $v0, ($s3) -.L802A1738: -/* 7976F8 802A1738 3C08802A */ lui $t0, %hi(D_802A3514_7994D4) -/* 7976FC 802A173C 25083514 */ addiu $t0, $t0, %lo(D_802A3514_7994D4) -/* 797700 802A1740 00681021 */ addu $v0, $v1, $t0 -/* 797704 802A1744 AE760000 */ sw $s6, ($s3) -/* 797708 802A1748 8C420000 */ lw $v0, ($v0) -/* 79770C 802A174C 1C400009 */ bgtz $v0, .L802A1774 -/* 797710 802A1750 E7B40010 */ swc1 $f20, 0x10($sp) -/* 797714 802A1754 E7B40014 */ swc1 $f20, 0x14($sp) -/* 797718 802A1758 E7B60018 */ swc1 $f22, 0x18($sp) -/* 79771C 802A175C AFB7001C */ sw $s7, 0x1c($sp) -/* 797720 802A1760 AFB60020 */ sw $s6, 0x20($sp) -/* 797724 802A1764 8E050010 */ lw $a1, 0x10($s0) -/* 797728 802A1768 8E060014 */ lw $a2, 0x14($s0) -/* 79772C 802A176C 080A85E4 */ j .L802A1790 -/* 797730 802A1770 8E070018 */ lw $a3, 0x18($s0) -.L802A1774: -/* 797734 802A1774 E7B40014 */ swc1 $f20, 0x14($sp) -/* 797738 802A1778 E7B60018 */ swc1 $f22, 0x18($sp) -/* 79773C 802A177C AFB7001C */ sw $s7, 0x1c($sp) -/* 797740 802A1780 AFB60020 */ sw $s6, 0x20($sp) -/* 797744 802A1784 8E050004 */ lw $a1, 4($s0) -/* 797748 802A1788 8E060008 */ lw $a2, 8($s0) -/* 79774C 802A178C 8E07000C */ lw $a3, 0xc($s0) -.L802A1790: -/* 797750 802A1790 0C01C8D4 */ jal fx_misc_particles -/* 797754 802A1794 24040004 */ addiu $a0, $zero, 4 -.L802A1798: -/* 797758 802A1798 26730004 */ addiu $s3, $s3, 4 -.L802A179C: -/* 79775C 802A179C 26520001 */ addiu $s2, $s2, 1 -/* 797760 802A17A0 2A420008 */ slti $v0, $s2, 8 -/* 797764 802A17A4 1440FFD8 */ bnez $v0, .L802A1708 -/* 797768 802A17A8 2694001C */ addiu $s4, $s4, 0x1c -/* 79776C 802A17AC 080A8623 */ j .L802A188C -/* 797770 802A17B0 00000000 */ nop -.L802A17B4: -/* 797774 802A17B4 24160014 */ addiu $s6, $zero, 0x14 -/* 797778 802A17B8 2417000A */ addiu $s7, $zero, 0xa -/* 79777C 802A17BC 3C13802A */ lui $s3, %hi(D_802A37F8) -/* 797780 802A17C0 267337F8 */ addiu $s3, $s3, %lo(D_802A37F8) -/* 797784 802A17C4 3C0141A0 */ lui $at, 0x41a0 -/* 797788 802A17C8 4481A000 */ mtc1 $at, $f20 -/* 79778C 802A17CC 3C02802A */ lui $v0, %hi(D_802A37F0) -/* 797790 802A17D0 8C4237F0 */ lw $v0, %lo(D_802A37F0)($v0) -/* 797794 802A17D4 3C013F80 */ lui $at, 0x3f80 -/* 797798 802A17D8 4481B000 */ mtc1 $at, $f22 -/* 79779C 802A17DC 8C42000C */ lw $v0, 0xc($v0) -/* 7977A0 802A17E0 2414005C */ addiu $s4, $zero, 0x5c -/* 7977A4 802A17E4 AFA20028 */ sw $v0, 0x28($sp) -.L802A17E8: -/* 7977A8 802A17E8 8FC20078 */ lw $v0, 0x78($fp) -/* 7977AC 802A17EC 14400003 */ bnez $v0, .L802A17FC -/* 7977B0 802A17F0 00121880 */ sll $v1, $s2, 2 -/* 7977B4 802A17F4 52400021 */ beql $s2, $zero, .L802A187C -/* 7977B8 802A17F8 26730004 */ addiu $s3, $s3, 4 -.L802A17FC: -/* 7977BC 802A17FC 8FA80028 */ lw $t0, 0x28($sp) -/* 7977C0 802A1800 8E620000 */ lw $v0, ($s3) -/* 7977C4 802A1804 10400004 */ beqz $v0, .L802A1818 -/* 7977C8 802A1808 01148021 */ addu $s0, $t0, $s4 -/* 7977CC 802A180C 2442FFFF */ addiu $v0, $v0, -1 -/* 7977D0 802A1810 080A861E */ j .L802A1878 -/* 7977D4 802A1814 AE620000 */ sw $v0, ($s3) -.L802A1818: -/* 7977D8 802A1818 3C08802A */ lui $t0, %hi(D_802A3534_7994F4) -/* 7977DC 802A181C 25083534 */ addiu $t0, $t0, %lo(D_802A3534_7994F4) -/* 7977E0 802A1820 00681021 */ addu $v0, $v1, $t0 -/* 7977E4 802A1824 AE760000 */ sw $s6, ($s3) -/* 7977E8 802A1828 8C420000 */ lw $v0, ($v0) -/* 7977EC 802A182C 1C400009 */ bgtz $v0, .L802A1854 -/* 7977F0 802A1830 E7B40010 */ swc1 $f20, 0x10($sp) -/* 7977F4 802A1834 E7B40014 */ swc1 $f20, 0x14($sp) -/* 7977F8 802A1838 E7B60018 */ swc1 $f22, 0x18($sp) -/* 7977FC 802A183C AFB7001C */ sw $s7, 0x1c($sp) -/* 797800 802A1840 AFB60020 */ sw $s6, 0x20($sp) -/* 797804 802A1844 8E050010 */ lw $a1, 0x10($s0) -/* 797808 802A1848 8E060014 */ lw $a2, 0x14($s0) -/* 79780C 802A184C 080A861C */ j .L802A1870 -/* 797810 802A1850 8E070018 */ lw $a3, 0x18($s0) -.L802A1854: -/* 797814 802A1854 E7B40014 */ swc1 $f20, 0x14($sp) -/* 797818 802A1858 E7B60018 */ swc1 $f22, 0x18($sp) -/* 79781C 802A185C AFB7001C */ sw $s7, 0x1c($sp) -/* 797820 802A1860 AFB60020 */ sw $s6, 0x20($sp) -/* 797824 802A1864 8E050004 */ lw $a1, 4($s0) -/* 797828 802A1868 8E060008 */ lw $a2, 8($s0) -/* 79782C 802A186C 8E07000C */ lw $a3, 0xc($s0) -.L802A1870: -/* 797830 802A1870 0C01C8D4 */ jal fx_misc_particles -/* 797834 802A1874 24040004 */ addiu $a0, $zero, 4 -.L802A1878: -/* 797838 802A1878 26730004 */ addiu $s3, $s3, 4 -.L802A187C: -/* 79783C 802A187C 26520001 */ addiu $s2, $s2, 1 -/* 797840 802A1880 2A420008 */ slti $v0, $s2, 8 -/* 797844 802A1884 1440FFD8 */ bnez $v0, .L802A17E8 -/* 797848 802A1888 2694001C */ addiu $s4, $s4, 0x1c -.L802A188C: -/* 79784C 802A188C 8FC30070 */ lw $v1, 0x70($fp) -.L802A1890: -/* 797850 802A1890 2C620016 */ sltiu $v0, $v1, 0x16 -.L802A1894: -/* 797854 802A1894 104002E1 */ beqz $v0, .L802A241C_7983DC -/* 797858 802A1898 00031080 */ sll $v0, $v1, 2 -/* 79785C 802A189C 3C01802A */ lui $at, %hi(jtbl_802A3790_799750) -/* 797860 802A18A0 00220821 */ addu $at, $at, $v0 -/* 797864 802A18A4 8C223790 */ lw $v0, %lo(jtbl_802A3790_799750)($at) -/* 797868 802A18A8 00400008 */ jr $v0 -/* 79786C 802A18AC 00000000 */ nop -.L802A18B0_797870: -/* 797870 802A18B0 C6B40144 */ lwc1 $f20, 0x144($s5) -/* 797874 802A18B4 C6BE014C */ lwc1 $f30, 0x14c($s5) -/* 797878 802A18B8 92A20191 */ lbu $v0, 0x191($s5) -/* 79787C 802A18BC C6A20148 */ lwc1 $f2, 0x148($s5) -/* 797880 802A18C0 3C0141F0 */ lui $at, 0x41f0 -/* 797884 802A18C4 44812000 */ mtc1 $at, $f4 -/* 797888 802A18C8 44820000 */ mtc1 $v0, $f0 -/* 79788C 802A18CC 00000000 */ nop -/* 797890 802A18D0 46800020 */ cvt.s.w $f0, $f0 -/* 797894 802A18D4 46001080 */ add.s $f2, $f2, $f0 -/* 797898 802A18D8 3C014316 */ lui $at, 0x4316 -/* 79789C 802A18DC 44810000 */ mtc1 $at, $f0 -/* 7978A0 802A18E0 E6340000 */ swc1 $f20, ($s1) -/* 7978A4 802A18E4 46041580 */ add.s $f22, $f2, $f4 -/* 7978A8 802A18E8 E63E0008 */ swc1 $f30, 8($s1) -/* 7978AC 802A18EC E634000C */ swc1 $f20, 0xc($s1) -/* 7978B0 802A18F0 4600B000 */ add.s $f0, $f22, $f0 -/* 7978B4 802A18F4 E63E0014 */ swc1 $f30, 0x14($s1) -/* 7978B8 802A18F8 E6360010 */ swc1 $f22, 0x10($s1) -/* 7978BC 802A18FC E6200004 */ swc1 $f0, 4($s1) -/* 7978C0 802A1900 8FC20078 */ lw $v0, 0x78($fp) -/* 7978C4 802A1904 54400008 */ bnel $v0, $zero, .L802A1928 -/* 7978C8 802A1908 24040001 */ addiu $a0, $zero, 1 -/* 7978CC 802A190C 4405A000 */ mfc1 $a1, $f20 -/* 7978D0 802A1910 4406B000 */ mfc1 $a2, $f22 -/* 7978D4 802A1914 4407F000 */ mfc1 $a3, $f30 -/* 7978D8 802A1918 3C013F80 */ lui $at, 0x3f80 -/* 7978DC 802A191C 44810000 */ mtc1 $at, $f0 -/* 7978E0 802A1920 080A864F */ j .L802A193C -/* 7978E4 802A1924 0000202D */ daddu $a0, $zero, $zero -.L802A1928: -/* 7978E8 802A1928 4405A000 */ mfc1 $a1, $f20 -/* 7978EC 802A192C 4406B000 */ mfc1 $a2, $f22 -/* 7978F0 802A1930 4407F000 */ mfc1 $a3, $f30 -/* 7978F4 802A1934 3C013F80 */ lui $at, 0x3f80 -/* 7978F8 802A1938 44810000 */ mtc1 $at, $f0 -.L802A193C: -/* 7978FC 802A193C AFA00014 */ sw $zero, 0x14($sp) -/* 797900 802A1940 0C01C964 */ jal fx_peach_star_beam -/* 797904 802A1944 E7A00010 */ swc1 $f0, 0x10($sp) -/* 797908 802A1948 3C01802A */ lui $at, %hi(D_802A37F0) -/* 79790C 802A194C AC2237F0 */ sw $v0, %lo(D_802A37F0)($at) -/* 797910 802A1950 3C014240 */ lui $at, 0x4240 -/* 797914 802A1954 44810000 */ mtc1 $at, $f0 -/* 797918 802A1958 3C03802A */ lui $v1, %hi(D_802A37F0) -/* 79791C 802A195C 8C6337F0 */ lw $v1, %lo(D_802A37F0)($v1) -/* 797920 802A1960 E620004C */ swc1 $f0, 0x4c($s1) -/* 797924 802A1964 8C62000C */ lw $v0, 0xc($v1) -/* 797928 802A1968 AC40003C */ sw $zero, 0x3c($v0) -/* 79792C 802A196C 8C62000C */ lw $v0, 0xc($v1) -/* 797930 802A1970 C620004C */ lwc1 $f0, 0x4c($s1) -/* 797934 802A1974 E4400048 */ swc1 $f0, 0x48($v0) -/* 797938 802A1978 8C62000C */ lw $v0, 0xc($v1) -/* 79793C 802A197C 3C0141F0 */ lui $at, 0x41f0 -/* 797940 802A1980 44810000 */ mtc1 $at, $f0 -/* 797944 802A1984 AC400024 */ sw $zero, 0x24($v0) -/* 797948 802A1988 8C62000C */ lw $v0, 0xc($v1) -/* 79794C 802A198C 0000902D */ daddu $s2, $zero, $zero -/* 797950 802A1990 E4400058 */ swc1 $f0, 0x58($v0) -/* 797954 802A1994 8C62000C */ lw $v0, 0xc($v1) -/* 797958 802A1998 3C0140A0 */ lui $at, 0x40a0 -/* 79795C 802A199C 44810000 */ mtc1 $at, $f0 -/* 797960 802A19A0 3C10802A */ lui $s0, %hi(D_802A37F8) -/* 797964 802A19A4 261037F8 */ addiu $s0, $s0, %lo(D_802A37F8) -/* 797968 802A19A8 E4400040 */ swc1 $f0, 0x40($v0) -.L802A19AC: -/* 79796C 802A19AC 0C00A67F */ jal rand_int -/* 797970 802A19B0 24040014 */ addiu $a0, $zero, 0x14 -/* 797974 802A19B4 AE020000 */ sw $v0, ($s0) -/* 797978 802A19B8 26520001 */ addiu $s2, $s2, 1 -/* 79797C 802A19BC 2A420008 */ slti $v0, $s2, 8 -/* 797980 802A19C0 1440FFFA */ bnez $v0, .L802A19AC -/* 797984 802A19C4 26100004 */ addiu $s0, $s0, 4 -/* 797988 802A19C8 8FC30078 */ lw $v1, 0x78($fp) -/* 79798C 802A19CC 24020028 */ addiu $v0, $zero, 0x28 -/* 797990 802A19D0 14600004 */ bnez $v1, .L802A19E4 -/* 797994 802A19D4 AFC20074 */ sw $v0, 0x74($fp) -/* 797998 802A19D8 3C048000 */ lui $a0, 0x8000 -/* 79799C 802A19DC 080A867B */ j .L802A19EC -/* 7979A0 802A19E0 34840068 */ ori $a0, $a0, 0x68 -.L802A19E4: -/* 7979A4 802A19E4 3C048000 */ lui $a0, 0x8000 -/* 7979A8 802A19E8 34840069 */ ori $a0, $a0, 0x69 -.L802A19EC: -/* 7979AC 802A19EC 0C05272D */ jal sfx_play_sound -/* 7979B0 802A19F0 00000000 */ nop -/* 7979B4 802A19F4 24020001 */ addiu $v0, $zero, 1 -/* 7979B8 802A19F8 080A8907 */ j .L802A241C_7983DC -/* 7979BC 802A19FC AFC20070 */ sw $v0, 0x70($fp) -.L802A1A00_7979C0: -/* 7979C0 802A1A00 C6200010 */ lwc1 $f0, 0x10($s1) -/* 7979C4 802A1A04 C6240004 */ lwc1 $f4, 4($s1) -/* 7979C8 802A1A08 46040001 */ sub.s $f0, $f0, $f4 -/* 7979CC 802A1A0C 3C014120 */ lui $at, 0x4120 -/* 7979D0 802A1A10 44811000 */ mtc1 $at, $f2 -/* 7979D4 802A1A14 3C03802A */ lui $v1, %hi(D_802A37F0) -/* 7979D8 802A1A18 8C6337F0 */ lw $v1, %lo(D_802A37F0)($v1) -/* 7979DC 802A1A1C 46020003 */ div.s $f0, $f0, $f2 -/* 7979E0 802A1A20 46002100 */ add.s $f4, $f4, $f0 -/* 7979E4 802A1A24 C6200000 */ lwc1 $f0, ($s1) -/* 7979E8 802A1A28 E6240004 */ swc1 $f4, 4($s1) -/* 7979EC 802A1A2C 8C62000C */ lw $v0, 0xc($v1) -/* 7979F0 802A1A30 E440004C */ swc1 $f0, 0x4c($v0) -/* 7979F4 802A1A34 8C62000C */ lw $v0, 0xc($v1) -/* 7979F8 802A1A38 C6200004 */ lwc1 $f0, 4($s1) -/* 7979FC 802A1A3C E4400050 */ swc1 $f0, 0x50($v0) -/* 797A00 802A1A40 8C62000C */ lw $v0, 0xc($v1) -/* 797A04 802A1A44 C6200008 */ lwc1 $f0, 8($s1) -/* 797A08 802A1A48 E4400054 */ swc1 $f0, 0x54($v0) -/* 797A0C 802A1A4C 8C62000C */ lw $v0, 0xc($v1) -/* 797A10 802A1A50 AC40003C */ sw $zero, 0x3c($v0) -/* 797A14 802A1A54 8C62000C */ lw $v0, 0xc($v1) -/* 797A18 802A1A58 C620004C */ lwc1 $f0, 0x4c($s1) -/* 797A1C 802A1A5C E4400048 */ swc1 $f0, 0x48($v0) -/* 797A20 802A1A60 8C62000C */ lw $v0, 0xc($v1) -/* 797A24 802A1A64 AC400024 */ sw $zero, 0x24($v0) -/* 797A28 802A1A68 8FC20074 */ lw $v0, 0x74($fp) -/* 797A2C 802A1A6C 14400177 */ bnez $v0, .L802A204C -/* 797A30 802A1A70 2442FFFF */ addiu $v0, $v0, -1 -/* 797A34 802A1A74 24020014 */ addiu $v0, $zero, 0x14 -/* 797A38 802A1A78 AFC20074 */ sw $v0, 0x74($fp) -/* 797A3C 802A1A7C 24020002 */ addiu $v0, $zero, 2 -/* 797A40 802A1A80 080A8907 */ j .L802A241C_7983DC -/* 797A44 802A1A84 AFC20070 */ sw $v0, 0x70($fp) -.L802A1A88_797A48: -/* 797A48 802A1A88 8FC20074 */ lw $v0, 0x74($fp) -/* 797A4C 802A1A8C 1440016F */ bnez $v0, .L802A204C -/* 797A50 802A1A90 2442FFFF */ addiu $v0, $v0, -1 -/* 797A54 802A1A94 0C093903 */ jal btl_cam_use_preset -/* 797A58 802A1A98 24040002 */ addiu $a0, $zero, 2 -/* 797A5C 802A1A9C 0C093936 */ jal btl_cam_move -/* 797A60 802A1AA0 2404000A */ addiu $a0, $zero, 0xa -/* 797A64 802A1AA4 2402000F */ addiu $v0, $zero, 0xf -/* 797A68 802A1AA8 AFC20074 */ sw $v0, 0x74($fp) -/* 797A6C 802A1AAC 24020003 */ addiu $v0, $zero, 3 -/* 797A70 802A1AB0 080A8907 */ j .L802A241C_7983DC -/* 797A74 802A1AB4 AFC20070 */ sw $v0, 0x70($fp) -.L802A1AB8_797A78: -/* 797A78 802A1AB8 C624004C */ lwc1 $f4, 0x4c($s1) -/* 797A7C 802A1ABC 3C0141C0 */ lui $at, 0x41c0 -/* 797A80 802A1AC0 44810000 */ mtc1 $at, $f0 -/* 797A84 802A1AC4 00000000 */ nop -/* 797A88 802A1AC8 46040001 */ sub.s $f0, $f0, $f4 -/* 797A8C 802A1ACC 3C013E00 */ lui $at, 0x3e00 -/* 797A90 802A1AD0 44811000 */ mtc1 $at, $f2 -/* 797A94 802A1AD4 00000000 */ nop -/* 797A98 802A1AD8 46020002 */ mul.s $f0, $f0, $f2 -/* 797A9C 802A1ADC 00000000 */ nop -/* 797AA0 802A1AE0 46002100 */ add.s $f4, $f4, $f0 -/* 797AA4 802A1AE4 3C02802A */ lui $v0, %hi(D_802A37F0) -/* 797AA8 802A1AE8 8C4237F0 */ lw $v0, %lo(D_802A37F0)($v0) -/* 797AAC 802A1AEC E624004C */ swc1 $f4, 0x4c($s1) -/* 797AB0 802A1AF0 8C42000C */ lw $v0, 0xc($v0) -/* 797AB4 802A1AF4 E4440048 */ swc1 $f4, 0x48($v0) -/* 797AB8 802A1AF8 8FC20074 */ lw $v0, 0x74($fp) -/* 797ABC 802A1AFC 54400153 */ bnel $v0, $zero, .L802A204C -/* 797AC0 802A1B00 2442FFFF */ addiu $v0, $v0, -1 -/* 797AC4 802A1B04 2403001E */ addiu $v1, $zero, 0x1e -/* 797AC8 802A1B08 24120007 */ addiu $s2, $zero, 7 -/* 797ACC 802A1B0C 3C02802A */ lui $v0, %hi(D_802A3834 - 0x4) -/* 797AD0 802A1B10 24423834 */ addiu $v0, $v0, %lo(D_802A3834 - 0x4) -/* 797AD4 802A1B14 E63C000C */ swc1 $f28, 0xc($s1) -/* 797AD8 802A1B18 E6380010 */ swc1 $f24, 0x10($s1) -/* 797ADC 802A1B1C E63A0014 */ swc1 $f26, 0x14($s1) -.L802A1B20: -/* 797AE0 802A1B20 AC430000 */ sw $v1, ($v0) -/* 797AE4 802A1B24 2652FFFF */ addiu $s2, $s2, -1 -/* 797AE8 802A1B28 0641FFFD */ bgez $s2, .L802A1B20 -/* 797AEC 802A1B2C 2442FFFC */ addiu $v0, $v0, -4 -/* 797AF0 802A1B30 8FC20078 */ lw $v0, 0x78($fp) -/* 797AF4 802A1B34 14400002 */ bnez $v0, .L802A1B40 -/* 797AF8 802A1B38 24040649 */ addiu $a0, $zero, 0x649 -/* 797AFC 802A1B3C 24040648 */ addiu $a0, $zero, 0x648 -.L802A1B40: -/* 797B00 802A1B40 0C05272D */ jal sfx_play_sound -/* 797B04 802A1B44 00000000 */ nop -/* 797B08 802A1B48 24020004 */ addiu $v0, $zero, 4 -/* 797B0C 802A1B4C 080A8907 */ j .L802A241C_7983DC -/* 797B10 802A1B50 AFC20070 */ sw $v0, 0x70($fp) -.L802A1B54_797B14: -/* 797B14 802A1B54 C624004C */ lwc1 $f4, 0x4c($s1) -/* 797B18 802A1B58 3C014240 */ lui $at, 0x4240 -/* 797B1C 802A1B5C 44811000 */ mtc1 $at, $f2 -/* 797B20 802A1B60 00000000 */ nop -/* 797B24 802A1B64 46041081 */ sub.s $f2, $f2, $f4 -/* 797B28 802A1B68 3C013E80 */ lui $at, 0x3e80 -/* 797B2C 802A1B6C 44810000 */ mtc1 $at, $f0 -/* 797B30 802A1B70 00000000 */ nop -/* 797B34 802A1B74 46001082 */ mul.s $f2, $f2, $f0 -/* 797B38 802A1B78 00000000 */ nop -/* 797B3C 802A1B7C 0000B82D */ daddu $s7, $zero, $zero -/* 797B40 802A1B80 02E0902D */ daddu $s2, $s7, $zero -/* 797B44 802A1B84 3C13802A */ lui $s3, %hi(D_802A3818) -/* 797B48 802A1B88 26733818 */ addiu $s3, $s3, %lo(D_802A3818) -/* 797B4C 802A1B8C 0260A82D */ daddu $s5, $s3, $zero -/* 797B50 802A1B90 46022100 */ add.s $f4, $f4, $f2 -/* 797B54 802A1B94 3C02802A */ lui $v0, %hi(D_802A37F0) -/* 797B58 802A1B98 8C4237F0 */ lw $v0, %lo(D_802A37F0)($v0) -/* 797B5C 802A1B9C 02E0A02D */ daddu $s4, $s7, $zero -/* 797B60 802A1BA0 E624004C */ swc1 $f4, 0x4c($s1) -/* 797B64 802A1BA4 8C42000C */ lw $v0, 0xc($v0) -/* 797B68 802A1BA8 3C10802A */ lui $s0, %hi(D_802A3514_7994D4) -/* 797B6C 802A1BAC 26103514 */ addiu $s0, $s0, %lo(D_802A3514_7994D4) -/* 797B70 802A1BB0 E4440048 */ swc1 $f4, 0x48($v0) -.L802A1BB4: -/* 797B74 802A1BB4 5240004F */ beql $s2, $zero, .L802A1CF4 -/* 797B78 802A1BB8 26730004 */ addiu $s3, $s3, 4 -/* 797B7C 802A1BBC 8E020000 */ lw $v0, ($s0) -/* 797B80 802A1BC0 04410013 */ bgez $v0, .L802A1C10 -/* 797B84 802A1BC4 00000000 */ nop -/* 797B88 802A1BC8 C6340000 */ lwc1 $f20, ($s1) -/* 797B8C 802A1BCC C638000C */ lwc1 $f24, 0xc($s1) -/* 797B90 802A1BD0 C6360004 */ lwc1 $f22, 4($s1) -/* 797B94 802A1BD4 4614C181 */ sub.s $f6, $f24, $f20 -/* 797B98 802A1BD8 C63C0010 */ lwc1 $f28, 0x10($s1) -/* 797B9C 802A1BDC C63E0008 */ lwc1 $f30, 8($s1) -/* 797BA0 802A1BE0 4616E001 */ sub.s $f0, $f28, $f22 -/* 797BA4 802A1BE4 C63A0014 */ lwc1 $f26, 0x14($s1) -/* 797BA8 802A1BE8 461ED081 */ sub.s $f2, $f26, $f30 -/* 797BAC 802A1BEC 4606A180 */ add.s $f6, $f20, $f6 -/* 797BB0 802A1BF0 4600B106 */ mov.s $f4, $f22 -/* 797BB4 802A1BF4 46002100 */ add.s $f4, $f4, $f0 -/* 797BB8 802A1BF8 4600F006 */ mov.s $f0, $f30 -/* 797BBC 802A1BFC 46020000 */ add.s $f0, $f0, $f2 -/* 797BC0 802A1C00 E6260000 */ swc1 $f6, ($s1) -/* 797BC4 802A1C04 E6240004 */ swc1 $f4, 4($s1) -/* 797BC8 802A1C08 080A873C */ j .L802A1CF0 -/* 797BCC 802A1C0C E6200008 */ swc1 $f0, 8($s1) -.L802A1C10: -/* 797BD0 802A1C10 10400004 */ beqz $v0, .L802A1C24 -/* 797BD4 802A1C14 24170001 */ addiu $s7, $zero, 1 -/* 797BD8 802A1C18 2442FFFF */ addiu $v0, $v0, -1 -/* 797BDC 802A1C1C 080A873C */ j .L802A1CF0 -/* 797BE0 802A1C20 AE020000 */ sw $v0, ($s0) -.L802A1C24: -/* 797BE4 802A1C24 C6340000 */ lwc1 $f20, ($s1) -/* 797BE8 802A1C28 C6360004 */ lwc1 $f22, 4($s1) -/* 797BEC 802A1C2C C63E0008 */ lwc1 $f30, 8($s1) -/* 797BF0 802A1C30 C638000C */ lwc1 $f24, 0xc($s1) -/* 797BF4 802A1C34 C63C0010 */ lwc1 $f28, 0x10($s1) -/* 797BF8 802A1C38 C63A0014 */ lwc1 $f26, 0x14($s1) -/* 797BFC 802A1C3C 4600A306 */ mov.s $f12, $f20 -/* 797C00 802A1C40 4406C000 */ mfc1 $a2, $f24 -/* 797C04 802A1C44 4407D000 */ mfc1 $a3, $f26 -/* 797C08 802A1C48 0C00A7B5 */ jal dist2D -/* 797C0C 802A1C4C 4600F386 */ mov.s $f14, $f30 -/* 797C10 802A1C50 02951021 */ addu $v0, $s4, $s5 -/* 797C14 802A1C54 4614C101 */ sub.s $f4, $f24, $f20 -/* 797C18 802A1C58 C4460000 */ lwc1 $f6, ($v0) -/* 797C1C 802A1C5C 468031A0 */ cvt.s.w $f6, $f6 -/* 797C20 802A1C60 C6220000 */ lwc1 $f2, ($s1) -/* 797C24 802A1C64 46062103 */ div.s $f4, $f4, $f6 -/* 797C28 802A1C68 46041080 */ add.s $f2, $f2, $f4 -/* 797C2C 802A1C6C 4616E101 */ sub.s $f4, $f28, $f22 -/* 797C30 802A1C70 E6220000 */ swc1 $f2, ($s1) -/* 797C34 802A1C74 C4460000 */ lwc1 $f6, ($v0) -/* 797C38 802A1C78 468031A0 */ cvt.s.w $f6, $f6 -/* 797C3C 802A1C7C C6220004 */ lwc1 $f2, 4($s1) -/* 797C40 802A1C80 46062103 */ div.s $f4, $f4, $f6 -/* 797C44 802A1C84 46041080 */ add.s $f2, $f2, $f4 -/* 797C48 802A1C88 461ED101 */ sub.s $f4, $f26, $f30 -/* 797C4C 802A1C8C E6220004 */ swc1 $f2, 4($s1) -/* 797C50 802A1C90 C4460000 */ lwc1 $f6, ($v0) -/* 797C54 802A1C94 468031A0 */ cvt.s.w $f6, $f6 -/* 797C58 802A1C98 C6220008 */ lwc1 $f2, 8($s1) -/* 797C5C 802A1C9C 46062103 */ div.s $f4, $f4, $f6 -/* 797C60 802A1CA0 46041080 */ add.s $f2, $f2, $f4 -/* 797C64 802A1CA4 E6220008 */ swc1 $f2, 8($s1) -/* 797C68 802A1CA8 8C420000 */ lw $v0, ($v0) -/* 797C6C 802A1CAC 14570007 */ bne $v0, $s7, .L802A1CCC -/* 797C70 802A1CB0 46000106 */ mov.s $f4, $f0 -/* 797C74 802A1CB4 2402FFFF */ addiu $v0, $zero, -1 -/* 797C78 802A1CB8 AE020000 */ sw $v0, ($s0) -/* 797C7C 802A1CBC E6380000 */ swc1 $f24, ($s1) -/* 797C80 802A1CC0 E63C0004 */ swc1 $f28, 4($s1) -/* 797C84 802A1CC4 080A8739 */ j .L802A1CE4 -/* 797C88 802A1CC8 E63A0008 */ swc1 $f26, 8($s1) -.L802A1CCC: -/* 797C8C 802A1CCC 3C014270 */ lui $at, 0x4270 -/* 797C90 802A1CD0 44810000 */ mtc1 $at, $f0 -/* 797C94 802A1CD4 C6220004 */ lwc1 $f2, 4($s1) -/* 797C98 802A1CD8 46002003 */ div.s $f0, $f4, $f0 -/* 797C9C 802A1CDC 46001080 */ add.s $f2, $f2, $f0 -/* 797CA0 802A1CE0 E6220004 */ swc1 $f2, 4($s1) -.L802A1CE4: -/* 797CA4 802A1CE4 8E620000 */ lw $v0, ($s3) -/* 797CA8 802A1CE8 2442FFFF */ addiu $v0, $v0, -1 -/* 797CAC 802A1CEC AE620000 */ sw $v0, ($s3) -.L802A1CF0: -/* 797CB0 802A1CF0 26730004 */ addiu $s3, $s3, 4 -.L802A1CF4: -/* 797CB4 802A1CF4 26940004 */ addiu $s4, $s4, 4 -/* 797CB8 802A1CF8 26520001 */ addiu $s2, $s2, 1 -/* 797CBC 802A1CFC 2A420002 */ slti $v0, $s2, 2 -/* 797CC0 802A1D00 1440FFAC */ bnez $v0, .L802A1BB4 -/* 797CC4 802A1D04 26100004 */ addiu $s0, $s0, 4 -/* 797CC8 802A1D08 3C03802A */ lui $v1, %hi(D_802A37F0) -/* 797CCC 802A1D0C 8C6337F0 */ lw $v1, %lo(D_802A37F0)($v1) -/* 797CD0 802A1D10 C6200000 */ lwc1 $f0, ($s1) -/* 797CD4 802A1D14 8C62000C */ lw $v0, 0xc($v1) -/* 797CD8 802A1D18 E440004C */ swc1 $f0, 0x4c($v0) -/* 797CDC 802A1D1C 8C62000C */ lw $v0, 0xc($v1) -/* 797CE0 802A1D20 C6200004 */ lwc1 $f0, 4($s1) -/* 797CE4 802A1D24 E4400050 */ swc1 $f0, 0x50($v0) -/* 797CE8 802A1D28 8C62000C */ lw $v0, 0xc($v1) -/* 797CEC 802A1D2C C6200008 */ lwc1 $f0, 8($s1) -/* 797CF0 802A1D30 E4400054 */ swc1 $f0, 0x54($v0) -/* 797CF4 802A1D34 8C62000C */ lw $v0, 0xc($v1) -/* 797CF8 802A1D38 C6200000 */ lwc1 $f0, ($s1) -/* 797CFC 802A1D3C E4400004 */ swc1 $f0, 4($v0) -/* 797D00 802A1D40 8C62000C */ lw $v0, 0xc($v1) -/* 797D04 802A1D44 AC400008 */ sw $zero, 8($v0) -/* 797D08 802A1D48 8C62000C */ lw $v0, 0xc($v1) -/* 797D0C 802A1D4C C6200008 */ lwc1 $f0, 8($s1) -/* 797D10 802A1D50 16E001B2 */ bnez $s7, .L802A241C_7983DC -/* 797D14 802A1D54 E440000C */ swc1 $f0, 0xc($v0) -/* 797D18 802A1D58 C620000C */ lwc1 $f0, 0xc($s1) -/* 797D1C 802A1D5C C6220010 */ lwc1 $f2, 0x10($s1) -/* 797D20 802A1D60 C6240014 */ lwc1 $f4, 0x14($s1) -/* 797D24 802A1D64 E6200000 */ swc1 $f0, ($s1) -/* 797D28 802A1D68 E6220004 */ swc1 $f2, 4($s1) -/* 797D2C 802A1D6C E6240008 */ swc1 $f4, 8($s1) -/* 797D30 802A1D70 8C62000C */ lw $v0, 0xc($v1) -/* 797D34 802A1D74 E440004C */ swc1 $f0, 0x4c($v0) -/* 797D38 802A1D78 8C62000C */ lw $v0, 0xc($v1) -/* 797D3C 802A1D7C C6200004 */ lwc1 $f0, 4($s1) -/* 797D40 802A1D80 E4400050 */ swc1 $f0, 0x50($v0) -/* 797D44 802A1D84 8C62000C */ lw $v0, 0xc($v1) -/* 797D48 802A1D88 C6200008 */ lwc1 $f0, 8($s1) -/* 797D4C 802A1D8C 0000902D */ daddu $s2, $zero, $zero -/* 797D50 802A1D90 E4400054 */ swc1 $f0, 0x54($v0) -/* 797D54 802A1D94 8C62000C */ lw $v0, 0xc($v1) -/* 797D58 802A1D98 C6200000 */ lwc1 $f0, ($s1) -/* 797D5C 802A1D9C 24070001 */ addiu $a3, $zero, 1 -/* 797D60 802A1DA0 E4400004 */ swc1 $f0, 4($v0) -/* 797D64 802A1DA4 8C62000C */ lw $v0, 0xc($v1) -/* 797D68 802A1DA8 2406FFFD */ addiu $a2, $zero, -3 -/* 797D6C 802A1DAC AC400008 */ sw $zero, 8($v0) -/* 797D70 802A1DB0 8C62000C */ lw $v0, 0xc($v1) -/* 797D74 802A1DB4 C6200008 */ lwc1 $f0, 8($s1) -/* 797D78 802A1DB8 3C05802A */ lui $a1, %hi(D_802A3514_7994D4) -/* 797D7C 802A1DBC 24A53514 */ addiu $a1, $a1, %lo(D_802A3514_7994D4) -/* 797D80 802A1DC0 E440000C */ swc1 $f0, 0xc($v0) -/* 797D84 802A1DC4 8C63000C */ lw $v1, 0xc($v1) -/* 797D88 802A1DC8 2404005C */ addiu $a0, $zero, 0x5c -/* 797D8C 802A1DCC AFA30028 */ sw $v1, 0x28($sp) -.L802A1DD0: -/* 797D90 802A1DD0 8FC20078 */ lw $v0, 0x78($fp) -/* 797D94 802A1DD4 14400003 */ bnez $v0, .L802A1DE4 -/* 797D98 802A1DD8 00000000 */ nop -/* 797D9C 802A1DDC 52400008 */ beql $s2, $zero, .L802A1E00 -/* 797DA0 802A1DE0 24A50004 */ addiu $a1, $a1, 4 -.L802A1DE4: -/* 797DA4 802A1DE4 8FA80028 */ lw $t0, 0x28($sp) -/* 797DA8 802A1DE8 ACA70000 */ sw $a3, ($a1) -/* 797DAC 802A1DEC 01048021 */ addu $s0, $t0, $a0 -/* 797DB0 802A1DF0 8E020000 */ lw $v0, ($s0) -/* 797DB4 802A1DF4 00461024 */ and $v0, $v0, $a2 -/* 797DB8 802A1DF8 AE020000 */ sw $v0, ($s0) -/* 797DBC 802A1DFC 24A50004 */ addiu $a1, $a1, 4 -.L802A1E00: -/* 797DC0 802A1E00 26520001 */ addiu $s2, $s2, 1 -/* 797DC4 802A1E04 2A420008 */ slti $v0, $s2, 8 -/* 797DC8 802A1E08 1440FFF1 */ bnez $v0, .L802A1DD0 -/* 797DCC 802A1E0C 2484001C */ addiu $a0, $a0, 0x1c -/* 797DD0 802A1E10 0C093903 */ jal btl_cam_use_preset -/* 797DD4 802A1E14 24040003 */ addiu $a0, $zero, 3 -/* 797DD8 802A1E18 0C093936 */ jal btl_cam_move -/* 797DDC 802A1E1C 2404001E */ addiu $a0, $zero, 0x1e -/* 797DE0 802A1E20 2402000F */ addiu $v0, $zero, 0xf -/* 797DE4 802A1E24 AFC20074 */ sw $v0, 0x74($fp) -/* 797DE8 802A1E28 24020005 */ addiu $v0, $zero, 5 -/* 797DEC 802A1E2C 080A8907 */ j .L802A241C_7983DC -/* 797DF0 802A1E30 AFC20070 */ sw $v0, 0x70($fp) -.L802A1E34_797DF4: -/* 797DF4 802A1E34 8FC20074 */ lw $v0, 0x74($fp) -/* 797DF8 802A1E38 14400084 */ bnez $v0, .L802A204C -/* 797DFC 802A1E3C 2442FFFF */ addiu $v0, $v0, -1 -/* 797E00 802A1E40 3C05802A */ lui $a1, %hi(D_802A37F0) -/* 797E04 802A1E44 8CA537F0 */ lw $a1, %lo(D_802A37F0)($a1) -/* 797E08 802A1E48 A6200064 */ sh $zero, 0x64($s1) -/* 797E0C 802A1E4C 8CA2000C */ lw $v0, 0xc($a1) -/* 797E10 802A1E50 AC40003C */ sw $zero, 0x3c($v0) -/* 797E14 802A1E54 8CA2000C */ lw $v0, 0xc($a1) -/* 797E18 802A1E58 AC400024 */ sw $zero, 0x24($v0) -/* 797E1C 802A1E5C 8FC20078 */ lw $v0, 0x78($fp) -/* 797E20 802A1E60 1040000F */ beqz $v0, .L802A1EA0 -/* 797E24 802A1E64 240400F0 */ addiu $a0, $zero, 0xf0 -/* 797E28 802A1E68 8CA2000C */ lw $v0, 0xc($a1) -/* 797E2C 802A1E6C AC440018 */ sw $a0, 0x18($v0) -/* 797E30 802A1E70 8CA3000C */ lw $v1, 0xc($a1) -/* 797E34 802A1E74 24020050 */ addiu $v0, $zero, 0x50 -/* 797E38 802A1E78 AC62001C */ sw $v0, 0x1c($v1) -/* 797E3C 802A1E7C 8CA3000C */ lw $v1, 0xc($a1) -/* 797E40 802A1E80 240200C8 */ addiu $v0, $zero, 0xc8 -/* 797E44 802A1E84 AC620020 */ sw $v0, 0x20($v1) -/* 797E48 802A1E88 8CA2000C */ lw $v0, 0xc($a1) -/* 797E4C 802A1E8C AC440028 */ sw $a0, 0x28($v0) -/* 797E50 802A1E90 8CA2000C */ lw $v0, 0xc($a1) -/* 797E54 802A1E94 AC44002C */ sw $a0, 0x2c($v0) -/* 797E58 802A1E98 8CA2000C */ lw $v0, 0xc($a1) -/* 797E5C 802A1E9C AC440030 */ sw $a0, 0x30($v0) -.L802A1EA0: -/* 797E60 802A1EA0 3C04802A */ lui $a0, %hi(battle_star_star_beam_802A33A8) -/* 797E64 802A1EA4 248433A8 */ addiu $a0, $a0, %lo(battle_star_star_beam_802A33A8) -/* 797E68 802A1EA8 2405000A */ addiu $a1, $zero, 0xa -/* 797E6C 802A1EAC 0C0B0CF8 */ jal start_script -/* 797E70 802A1EB0 0000302D */ daddu $a2, $zero, $zero -/* 797E74 802A1EB4 C6200000 */ lwc1 $f0, ($s1) -/* 797E78 802A1EB8 3C013F00 */ lui $at, 0x3f00 -/* 797E7C 802A1EBC 44811000 */ mtc1 $at, $f2 -/* 797E80 802A1EC0 4600020D */ trunc.w.s $f8, $f0 -/* 797E84 802A1EC4 E4480084 */ swc1 $f8, 0x84($v0) -/* 797E88 802A1EC8 C6200004 */ lwc1 $f0, 4($s1) -/* 797E8C 802A1ECC 46020002 */ mul.s $f0, $f0, $f2 -/* 797E90 802A1ED0 00000000 */ nop -/* 797E94 802A1ED4 4600020D */ trunc.w.s $f8, $f0 -/* 797E98 802A1ED8 E4480088 */ swc1 $f8, 0x88($v0) -/* 797E9C 802A1EDC C6200008 */ lwc1 $f0, 8($s1) -/* 797EA0 802A1EE0 4600020D */ trunc.w.s $f8, $f0 -/* 797EA4 802A1EE4 E448008C */ swc1 $f8, 0x8c($v0) -/* 797EA8 802A1EE8 8FC30078 */ lw $v1, 0x78($fp) -/* 797EAC 802A1EEC AC4300AC */ sw $v1, 0xac($v0) -/* 797EB0 802A1EF0 0C05272D */ jal sfx_play_sound -/* 797EB4 802A1EF4 2404024A */ addiu $a0, $zero, 0x24a -/* 797EB8 802A1EF8 2402002D */ addiu $v0, $zero, 0x2d -/* 797EBC 802A1EFC AFC20074 */ sw $v0, 0x74($fp) -/* 797EC0 802A1F00 24020006 */ addiu $v0, $zero, 6 -/* 797EC4 802A1F04 080A8907 */ j .L802A241C_7983DC -/* 797EC8 802A1F08 AFC20070 */ sw $v0, 0x70($fp) -.L802A1F0C_797ECC: -/* 797ECC 802A1F0C 96220064 */ lhu $v0, 0x64($s1) -/* 797ED0 802A1F10 2442001E */ addiu $v0, $v0, 0x1e -/* 797ED4 802A1F14 A6220064 */ sh $v0, 0x64($s1) -/* 797ED8 802A1F18 00021400 */ sll $v0, $v0, 0x10 -/* 797EDC 802A1F1C 00021403 */ sra $v0, $v0, 0x10 -/* 797EE0 802A1F20 28420100 */ slti $v0, $v0, 0x100 -/* 797EE4 802A1F24 14400002 */ bnez $v0, .L802A1F30 -/* 797EE8 802A1F28 240200FF */ addiu $v0, $zero, 0xff -/* 797EEC 802A1F2C A6220064 */ sh $v0, 0x64($s1) -.L802A1F30: -/* 797EF0 802A1F30 3C04802A */ lui $a0, %hi(D_802A37F0) -/* 797EF4 802A1F34 8C8437F0 */ lw $a0, %lo(D_802A37F0)($a0) -/* 797EF8 802A1F38 86220064 */ lh $v0, 0x64($s1) -/* 797EFC 802A1F3C 8C83000C */ lw $v1, 0xc($a0) -/* 797F00 802A1F40 AC62003C */ sw $v0, 0x3c($v1) -/* 797F04 802A1F44 8C83000C */ lw $v1, 0xc($a0) -/* 797F08 802A1F48 86220064 */ lh $v0, 0x64($s1) -/* 797F0C 802A1F4C AC620024 */ sw $v0, 0x24($v1) -/* 797F10 802A1F50 8FC20074 */ lw $v0, 0x74($fp) -/* 797F14 802A1F54 1440003D */ bnez $v0, .L802A204C -/* 797F18 802A1F58 2442FFFF */ addiu $v0, $v0, -1 -/* 797F1C 802A1F5C 8FC20078 */ lw $v0, 0x78($fp) -/* 797F20 802A1F60 24030001 */ addiu $v1, $zero, 1 -/* 797F24 802A1F64 3C01802A */ lui $at, %hi(D_802A3838) -/* 797F28 802A1F68 AC233838 */ sw $v1, %lo(D_802A3838)($at) -/* 797F2C 802A1F6C 14400012 */ bnez $v0, .L802A1FB8 -/* 797F30 802A1F70 2402000F */ addiu $v0, $zero, 0xf -/* 797F34 802A1F74 82A2040C */ lb $v0, 0x40c($s5) -/* 797F38 802A1F78 1443000F */ bne $v0, $v1, .L802A1FB8 -/* 797F3C 802A1F7C 2402000F */ addiu $v0, $zero, 0xf -/* 797F40 802A1F80 86A40428 */ lh $a0, 0x428($s5) -/* 797F44 802A1F84 0C09A75B */ jal get_actor -/* 797F48 802A1F88 00000000 */ nop -/* 797F4C 802A1F8C 82A50426 */ lb $a1, 0x426($s5) -/* 797F50 802A1F90 0C099117 */ jal get_actor_part -/* 797F54 802A1F94 0040202D */ daddu $a0, $v0, $zero -/* 797F58 802A1F98 8C42007C */ lw $v0, 0x7c($v0) -/* 797F5C 802A1F9C 3C030008 */ lui $v1, 8 -/* 797F60 802A1FA0 00431024 */ and $v0, $v0, $v1 -/* 797F64 802A1FA4 10400003 */ beqz $v0, .L802A1FB4 -/* 797F68 802A1FA8 24020014 */ addiu $v0, $zero, 0x14 -/* 797F6C 802A1FAC 080A8907 */ j .L802A241C_7983DC -/* 797F70 802A1FB0 AFC20070 */ sw $v0, 0x70($fp) -.L802A1FB4: -/* 797F74 802A1FB4 2402000F */ addiu $v0, $zero, 0xf -.L802A1FB8: -/* 797F78 802A1FB8 AFC20074 */ sw $v0, 0x74($fp) -/* 797F7C 802A1FBC 24020007 */ addiu $v0, $zero, 7 -/* 797F80 802A1FC0 080A8907 */ j .L802A241C_7983DC -/* 797F84 802A1FC4 AFC20070 */ sw $v0, 0x70($fp) -.L802A1FC8_797F88: -/* 797F88 802A1FC8 8FC20074 */ lw $v0, 0x74($fp) -/* 797F8C 802A1FCC 1440001F */ bnez $v0, .L802A204C -/* 797F90 802A1FD0 2442FFFF */ addiu $v0, $v0, -1 -/* 797F94 802A1FD4 2402000A */ addiu $v0, $zero, 0xa -/* 797F98 802A1FD8 AFC20074 */ sw $v0, 0x74($fp) -/* 797F9C 802A1FDC 24020008 */ addiu $v0, $zero, 8 -/* 797FA0 802A1FE0 080A8907 */ j .L802A241C_7983DC -/* 797FA4 802A1FE4 AFC20070 */ sw $v0, 0x70($fp) -.L802A1FE8_797FA8: -/* 797FA8 802A1FE8 96220064 */ lhu $v0, 0x64($s1) -/* 797FAC 802A1FEC 2442FFE2 */ addiu $v0, $v0, -0x1e -/* 797FB0 802A1FF0 A6220064 */ sh $v0, 0x64($s1) -/* 797FB4 802A1FF4 00021400 */ sll $v0, $v0, 0x10 -/* 797FB8 802A1FF8 04420001 */ bltzl $v0, .L802A2000 -/* 797FBC 802A1FFC A6200064 */ sh $zero, 0x64($s1) -.L802A2000: -/* 797FC0 802A2000 3C04802A */ lui $a0, %hi(D_802A37F0) -/* 797FC4 802A2004 8C8437F0 */ lw $a0, %lo(D_802A37F0)($a0) -/* 797FC8 802A2008 86220064 */ lh $v0, 0x64($s1) -/* 797FCC 802A200C 8C83000C */ lw $v1, 0xc($a0) -/* 797FD0 802A2010 AC62003C */ sw $v0, 0x3c($v1) -/* 797FD4 802A2014 8C83000C */ lw $v1, 0xc($a0) -/* 797FD8 802A2018 86220064 */ lh $v0, 0x64($s1) -/* 797FDC 802A201C AC620024 */ sw $v0, 0x24($v1) -/* 797FE0 802A2020 8FC20074 */ lw $v0, 0x74($fp) -/* 797FE4 802A2024 14400009 */ bnez $v0, .L802A204C -/* 797FE8 802A2028 2442FFFF */ addiu $v0, $v0, -1 -/* 797FEC 802A202C 2402000A */ addiu $v0, $zero, 0xa -/* 797FF0 802A2030 AFC20074 */ sw $v0, 0x74($fp) -/* 797FF4 802A2034 24020009 */ addiu $v0, $zero, 9 -/* 797FF8 802A2038 080A8907 */ j .L802A241C_7983DC -/* 797FFC 802A203C AFC20070 */ sw $v0, 0x70($fp) -.L802A2040_798000: -/* 798000 802A2040 8FC20074 */ lw $v0, 0x74($fp) -/* 798004 802A2044 10400003 */ beqz $v0, .L802A2054 -/* 798008 802A2048 2442FFFF */ addiu $v0, $v0, -1 -.L802A204C: -/* 79800C 802A204C 080A8907 */ j .L802A241C_7983DC -/* 798010 802A2050 AFC20074 */ sw $v0, 0x74($fp) -.L802A2054: -/* 798014 802A2054 3C01432A */ lui $at, 0x432a -/* 798018 802A2058 44810000 */ mtc1 $at, $f0 -/* 79801C 802A205C 24020014 */ addiu $v0, $zero, 0x14 -/* 798020 802A2060 4600C000 */ add.s $f0, $f24, $f0 -/* 798024 802A2064 E63C000C */ swc1 $f28, 0xc($s1) -/* 798028 802A2068 E63A0014 */ swc1 $f26, 0x14($s1) -/* 79802C 802A206C E6200010 */ swc1 $f0, 0x10($s1) -/* 798030 802A2070 AFC20074 */ sw $v0, 0x74($fp) -/* 798034 802A2074 2402000A */ addiu $v0, $zero, 0xa -/* 798038 802A2078 080A8907 */ j .L802A241C_7983DC -/* 79803C 802A207C AFC20070 */ sw $v0, 0x70($fp) -.L802A2080_798040: -/* 798040 802A2080 8FC20074 */ lw $v0, 0x74($fp) -/* 798044 802A2084 10400010 */ beqz $v0, .L802A20C8 -/* 798048 802A2088 2442FFFF */ addiu $v0, $v0, -1 -/* 79804C 802A208C 1440000E */ bnez $v0, .L802A20C8 -/* 798050 802A2090 AFC20074 */ sw $v0, 0x74($fp) -/* 798054 802A2094 8FC20078 */ lw $v0, 0x78($fp) -/* 798058 802A2098 54400006 */ bnel $v0, $zero, .L802A20B4 -/* 79805C 802A209C 24040249 */ addiu $a0, $zero, 0x249 -/* 798060 802A20A0 24040248 */ addiu $a0, $zero, 0x248 -/* 798064 802A20A4 0C05269B */ jal func_80149A6C -/* 798068 802A20A8 24050001 */ addiu $a1, $zero, 1 -/* 79806C 802A20AC 080A8830 */ j .L802A20C0 -/* 798070 802A20B0 24040648 */ addiu $a0, $zero, 0x648 -.L802A20B4: -/* 798074 802A20B4 0C05269B */ jal func_80149A6C -/* 798078 802A20B8 24050001 */ addiu $a1, $zero, 1 -/* 79807C 802A20BC 24040649 */ addiu $a0, $zero, 0x649 -.L802A20C0: -/* 798080 802A20C0 0C05272D */ jal sfx_play_sound -/* 798084 802A20C4 00000000 */ nop -.L802A20C8: -/* 798088 802A20C8 0000B82D */ daddu $s7, $zero, $zero -/* 79808C 802A20CC 02E0902D */ daddu $s2, $s7, $zero -/* 798090 802A20D0 2405FFFF */ addiu $a1, $zero, -1 -/* 798094 802A20D4 3C03802A */ lui $v1, %hi(D_802A3534_7994F4) -/* 798098 802A20D8 24633534 */ addiu $v1, $v1, %lo(D_802A3534_7994F4) -/* 79809C 802A20DC 3C014120 */ lui $at, 0x4120 -/* 7980A0 802A20E0 44813000 */ mtc1 $at, $f6 -/* 7980A4 802A20E4 3C02802A */ lui $v0, %hi(D_802A37F0) -/* 7980A8 802A20E8 8C4237F0 */ lw $v0, %lo(D_802A37F0)($v0) -/* 7980AC 802A20EC 3C013FF0 */ lui $at, 0x3ff0 -/* 7980B0 802A20F0 44812800 */ mtc1 $at, $f5 -/* 7980B4 802A20F4 44802000 */ mtc1 $zero, $f4 -/* 7980B8 802A20F8 8C42000C */ lw $v0, 0xc($v0) -/* 7980BC 802A20FC 2404005C */ addiu $a0, $zero, 0x5c -/* 7980C0 802A2100 AFA20028 */ sw $v0, 0x28($sp) -.L802A2104: -/* 7980C4 802A2104 8FC20078 */ lw $v0, 0x78($fp) -/* 7980C8 802A2108 14400003 */ bnez $v0, .L802A2118 -/* 7980CC 802A210C 00000000 */ nop -/* 7980D0 802A2110 5240001C */ beql $s2, $zero, .L802A2184 -/* 7980D4 802A2114 24630004 */ addiu $v1, $v1, 4 -.L802A2118: -/* 7980D8 802A2118 8FA80028 */ lw $t0, 0x28($sp) -/* 7980DC 802A211C 8C620000 */ lw $v0, ($v1) -/* 7980E0 802A2120 04400017 */ bltz $v0, .L802A2180 -/* 7980E4 802A2124 01048021 */ addu $s0, $t0, $a0 -/* 7980E8 802A2128 10400004 */ beqz $v0, .L802A213C -/* 7980EC 802A212C 24170001 */ addiu $s7, $zero, 1 -/* 7980F0 802A2130 2442FFFF */ addiu $v0, $v0, -1 -/* 7980F4 802A2134 080A8860 */ j .L802A2180 -/* 7980F8 802A2138 AC620000 */ sw $v0, ($v1) -.L802A213C: -/* 7980FC 802A213C 8E020000 */ lw $v0, ($s0) -/* 798100 802A2140 C6160014 */ lwc1 $f22, 0x14($s0) -/* 798104 802A2144 34420002 */ ori $v0, $v0, 2 -/* 798108 802A2148 AE020000 */ sw $v0, ($s0) -/* 79810C 802A214C C6200010 */ lwc1 $f0, 0x10($s1) -/* 798110 802A2150 46160001 */ sub.s $f0, $f0, $f22 -/* 798114 802A2154 46060003 */ div.s $f0, $f0, $f6 -/* 798118 802A2158 4600B000 */ add.s $f0, $f22, $f0 -/* 79811C 802A215C E6000014 */ swc1 $f0, 0x14($s0) -/* 798120 802A2160 C6220010 */ lwc1 $f2, 0x10($s1) -/* 798124 802A2164 46020001 */ sub.s $f0, $f0, $f2 -/* 798128 802A2168 46000005 */ abs.s $f0, $f0 -/* 79812C 802A216C 46000021 */ cvt.d.s $f0, $f0 -/* 798130 802A2170 4624003C */ c.lt.d $f0, $f4 -/* 798134 802A2174 00000000 */ nop -/* 798138 802A2178 45030001 */ bc1tl .L802A2180 -/* 79813C 802A217C AC650000 */ sw $a1, ($v1) -.L802A2180: -/* 798140 802A2180 24630004 */ addiu $v1, $v1, 4 -.L802A2184: -/* 798144 802A2184 26520001 */ addiu $s2, $s2, 1 -/* 798148 802A2188 2A420008 */ slti $v0, $s2, 8 -/* 79814C 802A218C 1440FFDD */ bnez $v0, .L802A2104 -/* 798150 802A2190 2484001C */ addiu $a0, $a0, 0x1c -/* 798154 802A2194 080A88FB */ j .L802A23EC -/* 798158 802A2198 00000000 */ nop -.L802A219C_79815C: -/* 79815C 802A219C 3C02802A */ lui $v0, %hi(D_802A37F0) -/* 798160 802A21A0 8C4237F0 */ lw $v0, %lo(D_802A37F0)($v0) -/* 798164 802A21A4 2404000F */ addiu $a0, $zero, 0xf -/* 798168 802A21A8 8C43000C */ lw $v1, 0xc($v0) -/* 79816C 802A21AC 24120007 */ addiu $s2, $zero, 7 -/* 798170 802A21B0 AC60003C */ sw $zero, 0x3c($v1) -/* 798174 802A21B4 8C42000C */ lw $v0, 0xc($v0) -/* 798178 802A21B8 3C03802A */ lui $v1, %hi(D_802A3834 - 0x4) -/* 79817C 802A21BC 24633834 */ addiu $v1, $v1, %lo(D_802A3834 - 0x4) -/* 798180 802A21C0 AC400024 */ sw $zero, 0x24($v0) -.L802A21C4: -/* 798184 802A21C4 AC640000 */ sw $a0, ($v1) -/* 798188 802A21C8 2652FFFF */ addiu $s2, $s2, -1 -/* 79818C 802A21CC 0641FFFD */ bgez $s2, .L802A21C4 -/* 798190 802A21D0 2463FFFC */ addiu $v1, $v1, -4 -/* 798194 802A21D4 8FC20078 */ lw $v0, 0x78($fp) -/* 798198 802A21D8 14400002 */ bnez $v0, .L802A21E4 -/* 79819C 802A21DC 24040249 */ addiu $a0, $zero, 0x249 -/* 7981A0 802A21E0 24040248 */ addiu $a0, $zero, 0x248 -.L802A21E4: -/* 7981A4 802A21E4 0C05269B */ jal func_80149A6C -/* 7981A8 802A21E8 0000282D */ daddu $a1, $zero, $zero -/* 7981AC 802A21EC 24020015 */ addiu $v0, $zero, 0x15 -/* 7981B0 802A21F0 080A8907 */ j .L802A241C_7983DC -/* 7981B4 802A21F4 AFC20070 */ sw $v0, 0x70($fp) -.L802A21F8_7981B8: -/* 7981B8 802A21F8 0000B82D */ daddu $s7, $zero, $zero -/* 7981BC 802A21FC 02E0902D */ daddu $s2, $s7, $zero -/* 7981C0 802A2200 3C13802A */ lui $s3, %hi(D_802A3818) -/* 7981C4 802A2204 26733818 */ addiu $s3, $s3, %lo(D_802A3818) -/* 7981C8 802A2208 02E0282D */ daddu $a1, $s7, $zero -/* 7981CC 802A220C 24160008 */ addiu $s6, $zero, 8 -/* 7981D0 802A2210 24150004 */ addiu $s5, $zero, 4 -/* 7981D4 802A2214 3C03802A */ lui $v1, %hi(D_802A3554_799514) -/* 7981D8 802A2218 24633554 */ addiu $v1, $v1, %lo(D_802A3554_799514) -/* 7981DC 802A221C 0060A02D */ daddu $s4, $v1, $zero -/* 7981E0 802A2220 3C02802A */ lui $v0, %hi(D_802A37F0) -/* 7981E4 802A2224 8C4237F0 */ lw $v0, %lo(D_802A37F0)($v0) -/* 7981E8 802A2228 3C11802A */ lui $s1, %hi(D_802A3514_7994D4) -/* 7981EC 802A222C 26313514 */ addiu $s1, $s1, %lo(D_802A3514_7994D4) -/* 7981F0 802A2230 8C42000C */ lw $v0, 0xc($v0) -/* 7981F4 802A2234 2404005C */ addiu $a0, $zero, 0x5c -/* 7981F8 802A2238 AFA20028 */ sw $v0, 0x28($sp) -.L802A223C: -/* 7981FC 802A223C 8FC20078 */ lw $v0, 0x78($fp) -/* 798200 802A2240 14400003 */ bnez $v0, .L802A2250 -/* 798204 802A2244 00000000 */ nop -/* 798208 802A2248 5240005F */ beql $s2, $zero, .L802A23C8 -/* 79820C 802A224C 26730004 */ addiu $s3, $s3, 4 -.L802A2250: -/* 798210 802A2250 8FA80028 */ lw $t0, 0x28($sp) -/* 798214 802A2254 8E220000 */ lw $v0, ($s1) -/* 798218 802A2258 04410015 */ bgez $v0, .L802A22B0 -/* 79821C 802A225C 01048021 */ addu $s0, $t0, $a0 -/* 798220 802A2260 02A31021 */ addu $v0, $s5, $v1 -/* 798224 802A2264 C6140010 */ lwc1 $f20, 0x10($s0) -/* 798228 802A2268 C6980000 */ lwc1 $f24, ($s4) -/* 79822C 802A226C C45C0000 */ lwc1 $f28, ($v0) -/* 798230 802A2270 02C31021 */ addu $v0, $s6, $v1 -/* 798234 802A2274 4614C181 */ sub.s $f6, $f24, $f20 -/* 798238 802A2278 C6160014 */ lwc1 $f22, 0x14($s0) -/* 79823C 802A227C C61E0018 */ lwc1 $f30, 0x18($s0) -/* 798240 802A2280 4616E001 */ sub.s $f0, $f28, $f22 -/* 798244 802A2284 C45A0000 */ lwc1 $f26, ($v0) -/* 798248 802A2288 461ED081 */ sub.s $f2, $f26, $f30 -/* 79824C 802A228C 4606A180 */ add.s $f6, $f20, $f6 -/* 798250 802A2290 4600B106 */ mov.s $f4, $f22 -/* 798254 802A2294 46002100 */ add.s $f4, $f4, $f0 -/* 798258 802A2298 4600F006 */ mov.s $f0, $f30 -/* 79825C 802A229C 46020000 */ add.s $f0, $f0, $f2 -/* 798260 802A22A0 E6060010 */ swc1 $f6, 0x10($s0) -/* 798264 802A22A4 E6040014 */ swc1 $f4, 0x14($s0) -/* 798268 802A22A8 080A88F1 */ j .L802A23C4 -/* 79826C 802A22AC E6000018 */ swc1 $f0, 0x18($s0) -.L802A22B0: -/* 798270 802A22B0 10400004 */ beqz $v0, .L802A22C4 -/* 798274 802A22B4 24170001 */ addiu $s7, $zero, 1 -/* 798278 802A22B8 2442FFFF */ addiu $v0, $v0, -1 -/* 79827C 802A22BC 080A88F1 */ j .L802A23C4 -/* 798280 802A22C0 AE220000 */ sw $v0, ($s1) -.L802A22C4: -/* 798284 802A22C4 C6140010 */ lwc1 $f20, 0x10($s0) -/* 798288 802A22C8 C6160014 */ lwc1 $f22, 0x14($s0) -/* 79828C 802A22CC C61E0018 */ lwc1 $f30, 0x18($s0) -/* 798290 802A22D0 8E020000 */ lw $v0, ($s0) -/* 798294 802A22D4 4600A306 */ mov.s $f12, $f20 -/* 798298 802A22D8 34420002 */ ori $v0, $v0, 2 -/* 79829C 802A22DC AE020000 */ sw $v0, ($s0) -/* 7982A0 802A22E0 02C31021 */ addu $v0, $s6, $v1 -/* 7982A4 802A22E4 C45A0000 */ lwc1 $f26, ($v0) -/* 7982A8 802A22E8 02A31021 */ addu $v0, $s5, $v1 -/* 7982AC 802A22EC C6980000 */ lwc1 $f24, ($s4) -/* 7982B0 802A22F0 C45C0000 */ lwc1 $f28, ($v0) -/* 7982B4 802A22F4 4406C000 */ mfc1 $a2, $f24 -/* 7982B8 802A22F8 4407D000 */ mfc1 $a3, $f26 -/* 7982BC 802A22FC 4600F386 */ mov.s $f14, $f30 -/* 7982C0 802A2300 AFA30030 */ sw $v1, 0x30($sp) -/* 7982C4 802A2304 AFA40034 */ sw $a0, 0x34($sp) -/* 7982C8 802A2308 0C00A7B5 */ jal dist2D -/* 7982CC 802A230C AFA50038 */ sw $a1, 0x38($sp) -/* 7982D0 802A2310 3C08802A */ lui $t0, %hi(D_802A3818) -/* 7982D4 802A2314 25083818 */ addiu $t0, $t0, %lo(D_802A3818) -/* 7982D8 802A2318 4614C101 */ sub.s $f4, $f24, $f20 -/* 7982DC 802A231C 8FA50038 */ lw $a1, 0x38($sp) -/* 7982E0 802A2320 C6020010 */ lwc1 $f2, 0x10($s0) -/* 7982E4 802A2324 00A81021 */ addu $v0, $a1, $t0 -/* 7982E8 802A2328 C4460000 */ lwc1 $f6, ($v0) -/* 7982EC 802A232C 468031A0 */ cvt.s.w $f6, $f6 -/* 7982F0 802A2330 46062103 */ div.s $f4, $f4, $f6 -/* 7982F4 802A2334 46041080 */ add.s $f2, $f2, $f4 -/* 7982F8 802A2338 4616E101 */ sub.s $f4, $f28, $f22 -/* 7982FC 802A233C E6020010 */ swc1 $f2, 0x10($s0) -/* 798300 802A2340 C4460000 */ lwc1 $f6, ($v0) -/* 798304 802A2344 468031A0 */ cvt.s.w $f6, $f6 -/* 798308 802A2348 C6020014 */ lwc1 $f2, 0x14($s0) -/* 79830C 802A234C 46062103 */ div.s $f4, $f4, $f6 -/* 798310 802A2350 46041080 */ add.s $f2, $f2, $f4 -/* 798314 802A2354 461ED101 */ sub.s $f4, $f26, $f30 -/* 798318 802A2358 E6020014 */ swc1 $f2, 0x14($s0) -/* 79831C 802A235C C4460000 */ lwc1 $f6, ($v0) -/* 798320 802A2360 468031A0 */ cvt.s.w $f6, $f6 -/* 798324 802A2364 C6020018 */ lwc1 $f2, 0x18($s0) -/* 798328 802A2368 46062103 */ div.s $f4, $f4, $f6 -/* 79832C 802A236C 46041080 */ add.s $f2, $f2, $f4 -/* 798330 802A2370 E6020018 */ swc1 $f2, 0x18($s0) -/* 798334 802A2374 8C420000 */ lw $v0, ($v0) -/* 798338 802A2378 8FA30030 */ lw $v1, 0x30($sp) -/* 79833C 802A237C 8FA40034 */ lw $a0, 0x34($sp) -/* 798340 802A2380 14570007 */ bne $v0, $s7, .L802A23A0 -/* 798344 802A2384 46000106 */ mov.s $f4, $f0 -/* 798348 802A2388 2402FFFF */ addiu $v0, $zero, -1 -/* 79834C 802A238C AE220000 */ sw $v0, ($s1) -/* 798350 802A2390 E6180010 */ swc1 $f24, 0x10($s0) -/* 798354 802A2394 E61C0014 */ swc1 $f28, 0x14($s0) -/* 798358 802A2398 080A88EE */ j .L802A23B8 -/* 79835C 802A239C E61A0018 */ swc1 $f26, 0x18($s0) -.L802A23A0: -/* 798360 802A23A0 3C014270 */ lui $at, 0x4270 -/* 798364 802A23A4 44810000 */ mtc1 $at, $f0 -/* 798368 802A23A8 C6020014 */ lwc1 $f2, 0x14($s0) -/* 79836C 802A23AC 46002003 */ div.s $f0, $f4, $f0 -/* 798370 802A23B0 46001080 */ add.s $f2, $f2, $f0 -/* 798374 802A23B4 E6020014 */ swc1 $f2, 0x14($s0) -.L802A23B8: -/* 798378 802A23B8 8E620000 */ lw $v0, ($s3) -/* 79837C 802A23BC 2442FFFF */ addiu $v0, $v0, -1 -/* 798380 802A23C0 AE620000 */ sw $v0, ($s3) -.L802A23C4: -/* 798384 802A23C4 26730004 */ addiu $s3, $s3, 4 -.L802A23C8: -/* 798388 802A23C8 24A50004 */ addiu $a1, $a1, 4 -/* 79838C 802A23CC 26D6000C */ addiu $s6, $s6, 0xc -/* 798390 802A23D0 26B5000C */ addiu $s5, $s5, 0xc -/* 798394 802A23D4 2694000C */ addiu $s4, $s4, 0xc -/* 798398 802A23D8 26310004 */ addiu $s1, $s1, 4 -/* 79839C 802A23DC 26520001 */ addiu $s2, $s2, 1 -/* 7983A0 802A23E0 2A420008 */ slti $v0, $s2, 8 -/* 7983A4 802A23E4 1440FF95 */ bnez $v0, .L802A223C -/* 7983A8 802A23E8 2484001C */ addiu $a0, $a0, 0x1c -.L802A23EC: -/* 7983AC 802A23EC 16E0000C */ bnez $s7, .L802A2420 -/* 7983B0 802A23F0 0000102D */ daddu $v0, $zero, $zero -/* 7983B4 802A23F4 3C03802A */ lui $v1, %hi(D_802A37F0) -/* 7983B8 802A23F8 8C6337F0 */ lw $v1, %lo(D_802A37F0)($v1) -/* 7983BC 802A23FC 24020002 */ addiu $v0, $zero, 2 -/* 7983C0 802A2400 8C640000 */ lw $a0, ($v1) -/* 7983C4 802A2404 0040282D */ daddu $a1, $v0, $zero -/* 7983C8 802A2408 3C01802A */ lui $at, %hi(D_802A3838) -/* 7983CC 802A240C AC253838 */ sw $a1, %lo(D_802A3838)($at) -/* 7983D0 802A2410 34840010 */ ori $a0, $a0, 0x10 -/* 7983D4 802A2414 080A8908 */ j .L802A2420 -/* 7983D8 802A2418 AC640000 */ sw $a0, ($v1) -.L802A241C_7983DC: -/* 7983DC 802A241C 0000102D */ daddu $v0, $zero, $zero -.L802A2420: -/* 7983E0 802A2420 8FBF0064 */ lw $ra, 0x64($sp) -/* 7983E4 802A2424 8FBE0060 */ lw $fp, 0x60($sp) -/* 7983E8 802A2428 8FB7005C */ lw $s7, 0x5c($sp) -/* 7983EC 802A242C 8FB60058 */ lw $s6, 0x58($sp) -/* 7983F0 802A2430 8FB50054 */ lw $s5, 0x54($sp) -/* 7983F4 802A2434 8FB40050 */ lw $s4, 0x50($sp) -/* 7983F8 802A2438 8FB3004C */ lw $s3, 0x4c($sp) -/* 7983FC 802A243C 8FB20048 */ lw $s2, 0x48($sp) -/* 798400 802A2440 8FB10044 */ lw $s1, 0x44($sp) -/* 798404 802A2444 8FB00040 */ lw $s0, 0x40($sp) -/* 798408 802A2448 D7BE0090 */ ldc1 $f30, 0x90($sp) -/* 79840C 802A244C D7BC0088 */ ldc1 $f28, 0x88($sp) -/* 798410 802A2450 D7BA0080 */ ldc1 $f26, 0x80($sp) -/* 798414 802A2454 D7B80078 */ ldc1 $f24, 0x78($sp) -/* 798418 802A2458 D7B60070 */ ldc1 $f22, 0x70($sp) -/* 79841C 802A245C D7B40068 */ ldc1 $f20, 0x68($sp) -/* 798420 802A2460 03E00008 */ jr $ra -/* 798424 802A2464 27BD0098 */ addiu $sp, $sp, 0x98 diff --git a/ver/us/asm/nonmatchings/world/partner/bow/func_802BD540_323E90.s b/ver/us/asm/nonmatchings/world/partner/bow/func_802BD540_323E90.s deleted file mode 100644 index d8b49e632f..0000000000 --- a/ver/us/asm/nonmatchings/world/partner/bow/func_802BD540_323E90.s +++ /dev/null @@ -1,91 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802BD540_323E90 -/* 323E90 802BD540 3C028007 */ lui $v0, %hi(gGameStatusPtr) -/* 323E94 802BD544 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) -/* 323E98 802BD548 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 323E9C 802BD54C AFB20038 */ sw $s2, 0x38($sp) -/* 323EA0 802BD550 3C128011 */ lui $s2, %hi(gPlayerStatus) -/* 323EA4 802BD554 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) -/* 323EA8 802BD558 AFBF003C */ sw $ra, 0x3c($sp) -/* 323EAC 802BD55C AFB10034 */ sw $s1, 0x34($sp) -/* 323EB0 802BD560 AFB00030 */ sw $s0, 0x30($sp) -/* 323EB4 802BD564 F7B60048 */ sdc1 $f22, 0x48($sp) -/* 323EB8 802BD568 F7B40040 */ sdc1 $f20, 0x40($sp) -/* 323EBC 802BD56C 84430086 */ lh $v1, 0x86($v0) -/* 323EC0 802BD570 24020010 */ addiu $v0, $zero, 0x10 -/* 323EC4 802BD574 5462003F */ bnel $v1, $v0, .L802BD674 -/* 323EC8 802BD578 2402FFFF */ addiu $v0, $zero, -1 -/* 323ECC 802BD57C C640001C */ lwc1 $f0, 0x1c($s2) -/* 323ED0 802BD580 44801000 */ mtc1 $zero, $f2 -/* 323ED4 802BD584 00000000 */ nop -/* 323ED8 802BD588 46020032 */ c.eq.s $f0, $f2 -/* 323EDC 802BD58C 00000000 */ nop -/* 323EE0 802BD590 45000006 */ bc1f .L802BD5AC -/* 323EE4 802BD594 00000000 */ nop -/* 323EE8 802BD598 C6400024 */ lwc1 $f0, 0x24($s2) -/* 323EEC 802BD59C 46020032 */ c.eq.s $f0, $f2 -/* 323EF0 802BD5A0 00000000 */ nop -/* 323EF4 802BD5A4 45010033 */ bc1t .L802BD674 -/* 323EF8 802BD5A8 2402FFFF */ addiu $v0, $zero, -1 -.L802BD5AC: -/* 323EFC 802BD5AC 8E46001C */ lw $a2, 0x1c($s2) -/* 323F00 802BD5B0 44806000 */ mtc1 $zero, $f12 -/* 323F04 802BD5B4 8E470024 */ lw $a3, 0x24($s2) -/* 323F08 802BD5B8 0C00A720 */ jal atan2 -/* 323F0C 802BD5BC 46006386 */ mov.s $f14, $f12 -/* 323F10 802BD5C0 864200B0 */ lh $v0, 0xb0($s2) -/* 323F14 802BD5C4 3C013F00 */ lui $at, 0x3f00 -/* 323F18 802BD5C8 4481A000 */ mtc1 $at, $f20 -/* 323F1C 802BD5CC 44821000 */ mtc1 $v0, $f2 -/* 323F20 802BD5D0 00000000 */ nop -/* 323F24 802BD5D4 468010A0 */ cvt.s.w $f2, $f2 -/* 323F28 802BD5D8 46141082 */ mul.s $f2, $f2, $f20 -/* 323F2C 802BD5DC 00000000 */ nop -/* 323F30 802BD5E0 46000586 */ mov.s $f22, $f0 -/* 323F34 802BD5E4 3C014334 */ lui $at, 0x4334 -/* 323F38 802BD5E8 44816000 */ mtc1 $at, $f12 -/* 323F3C 802BD5EC C6460028 */ lwc1 $f6, 0x28($s2) -/* 323F40 802BD5F0 460CB300 */ add.s $f12, $f22, $f12 -/* 323F44 802BD5F4 C640002C */ lwc1 $f0, 0x2c($s2) -/* 323F48 802BD5F8 C6440030 */ lwc1 $f4, 0x30($s2) -/* 323F4C 802BD5FC 46020000 */ add.s $f0, $f0, $f2 -/* 323F50 802BD600 E7A60020 */ swc1 $f6, 0x20($sp) -/* 323F54 802BD604 E7A40024 */ swc1 $f4, 0x24($sp) -/* 323F58 802BD608 0C00A6C9 */ jal clamp_angle -/* 323F5C 802BD60C E7A00028 */ swc1 $f0, 0x28($sp) -/* 323F60 802BD610 864200B2 */ lh $v0, 0xb2($s2) -/* 323F64 802BD614 44821000 */ mtc1 $v0, $f2 -/* 323F68 802BD618 00000000 */ nop -/* 323F6C 802BD61C 468010A0 */ cvt.s.w $f2, $f2 -/* 323F70 802BD620 46141082 */ mul.s $f2, $f2, $f20 -/* 323F74 802BD624 00000000 */ nop -/* 323F78 802BD628 27B00020 */ addiu $s0, $sp, 0x20 -/* 323F7C 802BD62C 0200202D */ daddu $a0, $s0, $zero -/* 323F80 802BD630 27B10024 */ addiu $s1, $sp, 0x24 -/* 323F84 802BD634 44070000 */ mfc1 $a3, $f0 -/* 323F88 802BD638 44061000 */ mfc1 $a2, $f2 -/* 323F8C 802BD63C 0C00A7E7 */ jal add_vec2D_polar -/* 323F90 802BD640 0220282D */ daddu $a1, $s1, $zero -/* 323F94 802BD644 0000202D */ daddu $a0, $zero, $zero -/* 323F98 802BD648 0240282D */ daddu $a1, $s2, $zero -/* 323F9C 802BD64C 0200302D */ daddu $a2, $s0, $zero -/* 323FA0 802BD650 84A200B2 */ lh $v0, 0xb2($a1) -/* 323FA4 802BD654 27A70028 */ addiu $a3, $sp, 0x28 -/* 323FA8 802BD658 AFB10010 */ sw $s1, 0x10($sp) -/* 323FAC 802BD65C E7B60018 */ swc1 $f22, 0x18($sp) -/* 323FB0 802BD660 44820000 */ mtc1 $v0, $f0 -/* 323FB4 802BD664 00000000 */ nop -/* 323FB8 802BD668 46800020 */ cvt.s.w $f0, $f0 -/* 323FBC 802BD66C 0C037B01 */ jal player_test_lateral_overlap -/* 323FC0 802BD670 E7A00014 */ swc1 $f0, 0x14($sp) -.L802BD674: -/* 323FC4 802BD674 8FBF003C */ lw $ra, 0x3c($sp) -/* 323FC8 802BD678 8FB20038 */ lw $s2, 0x38($sp) -/* 323FCC 802BD67C 8FB10034 */ lw $s1, 0x34($sp) -/* 323FD0 802BD680 8FB00030 */ lw $s0, 0x30($sp) -/* 323FD4 802BD684 D7B60048 */ ldc1 $f22, 0x48($sp) -/* 323FD8 802BD688 D7B40040 */ ldc1 $f20, 0x40($sp) -/* 323FDC 802BD68C 03E00008 */ jr $ra -/* 323FE0 802BD690 27BD0050 */ addiu $sp, $sp, 0x50