mirror of
https://github.com/doldecomp/melee.git
synced 2024-11-26 23:00:28 +00:00
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:
parent
5df46b88f9
commit
034e79c93e
@ -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
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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,
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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) {}
|
||||
|
@ -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 {
|
||||
|
@ -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)) {
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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 {
|
||||
|
@ -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 {
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
25
src/melee/ft/chara/ftMasterHand/ftMasterhand_StateVars.h
Normal file
25
src/melee/ft/chara/ftMasterHand/ftMasterhand_StateVars.h
Normal 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
|
@ -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;
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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));
|
||||
}
|
||||
|
@ -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,
|
||||
|
@ -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);
|
||||
|
@ -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) {
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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>
|
||||
|
@ -1942,39 +1942,23 @@ 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;
|
||||
|
||||
// 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 {
|
||||
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;
|
||||
@ -1982,13 +1966,7 @@ struct Fighter {
|
||||
union {
|
||||
u32 x2344_stateVar2;
|
||||
s32 x2344_stateVar2_s32;
|
||||
void (*x2344_callback)(HSD_GObj*);
|
||||
f32 x2344_f32;
|
||||
struct {
|
||||
union {
|
||||
Vec3 x2344_foxSpecialS[0];
|
||||
};
|
||||
};
|
||||
};
|
||||
union {
|
||||
/* 0x2348 */ u32 x2348_stateVar3;
|
||||
@ -2022,7 +2000,6 @@ struct Fighter {
|
||||
union {
|
||||
/* 0x235C */ f32 x235C;
|
||||
/* 0x235C */ u32 x235C_u32;
|
||||
/* 0x235C */ s32 x235C_s32;
|
||||
/* 0x235C */ f32 x235C_f32;
|
||||
};
|
||||
union {
|
||||
@ -2030,61 +2007,22 @@ struct Fighter {
|
||||
/* 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;
|
||||
};
|
||||
/* 0x2384 */ u32 x2384;
|
||||
/* 0x2388 */ u32 x2388;
|
||||
/* 0x238C */ u32 x238C;
|
||||
/* 0x2390 */ f32 x2390;
|
||||
/* 0x2394 */ s32 x2394;
|
||||
/* 0x2394 */ Vec3 x2398;
|
||||
@ -2092,6 +2030,8 @@ struct Fighter {
|
||||
/* 0x23B0 */ s32 x23B0;
|
||||
/* 0x23B4 */ s32 x23B4;
|
||||
/* 0x23B8 */ s32 x23B8;
|
||||
};
|
||||
};
|
||||
u8 filler_x23B8[0x23E8 - 0x23B8];
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user