From 0c161a3e83f7812fba52b8e45c411331950bd7ec Mon Sep 17 00:00:00 2001 From: Fox Caminiti Date: Sun, 14 Jul 2024 12:52:38 -0400 Subject: [PATCH 1/4] partial matches --- src/melee/ft/chara/ftCommon/ftCo_0C35.c | 14 +------ src/melee/ft/chara/ftCommon/ftCo_AirCatch.c | 38 ++++++------------- .../ft/chara/ftCommon/ftCo_PassiveWall.c | 4 +- src/melee/ft/fighter.c | 6 +-- src/melee/ft/ft_081B.c | 2 +- src/melee/ft/ftcommon.c | 10 ++--- src/melee/ft/types.h | 1 + src/melee/it/item.c | 10 ++--- src/melee/it/types.h | 2 + src/melee/lb/types.h | 1 - 10 files changed, 32 insertions(+), 56 deletions(-) diff --git a/src/melee/ft/chara/ftCommon/ftCo_0C35.c b/src/melee/ft/chara/ftCommon/ftCo_0C35.c index be03f3a2a3..ba10fb6bff 100644 --- a/src/melee/ft/chara/ftCommon/ftCo_0C35.c +++ b/src/melee/ft/chara/ftCommon/ftCo_0C35.c @@ -16,17 +16,7 @@ #include #include -#pragma force_active on - -/* literal */ double const ftCo_804D8CD0 = S32_TO_F32; -/* literal */ float const ftCo_804D8CD8 = 0; -/* literal */ double const ftCo_804D8CE0 = M_PI; -/* literal */ double const ftCo_804D8CE8 = M_PI_2; -/* literal */ SDATA char ftCo_804D3C38[] = "jobj.h"; -/* literal */ SDATA char ftCo_804D3C40[] = "jobj"; -/* literal */ char lbl_803C6CA8[] = "!(jobj->flags & JOBJ_USE_QUATERNION)"; - -static inline void inlineA0(ftCo_GObj* gobj) +static void inlineA0(ftCo_GObj* gobj) { Fighter* fp = GET_FIGHTER(gobj); fp->dmg.x18F4 = p_ftCommonData->x648; @@ -79,11 +69,11 @@ void ftCo_800C37A0(ftCo_GObj* gobj) if (fp->dmg.x18F4 != 0) { Fighter_Part part = ftParts_8007500C(fp, FtPart_TransN); HSD_JObj* jobj = fp->parts[part].x4_jobj2; - --fp->dmg.x18F4; { float rot_y = M_PI * (float) (p_ftCommonData->x648 - fp->dmg.x18F4) / (float) p_ftCommonData->x648; + fp->dmg.x18F4 -= 1; ftParts_80075AF0(fp, part, rot_y); HSD_JObjSetRotationY(jobj, rot_y); if (fp->dmg.x18F4 == 0) { diff --git a/src/melee/ft/chara/ftCommon/ftCo_AirCatch.c b/src/melee/ft/chara/ftCommon/ftCo_AirCatch.c index 5658f68bd3..16cb7a5476 100644 --- a/src/melee/ft/chara/ftCommon/ftCo_AirCatch.c +++ b/src/melee/ft/chara/ftCommon/ftCo_AirCatch.c @@ -47,23 +47,12 @@ bool ftCo_800C3A14(ftCo_GObj* gobj) { - CollData coll = { 0 }; - IntVec3 sp14; - int i = 51; - IntVec3* var_r5 = &sp14; Fighter* fp = GET_FIGHTER(gobj); - IntVec3* var_r4 = (IntVec3*) &fp->x6E4.y; - do { - var_r4 += 8; - var_r5 += 8; - var_r5->z = var_r4->z; - var_r5->y = var_r4->y; - --i; - } while (i != 0); - var_r5->z = var_r4->z; + CollData coll = *getFtColl(fp); + PAD_STACK(8); coll.x58 += 5.0; coll.x5C += 5.0; - if (fp->facing_dir > 0.0f) { + if (fp->facing_dir > (f64) 0.0F) { if (mpColl_80044164(&coll, &fp->coll_data.ledge_id_unk1)) { fp->coll_data.env_flags |= MPCOLL_FLAGS_B24; fp->self_vel.x = 0; @@ -130,6 +119,7 @@ void ftCo_800C3BE8(ftCo_GObj* gobj) void ftCo_800C3CC0(ftCo_GObj* gobj) { Fighter* fp = GET_FIGHTER(gobj); + f32 drift; if (fp->kind == FTKIND_LINK || fp->kind == FTKIND_CLINK) { Fighter_ChangeMotionState(gobj, ftLk_MS_AirCatchHit, Ft_MF_KeepFastFall, 0, 1, 0, NULL); @@ -137,7 +127,8 @@ void ftCo_800C3CC0(ftCo_GObj* gobj) Fighter_ChangeMotionState(gobj, ftSs_MS_AirCatchHit, Ft_MF_KeepFastFall, 0, 1, 0, NULL); } - ftCommon_8007D440(fp, fp->co_attrs.air_drift_max); + drift = fp->co_attrs.air_drift_max; + ftCommon_8007D440(fp, drift); fp->mv.co.aircatchhit.x0 = 20; fp->mv.co.aircatchhit.x4 = 0; if (fp->ground_or_air == GA_Ground) { @@ -166,7 +157,6 @@ void ftCo_AirCatch_Anim(ftCo_GObj* gobj) fp->death1_cb = it_802A7AAC; fp->accessory3_cb = it_802A7B34; } - goto exit; } else if (fp->mv.co.aircatch.x0 > da->xA4) { if (fp->mv.co.aircatch.x0 <= da->xB0) { Item_GObj* tether_gobj = fp->fv.lk.xC; @@ -209,9 +199,8 @@ void ftCo_AirCatch_Anim(ftCo_GObj* gobj) } else { ft_80088148(fp, 0x27149, 0x7F, 0x40); } - goto exit; - } - if (fp->mv.co.aircatch.x0 == (float) M2C_FIELD(da, int*, 0xAC)) + } else if (fp->mv.co.aircatch.x0 == + (float) M2C_FIELD(da, int*, 0xAC)) { it_802A77DC(tether_gobj); if (fp->kind == FTKIND_CLINK) { @@ -222,7 +211,6 @@ void ftCo_AirCatch_Anim(ftCo_GObj* gobj) } else if (fp->mv.co.aircatch.x0 == da->xB0) { it_802A2B10(fp->fv.lk.xC); } - goto exit; } } } else if (fp->kind == FTKIND_SAMUS) { @@ -268,7 +256,6 @@ void ftCo_AirCatch_Anim(ftCo_GObj* gobj) pos.x = x + fp->pos_delta.x; it_802BAAE4(temp_r29_2, &pos, x); } - goto exit; } else { if (fp->mv.co.aircatch.x0 == da->xC4) { it_802BAA58(temp_r29_2); @@ -279,13 +266,10 @@ void ftCo_AirCatch_Anim(ftCo_GObj* gobj) } } } - { - exit: - if (!ftAnim_IsFramesRemaining(gobj)) { - ftCo_800968C8(gobj); - } - return; + if (!ftAnim_IsFramesRemaining(gobj)) { + ftCo_800968C8(gobj); } + return; } void ftCo_AirCatchHit_Anim(ftCo_GObj* gobj) {} diff --git a/src/melee/ft/chara/ftCommon/ftCo_PassiveWall.c b/src/melee/ft/chara/ftCommon/ftCo_PassiveWall.c index 9cda42f640..1098e2c4e3 100644 --- a/src/melee/ft/chara/ftCommon/ftCo_PassiveWall.c +++ b/src/melee/ft/chara/ftCommon/ftCo_PassiveWall.c @@ -85,8 +85,8 @@ void ftCo_800C1E64(ftCo_GObj* gobj, int msid, int timer, int vel_y_exponent, } } ftKb_SpecialN_800F1F1C(gobj, &ef_offset); - Fighter_ChangeMotionState(gobj, msid, Ft_MF_None, 0, timer != 0 ? 0 : 1, 0, - NULL); + Fighter_ChangeMotionState(gobj, msid, Ft_MF_None, 0.0F, + timer != 0 ? 0.0F : 1.0F, 0.0F, NULL); fp->x670_timer_lstick_tilt_x = 0xFE; fp->x671_timer_lstick_tilt_y = 0xFE; fp->mv.co.passivewall.timer = timer; diff --git a/src/melee/ft/fighter.c b/src/melee/ft/fighter.c index ed5512c59d..28801ca016 100644 --- a/src/melee/ft/fighter.c +++ b/src/melee/ft/fighter.c @@ -2457,9 +2457,9 @@ void Fighter_8006C27C(Fighter_GObj* gobj) Fighter* fp = (Fighter*) HSD_GObjGetUserData(gobj); if (!fp->x221F_b3) { - if (fp->coll_data.ecb_lock) { - fp->coll_data.ecb_lock--; - if (!fp->coll_data.ecb_lock) { + if (fp->ecb_lock) { + fp->ecb_lock--; + if (!fp->ecb_lock) { ftCommon_8007D5BC(fp); } } diff --git a/src/melee/ft/ft_081B.c b/src/melee/ft/ft_081B.c index 89dd05482d..7dc45c19d5 100644 --- a/src/melee/ft/ft_081B.c +++ b/src/melee/ft/ft_081B.c @@ -24,7 +24,7 @@ void ft_80081B38(HSD_GObj* arg0) f32 temp_f3; temp_r31 = arg0->user_data; - temp_r31->coll_data.ecb_lock = 0; + temp_r31->ecb_lock = 0; temp_r30 = &temp_r31->coll_data; temp_r31->coll_data.cur_topn = temp_r31->cur_pos; temp_r31->coll_data.prev_topn = temp_r31->coll_data.cur_topn; diff --git a/src/melee/ft/ftcommon.c b/src/melee/ft/ftcommon.c index 148974fc38..c87d4ed74b 100644 --- a/src/melee/ft/ftcommon.c +++ b/src/melee/ft/ftcommon.c @@ -584,7 +584,7 @@ bool ftCommon_8007D528(Fighter* fp) void ftCommon_8007D5BC(Fighter* fp) { - fp->coll_data.ecb_lock = 0; + fp->ecb_lock = 0; fp->coll_data.x130_flags &= 0xFFFFFFEF; } @@ -596,7 +596,7 @@ void ftCommon_8007D5D4(Fighter* fp) fp->cur_pos.z = 0; fp->x74_anim_vel.y = 0; fp->x1968_jumpsUsed = 1; - fp->coll_data.ecb_lock = 10; + fp->ecb_lock = 10; fp->coll_data.x130_flags |= (1 << 4); } @@ -610,7 +610,7 @@ void ftCommon_8007D60C(Fighter* fp) fp->gr_vel = 0; fp->x74_anim_vel.y = 0; fp->x1968_jumpsUsed = ca->max_jumps; - fp->coll_data.ecb_lock = 5; + fp->ecb_lock = 5; fp->coll_data.x130_flags |= 0x10; } @@ -636,7 +636,7 @@ void ftCommon_8007D6A4(Fighter* fp) fp->x1968_jumpsUsed = 0; fp->x1969_walljumpUsed = 0; fp->x2227_b0 = 0; - fp->coll_data.ecb_lock = 0; + fp->ecb_lock = 0; fp->coll_data.x130_flags &= 0xFFFFFFEF; if (!ft_80084A18(fp->gobj)) { OSReport("fighter ground no under Id! %d %d\n", fp->player_id, @@ -688,7 +688,7 @@ void ftCommon_8007D7FC(Fighter* fp) fp->x1968_jumpsUsed = 0; fp->x1969_walljumpUsed = 0; fp->x2227_b0 = 0; - fp->coll_data.ecb_lock = 0; + fp->ecb_lock = 0; fp->coll_data.x130_flags &= 0xFFFFFFEF; if (!ft_80084A18(fp->gobj)) { OSReport("fighter ground no under Id! %d %d\n", fp->player_id, diff --git a/src/melee/ft/types.h b/src/melee/ft/types.h index 1308d61ff8..df2243f1c1 100644 --- a/src/melee/ft/types.h +++ b/src/melee/ft/types.h @@ -1164,6 +1164,7 @@ struct Fighter { /* fp+6D8 */ Vec3 x6D8; /* fp+6E4 */ Vec3 x6E4; /* fp+6F0 */ CollData coll_data; + /* fp+88C */ s32 ecb_lock; /* fp+890 */ CameraBox* x890_cameraBox; /* fp+894 */ float cur_anim_frame; /* fp+898 */ float x898_unk; diff --git a/src/melee/it/item.c b/src/melee/it/item.c index fc5fe07d95..0af573da49 100644 --- a/src/melee/it/item.c +++ b/src/melee/it/item.c @@ -571,7 +571,7 @@ static void Item_80267AA8(HSD_GObj* gobj, SpawnItem* spawnItem) item_data->xCC_item_attr = item_data->xC4_article_data->x0_common_attr; item_data->owner = NULL; item_data->xDC8_word.flags.x0 = 0; - item_data->x378_itemColl.ecb_lock = -1; + item_data->ecb_lock = -1; item_data->xDC4 = 0; item_data->xDC8_word.flags.xF = 0; item_data->xCC4 = 0; @@ -931,8 +931,8 @@ static void foobar2(HSD_GObj* gobj) ftLib_80086960(it->owner)) { it->xDC8_word.flags.xE = 1; - it->x378_itemColl.ecb_lock = ftLib_800872A4(it->owner); - ftLib_8008702C(it->x378_itemColl.ecb_lock); + it->ecb_lock = ftLib_800872A4(it->owner); + ftLib_8008702C(it->ecb_lock); } } @@ -1965,9 +1965,9 @@ static void func_8026A8EC_inline1(HSD_GObj* gobj) Item* ip = (Item*) HSD_GObjGetUserData(gobj); if (ip->xDC8_word.flags.xE) { - ftLib_80087050(ip->x378_itemColl.ecb_lock); + ftLib_80087050(ip->ecb_lock); ip->xDC8_word.flags.xE = false; - ip->x378_itemColl.ecb_lock = -1; + ip->ecb_lock = -1; } } diff --git a/src/melee/it/types.h b/src/melee/it/types.h index 659d2cde50..4e0838301c 100644 --- a/src/melee/it/types.h +++ b/src/melee/it/types.h @@ -285,6 +285,7 @@ struct Item { Item_DynamicBones xD4_dynamicBones[24]; s32 x374_dynamicBonesNum; CollData x378_itemColl; + s32 ecb_lock; /// @at{518} @sz{4} /// @brief Item's current owner @@ -589,6 +590,7 @@ typedef struct ItemLink // user_data struct of GObj class 7 u8 flag6 : 1; u8 flag7 : 1; CollData x30_collData; + UNK_T unk; HSD_GObj* x1D0_GObj; HSD_GObj* x1D4_GObjLinkNext; diff --git a/src/melee/lb/types.h b/src/melee/lb/types.h index 31c8d1fbff..39751a9ef0 100644 --- a/src/melee/lb/types.h +++ b/src/melee/lb/types.h @@ -241,7 +241,6 @@ struct CollData { /* fp+850 */ SurfaceData right_wall; /* fp+864 */ SurfaceData left_wall; /* fp+878 */ SurfaceData ceiling; - /* fp+88C */ int ecb_lock; }; #endif From 7860a1343b1d56be08420df9c0223236233f925c Mon Sep 17 00:00:00 2001 From: Fox Caminiti Date: Sun, 14 Jul 2024 20:58:10 -0400 Subject: [PATCH 2/4] fix padding on `ftNs_AttackHi4_YoyoCheckEnvColl` --- src/melee/ft/chara/ftNess/ftNs_AttackHi4.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/melee/ft/chara/ftNess/ftNs_AttackHi4.c b/src/melee/ft/chara/ftNess/ftNs_AttackHi4.c index f99200658c..d7aba53b87 100644 --- a/src/melee/ft/chara/ftNess/ftNs_AttackHi4.c +++ b/src/melee/ft/chara/ftNess/ftNs_AttackHi4.c @@ -97,6 +97,7 @@ static inline void push_ecb(CollData* a, Vec3* b) s32 ftNs_AttackHi4_YoyoCheckEnvColl(HSD_GObj* gobj, Vec3* ECBUnk, Vec3* ECBUnk2, float float_unk) { + u8 pad[4]; CollData coll; ftCollisionBox ecb; Fighter* fp = gobj->user_data; @@ -121,6 +122,7 @@ s32 ftNs_AttackHi4_YoyoCheckEnvColl(HSD_GObj* gobj, Vec3* ECBUnk, // sp34.cur_topn = ECBUnk2->x0_vec; // guess: there is a "push ECB" function that handles moving current to // old, that got called twice and inlined. + push_ecb(&coll, ECBUnk); push_ecb(&coll, ECBUnk2); From 01defa20e43c1b2713039d0280a89d810a8bf7ad Mon Sep 17 00:00:00 2001 From: Fox Caminiti Date: Sun, 14 Jul 2024 21:04:47 -0400 Subject: [PATCH 3/4] mark as matching --- asm/melee/ft/chara/ftCommon/ftCo_0C35.s | 393 -------------- .../ft/chara/ftCommon/ftCo_PassiveWall.s | 498 ------------------ configure.py | 4 +- obj_files.mk | 4 +- 4 files changed, 4 insertions(+), 895 deletions(-) delete mode 100644 asm/melee/ft/chara/ftCommon/ftCo_0C35.s delete mode 100644 asm/melee/ft/chara/ftCommon/ftCo_PassiveWall.s diff --git a/asm/melee/ft/chara/ftCommon/ftCo_0C35.s b/asm/melee/ft/chara/ftCommon/ftCo_0C35.s deleted file mode 100644 index 5ac24fedf4..0000000000 --- a/asm/melee/ft/chara/ftCommon/ftCo_0C35.s +++ /dev/null @@ -1,393 +0,0 @@ -.include "macros.inc" -.file "ftCo_0C35.c" - -# 0x00000000 - 0x0000047C -.text -.balign 4 - -.fn ftCo_800C3598, global -/* 00000000 00000040 7C 08 02 A6 */ mflr r0 -/* 00000004 00000044 90 01 00 04 */ stw r0, 0x4(r1) -/* 00000008 00000048 3C 00 43 30 */ lis r0, 0x4330 -/* 0000000C 0000004C 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 00000010 00000050 DB E1 00 38 */ stfd f31, 0x38(r1) -/* 00000014 00000054 DB C1 00 30 */ stfd f30, 0x30(r1) -/* 00000018 00000058 DB A1 00 28 */ stfd f29, 0x28(r1) -/* 0000001C 0000005C 93 E1 00 24 */ stw r31, 0x24(r1) -/* 00000020 00000060 80 80 00 00 */ lwz r4, p_ftCommonData@sda21(r0) -/* 00000024 00000064 80 A3 00 2C */ lwz r5, 0x2c(r3) -/* 00000028 00000068 80 84 06 48 */ lwz r4, 0x648(r4) -/* 0000002C 0000006C 7C BF 2B 78 */ mr r31, r5 -/* 00000030 00000070 90 85 18 F4 */ stw r4, 0x18f4(r5) -/* 00000034 00000074 80 85 18 F4 */ lwz r4, 0x18f4(r5) -/* 00000038 00000078 C8 40 00 00 */ lfd f2, ftCo_804D8CD0@sda21(r0) -/* 0000003C 0000007C 6C 84 80 00 */ xoris r4, r4, 0x8000 -/* 00000040 00000080 C0 05 19 54 */ lfs f0, 0x1954(r5) -/* 00000044 00000084 90 81 00 1C */ stw r4, 0x1c(r1) -/* 00000048 00000088 90 01 00 18 */ stw r0, 0x18(r1) -/* 0000004C 0000008C C8 21 00 18 */ lfd f1, 0x18(r1) -/* 00000050 00000090 EC 21 10 28 */ fsubs f1, f1, f2 -/* 00000054 00000094 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 00000058 00000098 40 81 00 18 */ ble .L_00000070 -/* 0000005C 0000009C 90 81 00 1C */ stw r4, 0x1c(r1) -/* 00000060 000000A0 90 01 00 18 */ stw r0, 0x18(r1) -/* 00000064 000000A4 C8 01 00 18 */ lfd f0, 0x18(r1) -/* 00000068 000000A8 EC 00 10 28 */ fsubs f0, f0, f2 -/* 0000006C 000000AC D0 05 19 54 */ stfs f0, 0x1954(r5) -.L_00000070: -/* 00000070 000000B0 88 05 22 20 */ lbz r0, 0x2220(r5) -/* 00000074 000000B4 38 80 00 01 */ li r4, 0x1 -/* 00000078 000000B8 50 80 1F 38 */ rlwimi r0, r4, 3, 28, 28 -/* 0000007C 000000BC 98 05 22 20 */ stb r0, 0x2220(r5) -/* 00000080 000000C0 48 00 00 01 */ bl Fighter_UnkRecursiveFunc_8006D044 -/* 00000084 000000C4 80 1F 00 E0 */ lwz r0, 0xe0(r31) -/* 00000088 000000C8 2C 00 00 01 */ cmpwi r0, 0x1 -/* 0000008C 000000CC 40 82 00 10 */ bne .L_0000009C -/* 00000090 000000D0 80 60 00 00 */ lwz r3, p_ftCommonData@sda21(r0) -/* 00000094 000000D4 C3 E3 06 4C */ lfs f31, 0x64c(r3) -/* 00000098 000000D8 48 00 00 0C */ b .L_000000A4 -.L_0000009C: -/* 0000009C 000000DC 80 60 00 00 */ lwz r3, p_ftCommonData@sda21(r0) -/* 000000A0 000000E0 C3 E3 06 50 */ lfs f31, 0x650(r3) -.L_000000A4: -/* 000000A4 000000E4 7F E3 FB 78 */ mr r3, r31 -/* 000000A8 000000E8 C0 3F 18 50 */ lfs f1, 0x1850(r31) -/* 000000AC 000000EC 48 00 00 01 */ bl ftCo_Damage_CalcAngle -/* 000000B0 000000F0 FF C0 08 90 */ fmr f30, f1 -/* 000000B4 000000F4 48 00 00 01 */ bl cosf -/* 000000B8 000000F8 EF BF 00 72 */ fmuls f29, f31, f1 -/* 000000BC 000000FC FC 20 F0 90 */ fmr f1, f30 -/* 000000C0 00000100 48 00 00 01 */ bl sinf -/* 000000C4 00000104 80 1F 00 E0 */ lwz r0, 0xe0(r31) -/* 000000C8 00000108 EC 5F 00 72 */ fmuls f2, f31, f1 -/* 000000CC 0000010C 2C 00 00 01 */ cmpwi r0, 0x1 -/* 000000D0 00000110 40 82 00 20 */ bne .L_000000F0 -/* 000000D4 00000114 C0 1F 18 44 */ lfs f0, 0x1844(r31) -/* 000000D8 00000118 7F E3 FB 78 */ mr r3, r31 -/* 000000DC 0000011C EC 3D 00 32 */ fmuls f1, f29, f0 -/* 000000E0 00000120 48 00 00 01 */ bl ftCo_Damage_CalcVel -/* 000000E4 00000124 C0 00 00 00 */ lfs f0, ftCo_804D8CD8@sda21(r0) -/* 000000E8 00000128 D0 1F 00 F0 */ stfs f0, 0xf0(r31) -/* 000000EC 0000012C 48 00 00 30 */ b .L_0000011C -.L_000000F0: -/* 000000F0 00000130 C0 1F 18 44 */ lfs f0, 0x1844(r31) -/* 000000F4 00000134 7F E3 FB 78 */ mr r3, r31 -/* 000000F8 00000138 EC 1D 00 32 */ fmuls f0, f29, f0 -/* 000000FC 0000013C D0 1F 00 F0 */ stfs f0, 0xf0(r31) -/* 00000100 00000140 C0 1F 08 44 */ lfs f0, 0x844(r31) -/* 00000104 00000144 C0 5F 00 F0 */ lfs f2, 0xf0(r31) -/* 00000108 00000148 FC 00 00 50 */ fneg f0, f0 -/* 0000010C 0000014C C0 3F 08 48 */ lfs f1, 0x848(r31) -/* 00000110 00000150 EC 21 00 B2 */ fmuls f1, f1, f2 -/* 00000114 00000154 EC 40 00 B2 */ fmuls f2, f0, f2 -/* 00000118 00000158 48 00 00 01 */ bl ftCo_Damage_CalcVel -.L_0000011C: -/* 0000011C 0000015C 7F E3 FB 78 */ mr r3, r31 -/* 00000120 00000160 48 00 00 01 */ bl ftCommon_800804FC -/* 00000124 00000164 80 01 00 44 */ lwz r0, 0x44(r1) -/* 00000128 00000168 CB E1 00 38 */ lfd f31, 0x38(r1) -/* 0000012C 0000016C CB C1 00 30 */ lfd f30, 0x30(r1) -/* 00000130 00000170 CB A1 00 28 */ lfd f29, 0x28(r1) -/* 00000134 00000174 83 E1 00 24 */ lwz r31, 0x24(r1) -/* 00000138 00000178 38 21 00 40 */ addi r1, r1, 0x40 -/* 0000013C 0000017C 7C 08 03 A6 */ mtlr r0 -/* 00000140 00000180 4E 80 00 20 */ blr -.endfn ftCo_800C3598 - -.fn ftCo_800C36DC, global -/* 00000144 00000184 7C 08 02 A6 */ mflr r0 -/* 00000148 00000188 90 01 00 04 */ stw r0, 0x4(r1) -/* 0000014C 0000018C 3C 00 43 30 */ lis r0, 0x4330 -/* 00000150 00000190 94 21 FF D8 */ stwu r1, -0x28(r1) -/* 00000154 00000194 93 E1 00 24 */ stw r31, 0x24(r1) -/* 00000158 00000198 80 80 00 00 */ lwz r4, p_ftCommonData@sda21(r0) -/* 0000015C 0000019C 80 A3 00 2C */ lwz r5, 0x2c(r3) -/* 00000160 000001A0 80 84 06 48 */ lwz r4, 0x648(r4) -/* 00000164 000001A4 7C BF 2B 78 */ mr r31, r5 -/* 00000168 000001A8 90 85 18 F4 */ stw r4, 0x18f4(r5) -/* 0000016C 000001AC 80 85 18 F4 */ lwz r4, 0x18f4(r5) -/* 00000170 000001B0 C8 40 00 00 */ lfd f2, ftCo_804D8CD0@sda21(r0) -/* 00000174 000001B4 6C 84 80 00 */ xoris r4, r4, 0x8000 -/* 00000178 000001B8 C0 05 19 54 */ lfs f0, 0x1954(r5) -/* 0000017C 000001BC 90 81 00 1C */ stw r4, 0x1c(r1) -/* 00000180 000001C0 90 01 00 18 */ stw r0, 0x18(r1) -/* 00000184 000001C4 C8 21 00 18 */ lfd f1, 0x18(r1) -/* 00000188 000001C8 EC 21 10 28 */ fsubs f1, f1, f2 -/* 0000018C 000001CC FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 00000190 000001D0 40 81 00 18 */ ble .L_000001A8 -/* 00000194 000001D4 90 81 00 1C */ stw r4, 0x1c(r1) -/* 00000198 000001D8 90 01 00 18 */ stw r0, 0x18(r1) -/* 0000019C 000001DC C8 01 00 18 */ lfd f0, 0x18(r1) -/* 000001A0 000001E0 EC 00 10 28 */ fsubs f0, f0, f2 -/* 000001A4 000001E4 D0 05 19 54 */ stfs f0, 0x1954(r5) -.L_000001A8: -/* 000001A8 000001E8 88 05 22 20 */ lbz r0, 0x2220(r5) -/* 000001AC 000001EC 38 80 00 01 */ li r4, 0x1 -/* 000001B0 000001F0 50 80 1F 38 */ rlwimi r0, r4, 3, 28, 28 -/* 000001B4 000001F4 98 05 22 20 */ stb r0, 0x2220(r5) -/* 000001B8 000001F8 48 00 00 01 */ bl Fighter_UnkRecursiveFunc_8006D044 -/* 000001BC 000001FC C0 1F 19 AC */ lfs f0, 0x19ac(r31) -/* 000001C0 00000200 7F E3 FB 78 */ mr r3, r31 -/* 000001C4 00000204 80 80 00 00 */ lwz r4, p_ftCommonData@sda21(r0) -/* 000001C8 00000208 FC 00 00 50 */ fneg f0, f0 -/* 000001CC 0000020C C0 24 06 54 */ lfs f1, 0x654(r4) -/* 000001D0 00000210 EC 01 00 32 */ fmuls f0, f1, f0 -/* 000001D4 00000214 D0 1F 00 F0 */ stfs f0, 0xf0(r31) -/* 000001D8 00000218 C0 1F 08 44 */ lfs f0, 0x844(r31) -/* 000001DC 0000021C C0 5F 00 F0 */ lfs f2, 0xf0(r31) -/* 000001E0 00000220 FC 00 00 50 */ fneg f0, f0 -/* 000001E4 00000224 C0 3F 08 48 */ lfs f1, 0x848(r31) -/* 000001E8 00000228 EC 21 00 B2 */ fmuls f1, f1, f2 -/* 000001EC 0000022C EC 40 00 B2 */ fmuls f2, f0, f2 -/* 000001F0 00000230 48 00 00 01 */ bl ftCo_Damage_CalcVel -/* 000001F4 00000234 80 01 00 2C */ lwz r0, 0x2c(r1) -/* 000001F8 00000238 83 E1 00 24 */ lwz r31, 0x24(r1) -/* 000001FC 0000023C 38 21 00 28 */ addi r1, r1, 0x28 -/* 00000200 00000240 7C 08 03 A6 */ mtlr r0 -/* 00000204 00000244 4E 80 00 20 */ blr -.endfn ftCo_800C36DC - -.fn ftCo_800C37A0, global -/* 00000208 00000248 7C 08 02 A6 */ mflr r0 -/* 0000020C 0000024C 90 01 00 04 */ stw r0, 0x4(r1) -/* 00000210 00000250 94 21 FF C8 */ stwu r1, -0x38(r1) -/* 00000214 00000254 DB E1 00 30 */ stfd f31, 0x30(r1) -/* 00000218 00000258 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 0000021C 0000025C 93 C1 00 28 */ stw r30, 0x28(r1) -/* 00000220 00000260 93 A1 00 24 */ stw r29, 0x24(r1) -/* 00000224 00000264 93 81 00 20 */ stw r28, 0x20(r1) -/* 00000228 00000268 7C 7C 1B 78 */ mr r28, r3 -/* 0000022C 0000026C 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 00000230 00000270 80 03 18 F4 */ lwz r0, 0x18f4(r3) -/* 00000234 00000274 3B E3 00 00 */ addi r31, r3, 0x0 -/* 00000238 00000278 2C 00 00 00 */ cmpwi r0, 0x0 -/* 0000023C 0000027C 41 82 02 1C */ beq .L_00000458 -/* 00000240 00000280 38 7F 00 00 */ addi r3, r31, 0x0 -/* 00000244 00000284 38 80 00 01 */ li r4, 0x1 -/* 00000248 00000288 48 00 00 01 */ bl ftParts_8007500C -/* 0000024C 0000028C 80 80 00 00 */ lwz r4, p_ftCommonData@sda21(r0) -/* 00000250 00000290 7C 7E 1B 78 */ mr r30, r3 -/* 00000254 00000294 80 BF 18 F4 */ lwz r5, 0x18f4(r31) -/* 00000258 00000298 80 64 06 48 */ lwz r3, 0x648(r4) -/* 0000025C 0000029C 3C 80 43 30 */ lis r4, 0x4330 -/* 00000260 000002A0 C8 40 00 00 */ lfd f2, ftCo_804D8CD0@sda21(r0) -/* 00000264 000002A4 7C 05 18 50 */ subf r0, r5, r3 -/* 00000268 000002A8 C8 60 00 00 */ lfd f3, ftCo_804D8CE0@sda21(r0) -/* 0000026C 000002AC 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 00000270 000002B0 80 DF 05 E8 */ lwz r6, 0x5e8(r31) -/* 00000274 000002B4 90 01 00 1C */ stw r0, 0x1c(r1) -/* 00000278 000002B8 6C 63 80 00 */ xoris r3, r3, 0x8000 -/* 0000027C 000002BC 57 C0 20 36 */ slwi r0, r30, 4 -/* 00000280 000002C0 90 81 00 18 */ stw r4, 0x18(r1) -/* 00000284 000002C4 7C C6 02 14 */ add r6, r6, r0 -/* 00000288 000002C8 83 A6 00 04 */ lwz r29, 0x4(r6) -/* 0000028C 000002CC 38 05 FF FF */ subi r0, r5, 0x1 -/* 00000290 000002D0 90 61 00 14 */ stw r3, 0x14(r1) -/* 00000294 000002D4 C8 01 00 18 */ lfd f0, 0x18(r1) -/* 00000298 000002D8 7F E3 FB 78 */ mr r3, r31 -/* 0000029C 000002DC 90 81 00 10 */ stw r4, 0x10(r1) -/* 000002A0 000002E0 7F C4 F3 78 */ mr r4, r30 -/* 000002A4 000002E4 EC 20 10 28 */ fsubs f1, f0, f2 -/* 000002A8 000002E8 C8 01 00 10 */ lfd f0, 0x10(r1) -/* 000002AC 000002EC 90 1F 18 F4 */ stw r0, 0x18f4(r31) -/* 000002B0 000002F0 FC 23 00 72 */ fmul f1, f3, f1 -/* 000002B4 000002F4 EC 00 10 28 */ fsubs f0, f0, f2 -/* 000002B8 000002F8 FF E1 00 24 */ fdiv f31, f1, f0 -/* 000002BC 000002FC FF E0 F8 18 */ frsp f31, f31 -/* 000002C0 00000300 FC 20 F8 90 */ fmr f1, f31 -/* 000002C4 00000304 48 00 00 01 */ bl ftParts_80075AF0 -/* 000002C8 00000308 28 1D 00 00 */ cmplwi r29, 0x0 -/* 000002CC 0000030C 40 82 00 14 */ bne .L_000002E0 -/* 000002D0 00000310 38 60 00 00 */ li r3, ftCo_804D3C38@sda21 -/* 000002D4 00000314 38 80 02 94 */ li r4, 0x294 -/* 000002D8 00000318 38 A0 00 00 */ li r5, ftCo_804D3C40@sda21 -/* 000002DC 0000031C 48 00 00 01 */ bl __assert -.L_000002E0: -/* 000002E0 00000320 80 1D 00 14 */ lwz r0, 0x14(r29) -/* 000002E4 00000324 54 00 03 9D */ rlwinm. r0, r0, 0, 14, 14 -/* 000002E8 00000328 41 82 00 18 */ beq .L_00000300 -/* 000002EC 0000032C 3C 60 00 00 */ lis r3, lbl_803C6CA8@ha -/* 000002F0 00000330 38 A3 00 00 */ addi r5, r3, lbl_803C6CA8@l -/* 000002F4 00000334 38 60 00 00 */ li r3, ftCo_804D3C38@sda21 -/* 000002F8 00000338 38 80 02 95 */ li r4, 0x295 -/* 000002FC 0000033C 48 00 00 01 */ bl __assert -.L_00000300: -/* 00000300 00000340 D3 FD 00 20 */ stfs f31, 0x20(r29) -/* 00000304 00000344 80 1D 00 14 */ lwz r0, 0x14(r29) -/* 00000308 00000348 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 0000030C 0000034C 40 82 00 4C */ bne .L_00000358 -/* 00000310 00000350 28 1D 00 00 */ cmplwi r29, 0x0 -/* 00000314 00000354 41 82 00 44 */ beq .L_00000358 -/* 00000318 00000358 40 82 00 14 */ bne .L_0000032C -/* 0000031C 0000035C 38 60 00 00 */ li r3, ftCo_804D3C38@sda21 -/* 00000320 00000360 38 80 02 34 */ li r4, 0x234 -/* 00000324 00000364 38 A0 00 00 */ li r5, ftCo_804D3C40@sda21 -/* 00000328 00000368 48 00 00 01 */ bl __assert -.L_0000032C: -/* 0000032C 0000036C 80 9D 00 14 */ lwz r4, 0x14(r29) -/* 00000330 00000370 38 60 00 00 */ li r3, 0x0 -/* 00000334 00000374 54 80 02 11 */ rlwinm. r0, r4, 0, 8, 8 -/* 00000338 00000378 40 82 00 10 */ bne .L_00000348 -/* 0000033C 0000037C 54 80 06 73 */ rlwinm. r0, r4, 0, 25, 25 -/* 00000340 00000380 41 82 00 08 */ beq .L_00000348 -/* 00000344 00000384 38 60 00 01 */ li r3, 0x1 -.L_00000348: -/* 00000348 00000388 2C 03 00 00 */ cmpwi r3, 0x0 -/* 0000034C 0000038C 40 82 00 0C */ bne .L_00000358 -/* 00000350 00000390 7F A3 EB 78 */ mr r3, r29 -/* 00000354 00000394 48 00 00 01 */ bl HSD_JObjSetMtxDirtySub -.L_00000358: -/* 00000358 00000398 80 1F 18 F4 */ lwz r0, 0x18f4(r31) -/* 0000035C 0000039C 2C 00 00 00 */ cmpwi r0, 0x0 -/* 00000360 000003A0 40 82 00 F8 */ bne .L_00000458 -/* 00000364 000003A4 88 1F 22 20 */ lbz r0, 0x2220(r31) -/* 00000368 000003A8 38 60 00 00 */ li r3, 0x0 -/* 0000036C 000003AC 50 60 1F 38 */ rlwimi r0, r3, 3, 28, 28 -/* 00000370 000003B0 98 1F 22 20 */ stb r0, 0x2220(r31) -/* 00000374 000003B4 38 7F 00 00 */ addi r3, r31, 0x0 -/* 00000378 000003B8 38 80 00 00 */ li r4, 0x0 -/* 0000037C 000003BC C0 1F 00 2C */ lfs f0, 0x2c(r31) -/* 00000380 000003C0 FC 00 00 50 */ fneg f0, f0 -/* 00000384 000003C4 D0 1F 00 2C */ stfs f0, 0x2c(r31) -/* 00000388 000003C8 C8 20 00 00 */ lfd f1, ftCo_804D8CE8@sda21(r0) -/* 0000038C 000003CC C0 1F 00 2C */ lfs f0, 0x2c(r31) -/* 00000390 000003D0 FC 21 00 32 */ fmul f1, f1, f0 -/* 00000394 000003D4 FC 20 08 18 */ frsp f1, f1 -/* 00000398 000003D8 48 00 00 01 */ bl ftParts_80075AF0 -/* 0000039C 000003DC C0 20 00 00 */ lfs f1, ftCo_804D8CD8@sda21(r0) -/* 000003A0 000003E0 38 7F 00 00 */ addi r3, r31, 0x0 -/* 000003A4 000003E4 38 9E 00 00 */ addi r4, r30, 0x0 -/* 000003A8 000003E8 48 00 00 01 */ bl ftParts_80075AF0 -/* 000003AC 000003EC 28 1D 00 00 */ cmplwi r29, 0x0 -/* 000003B0 000003F0 40 82 00 14 */ bne .L_000003C4 -/* 000003B4 000003F4 38 60 00 00 */ li r3, ftCo_804D3C38@sda21 -/* 000003B8 000003F8 38 80 02 94 */ li r4, 0x294 -/* 000003BC 000003FC 38 A0 00 00 */ li r5, ftCo_804D3C40@sda21 -/* 000003C0 00000400 48 00 00 01 */ bl __assert -.L_000003C4: -/* 000003C4 00000404 80 1D 00 14 */ lwz r0, 0x14(r29) -/* 000003C8 00000408 54 00 03 9D */ rlwinm. r0, r0, 0, 14, 14 -/* 000003CC 0000040C 41 82 00 18 */ beq .L_000003E4 -/* 000003D0 00000410 3C 60 00 00 */ lis r3, lbl_803C6CA8@ha -/* 000003D4 00000414 38 A3 00 00 */ addi r5, r3, lbl_803C6CA8@l -/* 000003D8 00000418 38 60 00 00 */ li r3, ftCo_804D3C38@sda21 -/* 000003DC 0000041C 38 80 02 95 */ li r4, 0x295 -/* 000003E0 00000420 48 00 00 01 */ bl __assert -.L_000003E4: -/* 000003E4 00000424 C0 00 00 00 */ lfs f0, ftCo_804D8CD8@sda21(r0) -/* 000003E8 00000428 D0 1D 00 20 */ stfs f0, 0x20(r29) -/* 000003EC 0000042C 80 1D 00 14 */ lwz r0, 0x14(r29) -/* 000003F0 00000430 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 000003F4 00000434 40 82 00 4C */ bne .L_00000440 -/* 000003F8 00000438 28 1D 00 00 */ cmplwi r29, 0x0 -/* 000003FC 0000043C 41 82 00 44 */ beq .L_00000440 -/* 00000400 00000440 40 82 00 14 */ bne .L_00000414 -/* 00000404 00000444 38 60 00 00 */ li r3, ftCo_804D3C38@sda21 -/* 00000408 00000448 38 80 02 34 */ li r4, 0x234 -/* 0000040C 0000044C 38 A0 00 00 */ li r5, ftCo_804D3C40@sda21 -/* 00000410 00000450 48 00 00 01 */ bl __assert -.L_00000414: -/* 00000414 00000454 80 9D 00 14 */ lwz r4, 0x14(r29) -/* 00000418 00000458 38 60 00 00 */ li r3, 0x0 -/* 0000041C 0000045C 54 80 02 11 */ rlwinm. r0, r4, 0, 8, 8 -/* 00000420 00000460 40 82 00 10 */ bne .L_00000430 -/* 00000424 00000464 54 80 06 73 */ rlwinm. r0, r4, 0, 25, 25 -/* 00000428 00000468 41 82 00 08 */ beq .L_00000430 -/* 0000042C 0000046C 38 60 00 01 */ li r3, 0x1 -.L_00000430: -/* 00000430 00000470 2C 03 00 00 */ cmpwi r3, 0x0 -/* 00000434 00000474 40 82 00 0C */ bne .L_00000440 -/* 00000438 00000478 7F A3 EB 78 */ mr r3, r29 -/* 0000043C 0000047C 48 00 00 01 */ bl HSD_JObjSetMtxDirtySub -.L_00000440: -/* 00000440 00000480 81 9F 21 F8 */ lwz r12, 0x21f8(r31) -/* 00000444 00000484 28 0C 00 00 */ cmplwi r12, 0x0 -/* 00000448 00000488 41 82 00 10 */ beq .L_00000458 -/* 0000044C 0000048C 7D 88 03 A6 */ mtlr r12 -/* 00000450 00000490 38 7C 00 00 */ addi r3, r28, 0x0 -/* 00000454 00000494 4E 80 00 21 */ blrl -.L_00000458: -/* 00000458 00000498 80 01 00 3C */ lwz r0, 0x3c(r1) -/* 0000045C 0000049C CB E1 00 30 */ lfd f31, 0x30(r1) -/* 00000460 000004A0 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 00000464 000004A4 83 C1 00 28 */ lwz r30, 0x28(r1) -/* 00000468 000004A8 83 A1 00 24 */ lwz r29, 0x24(r1) -/* 0000046C 000004AC 83 81 00 20 */ lwz r28, 0x20(r1) -/* 00000470 000004B0 38 21 00 38 */ addi r1, r1, 0x38 -/* 00000474 000004B4 7C 08 03 A6 */ mtlr r0 -/* 00000478 000004B8 4E 80 00 20 */ blr -.endfn ftCo_800C37A0 - -# 0x00000000 - 0x00000028 -.data -.balign 8 - -.obj lbl_803C6CA8, global - .4byte 0x21286A6F - .4byte 0x626A2D3E - .4byte 0x666C6167 - .4byte 0x73202620 - .4byte 0x4A4F424A - .4byte 0x5F555345 - .4byte 0x5F515541 - .4byte 0x5445524E - .4byte 0x494F4E29 - .byte 0x00 -.endobj lbl_803C6CA8 - -.obj gap_07_803C6CCD_data, global -.hidden gap_07_803C6CCD_data - .byte 0x00, 0x00, 0x00 -.endobj gap_07_803C6CCD_data - -# 0x00000000 - 0x00000010 -.section .sdata, "wa" -.balign 8 - -.obj ftCo_804D3C38, global - .4byte 0x6A6F626A - .byte 0x2E, 0x68, 0x00 -.endobj ftCo_804D3C38 - -.obj gap_09_804D3C3F_sdata, global -.hidden gap_09_804D3C3F_sdata - .byte 0x00 -.endobj gap_09_804D3C3F_sdata - -.obj ftCo_804D3C40, global - .4byte 0x6A6F626A - .byte 0x00 -.endobj ftCo_804D3C40 - -.obj gap_09_804D3C45_sdata, global -.hidden gap_09_804D3C45_sdata - .byte 0x00, 0x00, 0x00 -.endobj gap_09_804D3C45_sdata - -# 0x00000000 - 0x00000020 -.section .sdata2, "a" -.balign 8 - -.obj ftCo_804D8CD0, global - .4byte 0x43300000 - .4byte 0x80000000 -.endobj ftCo_804D8CD0 - -.obj ftCo_804D8CD8, global - .4byte 0x00000000 -.endobj ftCo_804D8CD8 - -.obj gap_11_804D8CDC_sdata2, global -.hidden gap_11_804D8CDC_sdata2 - .4byte 0x00000000 -.endobj gap_11_804D8CDC_sdata2 - -.obj ftCo_804D8CE0, global - .4byte 0x400921FB - .4byte 0x54442D18 -.endobj ftCo_804D8CE0 - -.obj ftCo_804D8CE8, global - .4byte 0x3FF921FB - .4byte 0x54442D18 -.endobj ftCo_804D8CE8 diff --git a/asm/melee/ft/chara/ftCommon/ftCo_PassiveWall.s b/asm/melee/ft/chara/ftCommon/ftCo_PassiveWall.s deleted file mode 100644 index 31d330e533..0000000000 --- a/asm/melee/ft/chara/ftCommon/ftCo_PassiveWall.s +++ /dev/null @@ -1,498 +0,0 @@ -.include "macros.inc" -.file "ftCo_PassiveWall.c" - -# 0x00000000 - 0x00000668 -.text -.balign 4 - -.fn ftCo_800C1D38, global -/* 00000000 00000040 7C 08 02 A6 */ mflr r0 -/* 00000004 00000044 90 01 00 04 */ stw r0, 0x4(r1) -/* 00000008 00000048 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 0000000C 0000004C 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 00000010 00000050 93 C1 00 18 */ stw r30, 0x18(r1) -/* 00000014 00000054 93 A1 00 14 */ stw r29, 0x14(r1) -/* 00000018 00000058 7C 7D 1B 78 */ mr r29, r3 -/* 0000001C 0000005C 80 83 00 2C */ lwz r4, 0x2c(r3) -/* 00000020 00000060 80 64 08 24 */ lwz r3, 0x824(r4) -/* 00000024 00000064 3B E4 06 F0 */ addi r31, r4, 0x6f0 -/* 00000028 00000068 3B C4 00 00 */ addi r30, r4, 0x0 -/* 0000002C 0000006C 54 60 05 29 */ rlwinm. r0, r3, 0, 20, 20 -/* 00000030 00000070 40 82 00 0C */ bne .L_0000003C -/* 00000034 00000074 54 60 06 B5 */ rlwinm. r0, r3, 0, 26, 26 -/* 00000038 00000078 41 82 00 7C */ beq .L_000000B4 -.L_0000003C: -/* 0000003C 0000007C 7F A3 EB 78 */ mr r3, r29 -/* 00000040 00000080 48 00 00 01 */ bl ftCo_800986B0 -/* 00000044 00000084 2C 03 00 00 */ cmpwi r3, 0x0 -/* 00000048 00000088 41 82 00 6C */ beq .L_000000B4 -/* 0000004C 0000008C 7F C3 F3 78 */ mr r3, r30 -/* 00000050 00000090 48 00 00 01 */ bl ftCo_800C1E0C -/* 00000054 00000094 2C 03 00 00 */ cmpwi r3, 0x0 -/* 00000058 00000098 41 82 00 0C */ beq .L_00000064 -/* 0000005C 0000009C 38 60 00 CB */ li r3, 0xcb -/* 00000060 000000A0 48 00 00 08 */ b .L_00000068 -.L_00000064: -/* 00000064 000000A4 38 60 00 CA */ li r3, 0xca -.L_00000068: -/* 00000068 000000A8 80 1F 01 34 */ lwz r0, 0x134(r31) -/* 0000006C 000000AC 38 83 00 00 */ addi r4, r3, 0x0 -/* 00000070 000000B0 54 00 05 29 */ rlwinm. r0, r0, 0, 20, 20 -/* 00000074 000000B4 41 82 00 20 */ beq .L_00000094 -/* 00000078 000000B8 80 A0 00 00 */ lwz r5, p_ftCommonData@sda21(r0) -/* 0000007C 000000BC 7F A3 EB 78 */ mr r3, r29 -/* 00000080 000000C0 C0 20 00 00 */ lfs f1, ftCo_804D8C60@sda21(r0) -/* 00000084 000000C4 38 C0 00 00 */ li r6, 0x0 -/* 00000088 000000C8 80 A5 07 60 */ lwz r5, 0x760(r5) -/* 0000008C 000000CC 48 00 00 01 */ bl ftCo_800C1E64 -/* 00000090 000000D0 48 00 00 1C */ b .L_000000AC -.L_00000094: -/* 00000094 000000D4 80 A0 00 00 */ lwz r5, p_ftCommonData@sda21(r0) -/* 00000098 000000D8 7F A3 EB 78 */ mr r3, r29 -/* 0000009C 000000DC C0 20 00 00 */ lfs f1, ftCo_804D8C64@sda21(r0) -/* 000000A0 000000E0 38 C0 00 00 */ li r6, 0x0 -/* 000000A4 000000E4 80 A5 07 60 */ lwz r5, 0x760(r5) -/* 000000A8 000000E8 48 00 00 01 */ bl ftCo_800C1E64 -.L_000000AC: -/* 000000AC 000000EC 38 60 00 01 */ li r3, 0x1 -/* 000000B0 000000F0 48 00 00 08 */ b .L_000000B8 -.L_000000B4: -/* 000000B4 000000F4 38 60 00 00 */ li r3, 0x0 -.L_000000B8: -/* 000000B8 000000F8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 000000BC 000000FC 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 000000C0 00000100 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 000000C4 00000104 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 000000C8 00000108 38 21 00 20 */ addi r1, r1, 0x20 -/* 000000CC 0000010C 7C 08 03 A6 */ mtlr r0 -/* 000000D0 00000110 4E 80 00 20 */ blr -.endfn ftCo_800C1D38 - -.fn ftCo_800C1E0C, global -/* 000000D4 00000114 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 000000D8 00000118 3C 00 43 30 */ lis r0, 0x4330 -/* 000000DC 0000011C 88 83 06 7E */ lbz r4, 0x67e(r3) -/* 000000E0 00000120 80 A0 00 00 */ lwz r5, p_ftCommonData@sda21(r0) -/* 000000E4 00000124 90 81 00 14 */ stw r4, 0x14(r1) -/* 000000E8 00000128 C8 40 00 00 */ lfd f2, ftCo_804D8C68@sda21(r0) -/* 000000EC 0000012C 90 01 00 10 */ stw r0, 0x10(r1) -/* 000000F0 00000130 C0 05 02 50 */ lfs f0, 0x250(r5) -/* 000000F4 00000134 C8 21 00 10 */ lfd f1, 0x10(r1) -/* 000000F8 00000138 EC 21 10 28 */ fsubs f1, f1, f2 -/* 000000FC 0000013C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 00000100 00000140 41 80 00 18 */ blt .L_00000118 -/* 00000104 00000144 C0 23 06 24 */ lfs f1, 0x624(r3) -/* 00000108 00000148 C0 05 00 70 */ lfs f0, 0x70(r5) -/* 0000010C 0000014C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 00000110 00000150 4C 41 13 82 */ cror eq, gt, eq -/* 00000114 00000154 40 82 00 0C */ bne .L_00000120 -.L_00000118: -/* 00000118 00000158 38 60 00 01 */ li r3, 0x1 -/* 0000011C 0000015C 48 00 00 08 */ b .L_00000124 -.L_00000120: -/* 00000120 00000160 38 60 00 00 */ li r3, 0x0 -.L_00000124: -/* 00000124 00000164 38 21 00 18 */ addi r1, r1, 0x18 -/* 00000128 00000168 4E 80 00 20 */ blr -.endfn ftCo_800C1E0C - -.fn ftCo_800C1E64, global -/* 0000012C 0000016C 7C 08 02 A6 */ mflr r0 -/* 00000130 00000170 FC 00 08 50 */ fneg f0, f1 -/* 00000134 00000174 90 01 00 04 */ stw r0, 0x4(r1) -/* 00000138 00000178 38 00 00 01 */ li r0, 0x1 -/* 0000013C 0000017C 94 21 FF A0 */ stwu r1, -0x60(r1) -/* 00000140 00000180 DB E1 00 58 */ stfd f31, 0x58(r1) -/* 00000144 00000184 BF 41 00 40 */ stmw r26, 0x40(r1) -/* 00000148 00000188 7C 7A 1B 78 */ mr r26, r3 -/* 0000014C 0000018C 3B 64 00 00 */ addi r27, r4, 0x0 -/* 00000150 00000190 7C BC 2B 78 */ mr r28, r5 -/* 00000154 00000194 3B A6 00 00 */ addi r29, r6, 0x0 -/* 00000158 00000198 83 E3 00 2C */ lwz r31, 0x2c(r3) -/* 0000015C 0000019C 90 1F 22 00 */ stw r0, 0x2200(r31) -/* 00000160 000001A0 3B DF 06 F0 */ addi r30, r31, 0x6f0 -/* 00000164 000001A4 D0 1F 00 2C */ stfs f0, 0x2c(r31) -/* 00000168 000001A8 48 00 00 01 */ bl ftCommon_8007E2FC -/* 0000016C 000001AC 80 1F 08 24 */ lwz r0, 0x824(r31) -/* 00000170 000001B0 54 00 05 29 */ rlwinm. r0, r0, 0, 20, 20 -/* 00000174 000001B4 41 82 00 20 */ beq .L_00000194 -/* 00000178 000001B8 C0 3E 00 BC */ lfs f1, 0xbc(r30) -/* 0000017C 000001BC C0 00 00 00 */ lfs f0, ftCo_804D8C70@sda21(r0) -/* 00000180 000001C0 D0 21 00 30 */ stfs f1, 0x30(r1) -/* 00000184 000001C4 C0 3E 00 C0 */ lfs f1, 0xc0(r30) -/* 00000188 000001C8 D0 21 00 34 */ stfs f1, 0x34(r1) -/* 0000018C 000001CC D0 01 00 38 */ stfs f0, 0x38(r1) -/* 00000190 000001D0 48 00 00 1C */ b .L_000001AC -.L_00000194: -/* 00000194 000001D4 C0 3E 00 B4 */ lfs f1, 0xb4(r30) -/* 00000198 000001D8 C0 00 00 00 */ lfs f0, ftCo_804D8C70@sda21(r0) -/* 0000019C 000001DC D0 21 00 30 */ stfs f1, 0x30(r1) -/* 000001A0 000001E0 C0 3E 00 B8 */ lfs f1, 0xb8(r30) -/* 000001A4 000001E4 D0 21 00 34 */ stfs f1, 0x34(r1) -/* 000001A8 000001E8 D0 01 00 38 */ stfs f0, 0x38(r1) -.L_000001AC: -/* 000001AC 000001EC 38 7A 00 00 */ addi r3, r26, 0x0 -/* 000001B0 000001F0 38 81 00 30 */ addi r4, r1, 0x30 -/* 000001B4 000001F4 48 00 00 01 */ bl ftKb_SpecialN_800F1F1C -/* 000001B8 000001F8 2C 1C 00 00 */ cmpwi r28, 0x0 -/* 000001BC 000001FC 41 82 00 0C */ beq .L_000001C8 -/* 000001C0 00000200 C0 40 00 00 */ lfs f2, ftCo_804D8C70@sda21(r0) -/* 000001C4 00000204 48 00 00 08 */ b .L_000001CC -.L_000001C8: -/* 000001C8 00000208 C0 40 00 00 */ lfs f2, ftCo_804D8C64@sda21(r0) -.L_000001CC: -/* 000001CC 0000020C C0 20 00 00 */ lfs f1, ftCo_804D8C70@sda21(r0) -/* 000001D0 00000210 7F 43 D3 78 */ mr r3, r26 -/* 000001D4 00000214 38 9B 00 00 */ addi r4, r27, 0x0 -/* 000001D8 00000218 FC 60 08 90 */ fmr f3, f1 -/* 000001DC 0000021C 38 A0 00 00 */ li r5, 0x0 -/* 000001E0 00000220 38 C0 00 00 */ li r6, 0x0 -/* 000001E4 00000224 48 00 00 01 */ bl Fighter_ChangeMotionState -/* 000001E8 00000228 38 80 00 FE */ li r4, 0xfe -/* 000001EC 0000022C 4C C6 31 82 */ crclr cr1eq -/* 000001F0 00000230 98 9F 06 70 */ stb r4, 0x670(r31) -/* 000001F4 00000234 38 00 00 00 */ li r0, 0x0 -/* 000001F8 00000238 38 7A 00 00 */ addi r3, r26, 0x0 -/* 000001FC 0000023C 98 9F 06 71 */ stb r4, 0x671(r31) -/* 00000200 00000240 39 01 00 24 */ addi r8, r1, 0x24 -/* 00000204 00000244 38 A0 00 02 */ li r5, 0x2 -/* 00000208 00000248 93 9F 23 40 */ stw r28, 0x2340(r31) -/* 0000020C 0000024C 38 C0 04 1D */ li r6, 0x41d -/* 00000210 00000250 38 E0 00 00 */ li r7, 0x0 -/* 00000214 00000254 90 1F 23 44 */ stw r0, 0x2344(r31) -/* 00000218 00000258 90 1F 23 48 */ stw r0, 0x2348(r31) -/* 0000021C 0000025C 93 BF 23 4C */ stw r29, 0x234c(r31) -/* 00000220 00000260 C0 5F 00 B0 */ lfs f2, 0xb0(r31) -/* 00000224 00000264 C0 21 00 30 */ lfs f1, 0x30(r1) -/* 00000228 00000268 C0 01 00 34 */ lfs f0, 0x34(r1) -/* 0000022C 0000026C EF E2 08 2A */ fadds f31, f2, f1 -/* 00000230 00000270 D3 E1 00 24 */ stfs f31, 0x24(r1) -/* 00000234 00000274 C0 3F 00 B4 */ lfs f1, 0xb4(r31) -/* 00000238 00000278 EC 01 00 2A */ fadds f0, f1, f0 -/* 0000023C 0000027C D0 01 00 28 */ stfs f0, 0x28(r1) -/* 00000240 00000280 C0 1F 00 B8 */ lfs f0, 0xb8(r31) -/* 00000244 00000284 D0 01 00 2C */ stfs f0, 0x2c(r1) -/* 00000248 00000288 80 9A 00 2C */ lwz r4, 0x2c(r26) -/* 0000024C 0000028C 38 84 06 0C */ addi r4, r4, 0x60c -/* 00000250 00000290 48 00 00 01 */ bl efAsync_Spawn -/* 00000254 00000294 C0 1F 00 2C */ lfs f0, 0x2c(r31) -/* 00000258 00000298 7F 43 D3 78 */ mr r3, r26 -/* 0000025C 0000029C C0 3F 06 94 */ lfs f1, 0x694(r31) -/* 00000260 000002A0 FC 00 00 50 */ fneg f0, f0 -/* 00000264 000002A4 EC 01 F8 3C */ fnmsubs f0, f1, f0, f31 -/* 00000268 000002A8 D0 1F 00 B0 */ stfs f0, 0xb0(r31) -/* 0000026C 000002AC 48 00 00 01 */ bl ft_80081F2C -/* 00000270 000002B0 80 9F 01 0C */ lwz r4, 0x10c(r31) -/* 00000274 000002B4 38 7F 00 00 */ addi r3, r31, 0x0 -/* 00000278 000002B8 38 A0 00 7F */ li r5, 0x7f -/* 0000027C 000002BC 80 84 00 4C */ lwz r4, 0x4c(r4) -/* 00000280 000002C0 38 C0 00 40 */ li r6, 0x40 -/* 00000284 000002C4 80 84 00 24 */ lwz r4, 0x24(r4) -/* 00000288 000002C8 48 00 00 01 */ bl ft_800881D8 -/* 0000028C 000002CC 38 7F 00 00 */ addi r3, r31, 0x0 -/* 00000290 000002D0 38 80 00 0C */ li r4, 0xc -/* 00000294 000002D4 38 A0 00 00 */ li r5, 0x0 -/* 00000298 000002D8 48 00 00 01 */ bl ftCommon_8007EBAC -/* 0000029C 000002DC 2C 1C 00 00 */ cmpwi r28, 0x0 -/* 000002A0 000002E0 40 82 00 18 */ bne .L_000002B8 -/* 000002A4 000002E4 38 7F 00 00 */ addi r3, r31, 0x0 -/* 000002A8 000002E8 38 80 00 03 */ li r4, 0x3 -/* 000002AC 000002EC 38 A0 00 7F */ li r5, 0x7f -/* 000002B0 000002F0 38 C0 00 40 */ li r6, 0x40 -/* 000002B4 000002F4 48 00 00 01 */ bl ft_80088148 -.L_000002B8: -/* 000002B8 000002F8 38 7F 00 00 */ addi r3, r31, 0x0 -/* 000002BC 000002FC 38 80 00 78 */ li r4, 0x78 -/* 000002C0 00000300 38 A0 00 00 */ li r5, 0x0 -/* 000002C4 00000304 48 00 00 01 */ bl ftCo_800BFFD0 -/* 000002C8 00000308 80 80 00 00 */ lwz r4, p_ftCommonData@sda21(r0) -/* 000002CC 0000030C 7F 43 D3 78 */ mr r3, r26 -/* 000002D0 00000310 80 84 07 64 */ lwz r4, 0x764(r4) -/* 000002D4 00000314 48 00 00 01 */ bl ftColl_8007B760 -/* 000002D8 00000318 BB 41 00 40 */ lmw r26, 0x40(r1) -/* 000002DC 0000031C 80 01 00 64 */ lwz r0, 0x64(r1) -/* 000002E0 00000320 CB E1 00 58 */ lfd f31, 0x58(r1) -/* 000002E4 00000324 38 21 00 60 */ addi r1, r1, 0x60 -/* 000002E8 00000328 7C 08 03 A6 */ mtlr r0 -/* 000002EC 0000032C 4E 80 00 20 */ blr -.endfn ftCo_800C1E64 - -.fn ftCo_PassiveWall_Anim, global -/* 000002F0 00000330 7C 08 02 A6 */ mflr r0 -/* 000002F4 00000334 90 01 00 04 */ stw r0, 0x4(r1) -/* 000002F8 00000338 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 000002FC 0000033C 93 E1 00 3C */ stw r31, 0x3c(r1) -/* 00000300 00000340 93 C1 00 38 */ stw r30, 0x38(r1) -/* 00000304 00000344 93 A1 00 34 */ stw r29, 0x34(r1) -/* 00000308 00000348 7C 7D 1B 78 */ mr r29, r3 -/* 0000030C 0000034C 80 83 00 2C */ lwz r4, 0x2c(r3) -/* 00000310 00000350 80 64 23 40 */ lwz r3, 0x2340(r4) -/* 00000314 00000354 3B C4 00 00 */ addi r30, r4, 0x0 -/* 00000318 00000358 2C 03 00 00 */ cmpwi r3, 0x0 -/* 0000031C 0000035C 41 82 00 F8 */ beq .L_00000414 -/* 00000320 00000360 38 03 FF FF */ subi r0, r3, 0x1 -/* 00000324 00000364 90 1E 23 40 */ stw r0, 0x2340(r30) -/* 00000328 00000368 80 1E 23 40 */ lwz r0, 0x2340(r30) -/* 0000032C 0000036C 2C 00 00 00 */ cmpwi r0, 0x0 -/* 00000330 00000370 40 82 00 E4 */ bne .L_00000414 -/* 00000334 00000374 38 7E 00 00 */ addi r3, r30, 0x0 -/* 00000338 00000378 38 80 00 08 */ li r4, 0x8 -/* 0000033C 0000037C 38 A0 00 7F */ li r5, 0x7f -/* 00000340 00000380 38 C0 00 40 */ li r6, 0x40 -/* 00000344 00000384 48 00 00 01 */ bl ft_80088148 -/* 00000348 00000388 80 1E 23 48 */ lwz r0, 0x2348(r30) -/* 0000034C 0000038C 2C 00 00 00 */ cmpwi r0, 0x0 -/* 00000350 00000390 41 82 00 3C */ beq .L_0000038C -/* 00000354 00000394 83 FD 00 2C */ lwz r31, 0x2c(r29) -/* 00000358 00000398 7F A3 EB 78 */ mr r3, r29 -/* 0000035C 0000039C C0 40 00 00 */ lfs f2, ftCo_804D8C64@sda21(r0) -/* 00000360 000003A0 38 80 00 CB */ li r4, 0xcb -/* 00000364 000003A4 C0 3F 08 94 */ lfs f1, 0x894(r31) -/* 00000368 000003A8 C0 60 00 00 */ lfs f3, ftCo_804D8C70@sda21(r0) -/* 0000036C 000003AC 38 A0 00 00 */ li r5, 0x0 -/* 00000370 000003B0 38 C0 00 00 */ li r6, 0x0 -/* 00000374 000003B4 48 00 00 01 */ bl Fighter_ChangeMotionState -/* 00000378 000003B8 38 00 00 FE */ li r0, 0xfe -/* 0000037C 000003BC 98 1F 06 71 */ stb r0, 0x671(r31) -/* 00000380 000003C0 38 00 00 00 */ li r0, 0x0 -/* 00000384 000003C4 90 1F 23 40 */ stw r0, 0x2340(r31) -/* 00000388 000003C8 48 00 00 10 */ b .L_00000398 -.L_0000038C: -/* 0000038C 000003CC 7F A3 EB 78 */ mr r3, r29 -/* 00000390 000003D0 C0 20 00 00 */ lfs f1, ftCo_804D8C64@sda21(r0) -/* 00000394 000003D4 48 00 00 01 */ bl ftAnim_SetAnimRate -.L_00000398: -/* 00000398 000003D8 80 1E 00 10 */ lwz r0, 0x10(r30) -/* 0000039C 000003DC 2C 00 00 CA */ cmpwi r0, 0xca -/* 000003A0 000003E0 40 82 00 18 */ bne .L_000003B8 -/* 000003A4 000003E4 C0 3E 00 2C */ lfs f1, 0x2c(r30) -/* 000003A8 000003E8 C0 1E 02 10 */ lfs f0, 0x210(r30) -/* 000003AC 000003EC EC 01 00 32 */ fmuls f0, f1, f0 -/* 000003B0 000003F0 D0 1E 00 80 */ stfs f0, 0x80(r30) -/* 000003B4 000003F4 48 00 00 60 */ b .L_00000414 -.L_000003B8: -/* 000003B8 000003F8 C0 3E 00 2C */ lfs f1, 0x2c(r30) -/* 000003BC 000003FC C0 1E 02 14 */ lfs f0, 0x214(r30) -/* 000003C0 00000400 EC 01 00 32 */ fmuls f0, f1, f0 -/* 000003C4 00000404 D0 1E 00 80 */ stfs f0, 0x80(r30) -/* 000003C8 00000408 C0 1E 02 18 */ lfs f0, 0x218(r30) -/* 000003CC 0000040C D0 1E 00 84 */ stfs f0, 0x84(r30) -/* 000003D0 00000410 88 1E 19 69 */ lbz r0, 0x1969(r30) -/* 000003D4 00000414 28 00 00 00 */ cmplwi r0, 0x0 -/* 000003D8 00000418 41 82 00 3C */ beq .L_00000414 -/* 000003DC 0000041C 80 7E 23 4C */ lwz r3, 0x234c(r30) -/* 000003E0 00000420 3C 00 43 30 */ lis r0, 0x4330 -/* 000003E4 00000424 80 80 00 00 */ lwz r4, p_ftCommonData@sda21(r0) -/* 000003E8 00000428 6C 63 80 00 */ xoris r3, r3, 0x8000 -/* 000003EC 0000042C C8 40 00 00 */ lfd f2, ftCo_804D8C78@sda21(r0) -/* 000003F0 00000430 90 61 00 2C */ stw r3, 0x2c(r1) -/* 000003F4 00000434 C0 24 07 78 */ lfs f1, 0x778(r4) -/* 000003F8 00000438 90 01 00 28 */ stw r0, 0x28(r1) -/* 000003FC 0000043C C8 01 00 28 */ lfd f0, 0x28(r1) -/* 00000400 00000440 EC 40 10 28 */ fsubs f2, f0, f2 -/* 00000404 00000444 48 00 00 01 */ bl powf -/* 00000408 00000448 C0 1E 00 84 */ lfs f0, 0x84(r30) -/* 0000040C 0000044C EC 00 00 72 */ fmuls f0, f0, f1 -/* 00000410 00000450 D0 1E 00 84 */ stfs f0, 0x84(r30) -.L_00000414: -/* 00000414 00000454 7F A3 EB 78 */ mr r3, r29 -/* 00000418 00000458 48 00 00 01 */ bl ftAnim_IsFramesRemaining -/* 0000041C 0000045C 2C 03 00 00 */ cmpwi r3, 0x0 -/* 00000420 00000460 40 82 00 0C */ bne .L_0000042C -/* 00000424 00000464 7F A3 EB 78 */ mr r3, r29 -/* 00000428 00000468 48 00 00 01 */ bl ftCo_800CC730 -.L_0000042C: -/* 0000042C 0000046C 80 01 00 44 */ lwz r0, 0x44(r1) -/* 00000430 00000470 83 E1 00 3C */ lwz r31, 0x3c(r1) -/* 00000434 00000474 83 C1 00 38 */ lwz r30, 0x38(r1) -/* 00000438 00000478 83 A1 00 34 */ lwz r29, 0x34(r1) -/* 0000043C 0000047C 38 21 00 40 */ addi r1, r1, 0x40 -/* 00000440 00000480 7C 08 03 A6 */ mtlr r0 -/* 00000444 00000484 4E 80 00 20 */ blr -.endfn ftCo_PassiveWall_Anim - -.fn ftCo_PassiveWall_IASA, global -/* 00000448 00000488 7C 08 02 A6 */ mflr r0 -/* 0000044C 0000048C 90 01 00 04 */ stw r0, 0x4(r1) -/* 00000450 00000490 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 00000454 00000494 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 00000458 00000498 93 C1 00 18 */ stw r30, 0x18(r1) -/* 0000045C 0000049C 7C 7E 1B 78 */ mr r30, r3 -/* 00000460 000004A0 83 E3 00 2C */ lwz r31, 0x2c(r3) -/* 00000464 000004A4 80 1F 23 40 */ lwz r0, 0x2340(r31) -/* 00000468 000004A8 2C 00 00 00 */ cmpwi r0, 0x0 -/* 0000046C 000004AC 40 82 00 A8 */ bne .L_00000514 -/* 00000470 000004B0 7F C3 F3 78 */ mr r3, r30 -/* 00000474 000004B4 48 00 00 01 */ bl ftCo_SpecialAir_CheckInput -/* 00000478 000004B8 2C 03 00 00 */ cmpwi r3, 0x0 -/* 0000047C 000004BC 40 82 00 F4 */ bne .L_00000570 -/* 00000480 000004C0 38 7E 00 00 */ addi r3, r30, 0x0 -/* 00000484 000004C4 38 80 00 00 */ li r4, 0x0 -/* 00000488 000004C8 48 00 00 01 */ bl ftCo_80095328 -/* 0000048C 000004CC 2C 03 00 00 */ cmpwi r3, 0x0 -/* 00000490 000004D0 40 82 00 E0 */ bne .L_00000570 -/* 00000494 000004D4 7F C3 F3 78 */ mr r3, r30 -/* 00000498 000004D8 48 00 00 01 */ bl ftCo_800D7100 -/* 0000049C 000004DC 2C 03 00 00 */ cmpwi r3, 0x0 -/* 000004A0 000004E0 40 82 00 D0 */ bne .L_00000570 -/* 000004A4 000004E4 7F C3 F3 78 */ mr r3, r30 -/* 000004A8 000004E8 48 00 00 01 */ bl ftCo_800C3B10 -/* 000004AC 000004EC 2C 03 00 00 */ cmpwi r3, 0x0 -/* 000004B0 000004F0 40 82 00 C0 */ bne .L_00000570 -/* 000004B4 000004F4 7F C3 F3 78 */ mr r3, r30 -/* 000004B8 000004F8 48 00 00 01 */ bl ftCo_80099A58 -/* 000004BC 000004FC 2C 03 00 00 */ cmpwi r3, 0x0 -/* 000004C0 00000500 40 82 00 B0 */ bne .L_00000570 -/* 000004C4 00000504 7F C3 F3 78 */ mr r3, r30 -/* 000004C8 00000508 48 00 00 01 */ bl ftCo_AttackAir_CheckItemThrowInput -/* 000004CC 0000050C 2C 03 00 00 */ cmpwi r3, 0x0 -/* 000004D0 00000510 40 82 00 A0 */ bne .L_00000570 -/* 000004D4 00000514 7F C3 F3 78 */ mr r3, r30 -/* 000004D8 00000518 48 00 00 01 */ bl ftCo_800D705C -/* 000004DC 0000051C 2C 03 00 00 */ cmpwi r3, 0x0 -/* 000004E0 00000520 40 82 00 90 */ bne .L_00000570 -/* 000004E4 00000524 7F C3 F3 78 */ mr r3, r30 -/* 000004E8 00000528 48 00 00 01 */ bl ftCo_800CB870 -/* 000004EC 0000052C 2C 03 00 00 */ cmpwi r3, 0x0 -/* 000004F0 00000530 40 82 00 80 */ bne .L_00000570 -/* 000004F4 00000534 80 1F 22 00 */ lwz r0, 0x2200(r31) -/* 000004F8 00000538 28 00 00 00 */ cmplwi r0, 0x0 -/* 000004FC 0000053C 41 82 00 74 */ beq .L_00000570 -/* 00000500 00000540 7F C3 F3 78 */ mr r3, r30 -/* 00000504 00000544 48 00 00 01 */ bl ftCo_800CEE70 -/* 00000508 00000548 2C 03 00 00 */ cmpwi r3, 0x0 -/* 0000050C 0000054C 41 82 00 64 */ beq .L_00000570 -/* 00000510 00000550 48 00 00 60 */ b .L_00000570 -.L_00000514: -/* 00000514 00000554 88 7F 06 7E */ lbz r3, 0x67e(r31) -/* 00000518 00000558 3C 00 43 30 */ lis r0, 0x4330 -/* 0000051C 0000055C 80 80 00 00 */ lwz r4, p_ftCommonData@sda21(r0) -/* 00000520 00000560 90 61 00 14 */ stw r3, 0x14(r1) -/* 00000524 00000564 C8 40 00 00 */ lfd f2, ftCo_804D8C68@sda21(r0) -/* 00000528 00000568 90 01 00 10 */ stw r0, 0x10(r1) -/* 0000052C 0000056C C0 04 02 50 */ lfs f0, 0x250(r4) -/* 00000530 00000570 C8 21 00 10 */ lfd f1, 0x10(r1) -/* 00000534 00000574 EC 21 10 28 */ fsubs f1, f1, f2 -/* 00000538 00000578 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 0000053C 0000057C 41 80 00 18 */ blt .L_00000554 -/* 00000540 00000580 C0 3F 06 24 */ lfs f1, 0x624(r31) -/* 00000544 00000584 C0 04 00 70 */ lfs f0, 0x70(r4) -/* 00000548 00000588 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 0000054C 0000058C 4C 41 13 82 */ cror eq, gt, eq -/* 00000550 00000590 40 82 00 0C */ bne .L_0000055C -.L_00000554: -/* 00000554 00000594 38 00 00 01 */ li r0, 0x1 -/* 00000558 00000598 48 00 00 08 */ b .L_00000560 -.L_0000055C: -/* 0000055C 0000059C 38 00 00 00 */ li r0, 0x0 -.L_00000560: -/* 00000560 000005A0 2C 00 00 00 */ cmpwi r0, 0x0 -/* 00000564 000005A4 41 82 00 0C */ beq .L_00000570 -/* 00000568 000005A8 38 00 00 01 */ li r0, 0x1 -/* 0000056C 000005AC 90 1F 23 48 */ stw r0, 0x2348(r31) -.L_00000570: -/* 00000570 000005B0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 00000574 000005B4 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 00000578 000005B8 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 0000057C 000005BC 38 21 00 20 */ addi r1, r1, 0x20 -/* 00000580 000005C0 7C 08 03 A6 */ mtlr r0 -/* 00000584 000005C4 4E 80 00 20 */ blr -.endfn ftCo_PassiveWall_IASA - -.fn ftCo_PassiveWall_Phys, global -/* 00000588 000005C8 7C 08 02 A6 */ mflr r0 -/* 0000058C 000005CC 90 01 00 04 */ stw r0, 0x4(r1) -/* 00000590 000005D0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 00000594 000005D4 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 00000598 000005D8 93 C1 00 18 */ stw r30, 0x18(r1) -/* 0000059C 000005DC 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 000005A0 000005E0 80 03 23 40 */ lwz r0, 0x2340(r3) -/* 000005A4 000005E4 3B E3 00 00 */ addi r31, r3, 0x0 -/* 000005A8 000005E8 2C 00 00 00 */ cmpwi r0, 0x0 -/* 000005AC 000005EC 40 82 00 4C */ bne .L_000005F8 -/* 000005B0 000005F0 3B DF 01 10 */ addi r30, r31, 0x110 -/* 000005B4 000005F4 38 7F 00 00 */ addi r3, r31, 0x0 -/* 000005B8 000005F8 48 00 00 01 */ bl ftCommon_8007D528 -/* 000005BC 000005FC 88 1F 22 1A */ lbz r0, 0x221a(r31) -/* 000005C0 00000600 54 00 EF FF */ extrwi. r0, r0, 1, 28 -/* 000005C4 00000604 41 82 00 10 */ beq .L_000005D4 -/* 000005C8 00000608 7F E3 FB 78 */ mr r3, r31 -/* 000005CC 0000060C 48 00 00 01 */ bl ftCommon_8007D4E4 -/* 000005D0 00000610 48 00 00 14 */ b .L_000005E4 -.L_000005D4: -/* 000005D4 00000614 C0 3E 00 5C */ lfs f1, 0x5c(r30) -/* 000005D8 00000618 7F E3 FB 78 */ mr r3, r31 -/* 000005DC 0000061C C0 5E 00 60 */ lfs f2, 0x60(r30) -/* 000005E0 00000620 48 00 00 01 */ bl ftCommon_8007D494 -.L_000005E4: -/* 000005E4 00000624 C0 20 00 00 */ lfs f1, ftCo_804D8C70@sda21(r0) -/* 000005E8 00000628 7F E3 FB 78 */ mr r3, r31 -/* 000005EC 0000062C C0 7F 01 80 */ lfs f3, 0x180(r31) -/* 000005F0 00000630 FC 40 08 90 */ fmr f2, f1 -/* 000005F4 00000634 48 00 00 01 */ bl ftCommon_8007D140 -.L_000005F8: -/* 000005F8 00000638 80 01 00 24 */ lwz r0, 0x24(r1) -/* 000005FC 0000063C 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 00000600 00000640 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 00000604 00000644 38 21 00 20 */ addi r1, r1, 0x20 -/* 00000608 00000648 7C 08 03 A6 */ mtlr r0 -/* 0000060C 0000064C 4E 80 00 20 */ blr -.endfn ftCo_PassiveWall_Phys - -.fn ftCo_PassiveWall_Coll, global -/* 00000610 00000650 7C 08 02 A6 */ mflr r0 -/* 00000614 00000654 90 01 00 04 */ stw r0, 0x4(r1) -/* 00000618 00000658 94 21 FF F8 */ stwu r1, -0x8(r1) -/* 0000061C 0000065C 80 83 00 2C */ lwz r4, 0x2c(r3) -/* 00000620 00000660 80 04 23 40 */ lwz r0, 0x2340(r4) -/* 00000624 00000664 2C 00 00 00 */ cmpwi r0, 0x0 -/* 00000628 00000668 41 82 00 1C */ beq .L_00000644 -/* 0000062C 0000066C 3C 80 00 00 */ lis r4, ftCo_80096CC8@ha -/* 00000630 00000670 3C A0 00 00 */ lis r5, ft_80082B1C@ha -/* 00000634 00000674 38 84 00 00 */ addi r4, r4, ftCo_80096CC8@l -/* 00000638 00000678 38 A5 00 00 */ addi r5, r5, ft_80082B1C@l -/* 0000063C 0000067C 48 00 00 01 */ bl ft_80083318 -/* 00000640 00000680 48 00 00 18 */ b .L_00000658 -.L_00000644: -/* 00000644 00000684 3C 80 00 00 */ lis r4, ftCo_80096CC8@ha -/* 00000648 00000688 3C A0 00 00 */ lis r5, ft_80082B1C@ha -/* 0000064C 0000068C 38 84 00 00 */ addi r4, r4, ftCo_80096CC8@l -/* 00000650 00000690 38 A5 00 00 */ addi r5, r5, ft_80082B1C@l -/* 00000654 00000694 48 00 00 01 */ bl ft_800831CC -.L_00000658: -/* 00000658 00000698 80 01 00 0C */ lwz r0, 0xc(r1) -/* 0000065C 0000069C 38 21 00 08 */ addi r1, r1, 0x8 -/* 00000660 000006A0 7C 08 03 A6 */ mtlr r0 -/* 00000664 000006A4 4E 80 00 20 */ blr -.endfn ftCo_PassiveWall_Coll - -# 0x00000000 - 0x00000020 -.section .sdata2, "a" -.balign 8 - -.obj ftCo_804D8C60, global - .4byte 0xBF800000 -.endobj ftCo_804D8C60 - -.obj ftCo_804D8C64, global - .4byte 0x3F800000 -.endobj ftCo_804D8C64 - -.obj ftCo_804D8C68, global - .4byte 0x43300000 - .4byte 0x00000000 -.endobj ftCo_804D8C68 - -.obj ftCo_804D8C70, global - .4byte 0x00000000 -.endobj ftCo_804D8C70 - -.obj gap_11_804D8C74_sdata2, global -.hidden gap_11_804D8C74_sdata2 - .4byte 0x00000000 -.endobj gap_11_804D8C74_sdata2 - -.obj ftCo_804D8C78, global - .4byte 0x43300000 - .4byte 0x80000000 -.endobj ftCo_804D8C78 diff --git a/configure.py b/configure.py index 15a44f5ef4..dc80acd00f 100755 --- a/configure.py +++ b/configure.py @@ -510,11 +510,11 @@ def RuntimeLib(lib_name: str, objects: Objects) -> LibDict: Object(NonMatching, "melee/ft/ftdevice.c"), Object(NonMatching, "melee/ft/chara/ftCommon/ftCo_Bury.c"), Object(NonMatching, "melee/ft/chara/ftCommon/ftCo_FlyReflect.c"), - Object(NonMatching, "melee/ft/chara/ftCommon/ftCo_PassiveWall.c"), + Object(Matching, "melee/ft/chara/ftCommon/ftCo_PassiveWall.c"), Object(Matching, "melee/ft/chara/ftCommon/ftCo_PassiveCeil.c"), Object(NonMatching, "melee/ft/ftafterimage.c"), Object(Matching, "melee/ft/chara/ftCommon/ftCo_DamageSong.c"), - Object(NonMatching, "melee/ft/chara/ftCommon/ftCo_0C35.c"), + Object(Matching, "melee/ft/chara/ftCommon/ftCo_0C35.c"), Object(NonMatching, "melee/ft/chara/ftCommon/ftCo_AirCatch.c"), Object(Matching, "melee/ft/chara/ftCommon/ftCo_DamageBind.c"), Object(NonMatching, "melee/ft/chara/ftCommon/ftCo_WarpStar.c"), diff --git a/obj_files.mk b/obj_files.mk index edc03359d9..79cb7d5370 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -174,11 +174,11 @@ TEXT_O_FILES +=\ $(BUILD_DIR)/asm/melee/ft/ftdevice.s.o\ $(BUILD_DIR)/asm/melee/ft/chara/ftCommon/ftCo_Bury.s.o\ $(BUILD_DIR)/asm/melee/ft/chara/ftCommon/ftCo_FlyReflect.s.o\ - $(BUILD_DIR)/asm/melee/ft/chara/ftCommon/ftCo_PassiveWall.s.o\ + $(BUILD_DIR)/src/melee/ft/chara/ftCommon/ftCo_PassiveWall.c.o\ $(BUILD_DIR)/src/melee/ft/chara/ftCommon/ftCo_PassiveCeil.c.o\ $(BUILD_DIR)/asm/melee/ft/ftafterimage.s.o\ $(BUILD_DIR)/src/melee/ft/chara/ftCommon/ftCo_DamageSong.c.o\ - $(BUILD_DIR)/asm/melee/ft/chara/ftCommon/ftCo_0C35.s.o\ + $(BUILD_DIR)/src/melee/ft/chara/ftCommon/ftCo_0C35.c.o\ $(BUILD_DIR)/asm/melee/ft/chara/ftCommon/ftCo_AirCatch.s.o\ $(BUILD_DIR)/src/melee/ft/chara/ftCommon/ftCo_DamageBind.c.o\ $(BUILD_DIR)/asm/melee/ft/chara/ftCommon/ftCo_WarpStar.s.o\ From aac2875f244c4e5d4522f662bc3d3fdc32ae900b Mon Sep 17 00:00:00 2001 From: Fox Caminiti Date: Sun, 14 Jul 2024 21:58:35 -0400 Subject: [PATCH 4/4] fix incorrect .sdata2 --- src/melee/ft/chara/ftCommon/ftCo_PassiveWall.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/melee/ft/chara/ftCommon/ftCo_PassiveWall.c b/src/melee/ft/chara/ftCommon/ftCo_PassiveWall.c index 1098e2c4e3..d34fcd0d81 100644 --- a/src/melee/ft/chara/ftCommon/ftCo_PassiveWall.c +++ b/src/melee/ft/chara/ftCommon/ftCo_PassiveWall.c @@ -32,8 +32,6 @@ #include -#pragma force_active on - bool ftCo_800C1D38(ftCo_GObj* gobj) { Fighter* fp = GET_FIGHTER(gobj); @@ -77,11 +75,11 @@ void ftCo_800C1E64(ftCo_GObj* gobj, int msid, int timer, int vel_y_exponent, if (fp->coll_data.env_flags & MPCOLL_FLAGS_B11) { ef_offset.x = coll->xA4_ecbCurrCorrect.left.x; ef_offset.y = coll->xA4_ecbCurrCorrect.left.y; - ef_offset.z = 0; + ef_offset.z = 0.0F; } else { ef_offset.x = coll->xA4_ecbCurrCorrect.right.x; ef_offset.y = coll->xA4_ecbCurrCorrect.right.y; - ef_offset.z = 0; + ef_offset.z = 0.0F; } } ftKb_SpecialN_800F1F1C(gobj, &ef_offset); @@ -96,7 +94,7 @@ void ftCo_800C1E64(ftCo_GObj* gobj, int msid, int timer, int vel_y_exponent, { Vec3 ef_pos; float pos_x_offset = fp->cur_pos.x + ef_offset.x; - u8 _[4] = { 0 }; + PAD_STACK(4); ef_pos.x = pos_x_offset; ef_pos.y = fp->cur_pos.y + ef_offset.y; ef_pos.z = fp->cur_pos.z; @@ -127,12 +125,12 @@ static inline void inlineA0(ftCo_GObj* gobj) void ftCo_PassiveWall_Anim(ftCo_GObj* gobj) { - u8 _[16] = { 0 }; Fighter* fp = GET_FIGHTER(gobj); + PAD_STACK(16); if (fp->mv.co.passivewall.timer != 0) { --fp->mv.co.passivewall.timer; if (fp->mv.co.passivewall.timer == 0) { - ft_80088148(fp, 8, 0x7F, 0x40); + ft_80088148(fp, 8, 127, 64); if (fp->mv.co.passivewall.x8) { inlineA0(gobj); } else { @@ -180,8 +178,8 @@ void ftCo_PassiveWall_IASA(ftCo_GObj* gobj) void ftCo_PassiveWall_Phys(ftCo_GObj* gobj) { - u8 _[8] = { 0 }; Fighter* fp = GET_FIGHTER(gobj); + PAD_STACK(8); if (!fp->mv.co.passivewall.timer) { ftCo_DatAttrs* co = &fp->co_attrs; ftCommon_8007D528(fp); @@ -190,7 +188,7 @@ void ftCo_PassiveWall_Phys(ftCo_GObj* gobj) } else { ftCommon_8007D494(fp, co->grav, co->terminal_vel); } - ftCommon_8007D140(fp, 0, 0, fp->co_attrs.aerial_friction); + ftCommon_8007D140(fp, 0.0F, 0.0F, fp->co_attrs.aerial_friction); } }