From 034e79c93e4559d133943968d99bbf06de92e1dd Mon Sep 17 00:00:00 2001 From: Ryan Burns <52847440+r-burns@users.noreply.github.com> Date: Mon, 6 Mar 2023 00:38:17 -0800 Subject: [PATCH] Clean up fighter vars union (#753) * Create masterhand state vars Cleans up some fighter common state vars * Clean up fighter union hack No more zero-sized arrays in fighter vars union * Run git-clang-format --- .../ft/chara/ftCaptain/ftCaptain_SpecialS.c | 18 +- src/melee/ft/chara/ftCrazyHand/ftcrazyhand.c | 10 +- src/melee/ft/chara/ftFox/ftFox_AppealS.c | 16 +- src/melee/ft/chara/ftFox/ftFox_SpecialHi.c | 61 +++-- src/melee/ft/chara/ftFox/ftFox_SpecialLw.c | 93 ++++--- src/melee/ft/chara/ftFox/ftFox_SpecialN.c | 20 +- src/melee/ft/chara/ftFox/ftFox_SpecialS.c | 74 +++--- .../chara/ftGameWatch/ftGameWatch_Attack11.c | 2 +- .../chara/ftGameWatch/ftGameWatch_SpecialLw.c | 24 +- .../chara/ftGameWatch/ftGameWatch_SpecialN.c | 28 +-- .../ft/chara/ftLuigi/ftLuigi_SpecialLw.c | 29 ++- src/melee/ft/chara/ftLuigi/ftLuigi_SpecialS.c | 44 ++-- .../ft/chara/ftMario/ftMario_SpecialLw.c | 32 +-- src/melee/ft/chara/ftMario/ftMario_SpecialS.c | 12 +- .../ft/chara/ftMasterHand/ftMasterHand_01.c | 16 +- .../ft/chara/ftMasterHand/ftMasterHand_03.c | 17 +- .../ft/chara/ftMasterHand/ftMasterHand_04.c | 16 +- .../ft/chara/ftMasterHand/ftMasterHand_05.c | 41 ++-- .../ft/chara/ftMasterHand/ftMasterHand_06.c | 17 +- .../ft/chara/ftMasterHand/ftMasterHand_10.c | 6 +- .../ft/chara/ftMasterHand/ftMasterHand_11.c | 4 +- .../ft/chara/ftMasterHand/ftMasterHand_12.c | 8 +- .../ft/chara/ftMasterHand/ftMasterHand_13.c | 4 +- .../ft/chara/ftMasterHand/ftMasterHand_14.c | 42 ++-- .../ft/chara/ftMasterHand/ftMasterHand_19.c | 4 +- .../ft/chara/ftMasterHand/ftMasterHand_20.c | 4 +- .../ft/chara/ftMasterHand/ftMasterHand_21.c | 2 +- .../ft/chara/ftMasterHand/ftMasterHand_22.c | 42 ++-- .../ft/chara/ftMasterHand/ftMasterHand_23.c | 12 +- .../ft/chara/ftMasterHand/ftMasterHand_24.c | 12 +- .../ft/chara/ftMasterHand/ftMasterHand_25.c | 8 +- .../ft/chara/ftMasterHand/ftMasterHand_27.c | 2 +- .../ft/chara/ftMasterHand/ftMasterHand_30.c | 8 +- .../ftMasterHand/ftMasterhand_StateVars.h | 25 ++ .../ft/chara/ftMewtwo/ftMewtwo_SpecialHi.c | 42 ++-- .../ft/chara/ftMewtwo/ftMewtwo_SpecialN.c | 91 ++++--- .../ft/chara/ftMewtwo/ftMewtwo_SpecialS.c | 12 +- src/melee/ft/chara/ftNess/ftNess_AttackHi4.c | 89 ++++--- src/melee/ft/chara/ftNess/ftNess_AttackLw4.c | 22 +- src/melee/ft/chara/ftNess/ftNess_SpecialHi.c | 226 +++++++++-------- src/melee/ft/chara/ftNess/ftNess_SpecialLw.c | 98 ++++---- src/melee/ft/chara/ftNess/ftNess_SpecialN.c | 79 +++--- src/melee/ft/chara/ftSeak/ftSeak_SpecialS.c | 24 +- src/melee/ft/ftcliffcommon.c | 21 +- src/melee/ft/ftstatevars.h | 1 + src/melee/ft/types.h | 228 +++++++----------- 46 files changed, 820 insertions(+), 866 deletions(-) create mode 100644 src/melee/ft/chara/ftMasterHand/ftMasterhand_StateVars.h diff --git a/src/melee/ft/chara/ftCaptain/ftCaptain_SpecialS.c b/src/melee/ft/chara/ftCaptain/ftCaptain_SpecialS.c index de53a3f5c..510088f3e 100644 --- a/src/melee/ft/chara/ftCaptain/ftCaptain_SpecialS.c +++ b/src/melee/ft/chara/ftCaptain/ftCaptain_SpecialS.c @@ -108,7 +108,7 @@ void ftCaptain_SpecialAirS_StartAction(HSD_GObj* fighter_gobj) fp->x80_self_vel.z = 0.0f; fp->x80_self_vel.y = 0.0f; fp->x80_self_vel.x = 0.0f; - fp->captainVars[0].SpecialS.gravity = 0.0f; + fp->captainVars.SpecialS.gravity = 0.0f; func_8007D60C(fp); } @@ -383,15 +383,15 @@ void ftCaptain_SpecialAirSStart_Phys(HSD_GObj* fighter_gobj) func_80085134(fighter_gobj); if ((u32) fp->x2204_ftcmd_var1 == 1U) { - fp->captainVars[0].SpecialS.gravity -= + fp->captainVars.SpecialS.gravity -= captainAttrs->x18_CAPTAIN_RAPTORBOOST_GRAVITY; - if (fp->captainVars[0].SpecialS.gravity < + if (fp->captainVars.SpecialS.gravity < -captainAttrs->x1C_CAPTAIN_RAPTORBOOST_TERMINAL_VELOCITY) { - fp->captainVars[0].SpecialS.gravity = + fp->captainVars.SpecialS.gravity = -captainAttrs->x1C_CAPTAIN_RAPTORBOOST_TERMINAL_VELOCITY; } - fp->x80_self_vel.y = fp->captainVars[0].SpecialS.gravity; + fp->x80_self_vel.y = fp->captainVars.SpecialS.gravity; } } @@ -409,15 +409,15 @@ void ftCaptain_SpecialAirS_Phys(HSD_GObj* fighter_gobj) #endif func_80085134(fighter_gobj); - fp->captainVars[0].SpecialS.gravity -= + fp->captainVars.SpecialS.gravity -= captainAttrs->x18_CAPTAIN_RAPTORBOOST_GRAVITY; - if (fp->captainVars[0].SpecialS.gravity < + if (fp->captainVars.SpecialS.gravity < -captainAttrs->x1C_CAPTAIN_RAPTORBOOST_TERMINAL_VELOCITY) { - fp->captainVars[0].SpecialS.gravity = + fp->captainVars.SpecialS.gravity = -captainAttrs->x1C_CAPTAIN_RAPTORBOOST_TERMINAL_VELOCITY; } - fp->x80_self_vel.y = fp->captainVars[0].SpecialS.gravity; + fp->x80_self_vel.y = fp->captainVars.SpecialS.gravity; } // 0x800E3C38 diff --git a/src/melee/ft/chara/ftCrazyHand/ftcrazyhand.c b/src/melee/ft/chara/ftCrazyHand/ftcrazyhand.c index c56b7bebb..f68cb9ab7 100644 --- a/src/melee/ft/chara/ftCrazyHand/ftcrazyhand.c +++ b/src/melee/ft/chara/ftCrazyHand/ftcrazyhand.c @@ -152,11 +152,11 @@ void ftCrazyhand_OnLoad(HSD_GObj* fighter_gobj) fp->xB0_pos.z = 0.0f; fp->x2368 = 0; fp->x236C = 0; - fp->x2370 = 0; - fp->x2374 = 0; - fp->x2378 = -1; - fp->x237C = -1; - fp->x2380 = -1; + fp->masterhandVars.x2370 = 0; + fp->masterhandVars.x2374 = 0; + fp->masterhandVars.x2378 = -1; + fp->masterhandVars.x237C = -1; + fp->masterhandVars.x2380 = -1; fp->x235C = 0.0f; fp->x2360 = 0; fp->sa.masterhand.x222C = func_8015C244(fighter_gobj, &fp->xB0_pos); diff --git a/src/melee/ft/chara/ftFox/ftFox_AppealS.c b/src/melee/ft/chara/ftFox/ftFox_AppealS.c index 7eb615b01..8864b336e 100644 --- a/src/melee/ft/chara/ftFox/ftFox_AppealS.c +++ b/src/melee/ft/chara/ftFox/ftFox_AppealS.c @@ -81,14 +81,14 @@ void ftFox_AppealS_Action(HSD_GObj* fighter_gobj) s32 animCount; Fighter* fp = GET_FIGHTER(fighter_gobj); - fp->foxVars[0].AppealS.animCount = 0; + fp->foxVars.AppealS.animCount = 0; facingDir = ftFox_AppealS_GetLR(1.0f, fp->facing_dir); - fp->foxVars[0].AppealS.facingDir = facingDir; + fp->foxVars.AppealS.facingDir = facingDir; fp->x2210_ThrowFlags.flags = 0; - actionDir = fp->foxVars[0].AppealS.facingDir; - animCount = fp->foxVars[0].AppealS.animCount; + actionDir = fp->foxVars.AppealS.facingDir; + animCount = fp->foxVars.AppealS.animCount; Fighter_ActionStateChange_800693AC(fighter_gobj, ASID_AppealS[actionDir][animCount], 0, @@ -134,16 +134,16 @@ void ftFox_AppealS_Anim(HSD_GObj* fighter_gobj) } } if (!ftAnim_IsFramesRemaining(fighter_gobj)) { - fp->foxVars[0].AppealS.animCount++; - if ((s32) fp->foxVars[0].AppealS.animCount >= 3) { + fp->foxVars.AppealS.animCount++; + if ((s32) fp->foxVars.AppealS.animCount >= 3) { func_8008A324(fighter_gobj); return; } Fighter_ActionStateChange_800693AC( fighter_gobj, - ASID_AppealS[fp->foxVars[0].AppealS.facingDir] - [fp->foxVars[0].AppealS.animCount], + ASID_AppealS[fp->foxVars.AppealS.facingDir] + [fp->foxVars.AppealS.animCount], 0, NULL, 0.0f, 1.0f, 0.0f); } } diff --git a/src/melee/ft/chara/ftFox/ftFox_SpecialHi.c b/src/melee/ft/chara/ftFox/ftFox_SpecialHi.c index c203fed13..66813c7c4 100644 --- a/src/melee/ft/chara/ftFox/ftFox_SpecialHi.c +++ b/src/melee/ft/chara/ftFox/ftFox_SpecialHi.c @@ -55,7 +55,7 @@ void ftFox_SpecialHi_StartAction(HSD_GObj* fighter_gobj) fp = GET_FIGHTER(fighter_gobj); foxAttrs = getFtSpecialAttrs(fp); - fp->foxVars[0].SpecialHi.gravityDelay = + fp->foxVars.SpecialHi.gravityDelay = (s32) foxAttrs->x54_FOX_FIREFOX_GRAVITY_DELAY; fp->xEC_ground_vel /= foxAttrs->x58_FOX_FIREFOX_VEL_X; @@ -71,7 +71,7 @@ void ftFox_SpecialAirHi_StartAction(HSD_GObj* fighter_gobj) Fighter* fp = GET_FIGHTER(fighter_gobj); ftFoxAttributes* foxAttrs = getFtSpecialAttrs(fp); - fp->foxVars[0].SpecialHi.gravityDelay = + fp->foxVars.SpecialHi.gravityDelay = (s32) foxAttrs->x54_FOX_FIREFOX_GRAVITY_DELAY; fp->x80_self_vel.x /= foxAttrs->x58_FOX_FIREFOX_VEL_X; fp->x80_self_vel.y = 0.0f; @@ -88,7 +88,7 @@ void ftFox_SpecialHi_RotateModel(HSD_GObj* fighter_gobj) { Fighter* fp = GET_FIGHTER(fighter_gobj); func_8007592C(fp, func_8007500C(fp, 2), - DOUBLE_PI32 - fp->foxVars[0].SpecialHi.rotateModel); + DOUBLE_PI32 - fp->foxVars.SpecialHi.rotateModel); } void ftFox_SpecialHiHold_Anim(HSD_GObj* fighter_gobj) @@ -144,8 +144,8 @@ void ftFox_SpecialHiHoldAir_Phys(HSD_GObj* fighter_gobj) u8 unused[8]; #endif - if (fp->foxVars[0].SpecialHi.gravityDelay != 0) { - fp->foxVars[0].SpecialHi.gravityDelay -= 1; + if (fp->foxVars.SpecialHi.gravityDelay != 0) { + fp->foxVars.SpecialHi.gravityDelay -= 1; } else { func_8007D494(fp, foxAttrs->x60_FOX_FIREFOX_FALL_ACCEL, ftAttrs->x170_TerminalVelocity); @@ -212,9 +212,9 @@ void ftFox_SpecialHi_Anim(HSD_GObj* fighter_gobj) Fighter* fp = GET_FIGHTER(fighter_gobj); /// @todo Common inline with #ftFox_SpecialAirHi_Anim. - fp->foxVars[0].SpecialHi.travelFrames--; + fp->foxVars.SpecialHi.travelFrames--; - if (fp->foxVars[0].SpecialHi.travelFrames <= 0) { + if (fp->foxVars.SpecialHi.travelFrames <= 0) { if (fp->xE0_ground_or_air == GA_Air) { ftFox_SpecialHiLanding_GroundToAir(fighter_gobj); return; @@ -228,9 +228,9 @@ void ftFox_SpecialAirHi_Anim(HSD_GObj* fighter_gobj) { Fighter* fp = GET_FIGHTER(fighter_gobj); - fp->foxVars[0].SpecialHi.travelFrames--; + fp->foxVars.SpecialHi.travelFrames--; - if (fp->foxVars[0].SpecialHi.travelFrames <= 0) { + if (fp->foxVars.SpecialHi.travelFrames <= 0) { if (fp->xE0_ground_or_air == GA_Air) { ftFox_SpecialHiLanding_GroundToAir(fighter_gobj); return; @@ -256,9 +256,9 @@ void ftFox_SpecialHi_Phys(HSD_GObj* fighter_gobj) Fighter* fp = GET_FIGHTER(fighter_gobj); ftFoxAttributes* foxAttrs = getFtSpecialAttrs(fp); - fp->foxVars[0].SpecialHi.unk++; + fp->foxVars.SpecialHi.unk++; - if (fp->foxVars[0].SpecialHi.unk >= foxAttrs->x70_FOX_FIREFOX_DURATION_END) + if (fp->foxVars.SpecialHi.unk >= foxAttrs->x70_FOX_FIREFOX_DURATION_END) func_8007C930(fp, foxAttrs->x78_FOX_FIREFOX_REVERSE_ACCEL); func_8007CB74(fighter_gobj); @@ -269,16 +269,15 @@ void ftFox_SpecialAirHi_Phys(HSD_GObj* fighter_gobj) Fighter* fp = getFighter(fighter_gobj); ftFoxAttributes* foxAttrs = foxAttrs = getFtSpecialAttrs(fp); - fp->foxVars[0].SpecialHi.unk++; + fp->foxVars.SpecialHi.unk++; - if (fp->foxVars[0].SpecialHi.unk >= foxAttrs->x70_FOX_FIREFOX_DURATION_END) - { + if (fp->foxVars.SpecialHi.unk >= foxAttrs->x70_FOX_FIREFOX_DURATION_END) { fp->x80_self_vel.x = -((fp->facing_dir * (foxAttrs->x78_FOX_FIREFOX_REVERSE_ACCEL * - cosf(fp->foxVars[0].SpecialHi.rotateModel))) - + cosf(fp->foxVars.SpecialHi.rotateModel))) - fp->x80_self_vel.x); fp->x80_self_vel.y = -((foxAttrs->x78_FOX_FIREFOX_REVERSE_ACCEL * - sinf(fp->foxVars[0].SpecialHi.rotateModel)) - + sinf(fp->foxVars.SpecialHi.rotateModel)) - fp->x80_self_vel.y); } } @@ -288,7 +287,7 @@ void ftFox_SpecialHi_Coll(HSD_GObj* fighter_gobj) Fighter* fp = fp = GET_FIGHTER(fighter_gobj); CollData* collData = &fp->x6F0_collData; - fp->foxVars[0].SpecialHi.unk2 += 1; + fp->foxVars.SpecialHi.unk2 += 1; if (func_80082708(fighter_gobj) == false) { ftFox_SpecialHi_GroundToAir(fighter_gobj); @@ -296,7 +295,7 @@ void ftFox_SpecialHi_Coll(HSD_GObj* fighter_gobj) } if (collData->x134_envFlags & 0x18000) { - fp->foxVars[0].SpecialHi.rotateModel = + fp->foxVars.SpecialHi.rotateModel = atan2f(-collData->x14C_ground.normal.x * fp->facing_dir, collData->x14C_ground.normal.y); ftFox_SpecialHi_RotateModel(fighter_gobj); @@ -308,7 +307,7 @@ static inline bool ftFox_SpecialHi_IsBound(HSD_GObj* fighter_gobj) Fighter* fp = GET_FIGHTER(fighter_gobj); ftFoxAttributes* foxAttrs = fp->x2D4_specialAttributes; - if (fp->foxVars[0].SpecialHi.unk2 >= foxAttrs->x6C_FOX_FIREFOX_BOUNCE_VAR) + if (fp->foxVars.SpecialHi.unk2 >= foxAttrs->x6C_FOX_FIREFOX_BOUNCE_VAR) return true; else if (func_8009A134(fighter_gobj) != false) return false; @@ -385,7 +384,7 @@ void ftFox_SpecialAirHi_Coll(HSD_GObj* fighter_gobj) facingDir = -1.0f; fp->facing_dir = facingDir; - fp->foxVars[0].SpecialHi.rotateModel = + fp->foxVars.SpecialHi.rotateModel = atan2f(fp->x80_self_vel.y, fp->x80_self_vel.x * fp->facing_dir); ftFox_SpecialHi_RotateModel(fighter_gobj); } @@ -454,16 +453,16 @@ void ftFox_SpecialAirHi_AirToGround(HSD_GObj* fighter_gobj) tempAttrs = fp->x2D4_specialAttributes; fp->x2223_flag.bits.b4 = 1; - fp->foxVars[0].SpecialHi.travelFrames = + fp->foxVars.SpecialHi.travelFrames = (u32) (s32) tempAttrs->x68_FOX_FIREFOX_DURATION; - fp->foxVars[0].SpecialHi.unk = 0.0f; - fp->foxVars[0].SpecialHi.unk2 = 0.0f; + fp->foxVars.SpecialHi.unk = 0.0f; + fp->foxVars.SpecialHi.unk2 = 0.0f; fp->xEC_ground_vel = foxAttrs->x74_FOX_FIREFOX_SPEED * fp->facing_dir; - fp->foxVars[0].SpecialHi.rotateModel = + fp->foxVars.SpecialHi.rotateModel = atan2f(-collData->x14C_ground.normal.x * fp->facing_dir, collData->x14C_ground.normal.y); @@ -509,10 +508,10 @@ void ftFox_SpecialAirHi_Action(HSD_GObj* fighter_gobj) if (temp_stick > foxAttrs->x88_FOX_FIREFOX_FACING_STICK_RANGE_MIN) { func_8007D9FC(fp); } - fp->foxVars[0].SpecialHi.rotateModel = atan2f( + fp->foxVars.SpecialHi.rotateModel = atan2f( fp->input.x624_lstick_y, fp->input.x620_lstick_x * fp->facing_dir); } else { - fp->foxVars[0].SpecialHi.rotateModel = HALF_PI32; + fp->foxVars.SpecialHi.rotateModel = HALF_PI32; } Fighter_ActionStateChange_800693AC(fighter_gobj, AS_FOX_SPECIALAIRHI, 0, @@ -521,16 +520,16 @@ void ftFox_SpecialAirHi_Action(HSD_GObj* fighter_gobj) tempAttrs = fp->x2D4_specialAttributes; fp->x2223_flag.bits.b4 = 1; - fp->foxVars[0].SpecialHi.travelFrames = + fp->foxVars.SpecialHi.travelFrames = (u32) (s32) tempAttrs->x68_FOX_FIREFOX_DURATION; - fp->foxVars[0].SpecialHi.unk = 0; - fp->foxVars[0].SpecialHi.unk2 = 0; + fp->foxVars.SpecialHi.unk = 0; + fp->foxVars.SpecialHi.unk2 = 0; fp->x80_self_vel.x = fp->facing_dir * (foxAttrs->x74_FOX_FIREFOX_SPEED * - cosf(fp->foxVars[0].SpecialHi.rotateModel)); + cosf(fp->foxVars.SpecialHi.rotateModel)); fp->x80_self_vel.y = foxAttrs->x74_FOX_FIREFOX_SPEED * - sinf(fp->foxVars[0].SpecialHi.rotateModel); + sinf(fp->foxVars.SpecialHi.rotateModel); ftFox_SpecialHi_RotateModel(fighter_gobj); fp->cb.x21F8_callback = func_8007F76C; fp->cb.x21BC_callback_Accessory4 = ftFox_SpecialHi_CreateLaunchGFX; diff --git a/src/melee/ft/chara/ftFox/ftFox_SpecialLw.c b/src/melee/ft/chara/ftFox/ftFox_SpecialLw.c index 4317e3798..495bb2156 100644 --- a/src/melee/ft/chara/ftFox/ftFox_SpecialLw.c +++ b/src/melee/ft/chara/ftFox/ftFox_SpecialLw.c @@ -59,13 +59,13 @@ static inline void ftFox_SpecialLw_SetVars(HSD_GObj* fighter_gobj) Fighter* fp = fp = GET_FIGHTER(fighter_gobj); ftFoxAttributes* foxAttrs = foxAttrs = getFtSpecialAttrs(fp); - fp->foxVars[0].SpecialLw.releaseLag = + fp->foxVars.SpecialLw.releaseLag = (s32) foxAttrs->x98_FOX_REFLECTOR_RELEASE_LAG; - fp->foxVars[0].SpecialLw.isRelease = 0; + fp->foxVars.SpecialLw.isRelease = 0; fp->x2204_ftcmd_var1 = 4; - fp->foxVars[0].SpecialLw.gravityDelay = + fp->foxVars.SpecialLw.gravityDelay = (s32) foxAttrs->xA4_FOX_REFLECTOR_GRAVITY_DELAY; fp->cb.x21BC_callback_Accessory4 = ftFox_SpecialLw_CreateStartGFX; @@ -113,7 +113,7 @@ void ftFox_SpecialLwStart_Anim(HSD_GObj* fighter_gobj) Fighter* fp = GET_FIGHTER(fighter_gobj); if ((fp->input.x65C_heldInputs & HSD_BUTTON_B) == false) { - fp->foxVars[0].SpecialLw.isRelease = true; + fp->foxVars.SpecialLw.isRelease = true; } if (!ftAnim_IsFramesRemaining(fighter_gobj)) { if ((s32) fp->xE0_ground_or_air == GA_Ground) { @@ -134,7 +134,7 @@ void ftFox_SpecialAirLwStart_Anim(HSD_GObj* fighter_gobj) f32 var; if ((fp->input.x65C_heldInputs & HSD_BUTTON_B) == false) { - fp->foxVars[0].SpecialLw.isRelease = true; + fp->foxVars.SpecialLw.isRelease = true; } if (!ftAnim_IsFramesRemaining(fighter_gobj)) { if ((s32) fp->xE0_ground_or_air == GA_Ground) { @@ -200,8 +200,8 @@ void ftFox_SpecialAirLwStart_Phys(HSD_GObj* fighter_gobj) ftAttrs = &fp->x110_attr; foxAttrs = fp->x2D4_specialAttributes; - if (fp->foxVars[0].SpecialLw.gravityDelay != 0) { - fp->foxVars[0].SpecialLw.gravityDelay--; + if (fp->foxVars.SpecialLw.gravityDelay != 0) { + fp->foxVars.SpecialLw.gravityDelay--; } else { func_8007D494(fp, foxAttrs->xAC_FOX_REFLECTOR_FALL_ACCEL, ftAttrs->x170_TerminalVelocity); @@ -252,13 +252,13 @@ void ftFox_SpecialLwLoop_Anim(HSD_GObj* fighter_gobj) Fighter* fp = GET_FIGHTER(fighter_gobj); if ((fp->input.x65C_heldInputs & HSD_BUTTON_B) == false) - fp->foxVars[0].SpecialLw.isRelease = true; + fp->foxVars.SpecialLw.isRelease = true; - if (fp->foxVars[0].SpecialLw.releaseLag > 0) - fp->foxVars[0].SpecialLw.releaseLag--; + if (fp->foxVars.SpecialLw.releaseLag > 0) + fp->foxVars.SpecialLw.releaseLag--; - if (((s32) fp->foxVars[0].SpecialLw.releaseLag <= 0) && - ((s32) fp->foxVars[0].SpecialLw.isRelease != false)) + if (((s32) fp->foxVars.SpecialLw.releaseLag <= 0) && + ((s32) fp->foxVars.SpecialLw.isRelease != false)) { if ((s32) fp->xE0_ground_or_air == GA_Ground) { ftFox_SpecialLwEnd_Action(fighter_gobj); @@ -274,13 +274,13 @@ void ftFox_SpecialAirLwLoop_Anim(HSD_GObj* fighter_gobj) Fighter* fp = GET_FIGHTER(fighter_gobj); if ((fp->input.x65C_heldInputs & HSD_BUTTON_B) == false) - fp->foxVars[0].SpecialLw.isRelease = true; + fp->foxVars.SpecialLw.isRelease = true; - if (fp->foxVars[0].SpecialLw.releaseLag > 0) - fp->foxVars[0].SpecialLw.releaseLag--; + if (fp->foxVars.SpecialLw.releaseLag > 0) + fp->foxVars.SpecialLw.releaseLag--; - if (((s32) fp->foxVars[0].SpecialLw.releaseLag <= 0) && - ((s32) fp->foxVars[0].SpecialLw.isRelease != false)) + if (((s32) fp->foxVars.SpecialLw.releaseLag <= 0) && + ((s32) fp->foxVars.SpecialLw.isRelease != false)) { if ((s32) fp->xE0_ground_or_air == GA_Ground) { ftFox_SpecialLwEnd_Action(fighter_gobj); @@ -352,8 +352,8 @@ static inline void ftFox_SpecialLw_InlinePhys(HSD_GObj* fighter_gobj) foxAttrs = getFtSpecialAttrs(fp); /// @todo Shared @c inline with other functions in this file. - if (fp->foxVars[0].SpecialLw.gravityDelay != 0) { - fp->foxVars[0].SpecialLw.gravityDelay--; + if (fp->foxVars.SpecialLw.gravityDelay != 0) { + fp->foxVars.SpecialLw.gravityDelay--; } else { func_8007D494(fp, foxAttrs->xAC_FOX_REFLECTOR_FALL_ACCEL, ftAttrs->x170_TerminalVelocity); @@ -455,9 +455,9 @@ static void ftFox_SpecialLw_Turn(HSD_GObj* fighter_gobj) ftFoxAttributes* foxAttrs = fp->x2D4_specialAttributes; s32 var[2]; - fp->foxVars[0].SpecialLw.turnFrames--; + fp->foxVars.SpecialLw.turnFrames--; if (((u32) fp->x2200_ftcmd_var0 == 0U) && - ((s32) fp->foxVars[0].SpecialLw.turnFrames <= + ((s32) fp->foxVars.SpecialLw.turnFrames <= foxAttrs->x9C_FOX_REFLECTOR_TURN_FRAMES)) { fp->x2200_ftcmd_var0 = 1; @@ -479,9 +479,9 @@ static inline void ftFox_SpecialLw_Turn_Inline(HSD_GObj* fighter_gobj) Fighter* fp = fighter_gobj->user_data; ftFoxAttributes* foxAttrs = fp->x2D4_specialAttributes; - fp->foxVars[0].SpecialLw.turnFrames--; + fp->foxVars.SpecialLw.turnFrames--; if (fp->x2200_ftcmd_var0 == false && - fp->foxVars[0].SpecialLw.turnFrames <= + fp->foxVars.SpecialLw.turnFrames <= foxAttrs->x9C_FOX_REFLECTOR_TURN_FRAMES) { fp->x2200_ftcmd_var0 = true; @@ -502,14 +502,14 @@ void ftFox_SpecialLwTurn_Anim(HSD_GObj* fighter_gobj) s32 var[4]; if ((fp->input.x65C_heldInputs & HSD_BUTTON_B) == false) - fp->foxVars[0].SpecialLw.isRelease = true; + fp->foxVars.SpecialLw.isRelease = true; - if (fp->foxVars[0].SpecialLw.releaseLag > 0) - fp->foxVars[0].SpecialLw.releaseLag--; + if (fp->foxVars.SpecialLw.releaseLag > 0) + fp->foxVars.SpecialLw.releaseLag--; ftFox_SpecialLw_Turn_Inline(fighter_gobj); - if (fp->foxVars[0].SpecialLw.turnFrames <= 0) + if (fp->foxVars.SpecialLw.turnFrames <= 0) ftFox_SpecialLwHit_Check(fighter_gobj); } @@ -519,14 +519,14 @@ void ftFox_SpecialAirLwTurn_Anim(HSD_GObj* fighter_gobj) s32 var[5]; if ((fp->input.x65C_heldInputs & HSD_BUTTON_B) == false) - fp->foxVars[0].SpecialLw.isRelease = true; + fp->foxVars.SpecialLw.isRelease = true; - if (fp->foxVars[0].SpecialLw.releaseLag > 0) - fp->foxVars[0].SpecialLw.releaseLag--; + if (fp->foxVars.SpecialLw.releaseLag > 0) + fp->foxVars.SpecialLw.releaseLag--; ftFox_SpecialLw_Turn_Inline(fighter_gobj); - if (fp->foxVars[0].SpecialLw.turnFrames <= 0) + if (fp->foxVars.SpecialLw.turnFrames <= 0) ftFox_SpecialLwHit_Check(fighter_gobj); } @@ -561,8 +561,8 @@ void ftFox_SpecialAirLwTurn_Phys(HSD_GObj* fighter_gobj) attr* ftAttrs = getFtAttrs(fp); s32 var; - if (fp->foxVars[0].SpecialLw.gravityDelay != 0) { - fp->foxVars[0].SpecialLw.gravityDelay--; + if (fp->foxVars.SpecialLw.gravityDelay != 0) { + fp->foxVars.SpecialLw.gravityDelay--; } else { func_8007D494(fp, foxAttrs->xAC_FOX_REFLECTOR_FALL_ACCEL, ftAttrs->x170_TerminalVelocity); @@ -633,8 +633,7 @@ inline void ftFox_SpecialLwTurn_SetVarAll(HSD_GObj* fighter_gobj) ftFoxAttributes* foxAttrs = getFtSpecialAttrs(fp); fp->x2218_flag.bits.b3 = 1; fp->cb.x21C8_callback_OnReflectHit = ftFox_SpecialLwHit_Action; - fp->foxVars[0].SpecialLw.turnFrames = - foxAttrs->x9C_FOX_REFLECTOR_TURN_FRAMES; + fp->foxVars.SpecialLw.turnFrames = foxAttrs->x9C_FOX_REFLECTOR_TURN_FRAMES; fp->x2200_ftcmd_var0 = 0; ftFox_SpecialLw_Turn(fighter_gobj); } @@ -681,8 +680,8 @@ bool ftFox_SpecialLwHit_Check(HSD_GObj* fighter_gobj) { Fighter* fp = fighter_gobj->user_data; - if (((s32) fp->foxVars[0].SpecialLw.releaseLag <= 0) && - ((s32) fp->foxVars[0].SpecialLw.isRelease != false)) + if (((s32) fp->foxVars.SpecialLw.releaseLag <= 0) && + ((s32) fp->foxVars.SpecialLw.isRelease != false)) { if ((s32) fp->xE0_ground_or_air == GA_Ground) { ftFox_SpecialLwEnd_Action(fighter_gobj); @@ -714,10 +713,10 @@ void ftFox_SpecialLwHit_Anim(HSD_GObj* fighter_gobj) s32 var; if ((fp->input.x65C_heldInputs & HSD_BUTTON_B) == false) { - fp->foxVars[0].SpecialLw.isRelease = true; + fp->foxVars.SpecialLw.isRelease = true; } - if (fp->foxVars[0].SpecialLw.releaseLag > 0) { - fp->foxVars[0].SpecialLw.releaseLag--; + if (fp->foxVars.SpecialLw.releaseLag > 0) { + fp->foxVars.SpecialLw.releaseLag--; } if (!ftAnim_IsFramesRemaining(fighter_gobj)) { if (ftFox_SpecialLwHit_Check(fighter_gobj) != false) { @@ -738,10 +737,10 @@ void ftFox_SpecialAirLwHit_Anim(HSD_GObj* fighter_gobj) s32 var[2]; if ((fp->input.x65C_heldInputs & HSD_BUTTON_B) == false) { - fp->foxVars[0].SpecialLw.isRelease = true; + fp->foxVars.SpecialLw.isRelease = true; } - if (fp->foxVars[0].SpecialLw.releaseLag > 0) { - fp->foxVars[0].SpecialLw.releaseLag--; + if (fp->foxVars.SpecialLw.releaseLag > 0) { + fp->foxVars.SpecialLw.releaseLag--; } if ((!ftAnim_IsFramesRemaining(fighter_gobj)) && (ftFox_SpecialLwHit_Check(fighter_gobj) != false)) @@ -784,8 +783,8 @@ void ftFox_SpecialAirLwHit_Phys(HSD_GObj* fighter_gobj) attr* ftAttrs = getFtAttrs(fp); s32 var; - if (fp->foxVars[0].SpecialLw.gravityDelay != 0) { - fp->foxVars[0].SpecialLw.gravityDelay--; + if (fp->foxVars.SpecialLw.gravityDelay != 0) { + fp->foxVars.SpecialLw.gravityDelay--; } else { func_8007D494(fp, foxAttrs->xAC_FOX_REFLECTOR_FALL_ACCEL, ftAttrs->x170_TerminalVelocity); @@ -936,8 +935,8 @@ void ftFox_SpecialAirLwEnd_Phys(HSD_GObj* fighter_gobj) attr* ftAttrs = getFtAttrs(fp); s32 var; - if (fp->foxVars[0].SpecialLw.gravityDelay != 0) { - fp->foxVars[0].SpecialLw.gravityDelay--; + if (fp->foxVars.SpecialLw.gravityDelay != 0) { + fp->foxVars.SpecialLw.gravityDelay--; } else { func_8007D494(fp, foxAttrs->xAC_FOX_REFLECTOR_FALL_ACCEL, ftAttrs->x170_TerminalVelocity); diff --git a/src/melee/ft/chara/ftFox/ftFox_SpecialN.c b/src/melee/ft/chara/ftFox/ftFox_SpecialN.c index 39184b356..891aa7774 100644 --- a/src/melee/ft/chara/ftFox/ftFox_SpecialN.c +++ b/src/melee/ft/chara/ftFox/ftFox_SpecialN.c @@ -242,7 +242,7 @@ void ftFox_SpecialN_StartAction(HSD_GObj* fighter_gobj) fp->x80_self_vel.y = 0.0f; fp->x80_self_vel.x = 0.0f; - fp->foxVars[0].SpecialN.isBlasterLoop = false; + fp->foxVars.SpecialN.isBlasterLoop = false; blasterGObj = func_802AE8A8(fp->facing_dir, fighter_gobj, &fp->xB0_pos, func_8007500C(fp, 0x31), @@ -278,7 +278,7 @@ void ftFox_SpecialAirN_StartAction( func_8006EBA4(fighter_gobj); - fp->foxVars[0].SpecialN.isBlasterLoop = false; + fp->foxVars.SpecialN.isBlasterLoop = false; blasterGObj = func_802AE8A8(fp->facing_dir, fighter_gobj, &fp->xB0_pos, func_8007500C(fp, 0x31), foxAttrs->x20_FOX_BLASTER_GUN_ITKIND); @@ -334,7 +334,7 @@ void ftFox_SpecialNLoop_Anim(HSD_GObj* fighter_gobj) func_802AE538(temp_r28->sa.fox.x222C_blasterGObj); } if (!ftAnim_IsFramesRemaining(fighter_gobj)) { - if ((s32) temp_r28->foxVars[0].SpecialN.isBlasterLoop == true) { + if ((s32) temp_r28->foxVars.SpecialN.isBlasterLoop == true) { temp_r28->cb.x21EC_callback = ftFox_SpecialN_OnChangeAction; Fighter_ActionStateChange_800693AC( fighter_gobj, AS_FOX_SPECIALN_LOOP, @@ -342,7 +342,7 @@ void ftFox_SpecialNLoop_Anim(HSD_GObj* fighter_gobj) FIGHTER_GFX_PRESERVE), NULL, 0.0f, 1.0f, 0.0f); temp_r28->cb.x21BC_callback_Accessory4 = ftFox_CreateBlasterShot; - temp_r28->foxVars[0].SpecialN.isBlasterLoop = false; + temp_r28->foxVars.SpecialN.isBlasterLoop = false; func_802ADDD0(temp_r28->sa.fox.x222C_blasterGObj, 1); } else { HSD_GObj* temp; @@ -479,7 +479,7 @@ void ftFox_SpecialAirNLoop_Anim(HSD_GObj* fighter_gobj) func_802AE538(fp->sa.fox.x222C_blasterGObj); } if (!ftAnim_IsFramesRemaining(fighter_gobj)) { - if ((s32) fp->foxVars[0].SpecialN.isBlasterLoop == true) { + if ((s32) fp->foxVars.SpecialN.isBlasterLoop == true) { fp->cb.x21EC_callback = ftFox_SpecialN_OnChangeAction; Fighter_ActionStateChange_800693AC( fighter_gobj, AS_FOX_SPECIALAIRN_LOOP, @@ -488,7 +488,7 @@ void ftFox_SpecialAirNLoop_Anim(HSD_GObj* fighter_gobj) NULL, 0.0f, 1.0f, 0.0f); ftFox_SpecialN_SetCall(fighter_gobj); fp->cb.x21BC_callback_Accessory4 = ftFox_CreateBlasterShot; - fp->foxVars[0].SpecialN.isBlasterLoop = false; + fp->foxVars.SpecialN.isBlasterLoop = false; func_802ADDD0(fp->sa.fox.x222C_blasterGObj, 1); } else { HSD_GObj* temp; @@ -595,7 +595,7 @@ void ftFox_SpecialNStart_IASA(HSD_GObj* fighter_gobj) Fighter* fp = GET_FIGHTER(fighter_gobj); if (((u32) fp->x2200_ftcmd_var0 != 0U) && (fp->input.x668 & HSD_BUTTON_B)) { - fp->foxVars[0].SpecialN.isBlasterLoop = true; + fp->foxVars.SpecialN.isBlasterLoop = true; } } @@ -607,7 +607,7 @@ void ftFox_SpecialNLoop_IASA(HSD_GObj* fighter_gobj) Fighter* fp = GET_FIGHTER(fighter_gobj); if (((u32) fp->x2200_ftcmd_var0 != 0U) && (fp->input.x668 & HSD_BUTTON_B)) { - fp->foxVars[0].SpecialN.isBlasterLoop = true; + fp->foxVars.SpecialN.isBlasterLoop = true; } } @@ -625,7 +625,7 @@ void ftFox_SpecialAirNStart_IASA(HSD_GObj* fighter_gobj) Fighter* fp = GET_FIGHTER(fighter_gobj); if (((u32) fp->x2200_ftcmd_var0 != 0U) && (fp->input.x668 & HSD_BUTTON_B)) { - fp->foxVars[0].SpecialN.isBlasterLoop = true; + fp->foxVars.SpecialN.isBlasterLoop = true; } } @@ -637,7 +637,7 @@ void ftFox_SpecialAirNLoop_IASA(HSD_GObj* fighter_gobj) Fighter* fp = GET_FIGHTER(fighter_gobj); if (((u32) fp->x2200_ftcmd_var0 != 0U) && (fp->input.x668 & HSD_BUTTON_B)) { - fp->foxVars[0].SpecialN.isBlasterLoop = true; + fp->foxVars.SpecialN.isBlasterLoop = true; } } diff --git a/src/melee/ft/chara/ftFox/ftFox_SpecialS.c b/src/melee/ft/chara/ftFox/ftFox_SpecialS.c index 3bf87f5ec..c5d8332a2 100644 --- a/src/melee/ft/chara/ftFox/ftFox_SpecialS.c +++ b/src/melee/ft/chara/ftFox/ftFox_SpecialS.c @@ -53,7 +53,7 @@ void ftFox_SpecialS_CopyGhostPosIndexed(HSD_GObj* fighter_gobj, s32 index, { Fighter* fp = GET_FIGHTER(fighter_gobj); - *ghostPos = fp->foxVars[0].SpecialS.ghostEffectPos[index]; + *ghostPos = fp->foxVars.SpecialS.ghostEffectPos[index]; } // 0x800E9ED4 @@ -61,7 +61,7 @@ void ftFox_SpecialS_CopyGhostPosIndexed(HSD_GObj* fighter_gobj, s32 index, // Falco's Illusion/Phantasm f32 ftFox_SpecialS_ReturnFloatVarIndexed(HSD_GObj* fighter_gobj, s32 index) { - return getFighter(fighter_gobj)->foxVars[0].SpecialS.blendFrames[index]; + return getFighter(fighter_gobj)->foxVars.SpecialS.blendFrames[index]; } // 0x800E9EE8 @@ -76,9 +76,9 @@ void ftFox_SpecialS_StartAction(HSD_GObj* fighter_gobj) foxAttrs = fp->x2D4_specialAttributes; fp->x2208_ftcmd_var2 = 0; - fp->foxVars[0].SpecialS.gravityDelay = + fp->foxVars.SpecialS.gravityDelay = (s32) foxAttrs->x24_FOX_ILLUSION_GRAVITY_DELAY; - fp->foxVars[0].SpecialS.ghostGObj = NULL; + fp->foxVars.SpecialS.ghostGObj = NULL; fp->xEC_ground_vel /= foxAttrs->x28_FOX_ILLUSION_GROUND_VEL_X; @@ -99,9 +99,9 @@ void ftFox_SpecialAirS_StartAction(HSD_GObj* fighter_gobj) foxAttrs = getFtSpecialAttrs(fp); fp->x2208_ftcmd_var2 = 0; - fp->foxVars[0].SpecialS.gravityDelay = + fp->foxVars.SpecialS.gravityDelay = (s32) foxAttrs->x24_FOX_ILLUSION_GRAVITY_DELAY; - fp->foxVars[0].SpecialS.ghostGObj = NULL; + fp->foxVars.SpecialS.ghostGObj = NULL; fp->x80_self_vel.y = 0.0f; fp->x80_self_vel.x /= foxAttrs->x28_FOX_ILLUSION_GROUND_VEL_X; @@ -152,8 +152,8 @@ void ftFox_SpecialSStart_Phys(HSD_GObj* fighter_gobj) { Fighter* fp = GET_FIGHTER(fighter_gobj); - if (fp->foxVars[0].SpecialS.gravityDelay != 0) { - fp->foxVars[0].SpecialS.gravityDelay--; + if (fp->foxVars.SpecialS.gravityDelay != 0) { + fp->foxVars.SpecialS.gravityDelay--; } func_80084F3C(fighter_gobj); } @@ -172,8 +172,8 @@ void ftFox_SpecialAirSStart_Phys(HSD_GObj* fighter_gobj) u8 unused[8]; #endif - if (fp->foxVars[0].SpecialS.gravityDelay != 0) { - fp->foxVars[0].SpecialS.gravityDelay--; + if (fp->foxVars.SpecialS.gravityDelay != 0) { + fp->foxVars.SpecialS.gravityDelay--; } else { func_8007D494(fp, foxAttrs->x30_FOX_ILLUSION_UNK2, ftAttrs->x170_TerminalVelocity); @@ -255,7 +255,7 @@ static inline void ftFox_SpecialS_CreateGhostItem(HSD_GObj* fighter_gobj) func_8029CEB4(fighter_gobj, &fp->xB0_pos, 0x39, fp->facing_dir); } if (ghostGObj != NULL) { - fp->foxVars[0].SpecialS.ghostGObj = ghostGObj; + fp->foxVars.SpecialS.ghostGObj = ghostGObj; fp->x2222_flag.bits.b2 = 1; } } @@ -325,23 +325,20 @@ static inline void ftFox_SpecialS_SetPhys(HSD_GObj* fighter_gobj) fp = GET_FIGHTER(fighter_gobj); - fp->foxVars[0].SpecialS.ghostEffectPos[3] = - fp->foxVars[0].SpecialS.ghostEffectPos[2]; - fp->foxVars[0].SpecialS.ghostEffectPos[2] = - fp->foxVars[0].SpecialS.ghostEffectPos[1]; - fp->foxVars[0].SpecialS.ghostEffectPos[1] = - fp->foxVars[0].SpecialS.ghostEffectPos[0]; + fp->foxVars.SpecialS.ghostEffectPos[3] = + fp->foxVars.SpecialS.ghostEffectPos[2]; + fp->foxVars.SpecialS.ghostEffectPos[2] = + fp->foxVars.SpecialS.ghostEffectPos[1]; + fp->foxVars.SpecialS.ghostEffectPos[1] = + fp->foxVars.SpecialS.ghostEffectPos[0]; - fp->foxVars[0].SpecialS.ghostEffectPos[0] = fp->xB0_pos; + fp->foxVars.SpecialS.ghostEffectPos[0] = fp->xB0_pos; - fp->foxVars[0].SpecialS.blendFrames[3] = - fp->foxVars[0].SpecialS.blendFrames[2]; - fp->foxVars[0].SpecialS.blendFrames[2] = - fp->foxVars[0].SpecialS.blendFrames[1]; - fp->foxVars[0].SpecialS.blendFrames[1] = - fp->foxVars[0].SpecialS.blendFrames[0]; + fp->foxVars.SpecialS.blendFrames[3] = fp->foxVars.SpecialS.blendFrames[2]; + fp->foxVars.SpecialS.blendFrames[2] = fp->foxVars.SpecialS.blendFrames[1]; + fp->foxVars.SpecialS.blendFrames[1] = fp->foxVars.SpecialS.blendFrames[0]; - fp->foxVars[0].SpecialS.blendFrames[0] = func_80075E78(fp, 0); + fp->foxVars.SpecialS.blendFrames[0] = func_80075E78(fp, 0); } // 0x800EA47C @@ -429,17 +426,17 @@ inline void ftFox_SpecialS_SetVars(HSD_GObj* fighter_gobj) f32 var; Fighter* fp = GET_FIGHTER(fighter_gobj); - fp->foxVars[0].SpecialS.ghostEffectPos[3] = fp->xB0_pos; - fp->foxVars[0].SpecialS.ghostEffectPos[2] = fp->xB0_pos; - fp->foxVars[0].SpecialS.ghostEffectPos[1] = fp->xB0_pos; - fp->foxVars[0].SpecialS.ghostEffectPos[0] = fp->xB0_pos; + fp->foxVars.SpecialS.ghostEffectPos[3] = fp->xB0_pos; + fp->foxVars.SpecialS.ghostEffectPos[2] = fp->xB0_pos; + fp->foxVars.SpecialS.ghostEffectPos[1] = fp->xB0_pos; + fp->foxVars.SpecialS.ghostEffectPos[0] = fp->xB0_pos; var = func_80075E78(fp, 0); - fp->foxVars[0].SpecialS.blendFrames[3] = var; - fp->foxVars[0].SpecialS.blendFrames[2] = var; - fp->foxVars[0].SpecialS.blendFrames[1] = var; - fp->foxVars[0].SpecialS.blendFrames[0] = var; + fp->foxVars.SpecialS.blendFrames[3] = var; + fp->foxVars.SpecialS.blendFrames[2] = var; + fp->foxVars.SpecialS.blendFrames[1] = var; + fp->foxVars.SpecialS.blendFrames[0] = var; fp->cb.x21BC_callback_Accessory4 = &ftFox_SpecialS_CreateGFX; } @@ -521,8 +518,8 @@ void ftFox_SpecialSEnd_Phys(HSD_GObj* fighter_gobj) u8 unused[8]; #endif - if (fp->foxVars[0].SpecialS.gravityDelay != 0) { - fp->foxVars[0].SpecialS.gravityDelay--; + if (fp->foxVars.SpecialS.gravityDelay != 0) { + fp->foxVars.SpecialS.gravityDelay--; } func_8007C930(fp, foxAttrs->x38_FOX_ILLUSION_GROUND_FRICTION); func_8007CB74(fighter_gobj); @@ -543,8 +540,8 @@ void ftFox_SpecialAirSEnd_Phys(HSD_GObj* fighter_gobj) u8 unused[8]; #endif - if (fp->foxVars[0].SpecialS.gravityDelay != 0) { - fp->foxVars[0].SpecialS.gravityDelay--; + if (fp->foxVars.SpecialS.gravityDelay != 0) { + fp->foxVars.SpecialS.gravityDelay--; } else func_8007D494(fp, foxAttrs->x48_FOX_ILLUSION_TERMINAL_VELOCITY, ftAttrs->x170_TerminalVelocity); @@ -599,8 +596,7 @@ inline void ftFox_SpecialSEnd_SetVars(HSD_GObj* fighter_gobj) { Fighter* fp = GET_FIGHTER(fighter_gobj); ftFoxAttributes* foxAttrs = getFtSpecialAttrs(fp); - fp->foxVars[0].SpecialS.gravityDelay = - foxAttrs->x44_FOX_ILLUSION_FALL_ACCEL; + fp->foxVars.SpecialS.gravityDelay = foxAttrs->x44_FOX_ILLUSION_FALL_ACCEL; fp->x2222_flag.bits.b2 = 1; } diff --git a/src/melee/ft/chara/ftGameWatch/ftGameWatch_Attack11.c b/src/melee/ft/chara/ftGameWatch/ftGameWatch_Attack11.c index f2c397c07..7543a1b5f 100644 --- a/src/melee/ft/chara/ftGameWatch/ftGameWatch_Attack11.c +++ b/src/melee/ft/chara/ftGameWatch/ftGameWatch_Attack11.c @@ -151,7 +151,7 @@ void ftGameWatch_Attack11_Action(HSD_GObj* fighter_gobj) fp->x196C_hitlag_mult = (f32) fp->x110_attr.x18C_Jab_2InputWindow; fp->x1970 = 44; fp->x2218_flag.bits.b2 = 0; - fp->gameWatchVars[0].Attack11.unk = 0; + fp->gameWatchVars.Attack11.unk = 0; fp->x1A54 = 0; fp->cb.x21BC_callback_Accessory4 = ftGameWatch_ItemGreenhouseSetup; } diff --git a/src/melee/ft/chara/ftGameWatch/ftGameWatch_SpecialLw.c b/src/melee/ft/chara/ftGameWatch/ftGameWatch_SpecialLw.c index cacdc3a89..08c5c2958 100644 --- a/src/melee/ft/chara/ftGameWatch/ftGameWatch_SpecialLw.c +++ b/src/melee/ft/chara/ftGameWatch/ftGameWatch_SpecialLw.c @@ -134,8 +134,8 @@ inline void ftGameWatch_SpecialLw_SetVars(HSD_GObj* fighter_gobj) Fighter* fp = GET_FIGHTER(fighter_gobj); fp->x2204_ftcmd_var1 = 0; fp->x2200_ftcmd_var0 = 0; - fp->gameWatchVars[0].SpecialLw.isRelease = false; - fp->gameWatchVars[0].SpecialLw.turnFrames = 0; + fp->gameWatchVars.SpecialLw.isRelease = false; + fp->gameWatchVars.SpecialLw.turnFrames = 0; } // 0x8014CEF0 @@ -206,7 +206,7 @@ void ftGameWatch_SpecialLw_Anim(HSD_GObj* fighter_gobj) #endif if ((38.0f == fp->x894_currentAnimFrame) && - ((s32) fp->gameWatchVars[0].SpecialLw.isRelease == false)) + ((s32) fp->gameWatchVars.SpecialLw.isRelease == false)) { ftGameWatch_SpecialLw_UpdateAction(fighter_gobj, 5.0f); } @@ -230,7 +230,7 @@ void ftGameWatch_SpecialAirLw_Anim(HSD_GObj* fighter_gobj) #endif if ((38.0f == fp->x894_currentAnimFrame) && - ((s32) fp->gameWatchVars[0].SpecialLw.isRelease == false)) + ((s32) fp->gameWatchVars.SpecialLw.isRelease == false)) { ftGameWatch_SpecialAirLw_UpdateAction(fighter_gobj, 5.0f); } @@ -254,10 +254,10 @@ void ftGameWatch_SpecialLw_IASA(HSD_GObj* fighter_gobj) ftGameWatchAttributes* gawAttrs; fp = GET_FIGHTER(fighter_gobj); - turnFrames = fp->gameWatchVars[0].SpecialLw.turnFrames; + turnFrames = fp->gameWatchVars.SpecialLw.turnFrames; gawAttrs = getFtSpecialAttrs(fp); if (turnFrames > 0) { - fp->gameWatchVars[0].SpecialLw.turnFrames = turnFrames - 1; + fp->gameWatchVars.SpecialLw.turnFrames = turnFrames - 1; } else { stick_range = fp->input.x620_lstick_x; if (stick_range < 0.0f) { @@ -267,13 +267,13 @@ void ftGameWatch_SpecialLw_IASA(HSD_GObj* fighter_gobj) facingDir = fp->facing_dir; func_8007D9FC(fp); if (facingDir != fp->facing_dir) { - fp->gameWatchVars[0].SpecialLw.turnFrames = + fp->gameWatchVars.SpecialLw.turnFrames = (s32) gawAttrs->x7C_GAMEWATCH_PANIC_TURN_FRAMES; } } } if ((fp->input.x65C_heldInputs & HSD_BUTTON_B) == false) { - fp->gameWatchVars[0].SpecialLw.isRelease = true; + fp->gameWatchVars.SpecialLw.isRelease = true; } } @@ -289,10 +289,10 @@ void ftGameWatch_SpecialAirLw_IASA(HSD_GObj* fighter_gobj) ftGameWatchAttributes* gawAttrs; fp = GET_FIGHTER(fighter_gobj); - turnFrames = fp->gameWatchVars[0].SpecialLw.turnFrames; + turnFrames = fp->gameWatchVars.SpecialLw.turnFrames; gawAttrs = getFtSpecialAttrs(fp); if (turnFrames > 0) { - fp->gameWatchVars[0].SpecialLw.turnFrames = turnFrames - 1; + fp->gameWatchVars.SpecialLw.turnFrames = turnFrames - 1; } else { stick_range = fp->input.x620_lstick_x; if (stick_range < 0.0f) { @@ -302,13 +302,13 @@ void ftGameWatch_SpecialAirLw_IASA(HSD_GObj* fighter_gobj) facingDir = fp->facing_dir; func_8007D9FC(fp); if (facingDir != fp->facing_dir) { - fp->gameWatchVars[0].SpecialLw.turnFrames = + fp->gameWatchVars.SpecialLw.turnFrames = (s32) gawAttrs->x7C_GAMEWATCH_PANIC_TURN_FRAMES; } } } if ((fp->input.x65C_heldInputs & HSD_BUTTON_B) == false) { - fp->gameWatchVars[0].SpecialLw.isRelease = true; + fp->gameWatchVars.SpecialLw.isRelease = true; } } diff --git a/src/melee/ft/chara/ftGameWatch/ftGameWatch_SpecialN.c b/src/melee/ft/chara/ftGameWatch/ftGameWatch_SpecialN.c index 19330bcf6..f8b61f363 100644 --- a/src/melee/ft/chara/ftGameWatch/ftGameWatch_SpecialN.c +++ b/src/melee/ft/chara/ftGameWatch/ftGameWatch_SpecialN.c @@ -151,10 +151,10 @@ static void ftGameWatch_SpecialN_CreateSausage(HSD_GObj* fighter_gobj) gawAttrs = getFtSpecialAttrs(fp); if (fp->x2200_ftcmd_var0 != 0) { fp->x2200_ftcmd_var0 = randomInt = 0; - if (((f32) fp->gameWatchVars[0].SpecialN.maxSausage) < + if (((f32) fp->gameWatchVars.SpecialN.maxSausage) < gawAttrs->x1C_GAMEWATCH_CHEF_MAX) { - fp->gameWatchVars[0].SpecialN.maxSausage++; + fp->gameWatchVars.SpecialN.maxSausage++; sp38.x = 2.5f; sp38.y = 6.5f; sp38.z = 0.0f; @@ -189,8 +189,8 @@ static inline void ftGameWatch_SpecialN_SetVars(HSD_GObj* fighter_gobj) fp->x2200_ftcmd_var0 = 0; fp->x2204_ftcmd_var1 = 0; fp->x2208_ftcmd_var2 = 0; - fp->gameWatchVars[0].SpecialN.isChefLoopDisable = false; - fp->gameWatchVars[0].SpecialN.maxSausage = 0; + fp->gameWatchVars.SpecialN.isChefLoopDisable = false; + fp->gameWatchVars.SpecialN.maxSausage = 0; fp->cb.x21BC_callback_Accessory4 = ftGameWatch_SpecialN_CreateSausage; } @@ -225,9 +225,9 @@ static inline void ftGameWatch_SpecialN_ChefLoop(HSD_GObj* fighter_gobj) if ((u32) fp->x2208_ftcmd_var2 != 0U) { fp->x2208_ftcmd_var2 = 0U; - if (((f32) fp->gameWatchVars[0].SpecialN.maxSausage < + if (((f32) fp->gameWatchVars.SpecialN.maxSausage < gawAttrs->x1C_GAMEWATCH_CHEF_MAX) && - ((s32) fp->gameWatchVars[0].SpecialN.isChefLoopDisable == false)) + ((s32) fp->gameWatchVars.SpecialN.isChefLoopDisable == false)) { ftGameWatch_SpecialN_Loop(fighter_gobj, gawAttrs->x18_GAMEWATCH_CHEF_LOOPFRAME); @@ -256,8 +256,8 @@ static inline void ftGameWatch_SpecialAirN_ChefLoop(HSD_GObj* fighter_gobj) if ((u32) fp->x2208_ftcmd_var2 != 0U) { fp->x2208_ftcmd_var2 = 0U; - if (((s32) fp->gameWatchVars[0].SpecialN.isChefLoopDisable == false) && - ((f32) fp->gameWatchVars[0].SpecialN.maxSausage < + if (((s32) fp->gameWatchVars.SpecialN.isChefLoopDisable == false) && + ((f32) fp->gameWatchVars.SpecialN.maxSausage < gawAttrs->x1C_GAMEWATCH_CHEF_MAX)) { ftGameWatch_SpecialAirN_Loop( @@ -288,10 +288,10 @@ void ftGameWatch_SpecialN_IASA(HSD_GObj* fighter_gobj) ftGameWatchAttributes* gawAttrs = gawAttrs = getFtSpecialAttrsD(fp); if ((fp->input.x65C_heldInputs & HSD_BUTTON_B) == false) { - fp->gameWatchVars[0].SpecialN.isChefLoopDisable = true; + fp->gameWatchVars.SpecialN.isChefLoopDisable = true; } if (((u32) fp->x2204_ftcmd_var1 != 0U) && (fp->input.x668 & HSD_BUTTON_B) && - ((f32) fp->gameWatchVars[0].SpecialN.maxSausage < + ((f32) fp->gameWatchVars.SpecialN.maxSausage < gawAttrs->x1C_GAMEWATCH_CHEF_MAX)) { ftGameWatch_SpecialN_Loop(fighter_gobj, @@ -308,10 +308,10 @@ void ftGameWatch_SpecialAirN_IASA(HSD_GObj* fighter_gobj) ftGameWatchAttributes* gawAttrs = gawAttrs = getFtSpecialAttrsD(fp); if ((fp->input.x65C_heldInputs & HSD_BUTTON_B) == false) { - fp->gameWatchVars[0].SpecialN.isChefLoopDisable = true; + fp->gameWatchVars.SpecialN.isChefLoopDisable = true; } if (((u32) fp->x2204_ftcmd_var1 != 0U) && (fp->input.x668 & HSD_BUTTON_B) && - ((f32) fp->gameWatchVars[0].SpecialN.maxSausage < + ((f32) fp->gameWatchVars.SpecialN.maxSausage < gawAttrs->x1C_GAMEWATCH_CHEF_MAX)) { ftGameWatch_SpecialAirN_Loop(fighter_gobj, @@ -403,7 +403,7 @@ void ftGameWatch_SpecialN_Loop(HSD_GObj* fighter_gobj, f32 anim_frame) fp->x2204_ftcmd_var1 = 0; fp->x2208_ftcmd_var2 = 0; - fp->gameWatchVars[0].SpecialN.isChefLoopDisable = false; + fp->gameWatchVars.SpecialN.isChefLoopDisable = false; fp->cb.x21BC_callback_Accessory4 = ftGameWatch_SpecialN_CreateSausage; } @@ -428,6 +428,6 @@ void ftGameWatch_SpecialAirN_Loop(HSD_GObj* fighter_gobj, f32 anim_frame) fp->x2204_ftcmd_var1 = 0; fp->x2208_ftcmd_var2 = 0; - fp->gameWatchVars[0].SpecialN.isChefLoopDisable = false; + fp->gameWatchVars.SpecialN.isChefLoopDisable = false; fp->cb.x21BC_callback_Accessory4 = ftGameWatch_SpecialN_CreateSausage; } diff --git a/src/melee/ft/chara/ftLuigi/ftLuigi_SpecialLw.c b/src/melee/ft/chara/ftLuigi/ftLuigi_SpecialLw.c index d6f50c988..0a7dc3586 100644 --- a/src/melee/ft/chara/ftLuigi/ftLuigi_SpecialLw.c +++ b/src/melee/ft/chara/ftLuigi/ftLuigi_SpecialLw.c @@ -21,10 +21,9 @@ static inline void ftLuigi_SpecialLw_SetVars(HSD_GObj* fighter_gobj) ftLuigiAttributes* luigiAttrs = fp->x2D4_specialAttributes; fp->x2200_ftcmd_var0 = 0; fp->x2204_ftcmd_var1 = 0; - fp->luigiVars[0].SpecialLw.groundVelX = (f32) 0.0f; - fp->luigiVars[0].SpecialLw.unk = - (s32) luigiAttrs->x88_LUIGI_CYCLONE_UNK + 1; - fp->luigiVars[0].SpecialLw.isUnkColl = false; + fp->luigiVars.SpecialLw.groundVelX = (f32) 0.0f; + fp->luigiVars.SpecialLw.unk = (s32) luigiAttrs->x88_LUIGI_CYCLONE_UNK + 1; + fp->luigiVars.SpecialLw.isUnkColl = false; } static inline void ftLuigi_SpecialLw_SetCall(HSD_GObj* fighter_gobj) @@ -196,9 +195,9 @@ void ftLuigi_SpecialLw_Phys(HSD_GObj* fighter_gobj) luigiAttrs = getFtSpecialAttrs(fp); var2 = luigiAttrs->x74_LUIGI_CYCLONE_MOMENTUM_X_GROUND; if ((u32) fp->x2200_ftcmd_var0 != 0U) { - fp->luigiVars[0].SpecialLw.groundVelX -= + fp->luigiVars.SpecialLw.groundVelX -= luigiAttrs->x84_LUIGI_CYCLONE_FRICTION_END; - var2 += fp->luigiVars[0].SpecialLw.groundVelX; + var2 += fp->luigiVars.SpecialLw.groundVelX; if (var2 < 0.0f) { var2 = 0.0f; } @@ -238,9 +237,9 @@ void ftLuigi_SpecialAirLw_Phys(HSD_GObj* fighter_gobj) var = luigiAttrs->x78_LUIGI_CYCLONE_MOMENTUM_X_AIR; luigiAttrs2 = fp->x2D4_specialAttributes; if ((u32) fp->x2200_ftcmd_var0 != 0) { - fp->luigiVars[0].SpecialLw.groundVelX -= + fp->luigiVars.SpecialLw.groundVelX -= luigiAttrs2->x84_LUIGI_CYCLONE_FRICTION_END; - var += fp->luigiVars[0].SpecialLw.groundVelX; + var += fp->luigiVars.SpecialLw.groundVelX; if (var < 0.0f) { var = 0.0f; } @@ -257,7 +256,7 @@ static inline void ftLuigi_SpecialLw_UnkAngle(HSD_GObj* fighter_gobj) { Fighter* fp = GET_FIGHTER(fighter_gobj); if (((u32) fp->x220C_ftcmd_var3 != 0U) && - ((s32) fp->luigiVars[0].SpecialLw.isUnkColl != false)) + ((s32) fp->luigiVars.SpecialLw.isUnkColl != false)) { func_8007592C(fp, 0, fp->facing_dir * @@ -281,17 +280,17 @@ void ftLuigi_SpecialLw_Coll(HSD_GObj* fighter_gobj) false) { ftLuigi_SpecialLw_GroundToAir(fighter_gobj); - fp->luigiVars[0].SpecialLw.isUnkColl = false; + fp->luigiVars.SpecialLw.isUnkColl = false; } else { - fp->luigiVars[0].SpecialLw.isUnkColl = true; + fp->luigiVars.SpecialLw.isUnkColl = true; } } else if (func_800824A0(fighter_gobj, &ftLuigi_SpecialLw_CollisionBox) == false) { ftLuigi_SpecialLw_GroundToAir(fighter_gobj); - fp->luigiVars[0].SpecialLw.isUnkColl = false; + fp->luigiVars.SpecialLw.isUnkColl = false; } else { - fp->luigiVars[0].SpecialLw.isUnkColl = true; + fp->luigiVars.SpecialLw.isUnkColl = true; } ftLuigi_SpecialLw_UnkAngle(fighter_gobj); } @@ -325,9 +324,9 @@ void ftLuigi_SpecialAirLw_Coll(HSD_GObj* fighter_gobj) if (func_800824A0(fighter_gobj, &ftLuigi_SpecialLw_CollisionBox) != false) { ftLuigi_SpecialAirLw_AirToGround(fighter_gobj); - fp->luigiVars[0].SpecialLw.isUnkColl = true; + fp->luigiVars.SpecialLw.isUnkColl = true; } else { - fp->luigiVars[0].SpecialLw.isUnkColl = false; + fp->luigiVars.SpecialLw.isUnkColl = false; } ftLuigi_SpecialLw_UnkAngle(fighter_gobj); } diff --git a/src/melee/ft/chara/ftLuigi/ftLuigi_SpecialS.c b/src/melee/ft/chara/ftLuigi/ftLuigi_SpecialS.c index 60de4827f..403fa8fa0 100644 --- a/src/melee/ft/chara/ftLuigi/ftLuigi_SpecialS.c +++ b/src/melee/ft/chara/ftLuigi/ftLuigi_SpecialS.c @@ -30,17 +30,17 @@ void ftLuigi_SpecialS_SetVars(HSD_GObj* fighter_gobj) fp->x2200_ftcmd_var0 = 0; if (fp->x673 < luigiAttrs->x4_LUIGI_GREENMISSILE_SMASH) { - fp->luigiVars[0].SpecialS.chargeFrames = + fp->luigiVars.SpecialS.chargeFrames = luigiAttrs->x8_LUIGI_GREENMISSILE_CHARGE_RATE; fp->x2070.x2072_b4 = true; } else { - fp->luigiVars[0].SpecialS.chargeFrames = 0; + fp->luigiVars.SpecialS.chargeFrames = 0; } if (HSD_Randi(luigiAttrs->x44_LUIGI_GREENMISSILE_MISFIRE_CHANCE) == 0) - fp->luigiVars[0].SpecialS.isMisfire = true; + fp->luigiVars.SpecialS.isMisfire = true; else - fp->luigiVars[0].SpecialS.isMisfire = false; + fp->luigiVars.SpecialS.isMisfire = false; } // 0x80142B14 @@ -205,8 +205,8 @@ void ftLuigi_SpecialSHold_Anim(HSD_GObj* fighter_gobj) func_8007DB24(fighter_gobj); fp->cb.x21BC_callback_Accessory4 = ftLuigi_SpecialS_SetGFX; } - fp->luigiVars[0].SpecialS.chargeFrames++; - if (fp->luigiVars[0].SpecialS.chargeFrames > + fp->luigiVars.SpecialS.chargeFrames++; + if (fp->luigiVars.SpecialS.chargeFrames > luigiAttrs->xC_LUIGI_GREENMISSILE_MAX_CHARGE_FRAMES) { ftLuigi_SpecialSLaunch_Action(fighter_gobj); @@ -227,8 +227,8 @@ void ftLuigi_SpecialAirSHold_Anim(HSD_GObj* fighter_gobj) func_8007DB24(fighter_gobj); fp->cb.x21BC_callback_Accessory4 = ftLuigi_SpecialS_SetGFX; } - fp->luigiVars[0].SpecialS.chargeFrames++; - if (fp->luigiVars[0].SpecialS.chargeFrames > + fp->luigiVars.SpecialS.chargeFrames++; + if (fp->luigiVars.SpecialS.chargeFrames > luigiAttrs->xC_LUIGI_GREENMISSILE_MAX_CHARGE_FRAMES) { ftLuigi_SpecialAirSLaunch_Action(fighter_gobj); @@ -346,11 +346,11 @@ void ftLuigi_SpecialSLaunch_Anim(HSD_GObj* fighter_gobj) Fighter* fp = GET_FIGHTER(fighter_gobj); ftLuigiAttributes* luigiAttrs = getFtSpecialAttrs(fp); - if (!fp->luigiVars[0].SpecialS.isMisfire && + if (!fp->luigiVars.SpecialS.isMisfire && fp->x914[0].state == HitCapsule_Enabled) { func_8007ABD0(&fp->x914[0], - fp->luigiVars[0].SpecialS.chargeFrames * + fp->luigiVars.SpecialS.chargeFrames * luigiAttrs->x14_LUIGI_GREENMISSILE_DAMAGE_SLOPE + luigiAttrs->x10_LUIGI_GREENMISSILE_DAMAGE_TILT, fighter_gobj); @@ -370,11 +370,11 @@ void ftLuigi_SpecialAirSLaunch_Anim(HSD_GObj* fighter_gobj) Fighter* fp = GET_FIGHTER(fighter_gobj); ftLuigiAttributes* luigiAttrs = getFtSpecialAttrs(fp); - if (!fp->luigiVars[0].SpecialS.isMisfire && + if (!fp->luigiVars.SpecialS.isMisfire && fp->x914[0].state == HitCapsule_Enabled) { func_8007ABD0(&fp->x914[0], - fp->luigiVars[0].SpecialS.chargeFrames * + fp->luigiVars.SpecialS.chargeFrames * luigiAttrs->x14_LUIGI_GREENMISSILE_DAMAGE_SLOPE + luigiAttrs->x10_LUIGI_GREENMISSILE_DAMAGE_TILT, fighter_gobj); @@ -475,7 +475,7 @@ void ftLuigi_SpecialSLaunch_Action(HSD_GObj* fighter_gobj) HSD_GObjEvent exited_hitlag; s32 stateVar; - if (fp->luigiVars[0].SpecialS.isMisfire) { + if (fp->luigiVars.SpecialS.isMisfire) { ftLuigi_SpecialSMisfire_Action(fighter_gobj); return; } @@ -493,7 +493,7 @@ void ftLuigi_SpecialAirSLaunch_Action(HSD_GObj* fighter_gobj) Fighter* fp = GET_FIGHTER(fighter_gobj); s32 stateVar; - if (fp->luigiVars[0].SpecialS.isMisfire) { + if (fp->luigiVars.SpecialS.isMisfire) { ftLuigi_SpecialAirSMisfire_Action(fighter_gobj); return; } @@ -512,11 +512,11 @@ void ftLuigi_SpecialSMisfire_Anim(HSD_GObj* fighter_gobj) ftLuigiAttributes* luigiAttrs = getFtSpecialAttrs(fp); s32 stateVar; - if (!fp->luigiVars[0].SpecialS.isMisfire && + if (!fp->luigiVars.SpecialS.isMisfire && fp->x914[0].state == HitCapsule_Enabled) { func_8007ABD0(&fp->x914[0], - fp->luigiVars[0].SpecialS.chargeFrames * + fp->luigiVars.SpecialS.chargeFrames * luigiAttrs->x14_LUIGI_GREENMISSILE_DAMAGE_SLOPE + luigiAttrs->x10_LUIGI_GREENMISSILE_DAMAGE_TILT, fighter_gobj); @@ -536,11 +536,11 @@ void ftLuigi_SpecialAirSMisfire_Anim(HSD_GObj* fighter_gobj) ftLuigiAttributes* luigiAttrs = getFtSpecialAttrs(fp); s32 stateVar; - if (!fp->luigiVars[0].SpecialS.isMisfire && + if (!fp->luigiVars.SpecialS.isMisfire && fp->x914[0].state == HitCapsule_Enabled) { func_8007ABD0(&fp->x914[0], - fp->luigiVars[0].SpecialS.chargeFrames * + fp->luigiVars.SpecialS.chargeFrames * luigiAttrs->x14_LUIGI_GREENMISSILE_DAMAGE_SLOPE + luigiAttrs->x10_LUIGI_GREENMISSILE_DAMAGE_TILT, fighter_gobj); @@ -731,21 +731,21 @@ void ftLuigi_SpecialSFly_Action(HSD_GObj* fighter_gobj) fp = getFighter(fighter_gobj); luigiAttrs = getFtSpecialAttrs(fp); fp->x2200_ftcmd_var0 = 0; - if (fp->luigiVars[0].SpecialS.isMisfire) { + if (fp->luigiVars.SpecialS.isMisfire) { fp->x80_self_vel.x = luigiAttrs->x48_LUIGI_GREENMISSILE_MISFIRE_VEL_X; } else { fp->x80_self_vel.x = luigiAttrs->x28_LUIGI_GREENMISSILE_MUL_X * - fp->luigiVars[0].SpecialS.chargeFrames + + fp->luigiVars.SpecialS.chargeFrames + luigiAttrs->x24_LUIGI_GREENMISSILE_VEL_X; } fp->x80_self_vel.x *= fp->facing_dir; - if (fp->luigiVars[0].SpecialS.isMisfire) { + if (fp->luigiVars.SpecialS.isMisfire) { fp->x80_self_vel.y = luigiAttrs->x4C_LUIGI_GREENMISSILE_MISFIRE_VEL_Y; } else { temp_vel = luigiAttrs->x2C_LUIGI_GREENMISSILE_VEL_Y; fp->x80_self_vel.y = 0.5f * temp_vel + - temp_vel * (0.5f * fp->luigiVars[0].SpecialS.chargeFrames / + temp_vel * (0.5f * fp->luigiVars.SpecialS.chargeFrames / luigiAttrs->xC_LUIGI_GREENMISSILE_MAX_CHARGE_FRAMES); } Fighter_ActionStateChange_800693AC(fighter_gobj, AS_LUIGI_SPECIALAIRS_FLY, diff --git a/src/melee/ft/chara/ftMario/ftMario_SpecialLw.c b/src/melee/ft/chara/ftMario/ftMario_SpecialLw.c index 195f64146..f4b036b28 100644 --- a/src/melee/ft/chara/ftMario/ftMario_SpecialLw.c +++ b/src/melee/ft/chara/ftMario/ftMario_SpecialLw.c @@ -48,9 +48,9 @@ void _ftMario_800E207C_800E2194_helper(HSD_GObj* gobj) sa = (ftMarioAttributes*) fp->x2D4_specialAttributes; fp->x2200_ftcmd_var0 = 0; fp->x2204_ftcmd_var1 = 0; - fp->marioVars[0].SpecialLw.groundVelX = (f32) 0.0f; - fp->marioVars[0].SpecialLw.unk = (s32) (sa->x50_MARIO_TORNADO_UNK + 1); - fp->marioVars[0].SpecialLw.isUnkColl = 0; + fp->marioVars.SpecialLw.groundVelX = (f32) 0.0f; + fp->marioVars.SpecialLw.unk = (s32) (sa->x50_MARIO_TORNADO_UNK + 1); + fp->marioVars.SpecialLw.isUnkColl = 0; ftMario_SpecialLw_SetCall(gobj); ftMario_SpecialLw_SetGFX(gobj); } @@ -201,10 +201,10 @@ void ftMario_SpecialLw_Phys(HSD_GObj* gobj) flt_var = sa->x3C_MARIO_TORNADO_MOMENTUM_X_GROUND; if ((u32) fp->x2200_ftcmd_var0 != 0U) { - fp->marioVars[0].SpecialLw.groundVelX = - (f32) (fp->marioVars[0].SpecialLw.groundVelX - + fp->marioVars.SpecialLw.groundVelX = + (f32) (fp->marioVars.SpecialLw.groundVelX - sa->x4C_MARIO_TORNADO_FRICTION_END); - flt_var += fp->marioVars[0].SpecialLw.groundVelX; + flt_var += fp->marioVars.SpecialLw.groundVelX; if (flt_var < 0.0f) { flt_var = 0.0f; } @@ -248,10 +248,10 @@ void ftMario_SpecialAirLw_Phys(HSD_GObj* gobj) flt_var = sa->x40_MARIO_TORNADO_MOMENTUM_X_AIR; sa_2 = fp->x2D4_specialAttributes; if ((u32) fp->x2200_ftcmd_var0 != 0U) { - fp->marioVars[0].SpecialLw.groundVelX = - (f32) (fp->marioVars[0].SpecialLw.groundVelX - + fp->marioVars.SpecialLw.groundVelX = + (f32) (fp->marioVars.SpecialLw.groundVelX - sa_2->x4C_MARIO_TORNADO_FRICTION_END); - flt_var += fp->marioVars[0].SpecialLw.groundVelX; + flt_var += fp->marioVars.SpecialLw.groundVelX; if (flt_var < 0.0f) { flt_var = 0.0f; } @@ -265,7 +265,7 @@ void _ftMario_800E25C4_800E2778_helper(HSD_GObj* gobj) ftMarioAttributes* sa = GetMarioAttr(fp); if ((fp->x220C_ftcmd_var3 != 0U) && - ((s32) (fp->marioVars[0].SpecialLw.isUnkColl) != 0)) + ((s32) (fp->marioVars.SpecialLw.isUnkColl) != 0)) { func_8007592C(fp, 0, fp->facing_dir * @@ -289,16 +289,16 @@ void ftMario_SpecialLw_Coll(HSD_GObj* gobj) if (fp->xE0_ground_or_air == GA_Ground) { if (func_80082888(gobj, &ftMario_SpecialLw_CollisionBox) == false) { _ftMario_800E23E4_800E25C4_helper_0(gobj); - fp->marioVars[0].SpecialLw.isUnkColl = false; + fp->marioVars.SpecialLw.isUnkColl = false; } else { - fp->marioVars[0].SpecialLw.isUnkColl = true; + fp->marioVars.SpecialLw.isUnkColl = true; } } else { if (func_800824A0(gobj, &ftMario_SpecialLw_CollisionBox) == false) { _ftMario_800E23E4_800E25C4_helper_0(gobj); - fp->marioVars[0].SpecialLw.isUnkColl = false; + fp->marioVars.SpecialLw.isUnkColl = false; } else { - fp->marioVars[0].SpecialLw.isUnkColl = true; + fp->marioVars.SpecialLw.isUnkColl = true; } } @@ -331,9 +331,9 @@ void ftMario_SpecialAirLw_Coll(HSD_GObj* gobj) Fighter* fp = gobj->user_data; if (func_800824A0(gobj, &ftMario_SpecialLw_CollisionBox) != 0) { _ftMario_800E2778_helper(gobj); - fp->marioVars[0].SpecialLw.isUnkColl = 1; + fp->marioVars.SpecialLw.isUnkColl = 1; } else { - fp->marioVars[0].SpecialLw.isUnkColl = 0; + fp->marioVars.SpecialLw.isUnkColl = 0; } _ftMario_800E25C4_800E2778_helper(gobj); diff --git a/src/melee/ft/chara/ftMario/ftMario_SpecialS.c b/src/melee/ft/chara/ftMario/ftMario_SpecialS.c index 4b19afbce..21d79f069 100644 --- a/src/melee/ft/chara/ftMario/ftMario_SpecialS.c +++ b/src/melee/ft/chara/ftMario/ftMario_SpecialS.c @@ -108,7 +108,7 @@ void ftMario_SpecialS_ChangeAction(HSD_GObj* gobj, s32 new_action_state_index) fp->x2208_ftcmd_var2 = 0; fp->x2204_ftcmd_var1 = 0; fp->x2200_ftcmd_var0 = 0; - fp->marioVars[0].SpecialS.isReflect = false; + fp->marioVars.SpecialS.isReflect = false; fp->cb.x21BC_callback_Accessory4 = ftMario_SpecialS_CreateCape; } @@ -165,14 +165,14 @@ void ftMario_SpecialS_ReflectThink(HSD_GObj* gobj) ftMarioAttributes* sa_tmp = fp->x2D4_specialAttributes; if ((fp->x2204_ftcmd_var1 == 1U) && - ((s32) fp->marioVars[0].SpecialS.isReflect == false)) + ((s32) fp->marioVars.SpecialS.isReflect == false)) { - fp->marioVars[0].SpecialS.isReflect = true; + fp->marioVars.SpecialS.isReflect = true; ftColl_CreateReflectHit(gobj, &sa_tmp->x60_MARIO_CAPE_REFLECTION, NULL); } else if ((fp->x2204_ftcmd_var1 == 0U) && - ((s32) fp->marioVars[0].SpecialS.isReflect == true)) + ((s32) fp->marioVars.SpecialS.isReflect == true)) { - fp->marioVars[0].SpecialS.isReflect = false; + fp->marioVars.SpecialS.isReflect = false; fp->x2218_flag.bits.b3 = 0; } @@ -263,7 +263,7 @@ void ftMario_SpecialAirS_Coll(HSD_GObj* gobj) void ftMario_SpecialS_UpdateVarsColl(HSD_GObj* gobj) { Fighter* fp = GET_FIGHTER(gobj); - if ((s32) fp->marioVars[0].SpecialS.isReflect != false) { + if ((s32) fp->marioVars.SpecialS.isReflect != false) { fp->x2218_flag.bits.b3 = 1; } ftMario_SpecialS_SetCall(fp); diff --git a/src/melee/ft/chara/ftMasterHand/ftMasterHand_01.c b/src/melee/ft/chara/ftMasterHand/ftMasterHand_01.c index 3ca31d187..6ffdc0748 100644 --- a/src/melee/ft/chara/ftMasterHand/ftMasterHand_01.c +++ b/src/melee/ft/chara/ftMasterHand/ftMasterHand_01.c @@ -177,15 +177,15 @@ void ftMasterhand_OnLoad(HSD_GObj* gobj) fp->xB0_pos.x = ftData_attr->x30_pos2.x; fp->xB0_pos.y = ftData_attr->x30_pos2.y; fp->xB0_pos.z = 0.0f; - fp->x2374 = 0; - fp->x2378 = 0; - fp->x237C = 0; + fp->masterhandVars.x2374 = 0; + fp->masterhandVars.x2378 = 0; + fp->masterhandVars.x237C = 0; fp->x2380 = 0; - fp->x2368 = -1; - fp->x236C = -1; - fp->x2370 = -1; - fp->x235C = 0.0f; - fp->x2360 = 0; + fp->masterhandVars.x2368 = -1; + fp->masterhandVars.x236C = -1; + fp->masterhandVars.x2370 = -1; + fp->masterhandVars.x235C = 0.0f; + fp->masterhandVars.x2360 = 0; fp->sa.masterhand.x222C = func_8015C244(gobj, &fp->xB0_pos); fp->sa.masterhand.x2238 = 1.0f; fp->sa.masterhand.x224C = 0; diff --git a/src/melee/ft/chara/ftMasterHand/ftMasterHand_03.c b/src/melee/ft/chara/ftMasterHand/ftMasterHand_03.c index 51a570771..cf9db229d 100644 --- a/src/melee/ft/chara/ftMasterHand/ftMasterHand_03.c +++ b/src/melee/ft/chara/ftMasterHand/ftMasterHand_03.c @@ -90,8 +90,8 @@ void func_80150DC4(HSD_GObj* gobj, void* arg1_stateVar2, Vec3* arg2_pos) } r32_fp->sa.masterhand.x2258 = 0x185; } - r32_fp->x2344_callback = arg1_stateVar2; - r32_fp->x234C_pos = *arg2_pos; + r32_fp->masterhandVars.x2344_callback = arg1_stateVar2; + r32_fp->masterhandVars.x234C_pos = *arg2_pos; } // 80150F00 0014DAE0 @@ -124,8 +124,9 @@ void lbl_80150F68(HSD_GObj* gobj) r30_ft_attributes = r4_ftdata->ext_attr; func_80085134(gobj); - func_8015BE40(gobj, &r31_fp->x234C_pos, &r31_fp->x2358_stateVar7, - r30_ft_attributes->x2C, r30_ft_attributes->x28); + func_8015BE40(gobj, &r31_fp->masterhandVars.x234C_pos, + &r31_fp->masterhandVars.x2358, r30_ft_attributes->x2C, + r30_ft_attributes->x28); } // 80150FC8 0014DBA8 @@ -135,7 +136,7 @@ void lbl_80150FC8(HSD_GObj* gobj) Fighter* r4_fp; r4_fp = gobj->user_data; - if (0.0f == r4_fp->x2358_stateVar7) { + if (0.0f == r4_fp->masterhandVars.x2358) { r4_fp->x80_self_vel.z = 0.0f; r4_fp->x80_self_vel.y = 0.0f; r4_fp->x80_self_vel.x = 0.0f; @@ -158,7 +159,7 @@ void func_80151018(HSD_GObj* gobj) r6_fp = gobj->user_data; r5_attributes = r6_fp->x10C_ftData->ext_attr; - r6_fp->x2360 = 0; + r6_fp->masterhandVars.x2360 = 0; sp1C_pos.x = r5_attributes->x30_pos2.x; sp1C_pos.y = r5_attributes->x30_pos2.y; sp1C_pos.z = 0.0f; @@ -169,6 +170,6 @@ void func_80151018(HSD_GObj* gobj) } else { func_80150C8C(gobj); } - r31_fp->x2344_callback = lbl_8014FFDC; - r31_fp->x234C_pos = sp1C_pos; + r31_fp->masterhandVars.x2344_callback = lbl_8014FFDC; + r31_fp->masterhandVars.x234C_pos = sp1C_pos; } diff --git a/src/melee/ft/chara/ftMasterHand/ftMasterHand_04.c b/src/melee/ft/chara/ftMasterHand/ftMasterHand_04.c index 7cf7019af..1ba7f0bcf 100644 --- a/src/melee/ft/chara/ftMasterHand/ftMasterHand_04.c +++ b/src/melee/ft/chara/ftMasterHand/ftMasterHand_04.c @@ -117,33 +117,33 @@ static void lbl_801511FC(HSD_GObj* gobj) break; case 4: func_8002F274(); - fp->x2348_stateVar3 = 0x78; + fp->masterhandVars.x2348 = 0x78; fp->x2340_stateVar1 = 5; break; case 5: - if (--fp->x2348_stateVar3 == 0) { + if (--fp->masterhandVars.x2348 == 0) { func_8002EC7C(-0.3490658402442932f); func_8002EF14(); func_8002ED9C(120.0f); - fp->x2348_stateVar3 = 0x1E; + fp->masterhandVars.x2348 = 0x1E; fp->x2340_stateVar1 = 6; } break; case 6: - if (--fp->x2348_stateVar3 == 0) { + if (--fp->masterhandVars.x2348 == 0) { func_8002EC7C(0.3490658402442932f); func_8002EF14(); - fp->x2348_stateVar3 = 0x1E; + fp->masterhandVars.x2348 = 0x1E; fp->x2340_stateVar1 = 7; } break; case 7: - if (--fp->x2348_stateVar3 == 0) { + if (--fp->masterhandVars.x2348 == 0) { func_8002ED9C(180.0f); func_8002EC7C(-1.5707963705062866f); func_8002EB5C(-0.3490658402442932f); func_8002EF14(); - fp->x2348_stateVar3 = 0x32; + fp->masterhandVars.x2348 = 0x32; fp->x2340_stateVar1 = 8; } break; @@ -152,7 +152,7 @@ static void lbl_801511FC(HSD_GObj* gobj) fp->x2340_stateVar1 = 9; break; case 9: - if (--fp->x2348_stateVar3 == 0) { + if (--fp->masterhandVars.x2348 == 0) { func_8002F474(); fp->x2340_stateVar1 = 10; } diff --git a/src/melee/ft/chara/ftMasterHand/ftMasterHand_05.c b/src/melee/ft/chara/ftMasterHand/ftMasterHand_05.c index b7da45d27..90e0ef1d5 100644 --- a/src/melee/ft/chara/ftMasterHand/ftMasterHand_05.c +++ b/src/melee/ft/chara/ftMasterHand/ftMasterHand_05.c @@ -34,23 +34,23 @@ inline void func_80151484_inline1(HSD_GObj* gobj) r29_fp->x80_self_vel.z = 0.0f; r29_fp->x80_self_vel.y = 0.0f; r29_fp->x80_self_vel.x = 0.0f; - func_802F046C(r29_fp->x2374); - func_802F046C(r29_fp->x2378); - func_802F046C(r29_fp->x237C); + func_802F046C(r29_fp->masterhandVars.x2374); + func_802F046C(r29_fp->masterhandVars.x2378); + func_802F046C(r29_fp->masterhandVars.x237C); func_802F046C(r29_fp->x2380); - r29_fp->x2374 = 0; - r29_fp->x2378 = 0; - r29_fp->x237C = 0; + r29_fp->masterhandVars.x2374 = 0; + r29_fp->masterhandVars.x2378 = 0; + r29_fp->masterhandVars.x237C = 0; r29_fp->x2380 = 0; - func_800236B8(r29_fp->x2368); - func_800236B8(r29_fp->x236C); - func_800236B8(r29_fp->x2370); - if (r29_fp->x2360) { + func_800236B8(r29_fp->masterhandVars.x2368); + func_800236B8(r29_fp->masterhandVars.x236C); + func_800236B8(r29_fp->masterhandVars.x2370); + if (r29_fp->masterhandVars.x2360) { func_80155D1C(r29_fp->x1A58_interactedFighter); } r29_fp->x80_self_vel.y = temp_r30->x14C; r29_fp->x80_self_vel.z = temp_r30->x154; - r29_fp->x2348_stateVar3 = (s32) temp_r30->x15C; + r29_fp->masterhandVars.x2348 = temp_r30->x15C; } void func_80151484(HSD_GObj* gobj) @@ -100,14 +100,14 @@ void lbl_801515B8(HSD_GObj* gobj) r31_fp->x2200_ftcmd_var0 = 0U; } - // x2348_stateVar3 does that make sense if its u32? - if ((s32) r31_fp->x2348_stateVar3 > 0 && !ftAnim_IsFramesRemaining(gobj)) { + // masterhandVars.x2348 does that make sense if its u32? + if (r31_fp->masterhandVars.x2348 > 0 && !ftAnim_IsFramesRemaining(gobj)) { Fighter_ActionStateChange_800693AC(gobj, 0x159, 0, 0, 0.0f, 1.0f, 0.0f); func_8006EBA4(gobj); } - temp_r0 = r31_fp->x2348_stateVar3 - 1; + temp_r0 = r31_fp->masterhandVars.x2348 - 1; - r31_fp->x2348_stateVar3 = temp_r0; + r31_fp->masterhandVars.x2348 = temp_r0; if (temp_r0) { return; } @@ -131,27 +131,26 @@ void lbl_801516B4(HSD_GObj* gobj) r4_attributes = r31_fp->x10C_ftData->ext_attr; temp_r3 = r31_fp->x23B4 + 1; r31_fp->x23B4 = temp_r3; - if (temp_r3 <= (s32) r4_attributes->x144) { + if (temp_r3 <= r4_attributes->x144) { func_8002438C(0x81652); } else { temp_r3_2 = r31_fp->x23B8 + 1; r31_fp->x23B8 = temp_r3_2; - if (temp_r3_2 <= (s32) r4_attributes->x148) { + if (temp_r3_2 <= r4_attributes->x148) { func_8002438C(0x81653); } } r31_fp->x2200_ftcmd_var0 = 0U; } - if (((s32) r31_fp->x2348_stateVar3 > 0) && !ftAnim_IsFramesRemaining(gobj)) - { + if (r31_fp->masterhandVars.x2348 > 0 && !ftAnim_IsFramesRemaining(gobj)) { temp_f1 = 0.0f; Fighter_ActionStateChange_800693AC(gobj, 0x159, 0, 0, temp_f1, 1.0f, temp_f1); func_8006EBA4(gobj); } - temp_r0 = r31_fp->x2348_stateVar3 - 1; + temp_r0 = r31_fp->masterhandVars.x2348 - 1; // temp_cr0_eq = ; - r31_fp->x2348_stateVar3 = temp_r0; + r31_fp->masterhandVars.x2348 = temp_r0; if (temp_r0 == 0) { func_800D4F24(gobj, 0); } diff --git a/src/melee/ft/chara/ftMasterHand/ftMasterHand_06.c b/src/melee/ft/chara/ftMasterHand/ftMasterHand_06.c index 6e8615520..ea0124e14 100644 --- a/src/melee/ft/chara/ftMasterHand/ftMasterHand_06.c +++ b/src/melee/ft/chara/ftMasterHand/ftMasterHand_06.c @@ -73,9 +73,9 @@ void func_80151918(HSD_GObj* gobj) r8_fp = gobj->user_data; r7_attributes = r8_fp->x10C_ftData->ext_attr; - r8_fp->x234C_pos.x = (r8_fp->xB0_pos.x - r7_attributes->x3C); - r8_fp->x234C_pos.y = r7_attributes->x38; - r8_fp->x234C_pos.z = 0.0f; + r8_fp->masterhandVars.x234C_pos.x = (r8_fp->xB0_pos.x - r7_attributes->x3C); + r8_fp->masterhandVars.x234C_pos.y = r7_attributes->x38; + r8_fp->masterhandVars.x234C_pos.z = 0.0f; Fighter_ActionStateChange_800693AC(gobj, 0x15B, 0, 0, 0.0f, 1.0f, 0.0f); func_8006EBA4(gobj); @@ -100,9 +100,9 @@ void lbl_8015198C(HSD_GObj* gobj) } temp_r8 = gobj->user_data; temp_r7 = temp_r8->x10C_ftData->ext_attr; - temp_r8->x234C_pos.x = temp_r8->xB0_pos.x - temp_r7->x3C; - temp_r8->x234C_pos.y = temp_r7->x38; - temp_r8->x234C_pos.z = 0.0f; + temp_r8->masterhandVars.x234C_pos.x = temp_r8->xB0_pos.x - temp_r7->x3C; + temp_r8->masterhandVars.x234C_pos.y = temp_r7->x38; + temp_r8->masterhandVars.x234C_pos.z = 0.0f; Fighter_ActionStateChange_800693AC(gobj, 0x15B, 0, 0, 0.0f, 1.0f, 0.0f); func_8006EBA4(gobj); } @@ -127,8 +127,9 @@ void lbl_80151A88(HSD_GObj* gobj) r5_fp = gobj->user_data; r6_attributes = r5_fp->x10C_ftData->ext_attr; - func_8015BE40(gobj, &r5_fp->x234C_pos, &r5_fp->x2358_stateVar7, - r6_attributes->x2C, r6_attributes->x28); + func_8015BE40(gobj, &r5_fp->masterhandVars.x234C_pos, + &r5_fp->masterhandVars.x2358, r6_attributes->x2C, + r6_attributes->x28); } void lbl_80151AC4(HSD_GObj* arg0) {} diff --git a/src/melee/ft/chara/ftMasterHand/ftMasterHand_10.c b/src/melee/ft/chara/ftMasterHand/ftMasterHand_10.c index 7792904bb..cf9f3d5d7 100644 --- a/src/melee/ft/chara/ftMasterHand/ftMasterHand_10.c +++ b/src/melee/ft/chara/ftMasterHand/ftMasterHand_10.c @@ -42,7 +42,7 @@ void lbl_801521DC(HSD_GObj* arg0) temp_r31 = arg0->user_data; Fighter_ActionStateChange_800693AC(arg0, 0x162, 0, 0, 0.0f, 1.0f, 0.0f); func_8006EBA4(arg0); - temp_r31->x2340_f32 = 107.0f; + temp_r31->masterhandVars.x2340_unk = 107.0f; } // 8015223C 14EE1C @@ -77,8 +77,8 @@ void lbl_801522BC(HSD_GObj* gobj) r30_attributes = r4_ftData->ext_attr; func_80085134(gobj); - if ((--r31_fp->x2340_f32 > r30_attributes->x84) || - (r31_fp->x2340_f32 < 0.0f)) + if ((--r31_fp->masterhandVars.x2340_unk > r30_attributes->x84) || + (r31_fp->masterhandVars.x2340_unk < 0.0f)) { r31_fp->x80_self_vel.x = 0.0f; } else { diff --git a/src/melee/ft/chara/ftMasterHand/ftMasterHand_11.c b/src/melee/ft/chara/ftMasterHand/ftMasterHand_11.c index 6e54a7d32..9eca0a1de 100644 --- a/src/melee/ft/chara/ftMasterHand/ftMasterHand_11.c +++ b/src/melee/ft/chara/ftMasterHand/ftMasterHand_11.c @@ -27,7 +27,7 @@ void lbl_801523BC(HSD_GObj* gobj) r31_fp = gobj->user_data; r30_attributes = r31_fp->x10C_ftData->ext_attr; func_8015247C(gobj); - r31_fp->x2348_stateVar3 = r30_attributes->xA0; + r31_fp->masterhandVars.x2348 = r30_attributes->xA0; } // 80152414 14EFF4 @@ -69,7 +69,7 @@ void lbl_801524C8(HSD_GObj* gobj) u32 unk[2]; temp_r4 = gobj->user_data; - if (!--temp_r4->x2348_stateVar3) { + if (!--temp_r4->masterhandVars.x2348) { func_801525E0(gobj); } if (!ftAnim_IsFramesRemaining(gobj)) { diff --git a/src/melee/ft/chara/ftMasterHand/ftMasterHand_12.c b/src/melee/ft/chara/ftMasterHand/ftMasterHand_12.c index 8fac7cf92..7e242cd95 100644 --- a/src/melee/ft/chara/ftMasterHand/ftMasterHand_12.c +++ b/src/melee/ft/chara/ftMasterHand/ftMasterHand_12.c @@ -44,7 +44,7 @@ void lbl_801526D8(HSD_GObj* arg0) temp_r31 = arg0->user_data; Fighter_ActionStateChange_800693AC(arg0, 0x166, 0, 0, 0.0f, 1.0f, 0.0f); func_8006EBA4(arg0); - temp_r31->x2340_f32 = 0.0f; + temp_r31->masterhandVars.x2340_unk = 0.0f; } // 80152738 14F318 @@ -79,8 +79,10 @@ void lbl_801527B8(HSD_GObj* gobj) func_80085134(gobj); - tmp = ++r31_fp->x2340_f32; - if (tmp > r30_attributes->xB0 && r31_fp->x2340_f32 < r30_attributes->xB4) { + tmp = ++r31_fp->masterhandVars.x2340_unk; + if (tmp > r30_attributes->xB0 && + r31_fp->masterhandVars.x2340_unk < r30_attributes->xB4) + { func_8015C010(gobj, r30_attributes->xB8); } else { r31_fp->x80_self_vel.x = 0.0f; diff --git a/src/melee/ft/chara/ftMasterHand/ftMasterHand_13.c b/src/melee/ft/chara/ftMasterHand/ftMasterHand_13.c index abcc67e18..7aa02493b 100644 --- a/src/melee/ft/chara/ftMasterHand/ftMasterHand_13.c +++ b/src/melee/ft/chara/ftMasterHand/ftMasterHand_13.c @@ -24,7 +24,7 @@ void func_80152880(HSD_GObj* gobj) attr = fp->x10C_ftData->ext_attr; Fighter_ActionStateChange_800693AC(gobj, 0x167, 0, 0, 0.0f, 1.0f, 0.0f); func_8006EBA4(gobj); - fp->x2340_f32 = attr->x94 + HSD_Randi(attr->x90 - attr->x94); + fp->masterhandVars.x2340_unk = attr->x94 + HSD_Randi(attr->x90 - attr->x94); fp->x2344_f32 = 0.0f; } @@ -40,7 +40,7 @@ void lbl_80152928(HSD_GObj* gobj) temp_r4 = gobj->user_data; temp_r4->x2344_f32 = 1.0f; - if (--temp_r4->x2340_f32 < 0.0f) { + if (--temp_r4->masterhandVars.x2340_unk < 0.0f) { temp_r4->x2344_f32 = 0.0f; temp_r4->x80_self_vel.x = 0.0f; temp_r4->x80_self_vel.y = 0.0f; diff --git a/src/melee/ft/chara/ftMasterHand/ftMasterHand_14.c b/src/melee/ft/chara/ftMasterHand/ftMasterHand_14.c index 44f77ddeb..2638c27d8 100644 --- a/src/melee/ft/chara/ftMasterHand/ftMasterHand_14.c +++ b/src/melee/ft/chara/ftMasterHand/ftMasterHand_14.c @@ -22,9 +22,9 @@ void lbl_80152BCC(HSD_GObj* arg0) temp_r31 = arg0->user_data; Fighter_ActionStateChange_800693AC(arg0, 0x169, 0, 0, 0.0f, 1.0f, 0.0f); func_8006EBA4(arg0); - temp_r31->x2368 = -1; - temp_r31->x236C = -1; - temp_r31->x2370 = -1; + temp_r31->masterhandVars.x2368 = -1; + temp_r31->masterhandVars.x236C = -1; + temp_r31->masterhandVars.x2370 = -1; } // 80152C34 14F814 @@ -77,13 +77,13 @@ void lbl_80152D44(HSD_GObj* arg0) if (!ftAnim_IsFramesRemaining(arg0)) { temp_r31 = arg0->user_data; func_80152F80(arg0); - func_802F046C(temp_r31->x2374); - func_802F046C(temp_r31->x2378); - func_802F046C(temp_r31->x237C); + func_802F046C(temp_r31->masterhandVars.x2374); + func_802F046C(temp_r31->masterhandVars.x2378); + func_802F046C(temp_r31->masterhandVars.x237C); func_802F046C(temp_r31->x2380); - temp_r31->x2374 = 0; - temp_r31->x2378 = 0; - temp_r31->x237C = 0; + temp_r31->masterhandVars.x2374 = 0; + temp_r31->masterhandVars.x2378 = 0; + temp_r31->masterhandVars.x237C = 0; temp_r31->x2380 = 0; } } @@ -122,20 +122,20 @@ void lbl_80152E28(HSD_GObj* gobj) if (fp->x2200_ftcmd_var0 != 0) { func_8000B1CC(fp->x5E8_fighterBones[11].x0_jobj, 0, &sp10); - fp->x2374 = + fp->masterhandVars.x2374 = func_802F0340(gobj, &sp10, &sp10, 0xB, 0x7D, fp->facing_dir); func_8000B1CC(fp->x5E8_fighterBones[16].x0_jobj, 0, &sp10); - fp->x2378 = + fp->masterhandVars.x2378 = func_802F0340(gobj, &sp10, &sp10, 0x10, 0x7D, fp->facing_dir); func_8000B1CC(fp->x5E8_fighterBones[21].x0_jobj, 0, &sp10); - fp->x237C = + fp->masterhandVars.x237C = func_802F0340(gobj, &sp10, &sp10, 0x15, 0x7D, fp->facing_dir); func_8000B1CC(fp->x5E8_fighterBones[26].x0_jobj, 0, &sp10); fp->x2380 = func_802F0340(gobj, &sp10, &sp10, 0x1A, 0x7D, fp->facing_dir); - fp->x2368 = func_800237A8(0x4E204, 0x7F, 0x40); - fp->x236C = func_800237A8(0x4E205, 0x7F, 0x40); - fp->x2370 = func_800237A8(0x4E206, 0x7F, 0x40); + fp->masterhandVars.x2368 = func_800237A8(0x4E204, 0x7F, 0x40); + fp->masterhandVars.x236C = func_800237A8(0x4E205, 0x7F, 0x40); + fp->masterhandVars.x2370 = func_800237A8(0x4E206, 0x7F, 0x40); fp->x2200_ftcmd_var0 = 0; } } @@ -147,10 +147,10 @@ void func_80152F80(HSD_GObj* gobj) Fighter* fp = gobj->user_data; Fighter_ActionStateChange_800693AC(gobj, 0x16B, 0, 0, 0.0f, 1.0f, 0.0f); func_8006EBA4(gobj); - func_800236B8(fp->x2368); - func_800236B8(fp->x236C); - func_800236B8(fp->x2370); - fp->x2368 = -1; - fp->x236C = -1; - fp->x2370 = -1; + func_800236B8(fp->masterhandVars.x2368); + func_800236B8(fp->masterhandVars.x236C); + func_800236B8(fp->masterhandVars.x2370); + fp->masterhandVars.x2368 = -1; + fp->masterhandVars.x236C = -1; + fp->masterhandVars.x2370 = -1; } diff --git a/src/melee/ft/chara/ftMasterHand/ftMasterHand_19.c b/src/melee/ft/chara/ftMasterHand/ftMasterHand_19.c index 96435a8b5..251761179 100644 --- a/src/melee/ft/chara/ftMasterHand/ftMasterHand_19.c +++ b/src/melee/ft/chara/ftMasterHand/ftMasterHand_19.c @@ -44,7 +44,7 @@ void lbl_80153B90(HSD_GObj* arg0) temp_r30 = temp_r31->x10C_ftData->ext_attr; Fighter_ActionStateChange_800693AC(arg0, 0x172, 0, 0, 0.0f, 1.0f, 0.0f); func_8006EBA4(arg0); - temp_r31->x2340_f32 = temp_r30->x6C; + temp_r31->masterhandVars.x2340_unk = temp_r30->x6C; func_8015C208(arg0, &sp10); temp_r31->xB0_pos.x = sp10.x; temp_r31->xB0_pos.y = temp_r30->x68; @@ -81,7 +81,7 @@ void lbl_80153CD4(HSD_GObj* gobj) Fighter* r4_fp; r4_fp = gobj->user_data; - if (--r4_fp->x2340_f32 > 0.0f) { + if (--r4_fp->masterhandVars.x2340_unk > 0.0f) { func_8015BF74( gobj, ((MasterHandAttributes*) r4_fp->x10C_ftData->ext_attr)->x58); } else { diff --git a/src/melee/ft/chara/ftMasterHand/ftMasterHand_20.c b/src/melee/ft/chara/ftMasterHand/ftMasterHand_20.c index 96f4988a4..5bdac06f1 100644 --- a/src/melee/ft/chara/ftMasterHand/ftMasterHand_20.c +++ b/src/melee/ft/chara/ftMasterHand/ftMasterHand_20.c @@ -38,7 +38,7 @@ void lbl_80153D2C(HSD_GObj* gobj) fp->x80_self_vel.y = 0.0f; fp->x80_self_vel.x = 0.0f; - fp->x2340_f32 = attr->x74; + fp->masterhandVars.x2340_unk = attr->x74; fp->x23B0 = attr->x7C; HSD_JObjGetScale(jobj, &scale); @@ -112,7 +112,7 @@ void lbl_80154158(HSD_GObj* gobj) u32 unk[2]; r3_fp = gobj->user_data; - if (--r3_fp->x2340_f32 > 0.0f) { + if (--r3_fp->masterhandVars.x2340_unk > 0.0f) { r4_attributes = r3_fp->x10C_ftData->ext_attr; func_8015BF74(gobj, r4_attributes->x58); } else { diff --git a/src/melee/ft/chara/ftMasterHand/ftMasterHand_21.c b/src/melee/ft/chara/ftMasterHand/ftMasterHand_21.c index a33a74d49..d665f9f84 100644 --- a/src/melee/ft/chara/ftMasterHand/ftMasterHand_21.c +++ b/src/melee/ft/chara/ftMasterHand/ftMasterHand_21.c @@ -18,5 +18,5 @@ void func_801541C8(HSD_GObj* gobj, void* arg1) r31_fp = gobj->user_data; Fighter_ActionStateChange_800693AC(gobj, 0x174, 0, 0, 0.0f, 1.0f, 0.0f); func_8006EBA4(gobj); - r31_fp->x2344_callback = arg1; + r31_fp->masterhandVars.x2344_callback = arg1; } diff --git a/src/melee/ft/chara/ftMasterHand/ftMasterHand_22.c b/src/melee/ft/chara/ftMasterHand/ftMasterHand_22.c index ac52bd99a..bf3da6de6 100644 --- a/src/melee/ft/chara/ftMasterHand/ftMasterHand_22.c +++ b/src/melee/ft/chara/ftMasterHand/ftMasterHand_22.c @@ -17,7 +17,7 @@ void lbl_80154230(HSD_GObj* gobj) if (!ftAnim_IsFramesRemaining(gobj)) { r4_fp = gobj->user_data; - (r4_fp->x2344_callback)(gobj); + (r4_fp->masterhandVars.x2344_callback)(gobj); } } @@ -54,7 +54,7 @@ void func_801542E0(HSD_GObj* gobj) Fighter_ActionStateChange_800693AC( gobj, 0x175, 0, 0, r31_fp->x894_currentAnimFrame, 1.0f, 0.0f); ftAnim_SetAnimRate(gobj, r30_attributes->x110_pos.y); - r31_fp->x2348_stateVar3 = (s32) r30_attributes->x110_pos.x; + r31_fp->masterhandVars.x2348 = (s32) r30_attributes->x110_pos.x; } // 80154360 150F40 @@ -67,9 +67,9 @@ void lbl_80154360(HSD_GObj* gobj) u32 temp_r0; temp_r4 = gobj->user_data; - temp_r0 = temp_r4->x2348_stateVar3 - 1; + temp_r0 = temp_r4->masterhandVars.x2348 - 1; temp_cr0_eq = temp_r0 == 0U; - temp_r4->x2348_stateVar3 = temp_r0; + temp_r4->masterhandVars.x2348 = temp_r0; if (temp_cr0_eq) { ftAnim_SetAnimRate(gobj, 1.0f); func_801545A0(gobj); @@ -163,7 +163,7 @@ void func_801545A0(HSD_GObj* gobj) Fighter_ActionStateChange_800693AC(gobj, 0x176, 0, 0, 0.0f, 1.0f, 0.0f); func_8006EBA4(gobj); func_8007E2D0(temp_r31, 0x80U, &lbl_80154A2C, 0U, &lbl_80155A58); - temp_r31->x2360 = 0; + temp_r31->masterhandVars.x2360 = 0; } // 80154620 151200 @@ -216,9 +216,9 @@ void func_801546D8(HSD_GObj* gobj) temp_r30 = r31_fp->x10C_ftData->ext_attr; Fighter_ActionStateChange_800693AC(gobj, 0x17D, 0, 0, 0.0f, 1.0f, 0.0f); func_8006EBA4(gobj); - r31_fp->x234C_pos.x = temp_r30->x30_pos2.x; - r31_fp->x234C_pos.y = temp_r30->x30_pos2.y; - r31_fp->x234C_pos.z = 0.0f; + r31_fp->masterhandVars.x234C_pos.x = temp_r30->x30_pos2.x; + r31_fp->masterhandVars.x234C_pos.y = temp_r30->x30_pos2.y; + r31_fp->masterhandVars.x234C_pos.z = 0.0f; } // 80154758 151338 @@ -249,8 +249,9 @@ void lbl_801547D8(HSD_GObj* gobj) r31_fp = gobj->user_data; r30_attributes = r31_fp->x10C_ftData->ext_attr; func_80085134(gobj); - func_8015BE40(gobj, &r31_fp->x234C_pos, &r31_fp->x2358_stateVar7, - r30_attributes->x2C, r30_attributes->x28); + func_8015BE40(gobj, &r31_fp->masterhandVars.x234C_pos, + &r31_fp->masterhandVars.x2358, r30_attributes->x2C, + r30_attributes->x28); } // 80154838 151418 @@ -270,14 +271,14 @@ void func_8015483C(HSD_GObj* gobj) r30_attributes = r31_fp->x10C_ftData->ext_attr; Fighter_ActionStateChange_800693AC(gobj, 0x177, 0, 0, 0.0f, 1.0f, 0.0f); func_8006EBA4(gobj); - r31_fp->x2364 = r30_attributes->x120; + r31_fp->masterhandVars.x2364 = r30_attributes->x120; r31_fp->x2200_ftcmd_var0 = 1; r31_fp->x80_self_vel.x = 0.0f; r31_fp->x80_self_vel.y = 0.0f; r31_fp->x80_self_vel.z = 0.0f; - r31_fp->x234C_pos.x = r30_attributes->x30_pos2.x; - r31_fp->x234C_pos.y = r30_attributes->x30_pos2.y; - r31_fp->x234C_pos.z = 0.0f; + r31_fp->masterhandVars.x234C_pos.x = r30_attributes->x30_pos2.x; + r31_fp->masterhandVars.x234C_pos.y = r30_attributes->x30_pos2.y; + r31_fp->masterhandVars.x234C_pos.z = 0.0f; } // 801548D8 1514B8 @@ -286,9 +287,9 @@ void lbl_801548D8(HSD_GObj* gobj) { Fighter* r31_fp = gobj->user_data; - if (--r31_fp->x2364 <= 0.0f && r31_fp->x2200_ftcmd_var0) { + if (--r31_fp->masterhandVars.x2364 <= 0.0f && r31_fp->x2200_ftcmd_var0) { func_80155D1C(r31_fp->x1A58_interactedFighter); - r31_fp->x2360 = 0; + r31_fp->masterhandVars.x2360 = 0; r31_fp->x2200_ftcmd_var0 = 0; } if (!ftAnim_IsFramesRemaining(gobj)) { @@ -315,8 +316,9 @@ void lbl_801549A8(HSD_GObj* arg0) temp_r31 = arg0->user_data; temp_r30 = temp_r31->x10C_ftData->ext_attr; func_80085134(arg0); - func_8015BE40(arg0, &temp_r31->x234C_pos, &temp_r31->x2358_stateVar7, - temp_r30->x2C, temp_r30->x28); + func_8015BE40(arg0, &temp_r31->masterhandVars.x234C_pos, + &temp_r31->masterhandVars.x2358, temp_r30->x2C, + temp_r30->x28); } // 80154A08 1515E8 @@ -327,7 +329,7 @@ void lbl_80154A08(HSD_GObj* arg0) Fighter* temp_r3; temp_r3 = arg0->user_data; - if (temp_r3->x2358_stateVar7 == 0.0f) { + if (temp_r3->masterhandVars.x2358 == 0.0f) { temp_r3->x80_self_vel.z = 0.0f; temp_r3->x80_self_vel.y = 0.0f; temp_r3->x80_self_vel.x = 0.0f; @@ -345,7 +347,7 @@ void lbl_80154A2C(HSD_GObj* arg0) temp_r5->x80_self_vel.z = 0.0f; temp_r5->x80_self_vel.y = 0.0f; temp_r5->x80_self_vel.x = 0.0f; - temp_r5->x2360 = 1; + temp_r5->masterhandVars.x2360 = 1; temp_r5->x221E_flag.bits.b6 = 0; func_80154C78(arg0); } diff --git a/src/melee/ft/chara/ftMasterHand/ftMasterHand_23.c b/src/melee/ft/chara/ftMasterHand/ftMasterHand_23.c index f91d128f5..74fca775b 100644 --- a/src/melee/ft/chara/ftMasterHand/ftMasterHand_23.c +++ b/src/melee/ft/chara/ftMasterHand/ftMasterHand_23.c @@ -24,9 +24,9 @@ void func_80154A78(HSD_GObj* gobj) func_8007E2F4(fp, 0x1FFU); func_8007E2FC(gobj); func_80155B80(fp->x1A58_interactedFighter); - fp->x234C_pos.x = attr->x118_pos.x; - fp->x234C_pos.y = attr->x118_pos.y; - fp->x234C_pos.z = 0.0f; + fp->masterhandVars.x234C_pos.x = attr->x118_pos.x; + fp->masterhandVars.x234C_pos.y = attr->x118_pos.y; + fp->masterhandVars.x234C_pos.z = 0.0f; } // 80154B2C 15170C @@ -69,8 +69,8 @@ void lbl_80154BF4(HSD_GObj* gobj) fp = gobj->user_data; attr = fp->x10C_ftData->ext_attr; func_80085134(gobj); - func_8015BE40(gobj, &fp->x234C_pos, &fp->x2358_stateVar7, attr->x2C, - attr->x28); + func_8015BE40(gobj, &fp->masterhandVars.x234C_pos, + &fp->masterhandVars.x2358, attr->x2C, attr->x28); } // 80154C54 151834 @@ -81,7 +81,7 @@ void lbl_80154C54(HSD_GObj* gobj) Fighter* fp; fp = gobj->user_data; - if (fp->x2358_stateVar7 == 0.0f) { + if (fp->masterhandVars.x2358 == 0.0f) { fp->x80_self_vel.z = 0.0f; fp->x80_self_vel.y = 0.0f; fp->x80_self_vel.x = 0.0f; diff --git a/src/melee/ft/chara/ftMasterHand/ftMasterHand_24.c b/src/melee/ft/chara/ftMasterHand/ftMasterHand_24.c index ffd06ab23..e80d4933e 100644 --- a/src/melee/ft/chara/ftMasterHand/ftMasterHand_24.c +++ b/src/melee/ft/chara/ftMasterHand/ftMasterHand_24.c @@ -13,9 +13,9 @@ void func_80154C78(HSD_GObj* arg0) temp_r30 = temp_r31->x10C_ftData->ext_attr; Fighter_ActionStateChange_800693AC(arg0, 0x178, 0, 0, 0.0f, 1.0f, 0.0f); func_8006EBA4(arg0); - temp_r31->x234C_pos.x = temp_r30->x118_pos.x; - temp_r31->x234C_pos.y = temp_r30->x118_pos.y; - temp_r31->x234C_pos.z = 0.0f; + temp_r31->masterhandVars.x234C_pos.x = temp_r30->x118_pos.x; + temp_r31->masterhandVars.x234C_pos.y = temp_r30->x118_pos.y; + temp_r31->masterhandVars.x234C_pos.z = 0.0f; } // 80154CF8 1518D8 @@ -29,7 +29,7 @@ void func_80154CF8(HSD_GObj* gobj, Fighter* fp) temp_r30 = temp_r31->x10C_ftData->ext_attr; Fighter_ActionStateChange_800693AC(gobj, 0x179, 0, 0, 0.0f, 1.0f, 0.0f); func_8006EBA4(gobj); - temp_r31->x234C_pos.x = temp_r30->x30_pos2.x; - temp_r31->x234C_pos.y = temp_r30->x30_pos2.y; - temp_r31->x234C_pos.z = 0.0f; + temp_r31->masterhandVars.x234C_pos.x = temp_r30->x30_pos2.x; + temp_r31->masterhandVars.x234C_pos.y = temp_r30->x30_pos2.y; + temp_r31->masterhandVars.x234C_pos.z = 0.0f; } diff --git a/src/melee/ft/chara/ftMasterHand/ftMasterHand_25.c b/src/melee/ft/chara/ftMasterHand/ftMasterHand_25.c index aaa65b018..364691bf0 100644 --- a/src/melee/ft/chara/ftMasterHand/ftMasterHand_25.c +++ b/src/melee/ft/chara/ftMasterHand/ftMasterHand_25.c @@ -17,7 +17,7 @@ void lbl_80154D78(HSD_GObj* gobj) if (!ftAnim_IsFramesRemaining(gobj)) { Fighter* fp = gobj->user_data; - if (fp->x2360 == 1) + if (fp->masterhandVars.x2360 == 1) func_80154A78(gobj); else func_801546D8(gobj); @@ -41,8 +41,8 @@ void lbl_80154E14(HSD_GObj* gobj) MasterHandAttributes* attr = fp->x10C_ftData->ext_attr; func_80085134(gobj); - func_8015BE40(gobj, &fp->x234C_pos, &fp->x2358_stateVar7, attr->x2C, - attr->x28); + func_8015BE40(gobj, &fp->masterhandVars.x234C_pos, + &fp->masterhandVars.x2358, attr->x2C, attr->x28); } // 80154E74 151A54 @@ -85,7 +85,7 @@ void lbl_80154ED8(HSD_GObj* gobj) ft_2->dmg.x1844_direction *= -1.0f; func_800DE7C0(gobj_2, 0, 0); } - fp->x2360 = 0; + fp->masterhandVars.x2360 = 0; } if (!ftAnim_IsFramesRemaining(gobj)) { func_80151018(gobj); diff --git a/src/melee/ft/chara/ftMasterHand/ftMasterHand_27.c b/src/melee/ft/chara/ftMasterHand/ftMasterHand_27.c index a3b098555..49f25c3cf 100644 --- a/src/melee/ft/chara/ftMasterHand/ftMasterHand_27.c +++ b/src/melee/ft/chara/ftMasterHand/ftMasterHand_27.c @@ -26,7 +26,7 @@ void lbl_80155074(HSD_GObj* gobj) func_800DE2A8(gobj, gobj_2); func_800DE7C0(gobj_2, 0, 0); } - fp->x2360 = 0; + fp->masterhandVars.x2360 = 0; } if (!ftAnim_IsFramesRemaining(gobj)) { func_80151018(gobj); diff --git a/src/melee/ft/chara/ftMasterHand/ftMasterHand_30.c b/src/melee/ft/chara/ftMasterHand/ftMasterHand_30.c index 2b975d3e9..68e7d917e 100644 --- a/src/melee/ft/chara/ftMasterHand/ftMasterHand_30.c +++ b/src/melee/ft/chara/ftMasterHand/ftMasterHand_30.c @@ -167,7 +167,7 @@ void lbl_80155904(HSD_GObj* gobj) void lbl_80155908(HSD_GObj* gobj) { Fighter* fp = gobj->user_data; - if ((--fp->x2364 <= 0.0f) && (fp->x2200_ftcmd_var0 != 0)) { + if ((--fp->masterhandVars.x2364 <= 0.0f) && (fp->x2200_ftcmd_var0 != 0)) { func_80155D1C(fp->x1A58_interactedFighter); fp->x2200_ftcmd_var0 = 0; } @@ -191,8 +191,8 @@ void lbl_801559D4(HSD_GObj* gobj) Fighter* fp = gobj->user_data; MasterHandAttributes* attr = fp->x10C_ftData->ext_attr; func_80085134(gobj); - func_8015BE40(gobj, &fp->x234C_pos, &fp->x2358_stateVar7, attr->x2C, - attr->x28); + func_8015BE40(gobj, &fp->masterhandVars.x234C_pos, + &fp->masterhandVars.x2358, attr->x2C, attr->x28); } // 80155A34 152614 @@ -201,7 +201,7 @@ void lbl_80155A34(HSD_GObj* gobj) { Fighter* fp = gobj->user_data; - if (fp->x2358_stateVar7 == 0.0f) { + if (fp->masterhandVars.x2358 == 0.0f) { fp->x80_self_vel.z = 0.0f; fp->x80_self_vel.y = 0.0f; fp->x80_self_vel.x = 0.0f; diff --git a/src/melee/ft/chara/ftMasterHand/ftMasterhand_StateVars.h b/src/melee/ft/chara/ftMasterHand/ftMasterhand_StateVars.h new file mode 100644 index 000000000..cbe83a3fd --- /dev/null +++ b/src/melee/ft/chara/ftMasterHand/ftMasterhand_StateVars.h @@ -0,0 +1,25 @@ +#ifndef FTMASTERHAND_STATEVARS_H +#define FTMASTERHAND_STATEVARS_H + +#include +#include + +typedef struct ftMasterhandStateVars { + f32 x2340_unk; + void (*x2344_callback)(HSD_GObj*); + int x2348; + Vec3 x234C_pos; + f32 x2358; + f32 x235C; + int x2360; + f32 x2364; + int x2368; + int x236C; + int x2370; + int x2374; + int x2378; + int x237C; + int x2380; +} ftMasterhandStateVars; + +#endif diff --git a/src/melee/ft/chara/ftMewtwo/ftMewtwo_SpecialHi.c b/src/melee/ft/chara/ftMewtwo/ftMewtwo_SpecialHi.c index df1b5e8e3..46d1d3043 100644 --- a/src/melee/ft/chara/ftMewtwo/ftMewtwo_SpecialHi.c +++ b/src/melee/ft/chara/ftMewtwo/ftMewtwo_SpecialHi.c @@ -69,7 +69,7 @@ void ftMewtwo_SpecialHi_StartAction(HSD_GObj* fighter_gobj) func_8006EBA4(fighter_gobj); fp->x2200_ftcmd_var0 = 0; - fp->mewtwoVars[0].SpecialHi.unk4 = 0; + fp->mewtwoVars.SpecialHi.unk4 = 0; fp->cb.x21BC_callback_Accessory4 = ftMewtwo_SpecialHi_CreateGFX; } @@ -91,7 +91,7 @@ void ftMewtwo_SpecialAirHi_StartAction(HSD_GObj* fighter_gobj) func_8006EBA4(fighter_gobj); fp->x2200_ftcmd_var0 = 0; - fp->mewtwoVars[0].SpecialHi.unk4 = 0; + fp->mewtwoVars.SpecialHi.unk4 = 0; fp->cb.x21BC_callback_Accessory4 = ftMewtwo_SpecialHi_CreateGFX; } @@ -210,8 +210,8 @@ void ftMewtwo_SpecialHi_Anim(HSD_GObj* fighter_gobj) { Fighter* fp = GET_FIGHTER(fighter_gobj); - fp->mewtwoVars[0].SpecialHi.travelFrames--; - if (fp->mewtwoVars[0].SpecialHi.travelFrames <= 0) { + fp->mewtwoVars.SpecialHi.travelFrames--; + if (fp->mewtwoVars.SpecialHi.travelFrames <= 0) { ftMewtwo_SpecialHiLost_Action(fighter_gobj); } } @@ -223,8 +223,8 @@ void ftMewtwo_SpecialAirHi_Anim(HSD_GObj* fighter_gobj) { Fighter* fp = GET_FIGHTER(fighter_gobj); - fp->mewtwoVars[0].SpecialHi.travelFrames--; - if (fp->mewtwoVars[0].SpecialHi.travelFrames <= 0) { + fp->mewtwoVars.SpecialHi.travelFrames--; + if (fp->mewtwoVars.SpecialHi.travelFrames <= 0) { ftMewtwo_SpecialAirHiLost_Action(fighter_gobj); } } @@ -285,7 +285,7 @@ bool ftMewtwo_SpecialHi_CheckTimer(HSD_GObj* fighter_gobj) Fighter* fp = GET_FIGHTER(fighter_gobj); ftMewtwoAttributes* mewtwoAttrs = fp->x2D4_specialAttributes; - if ((f32) fp->mewtwoVars[0].SpecialHi.unk4 >= + if ((f32) fp->mewtwoVars.SpecialHi.unk4 >= mewtwoAttrs->x54_MEWTWO_TELEPORT_UNK2) { return true; @@ -308,7 +308,7 @@ void ftMewtwo_SpecialAirHi_Coll(HSD_GObj* fighter_gobj) u32 envFlags; u32 var; - fp->mewtwoVars[0].SpecialHi.unk4++; + fp->mewtwoVars.SpecialHi.unk4++; if (EnvColl_CheckGroundAndLedge(fighter_gobj, CLIFFCATCH_O(fp)) != false) { if (ftMewtwo_SpecialHi_CheckTimer(fighter_gobj) != false) { ftMewtwo_SpecialAirHi_AirToGround(fighter_gobj); @@ -384,7 +384,7 @@ static inline void ftMewtwo_SpecialHi_SetVars(HSD_GObj* fighter_gobj) fp = GET_FIGHTER(fighter_gobj); fp = GET_FIGHTER(fighter_gobj); - fp->mewtwoVars[0].SpecialHi.travelFrames = + fp->mewtwoVars.SpecialHi.travelFrames = (s32) mewtwoAttrs->x50_MEWTWO_TELEPORT_DURATION; fp->x1968_jumpsUsed = fp->x110_attr.x168_MaxJumps; @@ -446,8 +446,8 @@ void ftMewtwo_SpecialHi_Action(HSD_GObj* fighter_gobj) vel = atan2f(fp->input.x624_lstick_y, fp->input.x620_lstick_x * fp->facing_dir); - fp->mewtwoVars[0].SpecialHi.stickX = stickVec.x; - fp->mewtwoVars[0].SpecialHi.stickY = stickVec.y; + fp->mewtwoVars.SpecialHi.stickX = stickVec.x; + fp->mewtwoVars.SpecialHi.stickY = stickVec.y; fp->xEC_ground_vel = fp->facing_dir * (((mewtwoAttrs->x5C_MEWTWO_TELEPORT_MOMENTUM * sqrt_stick) + @@ -508,13 +508,13 @@ void ftMewtwo_SpecialAirHi_Action(HSD_GObj* fighter_gobj) floatVar = atan2f(fp->input.x624_lstick_y, fp->input.x620_lstick_x * fp->facing_dir); - fp->mewtwoVars[0].SpecialHi.stickX = fp->input.x620_lstick_x; - fp->mewtwoVars[0].SpecialHi.stickY = fp->input.x624_lstick_y; + fp->mewtwoVars.SpecialHi.stickX = fp->input.x620_lstick_x; + fp->mewtwoVars.SpecialHi.stickY = fp->input.x624_lstick_y; } else { func_8007DA24(fp); floatVar = (f32) M_PI_2; - fp->mewtwoVars[0].SpecialHi.stickX = 0.0f; - sqrt_stick = fp->mewtwoVars[0].SpecialHi.stickY = 1.0f; + fp->mewtwoVars.SpecialHi.stickX = 0.0f; + sqrt_stick = fp->mewtwoVars.SpecialHi.stickY = 1.0f; } fp->x80_self_vel.x = @@ -645,9 +645,9 @@ void ftMewtwo_SpecialHiLost_GroundToAir(HSD_GObj* fighter_gobj) static inline void ftMewtwo_SpecialHiLost_SetVars(HSD_GObj* fighter_gobj) { Fighter* fp = GET_FIGHTER(fighter_gobj); - fp->mewtwoVars[0].SpecialHi.velX = fp->x80_self_vel.x; - fp->mewtwoVars[0].SpecialHi.velY = (f32) fp->x80_self_vel.y; - fp->mewtwoVars[0].SpecialHi.groundVelX = (f32) fp->xEC_ground_vel; + fp->mewtwoVars.SpecialHi.velX = fp->x80_self_vel.x; + fp->mewtwoVars.SpecialHi.velY = (f32) fp->x80_self_vel.y; + fp->mewtwoVars.SpecialHi.groundVelX = (f32) fp->xEC_ground_vel; fp->x80_self_vel.y = 0.0f; fp->x80_self_vel.x = 0.0f; fp->xEC_ground_vel = 0.0f; @@ -669,7 +669,7 @@ void ftMewtwo_SpecialHiLost_Action(HSD_GObj* fighter_gobj) ftMewtwo_SpecialHiLost_SetVars(fighter_gobj); - fp->xEC_ground_vel = fp->mewtwoVars[0].SpecialHi.groundVelX * + fp->xEC_ground_vel = fp->mewtwoVars.SpecialHi.groundVelX * mewtwoAttrs->x6C_MEWTWO_TELEPORT_MOMENTUM_END_MUL; } @@ -687,8 +687,8 @@ void ftMewtwo_SpecialAirHiLost_Action(HSD_GObj* fighter_gobj) ftMewtwo_SpecialHiLost_SetVars(fighter_gobj); - fp->x80_self_vel.x = fp->mewtwoVars[0].SpecialHi.velX * + fp->x80_self_vel.x = fp->mewtwoVars.SpecialHi.velX * mewtwoAttrs->x6C_MEWTWO_TELEPORT_MOMENTUM_END_MUL; - fp->x80_self_vel.y = fp->mewtwoVars[0].SpecialHi.velY * + fp->x80_self_vel.y = fp->mewtwoVars.SpecialHi.velY * mewtwoAttrs->x6C_MEWTWO_TELEPORT_MOMENTUM_END_MUL; } diff --git a/src/melee/ft/chara/ftMewtwo/ftMewtwo_SpecialN.c b/src/melee/ft/chara/ftMewtwo/ftMewtwo_SpecialN.c index 3791bbbf8..8a1239e64 100644 --- a/src/melee/ft/chara/ftMewtwo/ftMewtwo_SpecialN.c +++ b/src/melee/ft/chara/ftMewtwo/ftMewtwo_SpecialN.c @@ -312,41 +312,40 @@ void ftMewtwo_SpecialN_PlayChargeSFX(HSD_GObj* fighter_gobj) } else { chargeLevel = 0.0f; } - if (fp->mewtwoVars[0].SpecialN.chargeLevel > 0.0f) { + if (fp->mewtwoVars.SpecialN.chargeLevel > 0.0f) { if ((chargeLevel > 0.75f) && - (fp->mewtwoVars[0].SpecialN.chargeLevel <= 0.75f)) + (fp->mewtwoVars.SpecialN.chargeLevel <= 0.75f)) { - fp->mewtwoVars[0].SpecialN.chargeLevel = chargeLevel; + fp->mewtwoVars.SpecialN.chargeLevel = chargeLevel; func_80088510(fp, shadowBallSFX[3], SFX_VOLUME_MAX, SFX_PAN_MID); return; } if ((chargeLevel > 0.5f) && - (fp->mewtwoVars[0].SpecialN.chargeLevel <= 0.5f)) + (fp->mewtwoVars.SpecialN.chargeLevel <= 0.5f)) { - fp->mewtwoVars[0].SpecialN.chargeLevel = chargeLevel; + fp->mewtwoVars.SpecialN.chargeLevel = chargeLevel; func_80088510(fp, shadowBallSFX[2], SFX_VOLUME_MAX, SFX_PAN_MID); return; } if ((chargeLevel > 0.25f) && - (fp->mewtwoVars[0].SpecialN.chargeLevel <= 0.25f)) + (fp->mewtwoVars.SpecialN.chargeLevel <= 0.25f)) { - fp->mewtwoVars[0].SpecialN.chargeLevel = chargeLevel; + fp->mewtwoVars.SpecialN.chargeLevel = chargeLevel; func_80088510(fp, shadowBallSFX[1], SFX_VOLUME_MAX, SFX_PAN_MID); return; } if ((chargeLevel > 0.0f) && - (fp->mewtwoVars[0].SpecialN.chargeLevel <= 0.0f)) + (fp->mewtwoVars.SpecialN.chargeLevel <= 0.0f)) { - fp->mewtwoVars[0].SpecialN.chargeLevel = chargeLevel; + fp->mewtwoVars.SpecialN.chargeLevel = chargeLevel; func_80088510(fp, shadowBallSFX[0], SFX_VOLUME_MAX, SFX_PAN_MID); } } else { - fp->mewtwoVars[0].SpecialN.chargeLevel = - (f32) 9.999999747378752e-5f; + fp->mewtwoVars.SpecialN.chargeLevel = (f32) 9.999999747378752e-5f; func_80088510(fp, shadowBallSFX[0], SFX_VOLUME_MAX, SFX_PAN_MID); } } @@ -382,14 +381,14 @@ inline void ftMewtwo_SpecialN_ChangeAction(HSD_GObj* fighter_gobj) ftMewtwo_SpecialN_SetCall(fighter_gobj); - fp->mewtwoVars[0].SpecialN.isFull = false; - fp->mewtwoVars[0].SpecialN.x2344 = (u32) 0; + fp->mewtwoVars.SpecialN.isFull = false; + fp->mewtwoVars.SpecialN.x2344 = (u32) 0; if ((s32) fp->sa.mewtwo.x2234_shadowBallCharge == 0) { releaseLag = mewtwoAttrs->x10_MEWTWO_SHADOWBALL_RELEASE_LAG; } - fp->mewtwoVars[0].SpecialN.releaseLag = releaseLag; - fp->mewtwoVars[0].SpecialN.chargeLevel = 0.0f; + fp->mewtwoVars.SpecialN.releaseLag = releaseLag; + fp->mewtwoVars.SpecialN.chargeLevel = 0.0f; func_8006EBA4(fighter_gobj); } @@ -420,15 +419,15 @@ inline void ftMewtwo_SpecialAirN_ChangeAction(HSD_GObj* fighter_gobj) ftMewtwo_SpecialN_SetCall(fighter_gobj); - fp->mewtwoVars[0].SpecialN.isFull = false; - fp->mewtwoVars[0].SpecialN.x2344 = (u32) 0; + fp->mewtwoVars.SpecialN.isFull = false; + fp->mewtwoVars.SpecialN.x2344 = (u32) 0; if ((s32) fp->sa.mewtwo.x2234_shadowBallCharge == 0) { releaseLag = mewtwoAttrs->x10_MEWTWO_SHADOWBALL_RELEASE_LAG; } - fp->mewtwoVars[0].SpecialN.releaseLag = releaseLag; - fp->mewtwoVars[0].SpecialN.chargeLevel = 0.0f; + fp->mewtwoVars.SpecialN.releaseLag = releaseLag; + fp->mewtwoVars.SpecialN.chargeLevel = 0.0f; fp->x80_self_vel.y *= 0.5f; @@ -474,7 +473,7 @@ void ftMewtwo_SpecialNStart_Anim(HSD_GObj* fighter_gobj) } } if (!ftAnim_IsFramesRemaining(fighter_gobj)) { - if (((s32) fp->mewtwoVars[0].SpecialN.isFull == true) || + if (((s32) fp->mewtwoVars.SpecialN.isFull == true) || ((f32) fp->sa.mewtwo.x2234_shadowBallCharge == mewtwoAttrs->x0_MEWTWO_SHADOWBALL_CHARGE_CYCLES)) { @@ -485,7 +484,7 @@ void ftMewtwo_SpecialNStart_Anim(HSD_GObj* fighter_gobj) Fighter_ActionStateChange_800693AC(fighter_gobj, AS_MEWTWO_SPECIALN_LOOP, 0, NULL, 0.0f, 1.0f, 0.0f); - fp->mewtwoVars[0].SpecialN.x2348 = false; + fp->mewtwoVars.SpecialN.x2348 = false; } ftMewtwo_SpecialN_SetCall(fighter_gobj); } @@ -534,17 +533,17 @@ void ftMewtwo_SpecialNLoop_Anim(HSD_GObj* fighter_gobj) sp34 = shadowBallPos; - fp->mewtwoVars[0].SpecialN.releaseLag--; - if (fp->mewtwoVars[0].SpecialN.releaseLag <= 0) { - fp->mewtwoVars[0].SpecialN.releaseLag = 0; + fp->mewtwoVars.SpecialN.releaseLag--; + if (fp->mewtwoVars.SpecialN.releaseLag <= 0) { + fp->mewtwoVars.SpecialN.releaseLag = 0; ftMewtwo_SpecialN_CreateHeldShadow(fighter_gobj, &sp28, &sp1C); ftMewtwo_SpecialN_PlayChargeSFX(fighter_gobj); - if ((s32) fp->mewtwoVars[0].SpecialN.x2348 == false) { - fp->mewtwoVars[0].SpecialN.x2344++; - if ((s32) fp->mewtwoVars[0].SpecialN.x2344 > + if ((s32) fp->mewtwoVars.SpecialN.x2348 == false) { + fp->mewtwoVars.SpecialN.x2344++; + if ((s32) fp->mewtwoVars.SpecialN.x2344 > (s32) mewtwoAttrs->xC_MEWTWO_SHADOWBALL_CHARGE_ITERATIONS) { - fp->mewtwoVars[0].SpecialN.x2344 = 0; + fp->mewtwoVars.SpecialN.x2344 = 0; fp->sa.mewtwo.x2234_shadowBallCharge++; if ((f32) fp->sa.mewtwo.x2234_shadowBallCharge >= mewtwoAttrs->x0_MEWTWO_SHADOWBALL_CHARGE_CYCLES) @@ -555,7 +554,7 @@ void ftMewtwo_SpecialNLoop_Anim(HSD_GObj* fighter_gobj) fp->x894_currentAnimFrame, 1.0f, 0.0f); fp->sa.mewtwo.x2234_shadowBallCharge = (s32) mewtwoAttrs->x0_MEWTWO_SHADOWBALL_CHARGE_CYCLES; - fp->mewtwoVars[0].SpecialN.x2348 = true; + fp->mewtwoVars.SpecialN.x2348 = true; func_8007EBAC(fp, 0xCU, 0U); func_8000B1CC(fp->x5E8_fighterBones[0].x0_jobj, &sp34, &sp40); @@ -574,7 +573,7 @@ void ftMewtwo_SpecialNFull_Anim(HSD_GObj* fighter_gobj) Fighter* fp = fp = getFighter(fighter_gobj); ftMewtwoAttributes* mewtwoAttrs = mewtwoAttrs = getFtSpecialAttrsD(fp); - fp->mewtwoVars[0].SpecialN.x2348 = true; + fp->mewtwoVars.SpecialN.x2348 = true; fp->sa.mewtwo.x2234_shadowBallCharge = mewtwoAttrs->x0_MEWTWO_SHADOWBALL_CHARGE_CYCLES; } @@ -652,9 +651,9 @@ void ftMewtwo_SpecialAirNStart_Anim(HSD_GObj* fighter_gobj) fp->sa.mewtwo.x2230_shadowHeldGObj = NULL; } } - fp->mewtwoVars[0].SpecialN.isFull = false; + fp->mewtwoVars.SpecialN.isFull = false; if (!ftAnim_IsFramesRemaining(fighter_gobj)) { - if (((s32) fp->mewtwoVars[0].SpecialN.isFull == true) || + if (((s32) fp->mewtwoVars.SpecialN.isFull == true) || ((f32) fp->sa.mewtwo.x2234_shadowBallCharge == mewtwoAttrs->x0_MEWTWO_SHADOWBALL_CHARGE_CYCLES)) { @@ -665,7 +664,7 @@ void ftMewtwo_SpecialAirNStart_Anim(HSD_GObj* fighter_gobj) Fighter_ActionStateChange_800693AC(fighter_gobj, AS_MEWTWO_SPECIALAIRN_LOOP, 0, NULL, 0.0f, 1.0f, 0.0f); - fp->mewtwoVars[0].SpecialN.x2348 = false; + fp->mewtwoVars.SpecialN.x2348 = false; } ftMewtwo_SpecialN_SetCall(fighter_gobj); } @@ -687,17 +686,17 @@ void ftMewtwo_SpecialAirNLoop_Anim(HSD_GObj* fighter_gobj) sp34 = shadowBallPos; - fp->mewtwoVars[0].SpecialN.releaseLag--; - if (fp->mewtwoVars[0].SpecialN.releaseLag <= 0) { - fp->mewtwoVars[0].SpecialN.releaseLag = 0; + fp->mewtwoVars.SpecialN.releaseLag--; + if (fp->mewtwoVars.SpecialN.releaseLag <= 0) { + fp->mewtwoVars.SpecialN.releaseLag = 0; ftMewtwo_SpecialN_CreateHeldShadow(fighter_gobj, &sp28, &sp1C); ftMewtwo_SpecialN_PlayChargeSFX(fighter_gobj); - if ((s32) fp->mewtwoVars[0].SpecialN.x2348 == false) { - fp->mewtwoVars[0].SpecialN.x2344++; - if ((s32) fp->mewtwoVars[0].SpecialN.x2344 > + if ((s32) fp->mewtwoVars.SpecialN.x2348 == false) { + fp->mewtwoVars.SpecialN.x2344++; + if ((s32) fp->mewtwoVars.SpecialN.x2344 > (s32) mewtwoAttrs->xC_MEWTWO_SHADOWBALL_CHARGE_ITERATIONS) { - fp->mewtwoVars[0].SpecialN.x2344 = 0; + fp->mewtwoVars.SpecialN.x2344 = 0; fp->sa.mewtwo.x2234_shadowBallCharge++; if ((f32) fp->sa.mewtwo.x2234_shadowBallCharge >= mewtwoAttrs->x0_MEWTWO_SHADOWBALL_CHARGE_CYCLES) @@ -708,7 +707,7 @@ void ftMewtwo_SpecialAirNLoop_Anim(HSD_GObj* fighter_gobj) fp->x894_currentAnimFrame, 1.0f, 0.0f); fp->sa.mewtwo.x2234_shadowBallCharge = (s32) mewtwoAttrs->x0_MEWTWO_SHADOWBALL_CHARGE_CYCLES; - fp->mewtwoVars[0].SpecialN.x2348 = 1; + fp->mewtwoVars.SpecialN.x2348 = 1; func_8007EBAC(fp, 0xCU, 0U); func_8000B1CC(fp->x5E8_fighterBones[0].x0_jobj, &sp34, @@ -728,7 +727,7 @@ void ftMewtwo_SpecialAirNFull_Anim(HSD_GObj* fighter_gobj) Fighter* fp = fp = getFighter(fighter_gobj); ftMewtwoAttributes* mewtwoAttrs = mewtwoAttrs = getFtSpecialAttrsD(fp); - fp->mewtwoVars[0].SpecialN.x2348 = false; + fp->mewtwoVars.SpecialN.x2348 = false; fp->sa.mewtwo.x2234_shadowBallCharge = mewtwoAttrs->x0_MEWTWO_SHADOWBALL_CHARGE_CYCLES; } @@ -789,7 +788,7 @@ void ftMewtwo_SpecialNLoop_IASA(HSD_GObj* fighter_gobj) } else { recentInput = fp->input.x668; if ((recentInput & HSD_BUTTON_A) && - (fp->mewtwoVars[0].SpecialN.releaseLag <= 0)) + (fp->mewtwoVars.SpecialN.releaseLag <= 0)) { Fighter_ActionStateChange_800693AC(fighter_gobj, AS_MEWTWO_SPECIALN_END, 0, NULL, @@ -798,7 +797,7 @@ void ftMewtwo_SpecialNLoop_IASA(HSD_GObj* fighter_gobj) return; } if ((recentInput & HSD_BUTTON_B) != false) { - if (fp->mewtwoVars[0].SpecialN.releaseLag <= 0) { + if (fp->mewtwoVars.SpecialN.releaseLag <= 0) { Fighter_ActionStateChange_800693AC(fighter_gobj, AS_MEWTWO_SPECIALN_END, 0, NULL, 0.0f, 1.0f, 0.0f); @@ -882,7 +881,7 @@ void ftMewtwo_SpecialAirNLoop_IASA(HSD_GObj* fighter_gobj) recentInput = fp->input.x668; if (((recentInput & HSD_BUTTON_A) != false) && - (fp->mewtwoVars[0].SpecialN.releaseLag <= 0)) + (fp->mewtwoVars.SpecialN.releaseLag <= 0)) { Fighter_ActionStateChange_800693AC( fighter_gobj, AS_MEWTWO_SPECIALAIRN_END, 0, NULL, 0.0f, 1.0f, 0.0f); @@ -890,7 +889,7 @@ void ftMewtwo_SpecialAirNLoop_IASA(HSD_GObj* fighter_gobj) return; } if ((recentInput & HSD_BUTTON_B) != false) { - if (fp->mewtwoVars[0].SpecialN.releaseLag <= 0) { + if (fp->mewtwoVars.SpecialN.releaseLag <= 0) { Fighter_ActionStateChange_800693AC(fighter_gobj, AS_MEWTWO_SPECIALAIRN_END, 0, NULL, 0.0f, 1.0f, 0.0f); diff --git a/src/melee/ft/chara/ftMewtwo/ftMewtwo_SpecialS.c b/src/melee/ft/chara/ftMewtwo/ftMewtwo_SpecialS.c index dcaf6d580..2bf60c267 100644 --- a/src/melee/ft/chara/ftMewtwo/ftMewtwo_SpecialS.c +++ b/src/melee/ft/chara/ftMewtwo/ftMewtwo_SpecialS.c @@ -45,7 +45,7 @@ void ftMewtwo_SpecialS_StartAction(HSD_GObj* fighter_gobj) fp->x2210_ThrowFlags.flags = 0; fp->x2200_ftcmd_var0 = 0; fp->x2204_ftcmd_var1 = 0; - fp->mewtwoVars[0].SpecialS.isConfusionReflect = false; + fp->mewtwoVars.SpecialS.isConfusionReflect = false; Fighter_ActionStateChange_800693AC(fighter_gobj, AS_MEWTWO_SPECIALS, 0, NULL, 0.0f, 1.0f, 0.0f); @@ -90,7 +90,7 @@ void ftMewtwo_SpecialAirS_StartAction(HSD_GObj* fighter_gobj) fp->x2210_ThrowFlags.flags = 0; fp->x2200_ftcmd_var0 = 0; fp->x2204_ftcmd_var1 = 0; - fp->mewtwoVars[0].SpecialS.isConfusionReflect = false; + fp->mewtwoVars.SpecialS.isConfusionReflect = false; if (fp->sa.mewtwo.x223C_isConfusionBoost == false) { fp->x80_self_vel.y = mewtwoAttrs->x18_MEWTWO_CONFUSION_AIR_BOOST; @@ -175,7 +175,7 @@ void ftMewtwo_SpecialAirS_Phys(HSD_GObj* fighter_gobj) static inline void ftMewtwo_SpecialS_SetReflect(HSD_GObj* fighter_gobj) { Fighter* fp = GET_FIGHTER(fighter_gobj); - if (fp->mewtwoVars[0].SpecialS.isConfusionReflect != false) { + if (fp->mewtwoVars.SpecialS.isConfusionReflect != false) { fp->x2218_flag.bits.b3 = 1; fp->x2218_flag.bits.b4 = 1; fp->cb.x21C8_callback_OnReflectHit = ftMewtwo_SpecialS_OnReflect; @@ -254,16 +254,16 @@ void ftMewtwo_SpecialS_ReflectThink(HSD_GObj* fighter_gobj) // returns instead of just NULL? // fp->x2218_flag.bits.b4 = 1; // Here it is... the reason Confusion cannot change ownership. - fp->mewtwoVars[0].SpecialS.isConfusionReflect = true; + fp->mewtwoVars.SpecialS.isConfusionReflect = true; fp->x2204_ftcmd_var1 = CONFUSION_REFLECT_NONE; return; case CONFUSION_REFLECT_OFF: - if (fp->mewtwoVars[0].SpecialS.isConfusionReflect != false) { + if (fp->mewtwoVars.SpecialS.isConfusionReflect != false) { fp->x2218_flag.bits.b3 = 0; fp->x2218_flag.bits.b4 = 0; fp->cb.x21C8_callback_OnReflectHit = NULL; - fp->mewtwoVars[0].SpecialS.isConfusionReflect = false; + fp->mewtwoVars.SpecialS.isConfusionReflect = false; } fp->x2204_ftcmd_var1 = CONFUSION_REFLECT_NONE; return; diff --git a/src/melee/ft/chara/ftNess/ftNess_AttackHi4.c b/src/melee/ft/chara/ftNess/ftNess_AttackHi4.c index a62d94eac..132b92d36 100644 --- a/src/melee/ft/chara/ftNess/ftNess_AttackHi4.c +++ b/src/melee/ft/chara/ftNess/ftNess_AttackHi4.c @@ -32,9 +32,9 @@ void ftNess_YoyoCheckTimedRehit(HSD_GObj* fighter_gobj) HitCapsule* hitbox_data; if (fp->x2200_ftcmd_var0 == 0) { - if (fp->nessVars[0].AttackHi4.yoyoRehitTimer > 0) { - fp->nessVars[0].AttackHi4.yoyoRehitTimer--; - if (fp->nessVars[0].AttackHi4.yoyoRehitTimer == 0) { + if (fp->nessVars.AttackHi4.yoyoRehitTimer > 0) { + fp->nessVars.AttackHi4.yoyoRehitTimer--; + if (fp->nessVars.AttackHi4.yoyoRehitTimer == 0) { lbColl_80008440(&fp->x914[0]); lbColl_80008434(&fp->x914[0]); } @@ -157,7 +157,7 @@ void ftNess_YoyoSetUnkPos(HSD_GObj* fighter_gobj, Vec3* pos) fp = fighter_gobj->user_data; collData = &fp->x6F0_collData; - if (!fp->nessVars[0].AttackHi4.isPosUpdateMod) { + if (!fp->nessVars.AttackHi4.isPosUpdateMod) { func_8000B1CC(fp->x5E8_fighterBones[0x3D].x0_jobj, NULL, pos); return; } @@ -193,7 +193,7 @@ void ftNess_YoyoSetHitPos(HSD_GObj* fighter_gobj) fp = fighter_gobj->user_data; collData = &fp->x6F0_collData; - if (!fp->nessVars[0].AttackHi4.isPosUpdateMod) { + if (!fp->nessVars.AttackHi4.isPosUpdateMod) { func_8000B1CC(fp->x5E8_fighterBones[0x3D].x0_jobj, NULL, &sp2C); } else { func_8000B1CC(fp->x5E8_fighterBones[0x3D].x0_jobj, NULL, &sp14); @@ -223,7 +223,7 @@ void ftNess_YoyoSetHitPosUnk(HSD_GObj* fighter_gobj, f32 pos_unk) fp = fighter_gobj->user_data; collData = &fp->x6F0_collData; - if (!fp->nessVars[0].AttackHi4.isPosUpdateMod) { + if (!fp->nessVars.AttackHi4.isPosUpdateMod) { func_8000B1CC(fp->x5E8_fighterBones[0x3D].x0_jobj, NULL, &sp3C); } else { func_8000B1CC(fp->x5E8_fighterBones[0x3D].x0_jobj, NULL, &sp18); @@ -286,9 +286,9 @@ void ftNess_YoyoSetVarAll(HSD_GObj* fighter_gobj) Fighter* fp = GET_FIGHTER(fighter_gobj); fp->x2204_ftcmd_var1 = 0; fp->x2200_ftcmd_var0 = 0; - fp->nessVars[0].AttackHi4.yoyoCurrentFrame = 1; - fp->nessVars[0].AttackHi4.yoyoRehitTimer = 0; - fp->nessVars[0].AttackHi4.isPosUpdateMod = true; + fp->nessVars.AttackHi4.yoyoCurrentFrame = 1; + fp->nessVars.AttackHi4.yoyoRehitTimer = 0; + fp->nessVars.AttackHi4.isPosUpdateMod = true; fp->sa.ness.x2230_yoyoHitboxPos.z = 0.0f; fp->sa.ness.x2230_yoyoHitboxPos.y = 0.0f; fp->sa.ness.x2230_yoyoHitboxPos.x = 0.0f; @@ -318,7 +318,7 @@ void ftNess_YoyoApplySmash(HSD_GObj* fighter_gobj) s32 smashColAnimID; fp = fighter_gobj->user_data; - fp->nessVars[0].AttackHi4.yoyoCurrentFrame = 0; + fp->nessVars.AttackHi4.yoyoCurrentFrame = 0; temp_yoyo = fp->sa.ness.x222C_yoyoGObj; yoyo_GObj = temp_yoyo; @@ -375,7 +375,7 @@ void ftNess_YoyoSetChargeDamage(HSD_GObj* fighter_gobj) fp = GET_FIGHTER(fighter_gobj); // Current animation frame, integer - fp->nessVars[0].AttackHi4.yoyoCurrentFrame = 14; + fp->nessVars.AttackHi4.yoyoCurrentFrame = 14; yoyo_GObj = fp->sa.ness.x222C_yoyoGObj; @@ -429,7 +429,7 @@ bool ftNess_YoyoThink_IsRemove(HSD_GObj* fighter_gobj) fp = fighter_gobj->user_data; if ((u32) fp->x2200_ftcmd_var0 != 0U) { - fp->nessVars[0].AttackHi4.isPosUpdateMod = 0; + fp->nessVars.AttackHi4.isPosUpdateMod = 0; } ASID = fp->action_id; if ((ASID >= AS_NESS_ATTACKHI4) && (ASID <= AS_NESS_ATTACKHI4_RELEASE)) { @@ -439,7 +439,7 @@ bool ftNess_YoyoThink_IsRemove(HSD_GObj* fighter_gobj) yoyoSpawnFrame = 2; yoyoDespawnFrame = 60; } - yoyoSmashFrameCurr = fp->nessVars[0].AttackHi4.yoyoCurrentFrame; + yoyoSmashFrameCurr = fp->nessVars.AttackHi4.yoyoCurrentFrame; if ((yoyoSmashFrameCurr > yoyoSpawnFrame) && (yoyoSmashFrameCurr <= yoyoDespawnFrame)) { @@ -467,7 +467,7 @@ bool ftNess_YoyoThink_IsRemove(HSD_GObj* fighter_gobj) yoyoRotFrame = yoyo_attr->x48_DOWNSMASH_YOYO_ROT_FRAME; yoyoNudgeFrame = yoyo_attr->x4C_DOWNSMASH_YOYO_NUDGE_FRAME; } - yoyoSmashFrameCurr2 = fp->nessVars[0].AttackHi4.yoyoCurrentFrame; + yoyoSmashFrameCurr2 = fp->nessVars.AttackHi4.yoyoCurrentFrame; if (yoyoSmashFrameCurr2 == yoyoRotFrame) { sp14 = YoyoThinkPos; func_802C0010(yoyo_GObj, &sp14); @@ -482,9 +482,7 @@ bool ftNess_YoyoThink_IsRemove(HSD_GObj* fighter_gobj) } else if (yoyoSmashFrameCurr2 == yoyoNudgeFrame) { func_802BFEC4(yoyo_GObj); } - if ((s32) fp->nessVars[0].AttackHi4.yoyoCurrentFrame == - yoyoDespawnFrame) - { + if ((s32) fp->nessVars.AttackHi4.yoyoCurrentFrame == yoyoDespawnFrame) { func_802BE958(fp->sa.ness.x222C_yoyoGObj); } } else if (yoyoSmashFrameCurr == yoyoSpawnFrame) { @@ -524,7 +522,7 @@ void ftNess_YoyoSetUnkRate(HSD_GObj* fighter_gobj) texanim_unk = yoyo_attr->x20_UNK_TEXANIM_MOD; yoyo_float = ((texanim_unk - yoyo_attr->x1C_UNK_TEXANIM_SPEED)); yoyo_float = - yoyo_float * ((f32) fp->nessVars[0].AttackHi4.yoyoCurrentFrame / + yoyo_float * ((f32) fp->nessVars.AttackHi4.yoyoCurrentFrame / ness_attr->xAC_YOYO_CHARGE_DURATION); fp->sa.ness.x223C = texanim_unk - yoyo_float; @@ -602,15 +600,15 @@ void ftNess_AttackHi4_Action(HSD_GObj* fighter_gobj) fp = GET_FIGHTER(fighter_gobj); fp->x2218_flag.bits.b0 = 0; - fp->nessVars[0].AttackHi4.isChargeDisable = false; + fp->nessVars.AttackHi4.isChargeDisable = false; temp_fp = GET_FIGHTER(fighter_gobj); temp_fp->x2204_ftcmd_var1 = 0; temp_fp->x2200_ftcmd_var0 = 0; - temp_fp->nessVars[0].AttackHi4.yoyoCurrentFrame = 1; - temp_fp->nessVars[0].AttackHi4.yoyoRehitTimer = 0; + temp_fp->nessVars.AttackHi4.yoyoCurrentFrame = 1; + temp_fp->nessVars.AttackHi4.yoyoRehitTimer = 0; - temp_fp->nessVars[0].AttackHi4.isPosUpdateMod = 1; + temp_fp->nessVars.AttackHi4.isPosUpdateMod = 1; temp_fp->sa.ness.x2230_yoyoHitboxPos.z = 0.0f; temp_fp->sa.ness.x2230_yoyoHitboxPos.y = 0.0f; temp_fp->sa.ness.x2230_yoyoHitboxPos.x = 0.0f; @@ -630,7 +628,7 @@ void ftNess_YoyoStartTimedRehit(HSD_GObj* fighter_gobj) fp = GET_FIGHTER(fighter_gobj); ness_attr = fp->x2D4_specialAttributes; - fp->nessVars[0].AttackHi4.yoyoRehitTimer = + fp->nessVars.AttackHi4.yoyoRehitTimer = (s32) ness_attr->xB4_YOYO_REHIT_RATE; } @@ -656,25 +654,23 @@ void ftNess_AttackHi4_Anim(HSD_GObj* fighter_gobj) fp = fighter_gobj->user_data; fighter_data2 = fighter_gobj->user_data; - yoyoSmashFrameCurr = fighter_data2->nessVars[0].AttackHi4.yoyoCurrentFrame; - fp->nessVars[0].AttackHi4.yoyoCurrentFrame = (s32) (yoyoSmashFrameCurr + 1); + yoyoSmashFrameCurr = fighter_data2->nessVars.AttackHi4.yoyoCurrentFrame; + fp->nessVars.AttackHi4.yoyoCurrentFrame = (s32) (yoyoSmashFrameCurr + 1); if (ftNess_YoyoThink_IsRemove(fighter_gobj) == false) { fp = fighter_gobj->user_data; if ((u32) fp->x2200_ftcmd_var0 == 0U) { - yoyoRehitTimer = fp->nessVars[0].AttackHi4.yoyoRehitTimer; + yoyoRehitTimer = fp->nessVars.AttackHi4.yoyoRehitTimer; if (yoyoRehitTimer > 0) { - fp->nessVars[0].AttackHi4.yoyoRehitTimer = + fp->nessVars.AttackHi4.yoyoRehitTimer = (s32) (yoyoRehitTimer - 1); - if ((s32) fp->nessVars[0].AttackHi4.yoyoRehitTimer == 0) { + if ((s32) fp->nessVars.AttackHi4.yoyoRehitTimer == 0) { lbColl_80008440(&fp->x914[0]); lbColl_80008434(&fp->x914[0]); } } } - if (((s32) fighter_data2->nessVars[0].AttackHi4.yoyoCurrentFrame == - 13) && - ((s32) fighter_data2->nessVars[0].AttackHi4.isChargeDisable == - false)) + if (((s32) fighter_data2->nessVars.AttackHi4.yoyoCurrentFrame == 13) && + ((s32) fighter_data2->nessVars.AttackHi4.isChargeDisable == false)) { /// @todo Unused stack. #ifdef MUST_MATCH @@ -721,7 +717,7 @@ void ftNess_AttackHi4_IASA( Fighter* fp = GET_FIGHTER(fighter_gobj); if ((fp->input.x65C_heldInputs & HSD_BUTTON_A) == false) { - fp->nessVars[0].AttackHi4.isChargeDisable = + fp->nessVars.AttackHi4.isChargeDisable = true; // Toggle flag to disallow Yo-Yo charge until next Up Smash // instance } @@ -801,7 +797,7 @@ void ftNess_AttackHi4_Charge_Anim( fp = fighter_gobj->user_data; ness_attr = fp->x2D4_specialAttributes; - fp->nessVars[0].AttackHi4.yoyoCurrentFrame++; + fp->nessVars.AttackHi4.yoyoCurrentFrame++; temp_ness_attr = getFtSpecialAttrs(temp_fp = getFighterPlus(fighter_gobj)); if ((yoyo_GObj = GetYoyoGObj(temp_fp = getFighterPlus(fighter_gobj))) != NULL) @@ -811,23 +807,22 @@ void ftNess_AttackHi4_Charge_Anim( unk_float = (yoyo_attr->x20_UNK_TEXANIM_MOD - yoyo_attr->x1C_UNK_TEXANIM_SPEED); unk_float = - unk_float * ((f32) temp_fp->nessVars[0].AttackHi4.yoyoCurrentFrame / + unk_float * ((f32) temp_fp->nessVars.AttackHi4.yoyoCurrentFrame / temp_ness_attr->xAC_YOYO_CHARGE_DURATION); temp_fp->sa.ness.x223C = yoyo_attr->x20_UNK_TEXANIM_MOD - unk_float; } fighter_data2 = fighter_gobj->user_data; if ((u32) fighter_data2->x2200_ftcmd_var0 == 0U) { - if ((s32) fighter_data2->nessVars[0].AttackHi4.yoyoRehitTimer > 0) { - fighter_data2->nessVars[0].AttackHi4.yoyoRehitTimer--; - if ((s32) fighter_data2->nessVars[0].AttackHi4.yoyoRehitTimer == 0) - { + if ((s32) fighter_data2->nessVars.AttackHi4.yoyoRehitTimer > 0) { + fighter_data2->nessVars.AttackHi4.yoyoRehitTimer--; + if ((s32) fighter_data2->nessVars.AttackHi4.yoyoRehitTimer == 0) { lbColl_80008440(fighter_data2->x914); lbColl_80008434(fighter_data2->x914); } } } - if ((f32) fp->nessVars[0].AttackHi4.yoyoCurrentFrame >= + if ((f32) fp->nessVars.AttackHi4.yoyoCurrentFrame >= ness_attr->xAC_YOYO_CHARGE_DURATION) { ftNess_AttackHi4_Release_Action(fighter_gobj); @@ -905,16 +900,16 @@ void ftNess_AttackHi4_Release_Anim( Fighter* temp_fp; temp_fp = GET_FIGHTER(fighter_gobj); - yoyoSmashFrameCurr = temp_fp->nessVars[0].AttackHi4.yoyoCurrentFrame; - temp_fp->nessVars[0].AttackHi4.yoyoCurrentFrame = + yoyoSmashFrameCurr = temp_fp->nessVars.AttackHi4.yoyoCurrentFrame; + temp_fp->nessVars.AttackHi4.yoyoCurrentFrame = (s32) (yoyoSmashFrameCurr + 1); if (ftNess_YoyoThink_IsRemove(fighter_gobj) == false) { fp = GET_FIGHTER(fighter_gobj); if ((u32) fp->x2200_ftcmd_var0 == 0U) { - yoyoRehitTimer = fp->nessVars[0].AttackHi4.yoyoRehitTimer; + yoyoRehitTimer = fp->nessVars.AttackHi4.yoyoRehitTimer; if (yoyoRehitTimer > 0) { - fp->nessVars[0].AttackHi4.yoyoRehitTimer--; - if ((s32) fp->nessVars[0].AttackHi4.yoyoRehitTimer == 0) { + fp->nessVars.AttackHi4.yoyoRehitTimer--; + if ((s32) fp->nessVars.AttackHi4.yoyoRehitTimer == 0) { lbColl_80008440(fp->x914); lbColl_80008434(fp->x914); } @@ -954,7 +949,7 @@ void ftNess_AttackHi4_Release_Phys( fp = GET_FIGHTER(fighter_gobj); func_80084F3C(fighter_gobj); - yoyoSmashFrameCurr = fp->nessVars[0].AttackHi4.yoyoCurrentFrame; + yoyoSmashFrameCurr = fp->nessVars.AttackHi4.yoyoCurrentFrame; if (yoyoSmashFrameCurr < 0x18) { phi_f31 = 0.10000000149011612f * ((f32) yoyoSmashFrameCurr - 14.0f); if (phi_f31 >= 1.0f) { @@ -1033,7 +1028,7 @@ void ftNess_AttackHi4_Release_Action(HSD_GObj* fighter_gobj) fighter_data2 = getFighter(fighter_gobj); fighter_data2 = getFighter(fighter_gobj); - fighter_data2->nessVars[0].AttackHi4.yoyoCurrentFrame = 14; + fighter_data2->nessVars.AttackHi4.yoyoCurrentFrame = 14; if ((yoyo_GObj = fighter_data2->sa.ness.x222C_yoyoGObj) != NULL) { yoyo_attr = GetYoyoAttr(yoyo_GObj); diff --git a/src/melee/ft/chara/ftNess/ftNess_AttackLw4.c b/src/melee/ft/chara/ftNess/ftNess_AttackLw4.c index 743b2dce3..473dcb167 100644 --- a/src/melee/ft/chara/ftNess/ftNess_AttackLw4.c +++ b/src/melee/ft/chara/ftNess/ftNess_AttackLw4.c @@ -11,7 +11,7 @@ void ftNess_AttackLw4_Action( Fighter* fp = GET_FIGHTER(fighter_gobj); fp->x2218_flag.bits.b0 = 0; - fp->nessVars[0].AttackLw4.isChargeDisable = false; + fp->nessVars.AttackLw4.isChargeDisable = false; ftNess_YoyoSetVarAll(fighter_gobj); Fighter_ActionStateChange_800693AC(fighter_gobj, AS_NESS_ATTACKLW4, 0, NULL, 0.0f, 1.0f, 0.0f); @@ -28,11 +28,11 @@ void ftNess_AttackLw4_Anim( { Fighter* fp = GET_FIGHTER(fighter_gobj); - fp->nessVars[0].AttackLw4.yoyoCurrentFrame++; + fp->nessVars.AttackLw4.yoyoCurrentFrame++; if (ftNess_YoyoThink_IsRemove(fighter_gobj) == false) { ftNess_YoyoCheckTimedRehit(fighter_gobj); - if (((s32) fp->nessVars[0].AttackLw4.yoyoCurrentFrame == 13) && - ((s32) fp->nessVars[0].AttackLw4.isChargeDisable == false) && + if (((s32) fp->nessVars.AttackLw4.yoyoCurrentFrame == 13) && + ((s32) fp->nessVars.AttackLw4.isChargeDisable == false) && (ftNess_YoyoCheckNoObstruct(fighter_gobj) != false)) { ftNess_AttackLw4_Charge_Action(fighter_gobj); @@ -51,7 +51,7 @@ void ftNess_AttackLw4_IASA( Fighter* fp = GET_FIGHTER(fighter_gobj); if ((fp->input.x65C_heldInputs & HSD_BUTTON_A) == false) { - fp->nessVars[0].AttackLw4.isChargeDisable = true; + fp->nessVars.AttackLw4.isChargeDisable = true; } if (fp->x2218_flag.bits.b0 != 0) { func_8008A4D4(fighter_gobj); @@ -90,12 +90,12 @@ void ftNess_AttackLw4_Charge_Anim( ftNessAttributes* ness_attr; fp = GET_FIGHTER(fighter_gobj); - yoyoSmashFrameCurr = fp->nessVars[0].AttackLw4.yoyoCurrentFrame; + yoyoSmashFrameCurr = fp->nessVars.AttackLw4.yoyoCurrentFrame; ness_attr = fp->x2D4_specialAttributes; - fp->nessVars[0].AttackLw4.yoyoCurrentFrame = (s32) (yoyoSmashFrameCurr + 1); + fp->nessVars.AttackLw4.yoyoCurrentFrame = (s32) (yoyoSmashFrameCurr + 1); ftNess_YoyoSetUnkRate(fighter_gobj); ftNess_YoyoCheckTimedRehit(fighter_gobj); - if ((f32) fp->nessVars[0].AttackLw4.yoyoCurrentFrame >= + if ((f32) fp->nessVars.AttackLw4.yoyoCurrentFrame >= ness_attr->xAC_YOYO_CHARGE_DURATION) { ftNess_AttackLw4_Release_Action(fighter_gobj); @@ -162,8 +162,8 @@ void ftNess_AttackLw4_Release_Anim( Fighter* fp; fp = GET_FIGHTER(fighter_gobj); - yoyoSmashFrameCurr = fp->nessVars[0].AttackLw4.yoyoCurrentFrame; - fp->nessVars[0].AttackLw4.yoyoCurrentFrame = (s32) (yoyoSmashFrameCurr + 1); + yoyoSmashFrameCurr = fp->nessVars.AttackLw4.yoyoCurrentFrame; + fp->nessVars.AttackLw4.yoyoCurrentFrame = (s32) (yoyoSmashFrameCurr + 1); if (ftNess_YoyoThink_IsRemove(fighter_gobj) == false) { ftNess_YoyoCheckTimedRehit(fighter_gobj); if (!ftAnim_IsFramesRemaining(fighter_gobj)) { @@ -194,7 +194,7 @@ void ftNess_AttackLw4_Release_Phys( fp = GET_FIGHTER(fighter_gobj); func_80084F3C(fighter_gobj); - yoyoSmashFrameCurr = fp->nessVars[0].AttackLw4.yoyoCurrentFrame; + yoyoSmashFrameCurr = fp->nessVars.AttackLw4.yoyoCurrentFrame; if (yoyoSmashFrameCurr < 0x13) { yoyoSmashUnk = 0.20000000298023224f * ((f32) yoyoSmashFrameCurr - 14.0f); diff --git a/src/melee/ft/chara/ftNess/ftNess_SpecialHi.c b/src/melee/ft/chara/ftNess/ftNess_SpecialHi.c index 9b60dc6ce..8e20cb674 100644 --- a/src/melee/ft/chara/ftNess/ftNess_SpecialHi.c +++ b/src/melee/ft/chara/ftNess/ftNess_SpecialHi.c @@ -194,17 +194,17 @@ bool ftNess_ItemPKThunder_CheckNessCollide(HSD_GObj* fighter_gobj) if (!fp->sa.ness.x2244_pkThunderGObj) return false; - switch (fp->nessVars[0].SpecialHi.thunderColl) { + switch (fp->nessVars.SpecialHi.thunderColl) { case 0: pos = fp->xB0_pos; pos.y += 5.0f * fp->x34_scale.y; func_802AB3F0(fp->sa.ness.x2244_pkThunderGObj, &pair, 0); if (check_distance(&pos, &pair) == true) { - fp->nessVars[0].SpecialHi.thunderColl = 2; + fp->nessVars.SpecialHi.thunderColl = 2; func_802AB3F0(fp->sa.ness.x2244_pkThunderGObj, - &fp->nessVars[0].SpecialHi.collPos1, 0); + &fp->nessVars.SpecialHi.collPos1, 0); func_802AB3F0(fp->sa.ness.x2244_pkThunderGObj, - &fp->nessVars[0].SpecialHi.collPos2, 1); + &fp->nessVars.SpecialHi.collPos2, 1); ret = true; } break; @@ -214,7 +214,7 @@ bool ftNess_ItemPKThunder_CheckNessCollide(HSD_GObj* fighter_gobj) pos2.y += 5.0f * fp->x34_scale.y; func_802AB3F0(fp->sa.ness.x2244_pkThunderGObj, &pair2, 0); if (!check_distance(&pos2, &pair2)) { - fp->nessVars[0].SpecialHi.thunderColl = 0; + fp->nessVars.SpecialHi.thunderColl = 0; } } return ret; @@ -333,11 +333,11 @@ void ftNess_SpecialAirHi_CollisionModVel( f32 phi_f3; fp = GET_FIGHTER(fighter_gobj); - while (fp->nessVars[0].SpecialHi.aerialVel < 0.0f) { - fp->nessVars[0].SpecialHi.aerialVel += 2 * M_PI; + while (fp->nessVars.SpecialHi.aerialVel < 0.0f) { + fp->nessVars.SpecialHi.aerialVel += 2 * M_PI; } - while (fp->nessVars[0].SpecialHi.aerialVel > 2 * M_PI) { - fp->nessVars[0].SpecialHi.aerialVel -= 2 * M_PI; + while (fp->nessVars.SpecialHi.aerialVel > 2 * M_PI) { + fp->nessVars.SpecialHi.aerialVel -= 2 * M_PI; } if ((coll_data->x134_envFlags & 0x3F) != 0) { phi_f1 = atan2f(coll_data->x160_rightwall.normal.y, @@ -349,7 +349,7 @@ void ftNess_SpecialAirHi_CollisionModVel( while (phi_f1 > 2 * M_PI) { phi_f1 -= 2 * M_PI; } - phi_f3 = M_PI + fp->nessVars[0].SpecialHi.aerialVel; + phi_f3 = M_PI + fp->nessVars.SpecialHi.aerialVel; while (phi_f3 < 0.0f) { phi_f3 += 2 * M_PI; @@ -376,7 +376,7 @@ void ftNess_SpecialAirHi_CollisionModVel( while (phi_f3 > 2 * M_PI) { phi_f3 -= 2 * M_PI; } - if ((fp->nessVars[0].SpecialHi.aerialVel - phi_f3) < 0.0f) { + if ((fp->nessVars.SpecialHi.aerialVel - phi_f3) < 0.0f) { phi_f1 += M_PI / 2; } else { phi_f1 -= M_PI / 2; @@ -386,8 +386,8 @@ void ftNess_SpecialAirHi_CollisionModVel( sp14.x = 0.0f; sp14.z = 1.0f; lbvector_RotateAboutUnitAxis(&fp->x80_self_vel, &sp14, - phi_f1 - fp->nessVars[0].SpecialHi.aerialVel); - fp->nessVars[0].SpecialHi.aerialVel = + phi_f1 - fp->nessVars.SpecialHi.aerialVel); + fp->nessVars.SpecialHi.aerialVel = atan2f(fp->x80_self_vel.y, fp->x80_self_vel.x); } @@ -417,40 +417,40 @@ void ftNess_SpecialHi_StartAction( fp->x2200_ftcmd_var0 = 0; temp_fp = fighter_gobj->user_data; temp_attr = getFtSpecialAttrs(temp_fp); - temp_fp->nessVars[0].SpecialHi.thunderTimerLoop1 = + temp_fp->nessVars.SpecialHi.thunderTimerLoop1 = (s32) temp_attr->x40_PK_THUNDER_LOOP1; - temp_fp->nessVars[0].SpecialHi.thunderTimerLoop2 = + temp_fp->nessVars.SpecialHi.thunderTimerLoop2 = (s32) temp_attr->x44_PK_THUNDER_LOOP2; - temp_fp->nessVars[0].SpecialHi.gravityDelay = + temp_fp->nessVars.SpecialHi.gravityDelay = (s32) temp_attr->x48_PK_THUNDER_GRAVITY_DELAY; temp_f1_2 = 0.0f; - temp_fp->nessVars[0].SpecialHi.fallAccel = 0.0f; - temp_fp->nessVars[0].SpecialHi.unkVector1.z = 0.0f; - temp_fp->nessVars[0].SpecialHi.unkVector1.y = 0.0f; - temp_fp->nessVars[0].SpecialHi.unkVector1.x = 0.0f; - temp_fp->nessVars[0].SpecialHi.unkVar4 = 0.0f; - temp_fp->nessVars[0].SpecialHi.unkVar3 = 0.0f; + temp_fp->nessVars.SpecialHi.fallAccel = 0.0f; + temp_fp->nessVars.SpecialHi.unkVector1.z = 0.0f; + temp_fp->nessVars.SpecialHi.unkVector1.y = 0.0f; + temp_fp->nessVars.SpecialHi.unkVector1.x = 0.0f; + temp_fp->nessVars.SpecialHi.unkVar4 = 0.0f; + temp_fp->nessVars.SpecialHi.unkVar3 = 0.0f; temp_fp->cb.x21E4_callback_OnDeath2 = NULL; temp_fp->cb.x21DC_callback_OnTakeDamage = NULL; func_8007592C(temp_fp, 0, 0.0f); - fp->nessVars[0].SpecialHi.thunderColl = 1; - fp->nessVars[0].SpecialHi.gravityDelay = + fp->nessVars.SpecialHi.thunderColl = 1; + fp->nessVars.SpecialHi.gravityDelay = (s32) ness_attr->x48_PK_THUNDER_GRAVITY_DELAY; - fp->nessVars[0].SpecialHi.jibakuGFX = 0; - fp->nessVars[0].SpecialHi.collPos1.x = 0.0f; - fp->nessVars[0].SpecialHi.collPos1.x = 0.0f; - fp->nessVars[0].SpecialHi.collPos1.x = 0.0f; - fp->nessVars[0].SpecialHi.collPos2.x = 0.0f; - fp->nessVars[0].SpecialHi.collPos2.x = 0.0f; - fp->nessVars[0].SpecialHi.collPos2.x = 0.0f; + fp->nessVars.SpecialHi.jibakuGFX = 0; + fp->nessVars.SpecialHi.collPos1.x = 0.0f; + fp->nessVars.SpecialHi.collPos1.x = 0.0f; + fp->nessVars.SpecialHi.collPos1.x = 0.0f; + fp->nessVars.SpecialHi.collPos2.x = 0.0f; + fp->nessVars.SpecialHi.collPos2.x = 0.0f; + fp->nessVars.SpecialHi.collPos2.x = 0.0f; if (1.0f == fp->facing_dir) { phi_f0 = (f64) 0.0; } else { phi_f0 = M_PI; } - fp->nessVars[0].SpecialHi.aerialVel = (f32) phi_f0; - fp->nessVars[0].SpecialHi.facingDir = (f32) 1.0f; - fp->nessVars[0].SpecialHi.unkVar = (f32) 0.0f; + fp->nessVars.SpecialHi.aerialVel = (f32) phi_f0; + fp->nessVars.SpecialHi.facingDir = (f32) 1.0f; + fp->nessVars.SpecialHi.unkVar = (f32) 0.0f; func_8006EBA4(fighter_gobj); } @@ -485,40 +485,40 @@ void ftNess_SpecialAirHiStart_Action( fp->x2200_ftcmd_var0 = 0; temp_fp = fighter_gobj->user_data; temp_attr = temp_fp->x2D4_specialAttributes; - temp_fp->nessVars[0].SpecialHi.thunderTimerLoop1 = + temp_fp->nessVars.SpecialHi.thunderTimerLoop1 = (s32) temp_attr->x40_PK_THUNDER_LOOP1; - temp_fp->nessVars[0].SpecialHi.thunderTimerLoop2 = + temp_fp->nessVars.SpecialHi.thunderTimerLoop2 = (s32) temp_attr->x44_PK_THUNDER_LOOP2; - temp_fp->nessVars[0].SpecialHi.gravityDelay = + temp_fp->nessVars.SpecialHi.gravityDelay = (s32) temp_attr->x48_PK_THUNDER_GRAVITY_DELAY; temp_f1_2 = 0.0f; - temp_fp->nessVars[0].SpecialHi.fallAccel = 0.0f; - temp_fp->nessVars[0].SpecialHi.unkVector1.z = 0.0f; - temp_fp->nessVars[0].SpecialHi.unkVector1.y = 0.0f; - temp_fp->nessVars[0].SpecialHi.unkVector1.x = 0.0f; - temp_fp->nessVars[0].SpecialHi.unkVar4 = 0.0f; - temp_fp->nessVars[0].SpecialHi.unkVar3 = 0.0f; + temp_fp->nessVars.SpecialHi.fallAccel = 0.0f; + temp_fp->nessVars.SpecialHi.unkVector1.z = 0.0f; + temp_fp->nessVars.SpecialHi.unkVector1.y = 0.0f; + temp_fp->nessVars.SpecialHi.unkVector1.x = 0.0f; + temp_fp->nessVars.SpecialHi.unkVar4 = 0.0f; + temp_fp->nessVars.SpecialHi.unkVar3 = 0.0f; temp_fp->cb.x21E4_callback_OnDeath2 = NULL; temp_fp->cb.x21DC_callback_OnTakeDamage = NULL; func_8007592C(temp_fp, 0, 0.0f); - fp->nessVars[0].SpecialHi.thunderColl = 1; - fp->nessVars[0].SpecialHi.gravityDelay = + fp->nessVars.SpecialHi.thunderColl = 1; + fp->nessVars.SpecialHi.gravityDelay = (s32) ness_attr->x48_PK_THUNDER_GRAVITY_DELAY; - fp->nessVars[0].SpecialHi.jibakuGFX = false; - fp->nessVars[0].SpecialHi.collPos1.x = 0.0f; - fp->nessVars[0].SpecialHi.collPos1.x = 0.0f; - fp->nessVars[0].SpecialHi.collPos1.x = 0.0f; - fp->nessVars[0].SpecialHi.collPos2.x = 0.0f; - fp->nessVars[0].SpecialHi.collPos2.x = 0.0f; - fp->nessVars[0].SpecialHi.collPos2.x = 0.0f; + fp->nessVars.SpecialHi.jibakuGFX = false; + fp->nessVars.SpecialHi.collPos1.x = 0.0f; + fp->nessVars.SpecialHi.collPos1.x = 0.0f; + fp->nessVars.SpecialHi.collPos1.x = 0.0f; + fp->nessVars.SpecialHi.collPos2.x = 0.0f; + fp->nessVars.SpecialHi.collPos2.x = 0.0f; + fp->nessVars.SpecialHi.collPos2.x = 0.0f; if (1.0f == fp->facing_dir) { phi_f0 = (f64) 0.0; } else { phi_f0 = M_PI; } - fp->nessVars[0].SpecialHi.aerialVel = (f32) phi_f0; - fp->nessVars[0].SpecialHi.facingDir = (f32) 1.0f; - fp->nessVars[0].SpecialHi.unkVar = (f32) 0.0f; + fp->nessVars.SpecialHi.aerialVel = (f32) phi_f0; + fp->nessVars.SpecialHi.facingDir = (f32) 1.0f; + fp->nessVars.SpecialHi.unkVar = (f32) 0.0f; fp->x80_self_vel.y = 0.0f; func_8006EBA4(fighter_gobj); } @@ -552,7 +552,7 @@ void ftNess_SpecialHi_Action( ness_attr = fp->x2D4_specialAttributes; if ((fp->x6F0_collData.x14C_ground.unk & 0x100) == 0) { temp_f3 = 5.0f; - sp40.x = fp->xB0_pos.x - fp->nessVars[0].SpecialHi.collPos1.x; + sp40.x = fp->xB0_pos.x - fp->nessVars.SpecialHi.collPos1.x; temp_f2 = fp->x34_scale.y; temp_f1 = (temp_f3 * temp_f2) + fp->xB0_pos.y; sp40.y = temp_f1 - fp->x2354_stateVar6_f32; @@ -576,8 +576,8 @@ void ftNess_SpecialHi_Action( } else { phi_f0_2 = -1.0f; } - fp->nessVars[0].SpecialHi.facingDir = phi_f0_2; - fp->nessVars[0].SpecialHi.aerialVel = atan2f(sp40.y, sp40.x); + fp->nessVars.SpecialHi.facingDir = phi_f0_2; + fp->nessVars.SpecialHi.aerialVel = atan2f(sp40.y, sp40.x); temp_f1_3 = 0.0f; Fighter_ActionStateChange_800693AC( fighter_gobj, AS_NESS_SPECIALHI, 0, NULL, 0.0f, 1.0f, 0.0f); @@ -586,7 +586,7 @@ void ftNess_SpecialHi_Action( fp->facing_dir); fp = getFighter(fighter_gobj); ness_attr2 = getFtSpecialAttrs(fp); - fp->nessVars[0].SpecialHi.unkVar = + fp->nessVars.SpecialHi.unkVar = (f32) ness_attr2->x58_PK_THUNDER_2_UNK1; fighter_data2 = GET_FIGHTER(fighter_gobj); func_8007592C(fighter_data2, 0, @@ -646,7 +646,7 @@ inline void NessFloatMath_PKThunder2( f32 phi_f0; fp = getFighter(fighter_gobj); - temp_f2 = fp->xB0_pos.x - fp->nessVars[0].SpecialHi.collPos1.x; + temp_f2 = fp->xB0_pos.x - fp->nessVars.SpecialHi.collPos1.x; ness_attr = getFtSpecialAttrs(fp); temp_f1 = ((5.0f * fp->x34_scale.y) + fp->xB0_pos.y) - fp->x2354_stateVar6_f32; @@ -661,12 +661,12 @@ inline void NessFloatMath_PKThunder2( } else { phi_f0 = -1.0f; } - fp->nessVars[0].SpecialHi.facingDir = phi_f0; - fp->nessVars[0].SpecialHi.aerialVel = atan2f(temp_f1, temp_f2); + fp->nessVars.SpecialHi.facingDir = phi_f0; + fp->nessVars.SpecialHi.aerialVel = atan2f(temp_f1, temp_f2); fp->x80_self_vel.x = (f32) (ness_attr->x54_PK_THUNDER_2_MOMENTUM * - cosf(fp->nessVars[0].SpecialHi.aerialVel)); + cosf(fp->nessVars.SpecialHi.aerialVel)); fp->x80_self_vel.y = (f32) (ness_attr->x54_PK_THUNDER_2_MOMENTUM * - sinf(fp->nessVars[0].SpecialHi.aerialVel)); + sinf(fp->nessVars.SpecialHi.aerialVel)); } // 0x80118570 // @@ -686,8 +686,7 @@ void ftNess_SpecialAirHi_Action( NULL, 0.0f, 1.0f, 0.0f); fighter_data2 = GET_FIGHTER(fighter_gobj); temp_attr = getFtSpecialAttrs(fighter_data2); - fighter_data2->nessVars[0].SpecialHi.unkVar = - temp_attr->x58_PK_THUNDER_2_UNK1; + fighter_data2->nessVars.SpecialHi.unkVar = temp_attr->x58_PK_THUNDER_2_UNK1; fighter_data3 = GET_FIGHTER(fighter_gobj); func_8007592C( fighter_data3, 0, @@ -762,20 +761,20 @@ void ftNess_SpecialHiHold_Anim( Fighter* fighter_data3; fp = fighter_gobj->user_data; - thunderTimer = fp->nessVars[0].SpecialHi.thunderTimerLoop1; + thunderTimer = fp->nessVars.SpecialHi.thunderTimerLoop1; if (thunderTimer > 0) { - fp->nessVars[0].SpecialHi.thunderTimerLoop1 = (s32) (thunderTimer - 1); + fp->nessVars.SpecialHi.thunderTimerLoop1 = (s32) (thunderTimer - 1); } if (fp->sa.ness.x2244_pkThunderGObj == NULL) { - thunderTimer2 = fp->nessVars[0].SpecialHi.thunderTimerLoop2; + thunderTimer2 = fp->nessVars.SpecialHi.thunderTimerLoop2; if (thunderTimer2 > 0) { - fp->nessVars[0].SpecialHi.thunderTimerLoop2 = + fp->nessVars.SpecialHi.thunderTimerLoop2 = (s32) (thunderTimer2 - 1); } } if (fp->sa.ness.x2244_pkThunderGObj == NULL) { - if (((s32) fp->nessVars[0].SpecialHi.thunderTimerLoop1 <= 0) && - ((s32) fp->nessVars[0].SpecialHi.thunderTimerLoop2 <= 0)) + if (((s32) fp->nessVars.SpecialHi.thunderTimerLoop1 <= 0) && + ((s32) fp->nessVars.SpecialHi.thunderTimerLoop2 <= 0)) { Fighter_ActionStateChange_800693AC( fighter_gobj, AS_NESS_SPECIALHI_END, 0, NULL, 0.0f, 1.0f, 0.0f); @@ -844,9 +843,9 @@ void ftNess_SpecialHi_Anim(HSD_GObj* fighter_gobj) // Ness's grounded PK Thunder Fighter* temp_fp; temp_fp = fighter_gobj->user_data; - temp_fp->nessVars[0].SpecialHi.jibakuGFX = - (s32) (temp_fp->nessVars[0].SpecialHi.jibakuGFX + 1); - if ((s32) temp_fp->nessVars[0].SpecialHi.jibakuGFX == 1) { + temp_fp->nessVars.SpecialHi.jibakuGFX = + (s32) (temp_fp->nessVars.SpecialHi.jibakuGFX + 1); + if ((s32) temp_fp->nessVars.SpecialHi.jibakuGFX == 1) { fp = fighter_gobj->user_data; ftNess_SpecialHiStopGFX(fighter_gobj); ef_Spawn(0x4EF, fighter_gobj, fp->x5E8_fighterBones[4].x0_jobj); @@ -942,20 +941,20 @@ void ftNess_SpecialAirHiHold_Anim( Fighter* fighter_data_r30; fp = fighter_gobj->user_data; - thunderTimer1 = fp->nessVars[0].SpecialHi.thunderTimerLoop1; + thunderTimer1 = fp->nessVars.SpecialHi.thunderTimerLoop1; if (thunderTimer1 > 0) { - fp->nessVars[0].SpecialHi.thunderTimerLoop1 = (s32) (thunderTimer1 - 1); + fp->nessVars.SpecialHi.thunderTimerLoop1 = (s32) (thunderTimer1 - 1); } if (fp->sa.ness.x2244_pkThunderGObj == NULL) { - thunderTimer2 = fp->nessVars[0].SpecialHi.thunderTimerLoop2; + thunderTimer2 = fp->nessVars.SpecialHi.thunderTimerLoop2; if (thunderTimer2 > 0) { - fp->nessVars[0].SpecialHi.thunderTimerLoop2 = + fp->nessVars.SpecialHi.thunderTimerLoop2 = (s32) (thunderTimer2 - 1); } } if (fp->sa.ness.x2244_pkThunderGObj == NULL) { - if (((s32) fp->nessVars[0].SpecialHi.thunderTimerLoop1 <= 0) && - ((s32) fp->nessVars[0].SpecialHi.thunderTimerLoop2 <= 0)) + if (((s32) fp->nessVars.SpecialHi.thunderTimerLoop1 <= 0) && + ((s32) fp->nessVars.SpecialHi.thunderTimerLoop2 <= 0)) { Fighter_ActionStateChange_800693AC(fighter_gobj, AS_NESS_SPECIALAIRHI_END, 0, @@ -983,7 +982,7 @@ void ftNess_SpecialAirHiHold_Anim( fighter_gobj, AS_NESS_SPECIALAIRHI, 0, NULL, 0.0f, 1.0f, 0.0f); fighter_data4 = fighter_gobj->user_data; temp_attr = fighter_data4->x2D4_specialAttributes; - fighter_data4->nessVars[0].SpecialHi.unkVar = + fighter_data4->nessVars.SpecialHi.unkVar = temp_attr->x58_PK_THUNDER_2_UNK1; fighter_data_r30 = fighter_gobj->user_data; func_8007592C(fighter_data_r30, 0, @@ -1058,9 +1057,9 @@ void ftNess_SpecialAirHi_Anim( fp = fighter_gobj->user_data; ness_attr = fp->x2D4_specialAttributes; - fp->nessVars[0].SpecialHi.jibakuGFX = - (s32) (fp->nessVars[0].SpecialHi.jibakuGFX + 1); - if ((s32) fp->nessVars[0].SpecialHi.jibakuGFX == 1) { + fp->nessVars.SpecialHi.jibakuGFX = + (s32) (fp->nessVars.SpecialHi.jibakuGFX + 1); + if ((s32) fp->nessVars.SpecialHi.jibakuGFX == 1) { fighter_data2 = fighter_gobj->user_data; ftNess_SpecialHiStopGFX(fighter_gobj); ef_Spawn(0x4EF, fighter_gobj, @@ -1068,7 +1067,7 @@ void ftNess_SpecialAirHi_Anim( fighter_data2->sa.ness.x224C_thunderGFX = true; } if (!ftAnim_IsFramesRemaining(fighter_gobj)) { - temp_f1 = fp->nessVars[0].SpecialHi.fallAccel; + temp_f1 = fp->nessVars.SpecialHi.fallAccel; phi_f1 = temp_f1; if (temp_f1 < 0.0f) { phi_f1 = -temp_f1; @@ -1171,10 +1170,9 @@ inline void ThunderPhysTimer(HSD_GObj* fighter_gobj) s32 thunderPhysTimer; temp_fp = fighter_gobj->user_data; - thunderPhysTimer = temp_fp->nessVars[0].SpecialHi.gravityDelay; + thunderPhysTimer = temp_fp->nessVars.SpecialHi.gravityDelay; if (thunderPhysTimer != 0) { - temp_fp->nessVars[0].SpecialHi.gravityDelay = - (s32) (thunderPhysTimer - 1); + temp_fp->nessVars.SpecialHi.gravityDelay = (s32) (thunderPhysTimer - 1); } } @@ -1231,7 +1229,7 @@ void ftNess_SpecialHi_Phys( } else if (temp_fp->xEC_ground_vel >= -9.999999747378752e-05f) { temp_fp->xEC_ground_vel = temp_f2; } - if (1.0f == temp_fp->nessVars[0].SpecialHi.facingDir) { + if (1.0f == temp_fp->nessVars.SpecialHi.facingDir) { if (temp_fp->x80_self_vel.y <= 9.999999747378752e-05f) { temp_fp->x80_self_vel.y = temp_f3; } @@ -1260,10 +1258,10 @@ void ftNess_SpecialAirHiStart_Phys( ftNessAttributes* ness_attr; fp = fighter_gobj->user_data; - thunderPhysTimer = fp->nessVars[0].SpecialHi.gravityDelay; + thunderPhysTimer = fp->nessVars.SpecialHi.gravityDelay; ness_attr = fp->x2D4_specialAttributes; if (thunderPhysTimer != 0) { - fp->nessVars[0].SpecialHi.gravityDelay = thunderPhysTimer - 1; + fp->nessVars.SpecialHi.gravityDelay = thunderPhysTimer - 1; goto block_friction; } func_8007D494(fp, ness_attr->x50_PK_THUNDER_FALL_ACCEL, @@ -1287,10 +1285,10 @@ void ftNess_SpecialAirHiHold_Phys( ftNessAttributes* ness_attr; fp = fighter_gobj->user_data; - thunderPhysTimer = fp->nessVars[0].SpecialHi.gravityDelay; + thunderPhysTimer = fp->nessVars.SpecialHi.gravityDelay; ness_attr = fp->x2D4_specialAttributes; if (thunderPhysTimer != 0) { - fp->nessVars[0].SpecialHi.gravityDelay = thunderPhysTimer - 1; + fp->nessVars.SpecialHi.gravityDelay = thunderPhysTimer - 1; goto block_friction; } func_8007D494(fp, ness_attr->x50_PK_THUNDER_FALL_ACCEL, @@ -1312,10 +1310,10 @@ void ftNess_SpecialAirHiEnd_Phys( ftNessAttributes* ness_attr; fp = fighter_gobj->user_data; - thunderPhysTimer = fp->nessVars[0].SpecialHi.gravityDelay; + thunderPhysTimer = fp->nessVars.SpecialHi.gravityDelay; ness_attr = fp->x2D4_specialAttributes; if (thunderPhysTimer != 0) { - fp->nessVars[0].SpecialHi.gravityDelay = thunderPhysTimer - 1; + fp->nessVars.SpecialHi.gravityDelay = thunderPhysTimer - 1; goto block_friction; } func_8007D494(fp, ness_attr->x50_PK_THUNDER_FALL_ACCEL, @@ -1394,21 +1392,21 @@ void ftNess_SpecialAirHi_Phys( if (temp_f2 <= 9.999999747378752e-05f) { phi_f31 = phi_f1; } - fp->x80_self_vel.x = phi_f31 * cosf(fp->nessVars[0].SpecialHi.aerialVel); - fp->x80_self_vel.y = phi_f31 * sinf(fp->nessVars[0].SpecialHi.aerialVel); + fp->x80_self_vel.x = phi_f31 * cosf(fp->nessVars.SpecialHi.aerialVel); + fp->x80_self_vel.y = phi_f31 * sinf(fp->nessVars.SpecialHi.aerialVel); ftNess_atan2(fighter_gobj); fp->x2374_Vec3 = fp->x80_self_vel; if ((u32) fp->x2200_ftcmd_var0 == 1U) { - fp->nessVars[0].SpecialHi.fallAccel = - (f32) fp->nessVars[0].SpecialHi.fallAccel - + fp->nessVars.SpecialHi.fallAccel = + (f32) fp->nessVars.SpecialHi.fallAccel - ness_attr->x50_PK_THUNDER_FALL_ACCEL; - if ((f32) fp->nessVars[0].SpecialHi.fallAccel < + if ((f32) fp->nessVars.SpecialHi.fallAccel < -ness_attr->x54_PK_THUNDER_2_MOMENTUM) { - fp->nessVars[0].SpecialHi.fallAccel = + fp->nessVars.SpecialHi.fallAccel = -ness_attr->x54_PK_THUNDER_2_MOMENTUM; } - fp->xB0_pos.y += (f32) fp->nessVars[0].SpecialHi.fallAccel; + fp->xB0_pos.y += (f32) fp->nessVars.SpecialHi.fallAccel; } } @@ -1504,18 +1502,18 @@ void ftNess_SpecialHi_Coll(HSD_GObj* fighter_gobj) // Ness's grounded PK Thunder func_8007D60C(fp); temp_fp = fighter_gobj->user_data; temp_attr = temp_fp->x2D4_specialAttributes; - temp_fp->nessVars[0].SpecialHi.thunderTimerLoop1 = + temp_fp->nessVars.SpecialHi.thunderTimerLoop1 = (s32) temp_attr->x40_PK_THUNDER_LOOP1; - temp_fp->nessVars[0].SpecialHi.thunderTimerLoop2 = + temp_fp->nessVars.SpecialHi.thunderTimerLoop2 = (s32) temp_attr->x44_PK_THUNDER_LOOP2; - temp_fp->nessVars[0].SpecialHi.gravityDelay = + temp_fp->nessVars.SpecialHi.gravityDelay = (s32) temp_attr->x48_PK_THUNDER_GRAVITY_DELAY; - temp_fp->nessVars[0].SpecialHi.fallAccel = 0.0f; - temp_fp->nessVars[0].SpecialHi.unkVector1.z = 0.0f; - temp_fp->nessVars[0].SpecialHi.unkVector1.y = 0.0f; - temp_fp->nessVars[0].SpecialHi.unkVector1.x = 0.0f; - temp_fp->nessVars[0].SpecialHi.unkVar4 = 0.0f; - temp_fp->nessVars[0].SpecialHi.unkVar3 = 0.0f; + temp_fp->nessVars.SpecialHi.fallAccel = 0.0f; + temp_fp->nessVars.SpecialHi.unkVector1.z = 0.0f; + temp_fp->nessVars.SpecialHi.unkVector1.y = 0.0f; + temp_fp->nessVars.SpecialHi.unkVector1.x = 0.0f; + temp_fp->nessVars.SpecialHi.unkVar4 = 0.0f; + temp_fp->nessVars.SpecialHi.unkVar3 = 0.0f; temp_fp->cb.x21E4_callback_OnDeath2 = NULL; temp_fp->cb.x21DC_callback_OnTakeDamage = NULL; func_8007592C(temp_fp, 0, 0.0f); @@ -1562,7 +1560,7 @@ void ftNess_SpecialHi_Coll(HSD_GObj* fighter_gobj) // Ness's grounded PK Thunder } else { phi_f31 = M_PI / 2; } - fp->nessVars[0].SpecialHi.aerialVel = + fp->nessVars.SpecialHi.aerialVel = (f32) (phi_f31 + atan2f(fp->x6F0_collData.x14C_ground.normal.y, fp->x6F0_collData.x14C_ground.normal.x)); return; @@ -1572,7 +1570,7 @@ void ftNess_SpecialHi_Coll(HSD_GObj* fighter_gobj) // Ness's grounded PK Thunder } else { phi_f31_2 = -M_PI / 2; } - fp->nessVars[0].SpecialHi.aerialVel = + fp->nessVars.SpecialHi.aerialVel = (f32) (phi_f31_2 + atan2f(fp->x6F0_collData.x14C_ground.normal.y, fp->x6F0_collData.x14C_ground.normal.x)); } diff --git a/src/melee/ft/chara/ftNess/ftNess_SpecialLw.c b/src/melee/ft/chara/ftNess/ftNess_SpecialLw.c index 444ab192c..6b370c09e 100644 --- a/src/melee/ft/chara/ftNess/ftNess_SpecialLw.c +++ b/src/melee/ft/chara/ftNess/ftNess_SpecialLw.c @@ -26,10 +26,10 @@ void ftNess_SpecialLwStart_Action( temp_fp = GET_FIGHTER(fighter_gobj); ness_attr = temp_fp->x2D4_specialAttributes; - temp_fp->nessVars[0].SpecialLw.releaseLag = + temp_fp->nessVars.SpecialLw.releaseLag = (s32) ness_attr->x74_PSI_MAGNET_RELEASE_LAG; - temp_fp->nessVars[0].SpecialLw.isRelease = 0; - temp_fp->nessVars[0].SpecialLw.gravityDelay = + temp_fp->nessVars.SpecialLw.isRelease = 0; + temp_fp->nessVars.SpecialLw.gravityDelay = (s32) ness_attr->x84_PSI_MAGNET_FRAMES_BEFORE_GRAVITY; temp_fp->x2350_stateVar5 = 0; Fighter_ActionStateChange_800693AC(fighter_gobj, AS_NESS_SPECIALLW_START, 0, @@ -53,10 +53,10 @@ void ftNess_SpecialAirLwStart_Action( temp_fp = GET_FIGHTER(fighter_gobj); ness_attr = temp_fp->x2D4_specialAttributes; - temp_fp->nessVars[0].SpecialLw.releaseLag = + temp_fp->nessVars.SpecialLw.releaseLag = (s32) ness_attr->x74_PSI_MAGNET_RELEASE_LAG; - temp_fp->nessVars[0].SpecialLw.isRelease = 0; - temp_fp->nessVars[0].SpecialLw.gravityDelay = + temp_fp->nessVars.SpecialLw.isRelease = 0; + temp_fp->nessVars.SpecialLw.gravityDelay = (s32) ness_attr->x84_PSI_MAGNET_FRAMES_BEFORE_GRAVITY; temp_fp->x2350_stateVar5 = 0; temp_fp->x80_self_vel.y = 0.0f; @@ -78,7 +78,7 @@ void ftNess_SpecialLwStart_Anim( fighter_data2 = GET_FIGHTER(fighter_gobj); if (FLAGS_NONE(fighter_data2->input.x65C_heldInputs, HSD_BUTTON_B)) { - fighter_data2->nessVars[0].SpecialLw.isRelease = 1; + fighter_data2->nessVars.SpecialLw.isRelease = 1; } if (!ftAnim_IsFramesRemaining(fighter_gobj)) { @@ -117,7 +117,7 @@ void ftNess_SpecialAirLwStart_Anim( fighter_data2 = fp = GET_FIGHTER(fighter_gobj); if ((fighter_data2->input.x65C_heldInputs & HSD_BUTTON_B) == false) { - fighter_data2->nessVars[0].SpecialLw.isRelease = 1; + fighter_data2->nessVars.SpecialLw.isRelease = 1; } if (!ftAnim_IsFramesRemaining(fighter_gobj)) { @@ -177,9 +177,9 @@ void ftNess_SpecialAirLwStart_Phys( fp = GET_FIGHTER(fighter_gobj); attr = &fp->x110_attr; ness_attr = fp->x2D4_specialAttributes; - gravityDelay = fp->nessVars[0].SpecialLw.gravityDelay; + gravityDelay = fp->nessVars.SpecialLw.gravityDelay; if (gravityDelay != 0) { - fp->nessVars[0].SpecialLw.gravityDelay = gravityDelay - 1; + fp->nessVars.SpecialLw.gravityDelay = gravityDelay - 1; goto block_end; } @@ -253,14 +253,14 @@ void ftNess_SpecialLwHold_Anim( fp = GET_FIGHTER(fighter_gobj); if ((fp->input.x65C_heldInputs & HSD_BUTTON_B) == false) { - fp->nessVars[0].SpecialLw.isRelease = 1; + fp->nessVars.SpecialLw.isRelease = 1; } - if (fp->nessVars[0].SpecialLw.releaseLag > 0) { - fp->nessVars[0].SpecialLw.releaseLag--; + if (fp->nessVars.SpecialLw.releaseLag > 0) { + fp->nessVars.SpecialLw.releaseLag--; } - if (((s32) fp->nessVars[0].SpecialLw.releaseLag <= 0) && - ((s32) fp->nessVars[0].SpecialLw.isRelease != 0)) + if (((s32) fp->nessVars.SpecialLw.releaseLag <= 0) && + ((s32) fp->nessVars.SpecialLw.isRelease != 0)) { if ((s32) fp->xE0_ground_or_air == GA_Ground) { ftNess_SpecialLwEnd_Action(fighter_gobj); @@ -294,15 +294,15 @@ void ftNess_SpecialAirLwHold_Anim( fp = GET_FIGHTER(fighter_gobj); if ((fp->input.x65C_heldInputs & HSD_BUTTON_B) == false) { - fp->nessVars[0].SpecialLw.isRelease = 1; + fp->nessVars.SpecialLw.isRelease = 1; } - if (fp->nessVars[0].SpecialLw.releaseLag > 0) { - fp->nessVars[0].SpecialLw.releaseLag = - (s32) (fp->nessVars[0].SpecialLw.releaseLag - 1); + if (fp->nessVars.SpecialLw.releaseLag > 0) { + fp->nessVars.SpecialLw.releaseLag = + (s32) (fp->nessVars.SpecialLw.releaseLag - 1); } - if (((s32) fp->nessVars[0].SpecialLw.releaseLag <= 0) && - ((s32) fp->nessVars[0].SpecialLw.isRelease != 0)) + if (((s32) fp->nessVars.SpecialLw.releaseLag <= 0) && + ((s32) fp->nessVars.SpecialLw.isRelease != 0)) { if ((s32) fp->xE0_ground_or_air == GA_Ground) { ftNess_SpecialLwEnd_Action(fighter_gobj); @@ -359,9 +359,9 @@ void ftNess_SpecialAirLwHold_Phys( ness_attr = fp->x2D4_specialAttributes; attr = &fp->x110_attr; - magnetTimer = fp->nessVars[0].SpecialLw.gravityDelay; + magnetTimer = fp->nessVars.SpecialLw.gravityDelay; if (magnetTimer != 0) { - fp->nessVars[0].SpecialLw.gravityDelay = magnetTimer - 1; + fp->nessVars.SpecialLw.gravityDelay = magnetTimer - 1; goto block_end; } func_8007D494(fp, ness_attr->x8C_PSI_MAGNET_FALL_ACCEL, @@ -520,11 +520,11 @@ void ftNess_SpecialLwTurn_Anim( Fighter* temp_r29 = temp_r30 = arg0->user_data; if ((temp_r29->input.x65C_heldInputs & HSD_BUTTON_B) == false) { - temp_r29->nessVars[0].SpecialLw.isRelease = 1; + temp_r29->nessVars.SpecialLw.isRelease = 1; } - if (temp_r29->nessVars[0].SpecialLw.releaseLag > 0) { - temp_r29->nessVars[0].SpecialLw.releaseLag = - temp_r29->nessVars[0].SpecialLw.releaseLag - 1; + if (temp_r29->nessVars.SpecialLw.releaseLag > 0) { + temp_r29->nessVars.SpecialLw.releaseLag = + temp_r29->nessVars.SpecialLw.releaseLag - 1; } GetAttrStuff(arg0); @@ -545,12 +545,12 @@ void ftNess_SpecialAirLwTurn_Anim(HSD_GObj* arg0) Fighter* temp_r29 = temp_r30 = arg0->user_data; if ((temp_r29->input.x65C_heldInputs & HSD_BUTTON_B) == false) { - temp_r29->nessVars[0].SpecialLw.isRelease = 1; + temp_r29->nessVars.SpecialLw.isRelease = 1; } - if (temp_r29->nessVars[0].SpecialLw.releaseLag > 0) { - temp_r29->nessVars[0].SpecialLw.releaseLag = - temp_r29->nessVars[0].SpecialLw.releaseLag - 1; + if (temp_r29->nessVars.SpecialLw.releaseLag > 0) { + temp_r29->nessVars.SpecialLw.releaseLag = + temp_r29->nessVars.SpecialLw.releaseLag - 1; } GetAttrStuff(arg0); @@ -600,9 +600,9 @@ void ftNess_SpecialAirLwTurn_Phys( ness_attr = fp->x2D4_specialAttributes; attr = &fp->x110_attr; - magnetTimer = fp->nessVars[0].SpecialLw.gravityDelay; + magnetTimer = fp->nessVars.SpecialLw.gravityDelay; if (magnetTimer != 0) { - fp->nessVars[0].SpecialLw.gravityDelay = magnetTimer - 1; + fp->nessVars.SpecialLw.gravityDelay = magnetTimer - 1; goto block_end; } func_8007D494(fp, ness_attr->x8C_PSI_MAGNET_FALL_ACCEL, @@ -675,8 +675,8 @@ bool ftNess_SpecialLwHold_GroundOrAir( ftNessAttributes* attrs; temp_r3 = arg0->user_data; - if (((s32) temp_r3->nessVars[0].SpecialLw.releaseLag <= 0) && - ((s32) temp_r3->nessVars[0].SpecialLw.isRelease != false)) + if (((s32) temp_r3->nessVars.SpecialLw.releaseLag <= 0) && + ((s32) temp_r3->nessVars.SpecialLw.isRelease != false)) { if ((s32) temp_r3->xE0_ground_or_air == GA_Ground) { ftNess_SpecialLwEnd_Action(arg0); @@ -735,17 +735,17 @@ void ftNess_SpecialLwHit_Anim( temp_r4 = arg0->user_data; if (FLAGS_NONE(temp_r4->input.x65C_heldInputs, HSD_BUTTON_B)) { - temp_r4->nessVars[0].SpecialLw.isRelease = 1; + temp_r4->nessVars.SpecialLw.isRelease = 1; } - if (temp_r4->nessVars[0].SpecialLw.releaseLag > 0) { - temp_r4->nessVars[0].SpecialLw.releaseLag = - (s32) (temp_r4->nessVars[0].SpecialLw.releaseLag - 1); + if (temp_r4->nessVars.SpecialLw.releaseLag > 0) { + temp_r4->nessVars.SpecialLw.releaseLag = + (s32) (temp_r4->nessVars.SpecialLw.releaseLag - 1); } if (!ftAnim_IsFramesRemaining(arg0)) { temp_r3_2 = arg0->user_data; - if (((s32) temp_r3_2->nessVars[0].SpecialLw.releaseLag <= 0) && - ((s32) temp_r3_2->nessVars[0].SpecialLw.isRelease != 0)) + if (((s32) temp_r3_2->nessVars.SpecialLw.releaseLag <= 0) && + ((s32) temp_r3_2->nessVars.SpecialLw.isRelease != 0)) { if ((s32) temp_r3_2->xE0_ground_or_air == GA_Ground) { ftNess_SpecialLwEnd_Action(arg0); @@ -800,12 +800,12 @@ void ftNess_SpecialAirLwHit_Anim( temp_r4 = arg0->user_data; if ((temp_r4->input.x65C_heldInputs & HSD_BUTTON_B) == false) { - temp_r4->nessVars[0].SpecialLw.isRelease = 1; + temp_r4->nessVars.SpecialLw.isRelease = 1; } - if (temp_r4->nessVars[0].SpecialLw.releaseLag > 0) { - temp_r4->nessVars[0].SpecialLw.releaseLag = - (s32) (temp_r4->nessVars[0].SpecialLw.releaseLag - 1); + if (temp_r4->nessVars.SpecialLw.releaseLag > 0) { + temp_r4->nessVars.SpecialLw.releaseLag = + (s32) (temp_r4->nessVars.SpecialLw.releaseLag - 1); } if ((!ftAnim_IsFramesRemaining(arg0)) && (ftNess_SpecialLwHold_GroundOrAir(arg0) != false)) @@ -868,9 +868,9 @@ void ftNess_SpecialAirLwHit_Phys( attrs = temp_r31->x2D4_specialAttributes; attributes = &temp_r31->x110_attr; - temp_r3 = temp_r31->nessVars[0].SpecialLw.gravityDelay; + temp_r3 = temp_r31->nessVars.SpecialLw.gravityDelay; if (temp_r3 != 0) { - temp_r31->nessVars[0].SpecialLw.gravityDelay = temp_r3 - 1; + temp_r31->nessVars.SpecialLw.gravityDelay = temp_r3 - 1; goto end_part; } func_8007D494(temp_r31, attrs->x8C_PSI_MAGNET_FALL_ACCEL, @@ -1063,9 +1063,9 @@ void ftNess_SpecialAirLwEnd_Phys( attrs = temp_r31->x2D4_specialAttributes; attributes = &temp_r31->x110_attr; - temp_r3 = temp_r31->nessVars[0].SpecialLw.gravityDelay; + temp_r3 = temp_r31->nessVars.SpecialLw.gravityDelay; if (temp_r3 != 0) { - temp_r31->nessVars[0].SpecialLw.gravityDelay = temp_r3 - 1; + temp_r31->nessVars.SpecialLw.gravityDelay = temp_r3 - 1; goto end_part; } func_8007D494(temp_r31, attrs->x8C_PSI_MAGNET_FALL_ACCEL, diff --git a/src/melee/ft/chara/ftNess/ftNess_SpecialN.c b/src/melee/ft/chara/ftNess/ftNess_SpecialN.c index b3b6f94cb..a58ebe5b1 100644 --- a/src/melee/ft/chara/ftNess/ftNess_SpecialN.c +++ b/src/melee/ft/chara/ftNess/ftNess_SpecialN.c @@ -117,15 +117,15 @@ void ftNess_SpecialNStart_Action( temp_fp = GET_FIGHTER(fighter_gobj); ness_attr = getFtSpecialAttrs(temp_fp); - temp_fp->nessVars[0].SpecialN.flashTimerLoop1 = + temp_fp->nessVars.SpecialN.flashTimerLoop1 = (s32) ness_attr->x0_PKFLASH_TIMER1_LOOPFRAMES; - temp_fp->nessVars[0].SpecialN.flashTimerLoop2 = + temp_fp->nessVars.SpecialN.flashTimerLoop2 = (s32) ness_attr->x4_PKFLASH_TIMER2_LOOPFRAMES; - temp_fp->nessVars[0].SpecialN.gravityDelay = + temp_fp->nessVars.SpecialN.gravityDelay = (s32) ness_attr->x8_PKFLASH_GRAVITY_DELAY; temp_fp->sa.ness.x2240_flashGObj = NULL; - temp_fp->nessVars[0].SpecialN.flashTimerMin = + temp_fp->nessVars.SpecialN.flashTimerMin = (s32) ness_attr->xC_PKFLASH_MINCHARGEFRAMES; temp_fp->cb.x21E4_callback_OnDeath2 = NULL; temp_fp->cb.x21DC_callback_OnTakeDamage = NULL; @@ -160,16 +160,16 @@ void ftNess_SpecialAirNStart_Action( temp_fp = GET_FIGHTER(fighter_gobj); ness_attr = getFtSpecialAttrs(temp_fp); - temp_fp->nessVars[0].SpecialN.flashTimerLoop1 = + temp_fp->nessVars.SpecialN.flashTimerLoop1 = (s32) ness_attr->x0_PKFLASH_TIMER1_LOOPFRAMES; - temp_fp->nessVars[0].SpecialN.flashTimerLoop2 = + temp_fp->nessVars.SpecialN.flashTimerLoop2 = (s32) ness_attr->x4_PKFLASH_TIMER2_LOOPFRAMES; - temp_fp->nessVars[0].SpecialN.gravityDelay = + temp_fp->nessVars.SpecialN.gravityDelay = (s32) ness_attr->x8_PKFLASH_GRAVITY_DELAY; temp_fp->sa.ness.x2240_flashGObj = NULL; - temp_fp->nessVars[0].SpecialN.flashTimerMin = + temp_fp->nessVars.SpecialN.flashTimerMin = (s32) ness_attr->xC_PKFLASH_MINCHARGEFRAMES; temp_fp->cb.x21E4_callback_OnDeath2 = NULL; @@ -225,17 +225,17 @@ void ftNess_SpecialNHold_Anim( Fighter* fp; fp = GET_FIGHTER(fighter_gobj); - if (fp->nessVars[0].SpecialN.flashTimerLoop1 != 0) { - fp->nessVars[0].SpecialN.flashTimerLoop1--; + if (fp->nessVars.SpecialN.flashTimerLoop1 != 0) { + fp->nessVars.SpecialN.flashTimerLoop1--; } if (fp->sa.ness.x2240_flashGObj == NULL) { - if (fp->nessVars[0].SpecialN.flashTimerLoop2 != 0) { - fp->nessVars[0].SpecialN.flashTimerLoop2--; + if (fp->nessVars.SpecialN.flashTimerLoop2 != 0) { + fp->nessVars.SpecialN.flashTimerLoop2--; } } if (fp->sa.ness.x2240_flashGObj == NULL) { - if (((s32) fp->nessVars[0].SpecialN.flashTimerLoop1 <= 0) && - ((s32) fp->nessVars[0].SpecialN.flashTimerLoop2 <= 0)) + if (((s32) fp->nessVars.SpecialN.flashTimerLoop1 <= 0) && + ((s32) fp->nessVars.SpecialN.flashTimerLoop2 <= 0)) { Fighter_ActionStateChange_800693AC( fighter_gobj, AS_NESS_SPECIALN_END, 0, NULL, 0.0f, 1.0f, 0.0f); @@ -268,14 +268,13 @@ SetPKFlashAttr(HSD_GObj* fighter_gobj) // Inline to set all variables and match Fighter* fp = GET_FIGHTER(fighter_gobj); ftNessAttributes* ness_attr = fp->x2D4_specialAttributes; - fp->nessVars[0].SpecialN.flashTimerLoop1 = + fp->nessVars.SpecialN.flashTimerLoop1 = ness_attr->x0_PKFLASH_TIMER1_LOOPFRAMES; - fp->nessVars[0].SpecialN.flashTimerLoop2 = + fp->nessVars.SpecialN.flashTimerLoop2 = ness_attr->x4_PKFLASH_TIMER2_LOOPFRAMES; - fp->nessVars[0].SpecialN.gravityDelay = ness_attr->x8_PKFLASH_GRAVITY_DELAY; + fp->nessVars.SpecialN.gravityDelay = ness_attr->x8_PKFLASH_GRAVITY_DELAY; fp->sa.ness.x2240_flashGObj = NULL; - fp->nessVars[0].SpecialN.flashTimerMin = - ness_attr->xC_PKFLASH_MINCHARGEFRAMES; + fp->nessVars.SpecialN.flashTimerMin = ness_attr->xC_PKFLASH_MINCHARGEFRAMES; fp->cb.x21E4_callback_OnDeath2 = NULL; fp->cb.x21DC_callback_OnTakeDamage = NULL; } @@ -345,17 +344,17 @@ void ftNess_SpecialAirNHold_Anim( { Fighter* fp = GET_FIGHTER(fighter_gobj); - if (fp->nessVars[0].SpecialN.flashTimerLoop1 != 0) { - fp->nessVars[0].SpecialN.flashTimerLoop1--; + if (fp->nessVars.SpecialN.flashTimerLoop1 != 0) { + fp->nessVars.SpecialN.flashTimerLoop1--; } if (fp->sa.ness.x2240_flashGObj == NULL) { - if (fp->nessVars[0].SpecialN.flashTimerLoop2 != 0) { - fp->nessVars[0].SpecialN.flashTimerLoop2--; + if (fp->nessVars.SpecialN.flashTimerLoop2 != 0) { + fp->nessVars.SpecialN.flashTimerLoop2--; } } if (fp->sa.ness.x2240_flashGObj == NULL) { - if (((s32) fp->nessVars[0].SpecialN.flashTimerLoop1 <= 0) && - ((s32) fp->nessVars[0].SpecialN.flashTimerLoop2 <= 0)) + if (((s32) fp->nessVars.SpecialN.flashTimerLoop1 <= 0) && + ((s32) fp->nessVars.SpecialN.flashTimerLoop2 <= 0)) { Fighter_ActionStateChange_800693AC(fighter_gobj, AS_NESS_SPECIALAIRN_END, 0, NULL, @@ -426,9 +425,9 @@ void ftNess_SpecialNHold_IASA( s32 phi_r0; fp = GET_FIGHTER(fighter_gobj); - fp->nessVars[0].SpecialN.flashTimerMin--; - if ((s32) fp->nessVars[0].SpecialN.flashTimerMin <= 0) { - fp->nessVars[0].SpecialN.flashTimerMin = 0; + fp->nessVars.SpecialN.flashTimerMin--; + if ((s32) fp->nessVars.SpecialN.flashTimerMin <= 0) { + fp->nessVars.SpecialN.flashTimerMin = 0; phi_r0 = true; } else { phi_r0 = false; @@ -472,10 +471,10 @@ void ftNess_SpecialAirNHold_IASA( s32 phi_r0; fp = GET_FIGHTER(fighter_gobj); - fp->nessVars[0].SpecialN.flashTimerMin = - (s32) (fp->nessVars[0].SpecialN.flashTimerMin - 1); - if ((s32) fp->nessVars[0].SpecialN.flashTimerMin <= 0) { - fp->nessVars[0].SpecialN.flashTimerMin = 0; + fp->nessVars.SpecialN.flashTimerMin = + (s32) (fp->nessVars.SpecialN.flashTimerMin - 1); + if ((s32) fp->nessVars.SpecialN.flashTimerMin <= 0) { + fp->nessVars.SpecialN.flashTimerMin = 0; phi_r0 = true; } else { phi_r0 = false; @@ -507,8 +506,8 @@ inline void GravityDelay(HSD_GObj* fighter_gobj) // Inline to set remaining { Fighter* fp = GET_FIGHTER(fighter_gobj); - if (fp->nessVars[0].SpecialN.gravityDelay != 0) { - fp->nessVars[0].SpecialN.gravityDelay--; + if (fp->nessVars.SpecialN.gravityDelay != 0) { + fp->nessVars.SpecialN.gravityDelay--; } } @@ -548,8 +547,8 @@ void ftNess_SpecialAirNStart_Phys( f32 fallAccel; f32 terminalVelocity; - if (fp->nessVars[0].SpecialN.gravityDelay != 0) { - fp->nessVars[0].SpecialN.gravityDelay--; + if (fp->nessVars.SpecialN.gravityDelay != 0) { + fp->nessVars.SpecialN.gravityDelay--; } else func_8007D494(fp, ness_attr->x14_PKFLASH_FALL_ACCEL, fp->x110_attr.x170_TerminalVelocity); @@ -569,8 +568,8 @@ void ftNess_SpecialAirNHold_Phys( f32 fallAccel; f32 terminalVelocity; - if (fp->nessVars[0].SpecialN.gravityDelay != 0) { - fp->nessVars[0].SpecialN.gravityDelay--; + if (fp->nessVars.SpecialN.gravityDelay != 0) { + fp->nessVars.SpecialN.gravityDelay--; } else func_8007D494(fp, ness_attr->x14_PKFLASH_FALL_ACCEL, fp->x110_attr.x170_TerminalVelocity); @@ -590,8 +589,8 @@ void ftNess_SpecialAirNEnd_Phys( f32 fallAccel; f32 terminalVelocity; - if (fp->nessVars[0].SpecialN.gravityDelay != 0) { - fp->nessVars[0].SpecialN.gravityDelay--; + if (fp->nessVars.SpecialN.gravityDelay != 0) { + fp->nessVars.SpecialN.gravityDelay--; } else func_8007D494(fp, ness_attr->x14_PKFLASH_FALL_ACCEL, fp->x110_attr.x170_TerminalVelocity); diff --git a/src/melee/ft/chara/ftSeak/ftSeak_SpecialS.c b/src/melee/ft/chara/ftSeak/ftSeak_SpecialS.c index 22eb6401a..e6354aded 100644 --- a/src/melee/ft/chara/ftSeak/ftSeak_SpecialS.c +++ b/src/melee/ft/chara/ftSeak/ftSeak_SpecialS.c @@ -332,10 +332,10 @@ void ftSeak_80110BCC(HSD_GObj* fighter_gobj) fp->sa.seak.x2268[i].y = fp->sa.seak.x2238[i].y; } - if (fp->seakVars[0].SpecialS.x235C > 0) { - fp->seakVars[0].SpecialS.x235C--; + if (fp->seakVars.SpecialS.x235C > 0) { + fp->seakVars.SpecialS.x235C--; - if (fp->seakVars[0].SpecialS.x235C == 0) + if (fp->seakVars.SpecialS.x235C == 0) ftSeakSpecialS_LoopChainHitCollisions(fighter_gobj); } @@ -348,16 +348,16 @@ void ftSeak_80110BCC(HSD_GObj* fighter_gobj) sums_of_squares[2] > chain_val_sq || sums_of_squares[3] > chain_val_sq) { - if (fp->seakVars[0].SpecialS.x235C <= 0) { - fp->seakVars[0].SpecialS.x235C = specialAttributes->x18; + if (fp->seakVars.SpecialS.x235C <= 0) { + fp->seakVars.SpecialS.x235C = specialAttributes->x18; ftSeakSpecialS_LoopChainHitActivate(fighter_gobj); } } else { - s32 var = fp->seakVars[0].SpecialS.x2360; + s32 var = fp->seakVars.SpecialS.x2360; if (var > 0) { - fp->seakVars[0].SpecialS.x2360--; + fp->seakVars.SpecialS.x2360--; } else { - fp->seakVars[0].SpecialS.x235C = 0; + fp->seakVars.SpecialS.x235C = 0; ftSeakSpecialS_LoopChainHitCollisions(fighter_gobj); } } @@ -414,7 +414,7 @@ void ftSeak_ChainSomething(HSD_GObj* fighter_gobj) if (fp->sa.seak.x2234) { func_802BAF0C(fp->sa.seak.x2234); - fp->seakVars[0].SpecialS.x2360 = 2; + fp->seakVars.SpecialS.x2360 = 2; } } @@ -532,7 +532,7 @@ bool ftSeak_SpecialS_CheckInitChain(HSD_GObj* fighter_gobj) fp2->cb.x21D4_callback_EnterHitlag = &ftSeak_80110EE8; fp2->cb.x21D8_callback_ExitHitlag = &ftSeak_ChainSomething; - fp->seakVars[0].SpecialS.x235C = specialAttributes->x18; + fp->seakVars.SpecialS.x235C = specialAttributes->x18; if (fp->sa.seak.x2234 == NULL) { if (fp->xE0_ground_or_air == GA_Air) @@ -1032,7 +1032,7 @@ void ftSeak_80111DF8(HSD_GObj* fighter_gobj) Fighter* fp = GET_FIGHTER(fighter_gobj); fp->x2340_stateVar1 = 0; - if (fp->seakVars[0].SpecialS.x235C != 0) + if (fp->seakVars.SpecialS.x235C != 0) ftSeak_80110AEC(fighter_gobj); if (fp->sa.seak.x2234 != NULL) { @@ -1055,7 +1055,7 @@ void ftSeak_80111EB4(HSD_GObj* fighter_gobj) Fighter* fp = fighter_gobj->user_data; fp->x2340_stateVar1 = 0; - if (fp->seakVars[0].SpecialS.x235C != 0) + if (fp->seakVars.SpecialS.x235C != 0) ftSeak_80110AEC(fighter_gobj); if (fp->sa.seak.x2234 != NULL) { diff --git a/src/melee/ft/ftcliffcommon.c b/src/melee/ft/ftcliffcommon.c index d17cb8159..47c95dc36 100644 --- a/src/melee/ft/ftcliffcommon.c +++ b/src/melee/ft/ftcliffcommon.c @@ -31,8 +31,8 @@ bool func_80081298(HSD_GObj* gobj) other_fp = other_gobj->user_data; func_8003FFDC(other_fp->xC_playerID, other_fp->x221F_flag.bits.b4, fp->xC_playerID, fp->x221F_flag.bits.b4, - other_fp->commonVars[0].CliffCommon.ledgeID); - fp->x213C = other_fp->commonVars[0].CliffCommon.ledgeID; + other_fp->commonVars.CliffCommon.ledgeID); + fp->x213C = other_fp->commonVars.CliffCommon.ledgeID; return false; } return false; @@ -70,9 +70,9 @@ void func_80081370(HSD_GObj* gobj) func_8007E2FC(gobj); fp->x221D_flag.bits.b7 = 1; if (fp->facing_dir > 0.0f) { - fp->commonVars[0].CliffCommon.ledgeID = fp->x6F0_collData.x44; + fp->commonVars.CliffCommon.ledgeID = fp->x6F0_collData.x44; } else { - fp->commonVars[0].CliffCommon.ledgeID = fp->x6F0_collData.x40; + fp->commonVars.CliffCommon.ledgeID = fp->x6F0_collData.x40; } func_80081544(gobj); func_800881D8(fp, fp->x10C_ftData->x4C_collisionData->x28, 0x7F, 0x40); @@ -80,9 +80,9 @@ void func_80081370(HSD_GObj* gobj) func_8007EBAC(fp, 0xC, 0); if (fp->facing_dir > 0.0f) { - func_80053ECC(fp->commonVars[0].CliffCommon.ledgeID, unkParam.x10); + func_80053ECC(fp->commonVars.CliffCommon.ledgeID, unkParam.x10); } else { - func_80053DA4(fp->commonVars[0].CliffCommon.ledgeID, unkParam.x10); + func_80053DA4(fp->commonVars.CliffCommon.ledgeID, unkParam.x10); } efAsync_Spawn(gobj, (void*) ((u32) gobj->user_data + 0x60C), 2, 0x41C, 0, &unkParam.x10); @@ -105,11 +105,11 @@ void func_80081544(HSD_GObj* gobj) s32 dummy2[1]; Fighter* fp = gobj->user_data; - if (func_80054ED8(fp->commonVars[0].CliffCommon.ledgeID) != 0) { + if (func_80054ED8(fp->commonVars.CliffCommon.ledgeID) != 0) { if (fp->facing_dir > 0.0f) { - func_80053ECC(fp->commonVars[0].CliffCommon.ledgeID, sp10); + func_80053ECC(fp->commonVars.CliffCommon.ledgeID, sp10); } else { - func_80053DA4(fp->commonVars[0].CliffCommon.ledgeID, sp10); + func_80053DA4(fp->commonVars.CliffCommon.ledgeID, sp10); } fp->xB0_pos.x = (f32) ((fp->x68C_transNPos.z * fp->facing_dir) + sp10[0]); @@ -138,8 +138,7 @@ void func_80081644(HSD_GObj* gobj) Fighter* fp = gobj->user_data; func_800761C8(gobj); if ((s32) fp->xE0_ground_or_air == GA_Air) { - func_8005811C(&fp->x6F0_collData, - fp->commonVars[0].CliffCommon.ledgeID); + func_8005811C(&fp->x6F0_collData, fp->commonVars.CliffCommon.ledgeID); fp->x890_cameraBox->xC_flag.bits.b0 = 1; } } diff --git a/src/melee/ft/ftstatevars.h b/src/melee/ft/ftstatevars.h index 333e8d676..2c9fcfc12 100644 --- a/src/melee/ft/ftstatevars.h +++ b/src/melee/ft/ftstatevars.h @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include diff --git a/src/melee/ft/types.h b/src/melee/ft/types.h index f4ab24b0b..87bbc8635 100644 --- a/src/melee/ft/types.h +++ b/src/melee/ft/types.h @@ -1942,156 +1942,96 @@ struct Fighter { /* 0x2330 */ Vec2 x2330; /* 0x2338 */ Vec2 x2338; - /* The following series of individual unions with array size 0 is a - temporary hack to bypass compiler errors and size shifts for this mess of a - struct. These StateVar structs should be one big union once the rest is - cleaned up. */ + union { // 0x2340 + ftCommonStateVars commonVars; + ftMarioStateVars marioVars; + ftCaptainStateVars captainVars; + ftFoxStateVars foxVars; + ftSeakStateVars seakVars; + ftNessStateVars nessVars; + ftLuigiStateVars luigiVars; + ftMewtwoStateVars mewtwoVars; + ftGameWatchStateVars gameWatchVars; + ftMasterhandStateVars masterhandVars; - union { - union { - ftCommonStateVars commonVars[0]; // 0x2340 - }; - union { - ftMarioStateVars marioVars[0]; // 0x2340 - }; - union { - ftCaptainStateVars captainVars[0]; // 0x2340 - }; - union { - ftFoxStateVars foxVars[0]; // 0x2340 - }; - union { - ftSeakStateVars seakVars[0]; // 0x2340 - }; - union { - ftNessStateVars nessVars[0]; // 0x2340 - }; - union { - ftLuigiStateVars luigiVars[0]; // 0x2340 - }; - union { - ftMewtwoStateVars mewtwoVars[0]; // 0x2340 - }; - union { - ftGameWatchStateVars gameWatchVars[0]; // 0x2340 - }; - /* 0x2340 */ s32 x2340_stateVar1; - /* 0x2340 */ u32 x2340_stateVar1_u32; - /* 0x2340 */ f32 x2340_f32; - }; - union { - u32 x2344_stateVar2; - s32 x2344_stateVar2_s32; - void (*x2344_callback)(HSD_GObj*); - f32 x2344_f32; + // Avoid adding members to this struct. + // This is a hack, all these members should eventually + // migrate to the character-specific union members above. struct { union { - Vec3 x2344_foxSpecialS[0]; + /* 0x2340 */ s32 x2340_stateVar1; + /* 0x2340 */ u32 x2340_stateVar1_u32; + /* 0x2340 */ f32 x2340_f32; }; + union { + u32 x2344_stateVar2; + s32 x2344_stateVar2_s32; + f32 x2344_f32; + }; + union { + /* 0x2348 */ u32 x2348_stateVar3; + /* 0x2348 */ s32 x2348_stateVar3_s32; + /* 0x2348 */ f32 x2348_stateVar3_f32; + }; + union { + struct { + union { + /* 0x234C */ u32 x234C_stateVar4; + /* 0x234C */ s32 x234C_stateVar4_s32; + /* 0x234C */ f32 x234C_stateVar4_f32; + }; + union { + /* 0x2350 */ u32 x2350_stateVar5; + /* 0x2350 */ s32 x2350_stateVar5_s32; + /* 0x2350 */ f32 x2350_stateVar5_f32; + }; + union { + /* 0x2354 */ u32 x2354_stateVar6; + /* 0x2354 */ s32 x2354_stateVar6_s32; + /* 0x2354 */ f32 x2354_stateVar6_f32; + }; + }; + /* 0x234C */ Vec3 x234C_pos; + }; + union { + /* 0x2358 */ f32 x2358_stateVar7; + /* 0x2358 */ s32 x2358_stateVar7_s32; + }; + union { + /* 0x235C */ f32 x235C; + /* 0x235C */ u32 x235C_u32; + /* 0x235C */ f32 x235C_f32; + }; + union { + /* 0x2360 */ u32 x2360_u32; + /* 0x2360 */ s32 x2360; + /* 0x2360 */ f32 x2360_f32; + }; + /* 0x2364 */ f32 x2364; + /* 0x2368 */ u32 x2368; + /* 0x236C */ u32 x236C; + /* 0x2370 */ u32 x2370; + union { + struct { + /* 0x2374 */ u32 x2374; + /* 0x2378 */ u32 x2378; + /* 0x237C */ u32 x237C; + }; + /* 0x2374 */ Vec3 x2374_Vec3; + }; + /* 0x2380 */ u32 x2380; + /* 0x2384 */ u32 x2384; + /* 0x2388 */ u32 x2388; + /* 0x238C */ u32 x238C; + /* 0x2390 */ f32 x2390; + /* 0x2394 */ s32 x2394; + /* 0x2394 */ Vec3 x2398; + /* 0x2394 */ Vec3 x23A4; + /* 0x23B0 */ s32 x23B0; + /* 0x23B4 */ s32 x23B4; + /* 0x23B8 */ s32 x23B8; }; }; - union { - /* 0x2348 */ u32 x2348_stateVar3; - /* 0x2348 */ s32 x2348_stateVar3_s32; - /* 0x2348 */ f32 x2348_stateVar3_f32; - }; - union { - struct { - union { - /* 0x234C */ u32 x234C_stateVar4; - /* 0x234C */ s32 x234C_stateVar4_s32; - /* 0x234C */ f32 x234C_stateVar4_f32; - }; - union { - /* 0x2350 */ u32 x2350_stateVar5; - /* 0x2350 */ s32 x2350_stateVar5_s32; - /* 0x2350 */ f32 x2350_stateVar5_f32; - }; - union { - /* 0x2354 */ u32 x2354_stateVar6; - /* 0x2354 */ s32 x2354_stateVar6_s32; - /* 0x2354 */ f32 x2354_stateVar6_f32; - }; - }; - /* 0x234C */ Vec3 x234C_pos; - }; - union { - /* 0x2358 */ f32 x2358_stateVar7; - /* 0x2358 */ s32 x2358_stateVar7_s32; - }; - union { - /* 0x235C */ f32 x235C; - /* 0x235C */ u32 x235C_u32; - /* 0x235C */ s32 x235C_s32; - /* 0x235C */ f32 x235C_f32; - }; - union { - /* 0x2360 */ u32 x2360_u32; - /* 0x2360 */ s32 x2360; - /* 0x2360 */ f32 x2360_f32; - }; - union { - /* 0x2364 */ u32 x2364_u32; - /* 0x2364 */ f32 x2364; - /* 0x2364 */ f32 x2364_f32; - }; - union { - /* 0x2368 */ u32 x2368; - /* 0x2368 */ f32 x2368_f32; - }; - union { - /* 0x236C */ u32 x236C; - /* 0x236C */ f32 x236C_f32; - }; - union { - /* 0x2370 */ u32 x2370; - /* 0x2370 */ f32 x2370_f32; - }; - union { - struct { - union { - /* 0x2374 */ u32 x2374; - /* 0x2374 */ f32 x2374_f32; - /* 0x2374 */ f32 x2374_foxArray[0]; - }; - union { - /* 0x2378 */ u32 x2378; - /* 0x2378 */ f32 x2378_f32; - }; - union { - /* 0x237C */ u32 x237C; - /* 0x237C */ f32 x237C_f32; - }; - }; - /* 0x2374 */ Vec3 x2374_Vec3; - }; - union { - /* 0x2380 */ u32 x2380; - /* 0x2380 */ f32 x2380_f32; - }; - union { - /* 0x2384 */ u32 x2384_u32; - /* 0x2384 */ s32 x2384_s32; - /* 0x2384 */ f32 x2384_f32; - /* 0x2384 */ HSD_GObj* x2384_GObj; - }; - union { - /* 0x2388 */ u32 x2388_u32; - /* 0x2388 */ s32 x2388_s32; - /* 0x2388 */ f32 x2388_f32; - }; - union { - /* 0x238C */ u32 x238C_u32; - /* 0x238C */ f32 x238C; - /* 0x238C */ f32 x238C_f32; - }; - /* 0x2390 */ f32 x2390; - /* 0x2394 */ s32 x2394; - /* 0x2394 */ Vec3 x2398; - /* 0x2394 */ Vec3 x23A4; - /* 0x23B0 */ s32 x23B0; - /* 0x23B4 */ s32 x23B4; - /* 0x23B8 */ s32 x23B8; u8 filler_x23B8[0x23E8 - 0x23B8]; };