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
This commit is contained in:
Ryan Burns 2023-03-06 00:38:17 -08:00 committed by GitHub
parent 5df46b88f9
commit 034e79c93e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
46 changed files with 820 additions and 866 deletions

View File

@ -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

View File

@ -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);

View File

@ -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);
}
}

View File

@ -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;

View File

@ -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);

View File

@ -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;
}
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}
}

View File

@ -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;
}

View File

@ -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);
}

View File

@ -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,

View File

@ -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);

View File

@ -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);

View File

@ -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;

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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);
}

View File

@ -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) {}

View File

@ -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 {

View File

@ -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)) {

View File

@ -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;

View File

@ -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;

View File

@ -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;
}

View File

@ -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 {

View File

@ -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 {

View File

@ -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;
}

View File

@ -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);
}

View File

@ -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;

View File

@ -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;
}

View File

@ -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);

View File

@ -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);

View File

@ -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;

View File

@ -0,0 +1,25 @@
#ifndef FTMASTERHAND_STATEVARS_H
#define FTMASTERHAND_STATEVARS_H
#include <Runtime/platform.h>
#include <sysdolphin/baselib/gobj.h>
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

View File

@ -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;
}

View File

@ -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);

View File

@ -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;

View File

@ -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);

View File

@ -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);

View File

@ -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));
}

View File

@ -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,

View File

@ -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);

View File

@ -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) {

View File

@ -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;
}
}

View File

@ -9,6 +9,7 @@
#include <melee/ft/chara/ftGameWatch/ftGameWatch_StateVars.h>
#include <melee/ft/chara/ftLuigi/ftLuigi_StateVars.h>
#include <melee/ft/chara/ftMario/ftMario_StateVars.h>
#include <melee/ft/chara/ftMasterHand/ftMasterhand_StateVars.h>
#include <melee/ft/chara/ftMewtwo/ftMewtwo_StateVars.h>
#include <melee/ft/chara/ftNess/ftNess_StateVars.h>
#include <melee/ft/chara/ftSeak/ftSeak_StateVars.h>

View File

@ -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];
};