mirror of
https://github.com/doldecomp/melee.git
synced 2024-11-23 05:19:59 +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.z = 0.0f;
|
||||||
fp->x80_self_vel.y = 0.0f;
|
fp->x80_self_vel.y = 0.0f;
|
||||||
fp->x80_self_vel.x = 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);
|
func_8007D60C(fp);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -383,15 +383,15 @@ void ftCaptain_SpecialAirSStart_Phys(HSD_GObj* fighter_gobj)
|
|||||||
|
|
||||||
func_80085134(fighter_gobj);
|
func_80085134(fighter_gobj);
|
||||||
if ((u32) fp->x2204_ftcmd_var1 == 1U) {
|
if ((u32) fp->x2204_ftcmd_var1 == 1U) {
|
||||||
fp->captainVars[0].SpecialS.gravity -=
|
fp->captainVars.SpecialS.gravity -=
|
||||||
captainAttrs->x18_CAPTAIN_RAPTORBOOST_GRAVITY;
|
captainAttrs->x18_CAPTAIN_RAPTORBOOST_GRAVITY;
|
||||||
if (fp->captainVars[0].SpecialS.gravity <
|
if (fp->captainVars.SpecialS.gravity <
|
||||||
-captainAttrs->x1C_CAPTAIN_RAPTORBOOST_TERMINAL_VELOCITY)
|
-captainAttrs->x1C_CAPTAIN_RAPTORBOOST_TERMINAL_VELOCITY)
|
||||||
{
|
{
|
||||||
fp->captainVars[0].SpecialS.gravity =
|
fp->captainVars.SpecialS.gravity =
|
||||||
-captainAttrs->x1C_CAPTAIN_RAPTORBOOST_TERMINAL_VELOCITY;
|
-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
|
#endif
|
||||||
|
|
||||||
func_80085134(fighter_gobj);
|
func_80085134(fighter_gobj);
|
||||||
fp->captainVars[0].SpecialS.gravity -=
|
fp->captainVars.SpecialS.gravity -=
|
||||||
captainAttrs->x18_CAPTAIN_RAPTORBOOST_GRAVITY;
|
captainAttrs->x18_CAPTAIN_RAPTORBOOST_GRAVITY;
|
||||||
if (fp->captainVars[0].SpecialS.gravity <
|
if (fp->captainVars.SpecialS.gravity <
|
||||||
-captainAttrs->x1C_CAPTAIN_RAPTORBOOST_TERMINAL_VELOCITY)
|
-captainAttrs->x1C_CAPTAIN_RAPTORBOOST_TERMINAL_VELOCITY)
|
||||||
{
|
{
|
||||||
fp->captainVars[0].SpecialS.gravity =
|
fp->captainVars.SpecialS.gravity =
|
||||||
-captainAttrs->x1C_CAPTAIN_RAPTORBOOST_TERMINAL_VELOCITY;
|
-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
|
// 0x800E3C38
|
||||||
|
@ -152,11 +152,11 @@ void ftCrazyhand_OnLoad(HSD_GObj* fighter_gobj)
|
|||||||
fp->xB0_pos.z = 0.0f;
|
fp->xB0_pos.z = 0.0f;
|
||||||
fp->x2368 = 0;
|
fp->x2368 = 0;
|
||||||
fp->x236C = 0;
|
fp->x236C = 0;
|
||||||
fp->x2370 = 0;
|
fp->masterhandVars.x2370 = 0;
|
||||||
fp->x2374 = 0;
|
fp->masterhandVars.x2374 = 0;
|
||||||
fp->x2378 = -1;
|
fp->masterhandVars.x2378 = -1;
|
||||||
fp->x237C = -1;
|
fp->masterhandVars.x237C = -1;
|
||||||
fp->x2380 = -1;
|
fp->masterhandVars.x2380 = -1;
|
||||||
fp->x235C = 0.0f;
|
fp->x235C = 0.0f;
|
||||||
fp->x2360 = 0;
|
fp->x2360 = 0;
|
||||||
fp->sa.masterhand.x222C = func_8015C244(fighter_gobj, &fp->xB0_pos);
|
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;
|
s32 animCount;
|
||||||
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
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);
|
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;
|
fp->x2210_ThrowFlags.flags = 0;
|
||||||
|
|
||||||
actionDir = fp->foxVars[0].AppealS.facingDir;
|
actionDir = fp->foxVars.AppealS.facingDir;
|
||||||
animCount = fp->foxVars[0].AppealS.animCount;
|
animCount = fp->foxVars.AppealS.animCount;
|
||||||
|
|
||||||
Fighter_ActionStateChange_800693AC(fighter_gobj,
|
Fighter_ActionStateChange_800693AC(fighter_gobj,
|
||||||
ASID_AppealS[actionDir][animCount], 0,
|
ASID_AppealS[actionDir][animCount], 0,
|
||||||
@ -134,16 +134,16 @@ void ftFox_AppealS_Anim(HSD_GObj* fighter_gobj)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!ftAnim_IsFramesRemaining(fighter_gobj)) {
|
if (!ftAnim_IsFramesRemaining(fighter_gobj)) {
|
||||||
fp->foxVars[0].AppealS.animCount++;
|
fp->foxVars.AppealS.animCount++;
|
||||||
if ((s32) fp->foxVars[0].AppealS.animCount >= 3) {
|
if ((s32) fp->foxVars.AppealS.animCount >= 3) {
|
||||||
func_8008A324(fighter_gobj);
|
func_8008A324(fighter_gobj);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Fighter_ActionStateChange_800693AC(
|
Fighter_ActionStateChange_800693AC(
|
||||||
fighter_gobj,
|
fighter_gobj,
|
||||||
ASID_AppealS[fp->foxVars[0].AppealS.facingDir]
|
ASID_AppealS[fp->foxVars.AppealS.facingDir]
|
||||||
[fp->foxVars[0].AppealS.animCount],
|
[fp->foxVars.AppealS.animCount],
|
||||||
0, NULL, 0.0f, 1.0f, 0.0f);
|
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);
|
fp = GET_FIGHTER(fighter_gobj);
|
||||||
foxAttrs = getFtSpecialAttrs(fp);
|
foxAttrs = getFtSpecialAttrs(fp);
|
||||||
|
|
||||||
fp->foxVars[0].SpecialHi.gravityDelay =
|
fp->foxVars.SpecialHi.gravityDelay =
|
||||||
(s32) foxAttrs->x54_FOX_FIREFOX_GRAVITY_DELAY;
|
(s32) foxAttrs->x54_FOX_FIREFOX_GRAVITY_DELAY;
|
||||||
fp->xEC_ground_vel /= foxAttrs->x58_FOX_FIREFOX_VEL_X;
|
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);
|
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
||||||
ftFoxAttributes* foxAttrs = getFtSpecialAttrs(fp);
|
ftFoxAttributes* foxAttrs = getFtSpecialAttrs(fp);
|
||||||
|
|
||||||
fp->foxVars[0].SpecialHi.gravityDelay =
|
fp->foxVars.SpecialHi.gravityDelay =
|
||||||
(s32) foxAttrs->x54_FOX_FIREFOX_GRAVITY_DELAY;
|
(s32) foxAttrs->x54_FOX_FIREFOX_GRAVITY_DELAY;
|
||||||
fp->x80_self_vel.x /= foxAttrs->x58_FOX_FIREFOX_VEL_X;
|
fp->x80_self_vel.x /= foxAttrs->x58_FOX_FIREFOX_VEL_X;
|
||||||
fp->x80_self_vel.y = 0.0f;
|
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);
|
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
||||||
func_8007592C(fp, func_8007500C(fp, 2),
|
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)
|
void ftFox_SpecialHiHold_Anim(HSD_GObj* fighter_gobj)
|
||||||
@ -144,8 +144,8 @@ void ftFox_SpecialHiHoldAir_Phys(HSD_GObj* fighter_gobj)
|
|||||||
u8 unused[8];
|
u8 unused[8];
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (fp->foxVars[0].SpecialHi.gravityDelay != 0) {
|
if (fp->foxVars.SpecialHi.gravityDelay != 0) {
|
||||||
fp->foxVars[0].SpecialHi.gravityDelay -= 1;
|
fp->foxVars.SpecialHi.gravityDelay -= 1;
|
||||||
} else {
|
} else {
|
||||||
func_8007D494(fp, foxAttrs->x60_FOX_FIREFOX_FALL_ACCEL,
|
func_8007D494(fp, foxAttrs->x60_FOX_FIREFOX_FALL_ACCEL,
|
||||||
ftAttrs->x170_TerminalVelocity);
|
ftAttrs->x170_TerminalVelocity);
|
||||||
@ -212,9 +212,9 @@ void ftFox_SpecialHi_Anim(HSD_GObj* fighter_gobj)
|
|||||||
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
||||||
|
|
||||||
/// @todo Common inline with #ftFox_SpecialAirHi_Anim.
|
/// @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) {
|
if (fp->xE0_ground_or_air == GA_Air) {
|
||||||
ftFox_SpecialHiLanding_GroundToAir(fighter_gobj);
|
ftFox_SpecialHiLanding_GroundToAir(fighter_gobj);
|
||||||
return;
|
return;
|
||||||
@ -228,9 +228,9 @@ void ftFox_SpecialAirHi_Anim(HSD_GObj* fighter_gobj)
|
|||||||
{
|
{
|
||||||
Fighter* fp = GET_FIGHTER(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) {
|
if (fp->xE0_ground_or_air == GA_Air) {
|
||||||
ftFox_SpecialHiLanding_GroundToAir(fighter_gobj);
|
ftFox_SpecialHiLanding_GroundToAir(fighter_gobj);
|
||||||
return;
|
return;
|
||||||
@ -256,9 +256,9 @@ void ftFox_SpecialHi_Phys(HSD_GObj* fighter_gobj)
|
|||||||
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
||||||
ftFoxAttributes* foxAttrs = getFtSpecialAttrs(fp);
|
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_8007C930(fp, foxAttrs->x78_FOX_FIREFOX_REVERSE_ACCEL);
|
||||||
|
|
||||||
func_8007CB74(fighter_gobj);
|
func_8007CB74(fighter_gobj);
|
||||||
@ -269,16 +269,15 @@ void ftFox_SpecialAirHi_Phys(HSD_GObj* fighter_gobj)
|
|||||||
Fighter* fp = getFighter(fighter_gobj);
|
Fighter* fp = getFighter(fighter_gobj);
|
||||||
ftFoxAttributes* foxAttrs = foxAttrs = getFtSpecialAttrs(fp);
|
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->x80_self_vel.x =
|
||||||
-((fp->facing_dir * (foxAttrs->x78_FOX_FIREFOX_REVERSE_ACCEL *
|
-((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.x);
|
||||||
fp->x80_self_vel.y = -((foxAttrs->x78_FOX_FIREFOX_REVERSE_ACCEL *
|
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);
|
fp->x80_self_vel.y);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -288,7 +287,7 @@ void ftFox_SpecialHi_Coll(HSD_GObj* fighter_gobj)
|
|||||||
Fighter* fp = fp = GET_FIGHTER(fighter_gobj);
|
Fighter* fp = fp = GET_FIGHTER(fighter_gobj);
|
||||||
CollData* collData = &fp->x6F0_collData;
|
CollData* collData = &fp->x6F0_collData;
|
||||||
|
|
||||||
fp->foxVars[0].SpecialHi.unk2 += 1;
|
fp->foxVars.SpecialHi.unk2 += 1;
|
||||||
|
|
||||||
if (func_80082708(fighter_gobj) == false) {
|
if (func_80082708(fighter_gobj) == false) {
|
||||||
ftFox_SpecialHi_GroundToAir(fighter_gobj);
|
ftFox_SpecialHi_GroundToAir(fighter_gobj);
|
||||||
@ -296,7 +295,7 @@ void ftFox_SpecialHi_Coll(HSD_GObj* fighter_gobj)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (collData->x134_envFlags & 0x18000) {
|
if (collData->x134_envFlags & 0x18000) {
|
||||||
fp->foxVars[0].SpecialHi.rotateModel =
|
fp->foxVars.SpecialHi.rotateModel =
|
||||||
atan2f(-collData->x14C_ground.normal.x * fp->facing_dir,
|
atan2f(-collData->x14C_ground.normal.x * fp->facing_dir,
|
||||||
collData->x14C_ground.normal.y);
|
collData->x14C_ground.normal.y);
|
||||||
ftFox_SpecialHi_RotateModel(fighter_gobj);
|
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);
|
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
||||||
ftFoxAttributes* foxAttrs = fp->x2D4_specialAttributes;
|
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;
|
return true;
|
||||||
else if (func_8009A134(fighter_gobj) != false)
|
else if (func_8009A134(fighter_gobj) != false)
|
||||||
return false;
|
return false;
|
||||||
@ -385,7 +384,7 @@ void ftFox_SpecialAirHi_Coll(HSD_GObj* fighter_gobj)
|
|||||||
facingDir = -1.0f;
|
facingDir = -1.0f;
|
||||||
|
|
||||||
fp->facing_dir = facingDir;
|
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);
|
atan2f(fp->x80_self_vel.y, fp->x80_self_vel.x * fp->facing_dir);
|
||||||
ftFox_SpecialHi_RotateModel(fighter_gobj);
|
ftFox_SpecialHi_RotateModel(fighter_gobj);
|
||||||
}
|
}
|
||||||
@ -454,16 +453,16 @@ void ftFox_SpecialAirHi_AirToGround(HSD_GObj* fighter_gobj)
|
|||||||
tempAttrs = fp->x2D4_specialAttributes;
|
tempAttrs = fp->x2D4_specialAttributes;
|
||||||
fp->x2223_flag.bits.b4 = 1;
|
fp->x2223_flag.bits.b4 = 1;
|
||||||
|
|
||||||
fp->foxVars[0].SpecialHi.travelFrames =
|
fp->foxVars.SpecialHi.travelFrames =
|
||||||
(u32) (s32) tempAttrs->x68_FOX_FIREFOX_DURATION;
|
(u32) (s32) tempAttrs->x68_FOX_FIREFOX_DURATION;
|
||||||
|
|
||||||
fp->foxVars[0].SpecialHi.unk = 0.0f;
|
fp->foxVars.SpecialHi.unk = 0.0f;
|
||||||
fp->foxVars[0].SpecialHi.unk2 = 0.0f;
|
fp->foxVars.SpecialHi.unk2 = 0.0f;
|
||||||
|
|
||||||
fp->xEC_ground_vel =
|
fp->xEC_ground_vel =
|
||||||
foxAttrs->x74_FOX_FIREFOX_SPEED * fp->facing_dir;
|
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,
|
atan2f(-collData->x14C_ground.normal.x * fp->facing_dir,
|
||||||
collData->x14C_ground.normal.y);
|
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) {
|
if (temp_stick > foxAttrs->x88_FOX_FIREFOX_FACING_STICK_RANGE_MIN) {
|
||||||
func_8007D9FC(fp);
|
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);
|
fp->input.x624_lstick_y, fp->input.x620_lstick_x * fp->facing_dir);
|
||||||
} else {
|
} else {
|
||||||
fp->foxVars[0].SpecialHi.rotateModel = HALF_PI32;
|
fp->foxVars.SpecialHi.rotateModel = HALF_PI32;
|
||||||
}
|
}
|
||||||
|
|
||||||
Fighter_ActionStateChange_800693AC(fighter_gobj, AS_FOX_SPECIALAIRHI, 0,
|
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;
|
tempAttrs = fp->x2D4_specialAttributes;
|
||||||
fp->x2223_flag.bits.b4 = 1;
|
fp->x2223_flag.bits.b4 = 1;
|
||||||
|
|
||||||
fp->foxVars[0].SpecialHi.travelFrames =
|
fp->foxVars.SpecialHi.travelFrames =
|
||||||
(u32) (s32) tempAttrs->x68_FOX_FIREFOX_DURATION;
|
(u32) (s32) tempAttrs->x68_FOX_FIREFOX_DURATION;
|
||||||
fp->foxVars[0].SpecialHi.unk = 0;
|
fp->foxVars.SpecialHi.unk = 0;
|
||||||
fp->foxVars[0].SpecialHi.unk2 = 0;
|
fp->foxVars.SpecialHi.unk2 = 0;
|
||||||
|
|
||||||
fp->x80_self_vel.x =
|
fp->x80_self_vel.x =
|
||||||
fp->facing_dir * (foxAttrs->x74_FOX_FIREFOX_SPEED *
|
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 *
|
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);
|
ftFox_SpecialHi_RotateModel(fighter_gobj);
|
||||||
fp->cb.x21F8_callback = func_8007F76C;
|
fp->cb.x21F8_callback = func_8007F76C;
|
||||||
fp->cb.x21BC_callback_Accessory4 = ftFox_SpecialHi_CreateLaunchGFX;
|
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);
|
Fighter* fp = fp = GET_FIGHTER(fighter_gobj);
|
||||||
ftFoxAttributes* foxAttrs = foxAttrs = getFtSpecialAttrs(fp);
|
ftFoxAttributes* foxAttrs = foxAttrs = getFtSpecialAttrs(fp);
|
||||||
|
|
||||||
fp->foxVars[0].SpecialLw.releaseLag =
|
fp->foxVars.SpecialLw.releaseLag =
|
||||||
(s32) foxAttrs->x98_FOX_REFLECTOR_RELEASE_LAG;
|
(s32) foxAttrs->x98_FOX_REFLECTOR_RELEASE_LAG;
|
||||||
|
|
||||||
fp->foxVars[0].SpecialLw.isRelease = 0;
|
fp->foxVars.SpecialLw.isRelease = 0;
|
||||||
fp->x2204_ftcmd_var1 = 4;
|
fp->x2204_ftcmd_var1 = 4;
|
||||||
|
|
||||||
fp->foxVars[0].SpecialLw.gravityDelay =
|
fp->foxVars.SpecialLw.gravityDelay =
|
||||||
(s32) foxAttrs->xA4_FOX_REFLECTOR_GRAVITY_DELAY;
|
(s32) foxAttrs->xA4_FOX_REFLECTOR_GRAVITY_DELAY;
|
||||||
|
|
||||||
fp->cb.x21BC_callback_Accessory4 = ftFox_SpecialLw_CreateStartGFX;
|
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);
|
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
||||||
|
|
||||||
if ((fp->input.x65C_heldInputs & HSD_BUTTON_B) == false) {
|
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 (!ftAnim_IsFramesRemaining(fighter_gobj)) {
|
||||||
if ((s32) fp->xE0_ground_or_air == GA_Ground) {
|
if ((s32) fp->xE0_ground_or_air == GA_Ground) {
|
||||||
@ -134,7 +134,7 @@ void ftFox_SpecialAirLwStart_Anim(HSD_GObj* fighter_gobj)
|
|||||||
f32 var;
|
f32 var;
|
||||||
|
|
||||||
if ((fp->input.x65C_heldInputs & HSD_BUTTON_B) == false) {
|
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 (!ftAnim_IsFramesRemaining(fighter_gobj)) {
|
||||||
if ((s32) fp->xE0_ground_or_air == GA_Ground) {
|
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;
|
ftAttrs = &fp->x110_attr;
|
||||||
foxAttrs = fp->x2D4_specialAttributes;
|
foxAttrs = fp->x2D4_specialAttributes;
|
||||||
|
|
||||||
if (fp->foxVars[0].SpecialLw.gravityDelay != 0) {
|
if (fp->foxVars.SpecialLw.gravityDelay != 0) {
|
||||||
fp->foxVars[0].SpecialLw.gravityDelay--;
|
fp->foxVars.SpecialLw.gravityDelay--;
|
||||||
} else {
|
} else {
|
||||||
func_8007D494(fp, foxAttrs->xAC_FOX_REFLECTOR_FALL_ACCEL,
|
func_8007D494(fp, foxAttrs->xAC_FOX_REFLECTOR_FALL_ACCEL,
|
||||||
ftAttrs->x170_TerminalVelocity);
|
ftAttrs->x170_TerminalVelocity);
|
||||||
@ -252,13 +252,13 @@ void ftFox_SpecialLwLoop_Anim(HSD_GObj* fighter_gobj)
|
|||||||
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
||||||
if ((fp->input.x65C_heldInputs & HSD_BUTTON_B) == false)
|
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)
|
if (fp->foxVars.SpecialLw.releaseLag > 0)
|
||||||
fp->foxVars[0].SpecialLw.releaseLag--;
|
fp->foxVars.SpecialLw.releaseLag--;
|
||||||
|
|
||||||
if (((s32) fp->foxVars[0].SpecialLw.releaseLag <= 0) &&
|
if (((s32) fp->foxVars.SpecialLw.releaseLag <= 0) &&
|
||||||
((s32) fp->foxVars[0].SpecialLw.isRelease != false))
|
((s32) fp->foxVars.SpecialLw.isRelease != false))
|
||||||
{
|
{
|
||||||
if ((s32) fp->xE0_ground_or_air == GA_Ground) {
|
if ((s32) fp->xE0_ground_or_air == GA_Ground) {
|
||||||
ftFox_SpecialLwEnd_Action(fighter_gobj);
|
ftFox_SpecialLwEnd_Action(fighter_gobj);
|
||||||
@ -274,13 +274,13 @@ void ftFox_SpecialAirLwLoop_Anim(HSD_GObj* fighter_gobj)
|
|||||||
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
||||||
|
|
||||||
if ((fp->input.x65C_heldInputs & HSD_BUTTON_B) == false)
|
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)
|
if (fp->foxVars.SpecialLw.releaseLag > 0)
|
||||||
fp->foxVars[0].SpecialLw.releaseLag--;
|
fp->foxVars.SpecialLw.releaseLag--;
|
||||||
|
|
||||||
if (((s32) fp->foxVars[0].SpecialLw.releaseLag <= 0) &&
|
if (((s32) fp->foxVars.SpecialLw.releaseLag <= 0) &&
|
||||||
((s32) fp->foxVars[0].SpecialLw.isRelease != false))
|
((s32) fp->foxVars.SpecialLw.isRelease != false))
|
||||||
{
|
{
|
||||||
if ((s32) fp->xE0_ground_or_air == GA_Ground) {
|
if ((s32) fp->xE0_ground_or_air == GA_Ground) {
|
||||||
ftFox_SpecialLwEnd_Action(fighter_gobj);
|
ftFox_SpecialLwEnd_Action(fighter_gobj);
|
||||||
@ -352,8 +352,8 @@ static inline void ftFox_SpecialLw_InlinePhys(HSD_GObj* fighter_gobj)
|
|||||||
foxAttrs = getFtSpecialAttrs(fp);
|
foxAttrs = getFtSpecialAttrs(fp);
|
||||||
|
|
||||||
/// @todo Shared @c inline with other functions in this file.
|
/// @todo Shared @c inline with other functions in this file.
|
||||||
if (fp->foxVars[0].SpecialLw.gravityDelay != 0) {
|
if (fp->foxVars.SpecialLw.gravityDelay != 0) {
|
||||||
fp->foxVars[0].SpecialLw.gravityDelay--;
|
fp->foxVars.SpecialLw.gravityDelay--;
|
||||||
} else {
|
} else {
|
||||||
func_8007D494(fp, foxAttrs->xAC_FOX_REFLECTOR_FALL_ACCEL,
|
func_8007D494(fp, foxAttrs->xAC_FOX_REFLECTOR_FALL_ACCEL,
|
||||||
ftAttrs->x170_TerminalVelocity);
|
ftAttrs->x170_TerminalVelocity);
|
||||||
@ -455,9 +455,9 @@ static void ftFox_SpecialLw_Turn(HSD_GObj* fighter_gobj)
|
|||||||
ftFoxAttributes* foxAttrs = fp->x2D4_specialAttributes;
|
ftFoxAttributes* foxAttrs = fp->x2D4_specialAttributes;
|
||||||
s32 var[2];
|
s32 var[2];
|
||||||
|
|
||||||
fp->foxVars[0].SpecialLw.turnFrames--;
|
fp->foxVars.SpecialLw.turnFrames--;
|
||||||
if (((u32) fp->x2200_ftcmd_var0 == 0U) &&
|
if (((u32) fp->x2200_ftcmd_var0 == 0U) &&
|
||||||
((s32) fp->foxVars[0].SpecialLw.turnFrames <=
|
((s32) fp->foxVars.SpecialLw.turnFrames <=
|
||||||
foxAttrs->x9C_FOX_REFLECTOR_TURN_FRAMES))
|
foxAttrs->x9C_FOX_REFLECTOR_TURN_FRAMES))
|
||||||
{
|
{
|
||||||
fp->x2200_ftcmd_var0 = 1;
|
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;
|
Fighter* fp = fighter_gobj->user_data;
|
||||||
ftFoxAttributes* foxAttrs = fp->x2D4_specialAttributes;
|
ftFoxAttributes* foxAttrs = fp->x2D4_specialAttributes;
|
||||||
|
|
||||||
fp->foxVars[0].SpecialLw.turnFrames--;
|
fp->foxVars.SpecialLw.turnFrames--;
|
||||||
if (fp->x2200_ftcmd_var0 == false &&
|
if (fp->x2200_ftcmd_var0 == false &&
|
||||||
fp->foxVars[0].SpecialLw.turnFrames <=
|
fp->foxVars.SpecialLw.turnFrames <=
|
||||||
foxAttrs->x9C_FOX_REFLECTOR_TURN_FRAMES)
|
foxAttrs->x9C_FOX_REFLECTOR_TURN_FRAMES)
|
||||||
{
|
{
|
||||||
fp->x2200_ftcmd_var0 = true;
|
fp->x2200_ftcmd_var0 = true;
|
||||||
@ -502,14 +502,14 @@ void ftFox_SpecialLwTurn_Anim(HSD_GObj* fighter_gobj)
|
|||||||
s32 var[4];
|
s32 var[4];
|
||||||
|
|
||||||
if ((fp->input.x65C_heldInputs & HSD_BUTTON_B) == false)
|
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)
|
if (fp->foxVars.SpecialLw.releaseLag > 0)
|
||||||
fp->foxVars[0].SpecialLw.releaseLag--;
|
fp->foxVars.SpecialLw.releaseLag--;
|
||||||
|
|
||||||
ftFox_SpecialLw_Turn_Inline(fighter_gobj);
|
ftFox_SpecialLw_Turn_Inline(fighter_gobj);
|
||||||
|
|
||||||
if (fp->foxVars[0].SpecialLw.turnFrames <= 0)
|
if (fp->foxVars.SpecialLw.turnFrames <= 0)
|
||||||
ftFox_SpecialLwHit_Check(fighter_gobj);
|
ftFox_SpecialLwHit_Check(fighter_gobj);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -519,14 +519,14 @@ void ftFox_SpecialAirLwTurn_Anim(HSD_GObj* fighter_gobj)
|
|||||||
s32 var[5];
|
s32 var[5];
|
||||||
|
|
||||||
if ((fp->input.x65C_heldInputs & HSD_BUTTON_B) == false)
|
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)
|
if (fp->foxVars.SpecialLw.releaseLag > 0)
|
||||||
fp->foxVars[0].SpecialLw.releaseLag--;
|
fp->foxVars.SpecialLw.releaseLag--;
|
||||||
|
|
||||||
ftFox_SpecialLw_Turn_Inline(fighter_gobj);
|
ftFox_SpecialLw_Turn_Inline(fighter_gobj);
|
||||||
|
|
||||||
if (fp->foxVars[0].SpecialLw.turnFrames <= 0)
|
if (fp->foxVars.SpecialLw.turnFrames <= 0)
|
||||||
ftFox_SpecialLwHit_Check(fighter_gobj);
|
ftFox_SpecialLwHit_Check(fighter_gobj);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -561,8 +561,8 @@ void ftFox_SpecialAirLwTurn_Phys(HSD_GObj* fighter_gobj)
|
|||||||
attr* ftAttrs = getFtAttrs(fp);
|
attr* ftAttrs = getFtAttrs(fp);
|
||||||
s32 var;
|
s32 var;
|
||||||
|
|
||||||
if (fp->foxVars[0].SpecialLw.gravityDelay != 0) {
|
if (fp->foxVars.SpecialLw.gravityDelay != 0) {
|
||||||
fp->foxVars[0].SpecialLw.gravityDelay--;
|
fp->foxVars.SpecialLw.gravityDelay--;
|
||||||
} else {
|
} else {
|
||||||
func_8007D494(fp, foxAttrs->xAC_FOX_REFLECTOR_FALL_ACCEL,
|
func_8007D494(fp, foxAttrs->xAC_FOX_REFLECTOR_FALL_ACCEL,
|
||||||
ftAttrs->x170_TerminalVelocity);
|
ftAttrs->x170_TerminalVelocity);
|
||||||
@ -633,8 +633,7 @@ inline void ftFox_SpecialLwTurn_SetVarAll(HSD_GObj* fighter_gobj)
|
|||||||
ftFoxAttributes* foxAttrs = getFtSpecialAttrs(fp);
|
ftFoxAttributes* foxAttrs = getFtSpecialAttrs(fp);
|
||||||
fp->x2218_flag.bits.b3 = 1;
|
fp->x2218_flag.bits.b3 = 1;
|
||||||
fp->cb.x21C8_callback_OnReflectHit = ftFox_SpecialLwHit_Action;
|
fp->cb.x21C8_callback_OnReflectHit = ftFox_SpecialLwHit_Action;
|
||||||
fp->foxVars[0].SpecialLw.turnFrames =
|
fp->foxVars.SpecialLw.turnFrames = foxAttrs->x9C_FOX_REFLECTOR_TURN_FRAMES;
|
||||||
foxAttrs->x9C_FOX_REFLECTOR_TURN_FRAMES;
|
|
||||||
fp->x2200_ftcmd_var0 = 0;
|
fp->x2200_ftcmd_var0 = 0;
|
||||||
ftFox_SpecialLw_Turn(fighter_gobj);
|
ftFox_SpecialLw_Turn(fighter_gobj);
|
||||||
}
|
}
|
||||||
@ -681,8 +680,8 @@ bool ftFox_SpecialLwHit_Check(HSD_GObj* fighter_gobj)
|
|||||||
{
|
{
|
||||||
Fighter* fp = fighter_gobj->user_data;
|
Fighter* fp = fighter_gobj->user_data;
|
||||||
|
|
||||||
if (((s32) fp->foxVars[0].SpecialLw.releaseLag <= 0) &&
|
if (((s32) fp->foxVars.SpecialLw.releaseLag <= 0) &&
|
||||||
((s32) fp->foxVars[0].SpecialLw.isRelease != false))
|
((s32) fp->foxVars.SpecialLw.isRelease != false))
|
||||||
{
|
{
|
||||||
if ((s32) fp->xE0_ground_or_air == GA_Ground) {
|
if ((s32) fp->xE0_ground_or_air == GA_Ground) {
|
||||||
ftFox_SpecialLwEnd_Action(fighter_gobj);
|
ftFox_SpecialLwEnd_Action(fighter_gobj);
|
||||||
@ -714,10 +713,10 @@ void ftFox_SpecialLwHit_Anim(HSD_GObj* fighter_gobj)
|
|||||||
s32 var;
|
s32 var;
|
||||||
|
|
||||||
if ((fp->input.x65C_heldInputs & HSD_BUTTON_B) == false) {
|
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) {
|
if (fp->foxVars.SpecialLw.releaseLag > 0) {
|
||||||
fp->foxVars[0].SpecialLw.releaseLag--;
|
fp->foxVars.SpecialLw.releaseLag--;
|
||||||
}
|
}
|
||||||
if (!ftAnim_IsFramesRemaining(fighter_gobj)) {
|
if (!ftAnim_IsFramesRemaining(fighter_gobj)) {
|
||||||
if (ftFox_SpecialLwHit_Check(fighter_gobj) != false) {
|
if (ftFox_SpecialLwHit_Check(fighter_gobj) != false) {
|
||||||
@ -738,10 +737,10 @@ void ftFox_SpecialAirLwHit_Anim(HSD_GObj* fighter_gobj)
|
|||||||
s32 var[2];
|
s32 var[2];
|
||||||
|
|
||||||
if ((fp->input.x65C_heldInputs & HSD_BUTTON_B) == false) {
|
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) {
|
if (fp->foxVars.SpecialLw.releaseLag > 0) {
|
||||||
fp->foxVars[0].SpecialLw.releaseLag--;
|
fp->foxVars.SpecialLw.releaseLag--;
|
||||||
}
|
}
|
||||||
if ((!ftAnim_IsFramesRemaining(fighter_gobj)) &&
|
if ((!ftAnim_IsFramesRemaining(fighter_gobj)) &&
|
||||||
(ftFox_SpecialLwHit_Check(fighter_gobj) != false))
|
(ftFox_SpecialLwHit_Check(fighter_gobj) != false))
|
||||||
@ -784,8 +783,8 @@ void ftFox_SpecialAirLwHit_Phys(HSD_GObj* fighter_gobj)
|
|||||||
attr* ftAttrs = getFtAttrs(fp);
|
attr* ftAttrs = getFtAttrs(fp);
|
||||||
s32 var;
|
s32 var;
|
||||||
|
|
||||||
if (fp->foxVars[0].SpecialLw.gravityDelay != 0) {
|
if (fp->foxVars.SpecialLw.gravityDelay != 0) {
|
||||||
fp->foxVars[0].SpecialLw.gravityDelay--;
|
fp->foxVars.SpecialLw.gravityDelay--;
|
||||||
} else {
|
} else {
|
||||||
func_8007D494(fp, foxAttrs->xAC_FOX_REFLECTOR_FALL_ACCEL,
|
func_8007D494(fp, foxAttrs->xAC_FOX_REFLECTOR_FALL_ACCEL,
|
||||||
ftAttrs->x170_TerminalVelocity);
|
ftAttrs->x170_TerminalVelocity);
|
||||||
@ -936,8 +935,8 @@ void ftFox_SpecialAirLwEnd_Phys(HSD_GObj* fighter_gobj)
|
|||||||
attr* ftAttrs = getFtAttrs(fp);
|
attr* ftAttrs = getFtAttrs(fp);
|
||||||
s32 var;
|
s32 var;
|
||||||
|
|
||||||
if (fp->foxVars[0].SpecialLw.gravityDelay != 0) {
|
if (fp->foxVars.SpecialLw.gravityDelay != 0) {
|
||||||
fp->foxVars[0].SpecialLw.gravityDelay--;
|
fp->foxVars.SpecialLw.gravityDelay--;
|
||||||
} else {
|
} else {
|
||||||
func_8007D494(fp, foxAttrs->xAC_FOX_REFLECTOR_FALL_ACCEL,
|
func_8007D494(fp, foxAttrs->xAC_FOX_REFLECTOR_FALL_ACCEL,
|
||||||
ftAttrs->x170_TerminalVelocity);
|
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.y = 0.0f;
|
||||||
fp->x80_self_vel.x = 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,
|
blasterGObj = func_802AE8A8(fp->facing_dir, fighter_gobj, &fp->xB0_pos,
|
||||||
func_8007500C(fp, 0x31),
|
func_8007500C(fp, 0x31),
|
||||||
@ -278,7 +278,7 @@ void ftFox_SpecialAirN_StartAction(
|
|||||||
|
|
||||||
func_8006EBA4(fighter_gobj);
|
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,
|
blasterGObj = func_802AE8A8(fp->facing_dir, fighter_gobj, &fp->xB0_pos,
|
||||||
func_8007500C(fp, 0x31),
|
func_8007500C(fp, 0x31),
|
||||||
foxAttrs->x20_FOX_BLASTER_GUN_ITKIND);
|
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);
|
func_802AE538(temp_r28->sa.fox.x222C_blasterGObj);
|
||||||
}
|
}
|
||||||
if (!ftAnim_IsFramesRemaining(fighter_gobj)) {
|
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;
|
temp_r28->cb.x21EC_callback = ftFox_SpecialN_OnChangeAction;
|
||||||
Fighter_ActionStateChange_800693AC(
|
Fighter_ActionStateChange_800693AC(
|
||||||
fighter_gobj, AS_FOX_SPECIALN_LOOP,
|
fighter_gobj, AS_FOX_SPECIALN_LOOP,
|
||||||
@ -342,7 +342,7 @@ void ftFox_SpecialNLoop_Anim(HSD_GObj* fighter_gobj)
|
|||||||
FIGHTER_GFX_PRESERVE),
|
FIGHTER_GFX_PRESERVE),
|
||||||
NULL, 0.0f, 1.0f, 0.0f);
|
NULL, 0.0f, 1.0f, 0.0f);
|
||||||
temp_r28->cb.x21BC_callback_Accessory4 = ftFox_CreateBlasterShot;
|
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);
|
func_802ADDD0(temp_r28->sa.fox.x222C_blasterGObj, 1);
|
||||||
} else {
|
} else {
|
||||||
HSD_GObj* temp;
|
HSD_GObj* temp;
|
||||||
@ -479,7 +479,7 @@ void ftFox_SpecialAirNLoop_Anim(HSD_GObj* fighter_gobj)
|
|||||||
func_802AE538(fp->sa.fox.x222C_blasterGObj);
|
func_802AE538(fp->sa.fox.x222C_blasterGObj);
|
||||||
}
|
}
|
||||||
if (!ftAnim_IsFramesRemaining(fighter_gobj)) {
|
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;
|
fp->cb.x21EC_callback = ftFox_SpecialN_OnChangeAction;
|
||||||
Fighter_ActionStateChange_800693AC(
|
Fighter_ActionStateChange_800693AC(
|
||||||
fighter_gobj, AS_FOX_SPECIALAIRN_LOOP,
|
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);
|
NULL, 0.0f, 1.0f, 0.0f);
|
||||||
ftFox_SpecialN_SetCall(fighter_gobj);
|
ftFox_SpecialN_SetCall(fighter_gobj);
|
||||||
fp->cb.x21BC_callback_Accessory4 = ftFox_CreateBlasterShot;
|
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);
|
func_802ADDD0(fp->sa.fox.x222C_blasterGObj, 1);
|
||||||
} else {
|
} else {
|
||||||
HSD_GObj* temp;
|
HSD_GObj* temp;
|
||||||
@ -595,7 +595,7 @@ void ftFox_SpecialNStart_IASA(HSD_GObj* fighter_gobj)
|
|||||||
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
||||||
|
|
||||||
if (((u32) fp->x2200_ftcmd_var0 != 0U) && (fp->input.x668 & HSD_BUTTON_B)) {
|
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);
|
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
||||||
|
|
||||||
if (((u32) fp->x2200_ftcmd_var0 != 0U) && (fp->input.x668 & HSD_BUTTON_B)) {
|
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);
|
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
||||||
|
|
||||||
if (((u32) fp->x2200_ftcmd_var0 != 0U) && (fp->input.x668 & HSD_BUTTON_B)) {
|
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);
|
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
||||||
|
|
||||||
if (((u32) fp->x2200_ftcmd_var0 != 0U) && (fp->input.x668 & HSD_BUTTON_B)) {
|
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);
|
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
||||||
|
|
||||||
*ghostPos = fp->foxVars[0].SpecialS.ghostEffectPos[index];
|
*ghostPos = fp->foxVars.SpecialS.ghostEffectPos[index];
|
||||||
}
|
}
|
||||||
|
|
||||||
// 0x800E9ED4
|
// 0x800E9ED4
|
||||||
@ -61,7 +61,7 @@ void ftFox_SpecialS_CopyGhostPosIndexed(HSD_GObj* fighter_gobj, s32 index,
|
|||||||
// Falco's Illusion/Phantasm
|
// Falco's Illusion/Phantasm
|
||||||
f32 ftFox_SpecialS_ReturnFloatVarIndexed(HSD_GObj* fighter_gobj, s32 index)
|
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
|
// 0x800E9EE8
|
||||||
@ -76,9 +76,9 @@ void ftFox_SpecialS_StartAction(HSD_GObj* fighter_gobj)
|
|||||||
foxAttrs = fp->x2D4_specialAttributes;
|
foxAttrs = fp->x2D4_specialAttributes;
|
||||||
|
|
||||||
fp->x2208_ftcmd_var2 = 0;
|
fp->x2208_ftcmd_var2 = 0;
|
||||||
fp->foxVars[0].SpecialS.gravityDelay =
|
fp->foxVars.SpecialS.gravityDelay =
|
||||||
(s32) foxAttrs->x24_FOX_ILLUSION_GRAVITY_DELAY;
|
(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;
|
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);
|
foxAttrs = getFtSpecialAttrs(fp);
|
||||||
|
|
||||||
fp->x2208_ftcmd_var2 = 0;
|
fp->x2208_ftcmd_var2 = 0;
|
||||||
fp->foxVars[0].SpecialS.gravityDelay =
|
fp->foxVars.SpecialS.gravityDelay =
|
||||||
(s32) foxAttrs->x24_FOX_ILLUSION_GRAVITY_DELAY;
|
(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.y = 0.0f;
|
||||||
fp->x80_self_vel.x /= foxAttrs->x28_FOX_ILLUSION_GROUND_VEL_X;
|
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);
|
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
||||||
|
|
||||||
if (fp->foxVars[0].SpecialS.gravityDelay != 0) {
|
if (fp->foxVars.SpecialS.gravityDelay != 0) {
|
||||||
fp->foxVars[0].SpecialS.gravityDelay--;
|
fp->foxVars.SpecialS.gravityDelay--;
|
||||||
}
|
}
|
||||||
func_80084F3C(fighter_gobj);
|
func_80084F3C(fighter_gobj);
|
||||||
}
|
}
|
||||||
@ -172,8 +172,8 @@ void ftFox_SpecialAirSStart_Phys(HSD_GObj* fighter_gobj)
|
|||||||
u8 unused[8];
|
u8 unused[8];
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (fp->foxVars[0].SpecialS.gravityDelay != 0) {
|
if (fp->foxVars.SpecialS.gravityDelay != 0) {
|
||||||
fp->foxVars[0].SpecialS.gravityDelay--;
|
fp->foxVars.SpecialS.gravityDelay--;
|
||||||
} else {
|
} else {
|
||||||
func_8007D494(fp, foxAttrs->x30_FOX_ILLUSION_UNK2,
|
func_8007D494(fp, foxAttrs->x30_FOX_ILLUSION_UNK2,
|
||||||
ftAttrs->x170_TerminalVelocity);
|
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);
|
func_8029CEB4(fighter_gobj, &fp->xB0_pos, 0x39, fp->facing_dir);
|
||||||
}
|
}
|
||||||
if (ghostGObj != NULL) {
|
if (ghostGObj != NULL) {
|
||||||
fp->foxVars[0].SpecialS.ghostGObj = ghostGObj;
|
fp->foxVars.SpecialS.ghostGObj = ghostGObj;
|
||||||
fp->x2222_flag.bits.b2 = 1;
|
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 = GET_FIGHTER(fighter_gobj);
|
||||||
|
|
||||||
fp->foxVars[0].SpecialS.ghostEffectPos[3] =
|
fp->foxVars.SpecialS.ghostEffectPos[3] =
|
||||||
fp->foxVars[0].SpecialS.ghostEffectPos[2];
|
fp->foxVars.SpecialS.ghostEffectPos[2];
|
||||||
fp->foxVars[0].SpecialS.ghostEffectPos[2] =
|
fp->foxVars.SpecialS.ghostEffectPos[2] =
|
||||||
fp->foxVars[0].SpecialS.ghostEffectPos[1];
|
fp->foxVars.SpecialS.ghostEffectPos[1];
|
||||||
fp->foxVars[0].SpecialS.ghostEffectPos[1] =
|
fp->foxVars.SpecialS.ghostEffectPos[1] =
|
||||||
fp->foxVars[0].SpecialS.ghostEffectPos[0];
|
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.SpecialS.blendFrames[3] = fp->foxVars.SpecialS.blendFrames[2];
|
||||||
fp->foxVars[0].SpecialS.blendFrames[2];
|
fp->foxVars.SpecialS.blendFrames[2] = fp->foxVars.SpecialS.blendFrames[1];
|
||||||
fp->foxVars[0].SpecialS.blendFrames[2] =
|
fp->foxVars.SpecialS.blendFrames[1] = fp->foxVars.SpecialS.blendFrames[0];
|
||||||
fp->foxVars[0].SpecialS.blendFrames[1];
|
|
||||||
fp->foxVars[0].SpecialS.blendFrames[1] =
|
|
||||||
fp->foxVars[0].SpecialS.blendFrames[0];
|
|
||||||
|
|
||||||
fp->foxVars[0].SpecialS.blendFrames[0] = func_80075E78(fp, 0);
|
fp->foxVars.SpecialS.blendFrames[0] = func_80075E78(fp, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 0x800EA47C
|
// 0x800EA47C
|
||||||
@ -429,17 +426,17 @@ inline void ftFox_SpecialS_SetVars(HSD_GObj* fighter_gobj)
|
|||||||
f32 var;
|
f32 var;
|
||||||
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
||||||
|
|
||||||
fp->foxVars[0].SpecialS.ghostEffectPos[3] = fp->xB0_pos;
|
fp->foxVars.SpecialS.ghostEffectPos[3] = fp->xB0_pos;
|
||||||
fp->foxVars[0].SpecialS.ghostEffectPos[2] = fp->xB0_pos;
|
fp->foxVars.SpecialS.ghostEffectPos[2] = fp->xB0_pos;
|
||||||
fp->foxVars[0].SpecialS.ghostEffectPos[1] = fp->xB0_pos;
|
fp->foxVars.SpecialS.ghostEffectPos[1] = fp->xB0_pos;
|
||||||
fp->foxVars[0].SpecialS.ghostEffectPos[0] = fp->xB0_pos;
|
fp->foxVars.SpecialS.ghostEffectPos[0] = fp->xB0_pos;
|
||||||
|
|
||||||
var = func_80075E78(fp, 0);
|
var = func_80075E78(fp, 0);
|
||||||
|
|
||||||
fp->foxVars[0].SpecialS.blendFrames[3] = var;
|
fp->foxVars.SpecialS.blendFrames[3] = var;
|
||||||
fp->foxVars[0].SpecialS.blendFrames[2] = var;
|
fp->foxVars.SpecialS.blendFrames[2] = var;
|
||||||
fp->foxVars[0].SpecialS.blendFrames[1] = var;
|
fp->foxVars.SpecialS.blendFrames[1] = var;
|
||||||
fp->foxVars[0].SpecialS.blendFrames[0] = var;
|
fp->foxVars.SpecialS.blendFrames[0] = var;
|
||||||
|
|
||||||
fp->cb.x21BC_callback_Accessory4 = &ftFox_SpecialS_CreateGFX;
|
fp->cb.x21BC_callback_Accessory4 = &ftFox_SpecialS_CreateGFX;
|
||||||
}
|
}
|
||||||
@ -521,8 +518,8 @@ void ftFox_SpecialSEnd_Phys(HSD_GObj* fighter_gobj)
|
|||||||
u8 unused[8];
|
u8 unused[8];
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (fp->foxVars[0].SpecialS.gravityDelay != 0) {
|
if (fp->foxVars.SpecialS.gravityDelay != 0) {
|
||||||
fp->foxVars[0].SpecialS.gravityDelay--;
|
fp->foxVars.SpecialS.gravityDelay--;
|
||||||
}
|
}
|
||||||
func_8007C930(fp, foxAttrs->x38_FOX_ILLUSION_GROUND_FRICTION);
|
func_8007C930(fp, foxAttrs->x38_FOX_ILLUSION_GROUND_FRICTION);
|
||||||
func_8007CB74(fighter_gobj);
|
func_8007CB74(fighter_gobj);
|
||||||
@ -543,8 +540,8 @@ void ftFox_SpecialAirSEnd_Phys(HSD_GObj* fighter_gobj)
|
|||||||
u8 unused[8];
|
u8 unused[8];
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (fp->foxVars[0].SpecialS.gravityDelay != 0) {
|
if (fp->foxVars.SpecialS.gravityDelay != 0) {
|
||||||
fp->foxVars[0].SpecialS.gravityDelay--;
|
fp->foxVars.SpecialS.gravityDelay--;
|
||||||
} else
|
} else
|
||||||
func_8007D494(fp, foxAttrs->x48_FOX_ILLUSION_TERMINAL_VELOCITY,
|
func_8007D494(fp, foxAttrs->x48_FOX_ILLUSION_TERMINAL_VELOCITY,
|
||||||
ftAttrs->x170_TerminalVelocity);
|
ftAttrs->x170_TerminalVelocity);
|
||||||
@ -599,8 +596,7 @@ inline void ftFox_SpecialSEnd_SetVars(HSD_GObj* fighter_gobj)
|
|||||||
{
|
{
|
||||||
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
||||||
ftFoxAttributes* foxAttrs = getFtSpecialAttrs(fp);
|
ftFoxAttributes* foxAttrs = getFtSpecialAttrs(fp);
|
||||||
fp->foxVars[0].SpecialS.gravityDelay =
|
fp->foxVars.SpecialS.gravityDelay = foxAttrs->x44_FOX_ILLUSION_FALL_ACCEL;
|
||||||
foxAttrs->x44_FOX_ILLUSION_FALL_ACCEL;
|
|
||||||
fp->x2222_flag.bits.b2 = 1;
|
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->x196C_hitlag_mult = (f32) fp->x110_attr.x18C_Jab_2InputWindow;
|
||||||
fp->x1970 = 44;
|
fp->x1970 = 44;
|
||||||
fp->x2218_flag.bits.b2 = 0;
|
fp->x2218_flag.bits.b2 = 0;
|
||||||
fp->gameWatchVars[0].Attack11.unk = 0;
|
fp->gameWatchVars.Attack11.unk = 0;
|
||||||
fp->x1A54 = 0;
|
fp->x1A54 = 0;
|
||||||
fp->cb.x21BC_callback_Accessory4 = ftGameWatch_ItemGreenhouseSetup;
|
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);
|
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
||||||
fp->x2204_ftcmd_var1 = 0;
|
fp->x2204_ftcmd_var1 = 0;
|
||||||
fp->x2200_ftcmd_var0 = 0;
|
fp->x2200_ftcmd_var0 = 0;
|
||||||
fp->gameWatchVars[0].SpecialLw.isRelease = false;
|
fp->gameWatchVars.SpecialLw.isRelease = false;
|
||||||
fp->gameWatchVars[0].SpecialLw.turnFrames = 0;
|
fp->gameWatchVars.SpecialLw.turnFrames = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 0x8014CEF0
|
// 0x8014CEF0
|
||||||
@ -206,7 +206,7 @@ void ftGameWatch_SpecialLw_Anim(HSD_GObj* fighter_gobj)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
if ((38.0f == fp->x894_currentAnimFrame) &&
|
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);
|
ftGameWatch_SpecialLw_UpdateAction(fighter_gobj, 5.0f);
|
||||||
}
|
}
|
||||||
@ -230,7 +230,7 @@ void ftGameWatch_SpecialAirLw_Anim(HSD_GObj* fighter_gobj)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
if ((38.0f == fp->x894_currentAnimFrame) &&
|
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);
|
ftGameWatch_SpecialAirLw_UpdateAction(fighter_gobj, 5.0f);
|
||||||
}
|
}
|
||||||
@ -254,10 +254,10 @@ void ftGameWatch_SpecialLw_IASA(HSD_GObj* fighter_gobj)
|
|||||||
ftGameWatchAttributes* gawAttrs;
|
ftGameWatchAttributes* gawAttrs;
|
||||||
|
|
||||||
fp = GET_FIGHTER(fighter_gobj);
|
fp = GET_FIGHTER(fighter_gobj);
|
||||||
turnFrames = fp->gameWatchVars[0].SpecialLw.turnFrames;
|
turnFrames = fp->gameWatchVars.SpecialLw.turnFrames;
|
||||||
gawAttrs = getFtSpecialAttrs(fp);
|
gawAttrs = getFtSpecialAttrs(fp);
|
||||||
if (turnFrames > 0) {
|
if (turnFrames > 0) {
|
||||||
fp->gameWatchVars[0].SpecialLw.turnFrames = turnFrames - 1;
|
fp->gameWatchVars.SpecialLw.turnFrames = turnFrames - 1;
|
||||||
} else {
|
} else {
|
||||||
stick_range = fp->input.x620_lstick_x;
|
stick_range = fp->input.x620_lstick_x;
|
||||||
if (stick_range < 0.0f) {
|
if (stick_range < 0.0f) {
|
||||||
@ -267,13 +267,13 @@ void ftGameWatch_SpecialLw_IASA(HSD_GObj* fighter_gobj)
|
|||||||
facingDir = fp->facing_dir;
|
facingDir = fp->facing_dir;
|
||||||
func_8007D9FC(fp);
|
func_8007D9FC(fp);
|
||||||
if (facingDir != fp->facing_dir) {
|
if (facingDir != fp->facing_dir) {
|
||||||
fp->gameWatchVars[0].SpecialLw.turnFrames =
|
fp->gameWatchVars.SpecialLw.turnFrames =
|
||||||
(s32) gawAttrs->x7C_GAMEWATCH_PANIC_TURN_FRAMES;
|
(s32) gawAttrs->x7C_GAMEWATCH_PANIC_TURN_FRAMES;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ((fp->input.x65C_heldInputs & HSD_BUTTON_B) == false) {
|
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;
|
ftGameWatchAttributes* gawAttrs;
|
||||||
|
|
||||||
fp = GET_FIGHTER(fighter_gobj);
|
fp = GET_FIGHTER(fighter_gobj);
|
||||||
turnFrames = fp->gameWatchVars[0].SpecialLw.turnFrames;
|
turnFrames = fp->gameWatchVars.SpecialLw.turnFrames;
|
||||||
gawAttrs = getFtSpecialAttrs(fp);
|
gawAttrs = getFtSpecialAttrs(fp);
|
||||||
if (turnFrames > 0) {
|
if (turnFrames > 0) {
|
||||||
fp->gameWatchVars[0].SpecialLw.turnFrames = turnFrames - 1;
|
fp->gameWatchVars.SpecialLw.turnFrames = turnFrames - 1;
|
||||||
} else {
|
} else {
|
||||||
stick_range = fp->input.x620_lstick_x;
|
stick_range = fp->input.x620_lstick_x;
|
||||||
if (stick_range < 0.0f) {
|
if (stick_range < 0.0f) {
|
||||||
@ -302,13 +302,13 @@ void ftGameWatch_SpecialAirLw_IASA(HSD_GObj* fighter_gobj)
|
|||||||
facingDir = fp->facing_dir;
|
facingDir = fp->facing_dir;
|
||||||
func_8007D9FC(fp);
|
func_8007D9FC(fp);
|
||||||
if (facingDir != fp->facing_dir) {
|
if (facingDir != fp->facing_dir) {
|
||||||
fp->gameWatchVars[0].SpecialLw.turnFrames =
|
fp->gameWatchVars.SpecialLw.turnFrames =
|
||||||
(s32) gawAttrs->x7C_GAMEWATCH_PANIC_TURN_FRAMES;
|
(s32) gawAttrs->x7C_GAMEWATCH_PANIC_TURN_FRAMES;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ((fp->input.x65C_heldInputs & HSD_BUTTON_B) == false) {
|
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);
|
gawAttrs = getFtSpecialAttrs(fp);
|
||||||
if (fp->x2200_ftcmd_var0 != 0) {
|
if (fp->x2200_ftcmd_var0 != 0) {
|
||||||
fp->x2200_ftcmd_var0 = randomInt = 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)
|
gawAttrs->x1C_GAMEWATCH_CHEF_MAX)
|
||||||
{
|
{
|
||||||
fp->gameWatchVars[0].SpecialN.maxSausage++;
|
fp->gameWatchVars.SpecialN.maxSausage++;
|
||||||
sp38.x = 2.5f;
|
sp38.x = 2.5f;
|
||||||
sp38.y = 6.5f;
|
sp38.y = 6.5f;
|
||||||
sp38.z = 0.0f;
|
sp38.z = 0.0f;
|
||||||
@ -189,8 +189,8 @@ static inline void ftGameWatch_SpecialN_SetVars(HSD_GObj* fighter_gobj)
|
|||||||
fp->x2200_ftcmd_var0 = 0;
|
fp->x2200_ftcmd_var0 = 0;
|
||||||
fp->x2204_ftcmd_var1 = 0;
|
fp->x2204_ftcmd_var1 = 0;
|
||||||
fp->x2208_ftcmd_var2 = 0;
|
fp->x2208_ftcmd_var2 = 0;
|
||||||
fp->gameWatchVars[0].SpecialN.isChefLoopDisable = false;
|
fp->gameWatchVars.SpecialN.isChefLoopDisable = false;
|
||||||
fp->gameWatchVars[0].SpecialN.maxSausage = 0;
|
fp->gameWatchVars.SpecialN.maxSausage = 0;
|
||||||
fp->cb.x21BC_callback_Accessory4 = ftGameWatch_SpecialN_CreateSausage;
|
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) {
|
if ((u32) fp->x2208_ftcmd_var2 != 0U) {
|
||||||
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) &&
|
gawAttrs->x1C_GAMEWATCH_CHEF_MAX) &&
|
||||||
((s32) fp->gameWatchVars[0].SpecialN.isChefLoopDisable == false))
|
((s32) fp->gameWatchVars.SpecialN.isChefLoopDisable == false))
|
||||||
{
|
{
|
||||||
ftGameWatch_SpecialN_Loop(fighter_gobj,
|
ftGameWatch_SpecialN_Loop(fighter_gobj,
|
||||||
gawAttrs->x18_GAMEWATCH_CHEF_LOOPFRAME);
|
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) {
|
if ((u32) fp->x2208_ftcmd_var2 != 0U) {
|
||||||
fp->x2208_ftcmd_var2 = 0U;
|
fp->x2208_ftcmd_var2 = 0U;
|
||||||
if (((s32) fp->gameWatchVars[0].SpecialN.isChefLoopDisable == false) &&
|
if (((s32) fp->gameWatchVars.SpecialN.isChefLoopDisable == false) &&
|
||||||
((f32) fp->gameWatchVars[0].SpecialN.maxSausage <
|
((f32) fp->gameWatchVars.SpecialN.maxSausage <
|
||||||
gawAttrs->x1C_GAMEWATCH_CHEF_MAX))
|
gawAttrs->x1C_GAMEWATCH_CHEF_MAX))
|
||||||
{
|
{
|
||||||
ftGameWatch_SpecialAirN_Loop(
|
ftGameWatch_SpecialAirN_Loop(
|
||||||
@ -288,10 +288,10 @@ void ftGameWatch_SpecialN_IASA(HSD_GObj* fighter_gobj)
|
|||||||
ftGameWatchAttributes* gawAttrs = gawAttrs = getFtSpecialAttrsD(fp);
|
ftGameWatchAttributes* gawAttrs = gawAttrs = getFtSpecialAttrsD(fp);
|
||||||
|
|
||||||
if ((fp->input.x65C_heldInputs & HSD_BUTTON_B) == false) {
|
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) &&
|
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))
|
gawAttrs->x1C_GAMEWATCH_CHEF_MAX))
|
||||||
{
|
{
|
||||||
ftGameWatch_SpecialN_Loop(fighter_gobj,
|
ftGameWatch_SpecialN_Loop(fighter_gobj,
|
||||||
@ -308,10 +308,10 @@ void ftGameWatch_SpecialAirN_IASA(HSD_GObj* fighter_gobj)
|
|||||||
ftGameWatchAttributes* gawAttrs = gawAttrs = getFtSpecialAttrsD(fp);
|
ftGameWatchAttributes* gawAttrs = gawAttrs = getFtSpecialAttrsD(fp);
|
||||||
|
|
||||||
if ((fp->input.x65C_heldInputs & HSD_BUTTON_B) == false) {
|
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) &&
|
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))
|
gawAttrs->x1C_GAMEWATCH_CHEF_MAX))
|
||||||
{
|
{
|
||||||
ftGameWatch_SpecialAirN_Loop(fighter_gobj,
|
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->x2204_ftcmd_var1 = 0;
|
||||||
fp->x2208_ftcmd_var2 = 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;
|
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->x2204_ftcmd_var1 = 0;
|
||||||
fp->x2208_ftcmd_var2 = 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;
|
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;
|
ftLuigiAttributes* luigiAttrs = fp->x2D4_specialAttributes;
|
||||||
fp->x2200_ftcmd_var0 = 0;
|
fp->x2200_ftcmd_var0 = 0;
|
||||||
fp->x2204_ftcmd_var1 = 0;
|
fp->x2204_ftcmd_var1 = 0;
|
||||||
fp->luigiVars[0].SpecialLw.groundVelX = (f32) 0.0f;
|
fp->luigiVars.SpecialLw.groundVelX = (f32) 0.0f;
|
||||||
fp->luigiVars[0].SpecialLw.unk =
|
fp->luigiVars.SpecialLw.unk = (s32) luigiAttrs->x88_LUIGI_CYCLONE_UNK + 1;
|
||||||
(s32) luigiAttrs->x88_LUIGI_CYCLONE_UNK + 1;
|
fp->luigiVars.SpecialLw.isUnkColl = false;
|
||||||
fp->luigiVars[0].SpecialLw.isUnkColl = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void ftLuigi_SpecialLw_SetCall(HSD_GObj* fighter_gobj)
|
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);
|
luigiAttrs = getFtSpecialAttrs(fp);
|
||||||
var2 = luigiAttrs->x74_LUIGI_CYCLONE_MOMENTUM_X_GROUND;
|
var2 = luigiAttrs->x74_LUIGI_CYCLONE_MOMENTUM_X_GROUND;
|
||||||
if ((u32) fp->x2200_ftcmd_var0 != 0U) {
|
if ((u32) fp->x2200_ftcmd_var0 != 0U) {
|
||||||
fp->luigiVars[0].SpecialLw.groundVelX -=
|
fp->luigiVars.SpecialLw.groundVelX -=
|
||||||
luigiAttrs->x84_LUIGI_CYCLONE_FRICTION_END;
|
luigiAttrs->x84_LUIGI_CYCLONE_FRICTION_END;
|
||||||
var2 += fp->luigiVars[0].SpecialLw.groundVelX;
|
var2 += fp->luigiVars.SpecialLw.groundVelX;
|
||||||
if (var2 < 0.0f) {
|
if (var2 < 0.0f) {
|
||||||
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;
|
var = luigiAttrs->x78_LUIGI_CYCLONE_MOMENTUM_X_AIR;
|
||||||
luigiAttrs2 = fp->x2D4_specialAttributes;
|
luigiAttrs2 = fp->x2D4_specialAttributes;
|
||||||
if ((u32) fp->x2200_ftcmd_var0 != 0) {
|
if ((u32) fp->x2200_ftcmd_var0 != 0) {
|
||||||
fp->luigiVars[0].SpecialLw.groundVelX -=
|
fp->luigiVars.SpecialLw.groundVelX -=
|
||||||
luigiAttrs2->x84_LUIGI_CYCLONE_FRICTION_END;
|
luigiAttrs2->x84_LUIGI_CYCLONE_FRICTION_END;
|
||||||
var += fp->luigiVars[0].SpecialLw.groundVelX;
|
var += fp->luigiVars.SpecialLw.groundVelX;
|
||||||
if (var < 0.0f) {
|
if (var < 0.0f) {
|
||||||
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);
|
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
||||||
if (((u32) fp->x220C_ftcmd_var3 != 0U) &&
|
if (((u32) fp->x220C_ftcmd_var3 != 0U) &&
|
||||||
((s32) fp->luigiVars[0].SpecialLw.isUnkColl != false))
|
((s32) fp->luigiVars.SpecialLw.isUnkColl != false))
|
||||||
{
|
{
|
||||||
func_8007592C(fp, 0,
|
func_8007592C(fp, 0,
|
||||||
fp->facing_dir *
|
fp->facing_dir *
|
||||||
@ -281,17 +280,17 @@ void ftLuigi_SpecialLw_Coll(HSD_GObj* fighter_gobj)
|
|||||||
false)
|
false)
|
||||||
{
|
{
|
||||||
ftLuigi_SpecialLw_GroundToAir(fighter_gobj);
|
ftLuigi_SpecialLw_GroundToAir(fighter_gobj);
|
||||||
fp->luigiVars[0].SpecialLw.isUnkColl = false;
|
fp->luigiVars.SpecialLw.isUnkColl = false;
|
||||||
} else {
|
} else {
|
||||||
fp->luigiVars[0].SpecialLw.isUnkColl = true;
|
fp->luigiVars.SpecialLw.isUnkColl = true;
|
||||||
}
|
}
|
||||||
} else if (func_800824A0(fighter_gobj, &ftLuigi_SpecialLw_CollisionBox) ==
|
} else if (func_800824A0(fighter_gobj, &ftLuigi_SpecialLw_CollisionBox) ==
|
||||||
false)
|
false)
|
||||||
{
|
{
|
||||||
ftLuigi_SpecialLw_GroundToAir(fighter_gobj);
|
ftLuigi_SpecialLw_GroundToAir(fighter_gobj);
|
||||||
fp->luigiVars[0].SpecialLw.isUnkColl = false;
|
fp->luigiVars.SpecialLw.isUnkColl = false;
|
||||||
} else {
|
} else {
|
||||||
fp->luigiVars[0].SpecialLw.isUnkColl = true;
|
fp->luigiVars.SpecialLw.isUnkColl = true;
|
||||||
}
|
}
|
||||||
ftLuigi_SpecialLw_UnkAngle(fighter_gobj);
|
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) {
|
if (func_800824A0(fighter_gobj, &ftLuigi_SpecialLw_CollisionBox) != false) {
|
||||||
ftLuigi_SpecialAirLw_AirToGround(fighter_gobj);
|
ftLuigi_SpecialAirLw_AirToGround(fighter_gobj);
|
||||||
fp->luigiVars[0].SpecialLw.isUnkColl = true;
|
fp->luigiVars.SpecialLw.isUnkColl = true;
|
||||||
} else {
|
} else {
|
||||||
fp->luigiVars[0].SpecialLw.isUnkColl = false;
|
fp->luigiVars.SpecialLw.isUnkColl = false;
|
||||||
}
|
}
|
||||||
ftLuigi_SpecialLw_UnkAngle(fighter_gobj);
|
ftLuigi_SpecialLw_UnkAngle(fighter_gobj);
|
||||||
}
|
}
|
||||||
|
@ -30,17 +30,17 @@ void ftLuigi_SpecialS_SetVars(HSD_GObj* fighter_gobj)
|
|||||||
|
|
||||||
fp->x2200_ftcmd_var0 = 0;
|
fp->x2200_ftcmd_var0 = 0;
|
||||||
if (fp->x673 < luigiAttrs->x4_LUIGI_GREENMISSILE_SMASH) {
|
if (fp->x673 < luigiAttrs->x4_LUIGI_GREENMISSILE_SMASH) {
|
||||||
fp->luigiVars[0].SpecialS.chargeFrames =
|
fp->luigiVars.SpecialS.chargeFrames =
|
||||||
luigiAttrs->x8_LUIGI_GREENMISSILE_CHARGE_RATE;
|
luigiAttrs->x8_LUIGI_GREENMISSILE_CHARGE_RATE;
|
||||||
fp->x2070.x2072_b4 = true;
|
fp->x2070.x2072_b4 = true;
|
||||||
} else {
|
} else {
|
||||||
fp->luigiVars[0].SpecialS.chargeFrames = 0;
|
fp->luigiVars.SpecialS.chargeFrames = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (HSD_Randi(luigiAttrs->x44_LUIGI_GREENMISSILE_MISFIRE_CHANCE) == 0)
|
if (HSD_Randi(luigiAttrs->x44_LUIGI_GREENMISSILE_MISFIRE_CHANCE) == 0)
|
||||||
fp->luigiVars[0].SpecialS.isMisfire = true;
|
fp->luigiVars.SpecialS.isMisfire = true;
|
||||||
else
|
else
|
||||||
fp->luigiVars[0].SpecialS.isMisfire = false;
|
fp->luigiVars.SpecialS.isMisfire = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 0x80142B14
|
// 0x80142B14
|
||||||
@ -205,8 +205,8 @@ void ftLuigi_SpecialSHold_Anim(HSD_GObj* fighter_gobj)
|
|||||||
func_8007DB24(fighter_gobj);
|
func_8007DB24(fighter_gobj);
|
||||||
fp->cb.x21BC_callback_Accessory4 = ftLuigi_SpecialS_SetGFX;
|
fp->cb.x21BC_callback_Accessory4 = ftLuigi_SpecialS_SetGFX;
|
||||||
}
|
}
|
||||||
fp->luigiVars[0].SpecialS.chargeFrames++;
|
fp->luigiVars.SpecialS.chargeFrames++;
|
||||||
if (fp->luigiVars[0].SpecialS.chargeFrames >
|
if (fp->luigiVars.SpecialS.chargeFrames >
|
||||||
luigiAttrs->xC_LUIGI_GREENMISSILE_MAX_CHARGE_FRAMES)
|
luigiAttrs->xC_LUIGI_GREENMISSILE_MAX_CHARGE_FRAMES)
|
||||||
{
|
{
|
||||||
ftLuigi_SpecialSLaunch_Action(fighter_gobj);
|
ftLuigi_SpecialSLaunch_Action(fighter_gobj);
|
||||||
@ -227,8 +227,8 @@ void ftLuigi_SpecialAirSHold_Anim(HSD_GObj* fighter_gobj)
|
|||||||
func_8007DB24(fighter_gobj);
|
func_8007DB24(fighter_gobj);
|
||||||
fp->cb.x21BC_callback_Accessory4 = ftLuigi_SpecialS_SetGFX;
|
fp->cb.x21BC_callback_Accessory4 = ftLuigi_SpecialS_SetGFX;
|
||||||
}
|
}
|
||||||
fp->luigiVars[0].SpecialS.chargeFrames++;
|
fp->luigiVars.SpecialS.chargeFrames++;
|
||||||
if (fp->luigiVars[0].SpecialS.chargeFrames >
|
if (fp->luigiVars.SpecialS.chargeFrames >
|
||||||
luigiAttrs->xC_LUIGI_GREENMISSILE_MAX_CHARGE_FRAMES)
|
luigiAttrs->xC_LUIGI_GREENMISSILE_MAX_CHARGE_FRAMES)
|
||||||
{
|
{
|
||||||
ftLuigi_SpecialAirSLaunch_Action(fighter_gobj);
|
ftLuigi_SpecialAirSLaunch_Action(fighter_gobj);
|
||||||
@ -346,11 +346,11 @@ void ftLuigi_SpecialSLaunch_Anim(HSD_GObj* fighter_gobj)
|
|||||||
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
||||||
ftLuigiAttributes* luigiAttrs = getFtSpecialAttrs(fp);
|
ftLuigiAttributes* luigiAttrs = getFtSpecialAttrs(fp);
|
||||||
|
|
||||||
if (!fp->luigiVars[0].SpecialS.isMisfire &&
|
if (!fp->luigiVars.SpecialS.isMisfire &&
|
||||||
fp->x914[0].state == HitCapsule_Enabled)
|
fp->x914[0].state == HitCapsule_Enabled)
|
||||||
{
|
{
|
||||||
func_8007ABD0(&fp->x914[0],
|
func_8007ABD0(&fp->x914[0],
|
||||||
fp->luigiVars[0].SpecialS.chargeFrames *
|
fp->luigiVars.SpecialS.chargeFrames *
|
||||||
luigiAttrs->x14_LUIGI_GREENMISSILE_DAMAGE_SLOPE +
|
luigiAttrs->x14_LUIGI_GREENMISSILE_DAMAGE_SLOPE +
|
||||||
luigiAttrs->x10_LUIGI_GREENMISSILE_DAMAGE_TILT,
|
luigiAttrs->x10_LUIGI_GREENMISSILE_DAMAGE_TILT,
|
||||||
fighter_gobj);
|
fighter_gobj);
|
||||||
@ -370,11 +370,11 @@ void ftLuigi_SpecialAirSLaunch_Anim(HSD_GObj* fighter_gobj)
|
|||||||
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
||||||
ftLuigiAttributes* luigiAttrs = getFtSpecialAttrs(fp);
|
ftLuigiAttributes* luigiAttrs = getFtSpecialAttrs(fp);
|
||||||
|
|
||||||
if (!fp->luigiVars[0].SpecialS.isMisfire &&
|
if (!fp->luigiVars.SpecialS.isMisfire &&
|
||||||
fp->x914[0].state == HitCapsule_Enabled)
|
fp->x914[0].state == HitCapsule_Enabled)
|
||||||
{
|
{
|
||||||
func_8007ABD0(&fp->x914[0],
|
func_8007ABD0(&fp->x914[0],
|
||||||
fp->luigiVars[0].SpecialS.chargeFrames *
|
fp->luigiVars.SpecialS.chargeFrames *
|
||||||
luigiAttrs->x14_LUIGI_GREENMISSILE_DAMAGE_SLOPE +
|
luigiAttrs->x14_LUIGI_GREENMISSILE_DAMAGE_SLOPE +
|
||||||
luigiAttrs->x10_LUIGI_GREENMISSILE_DAMAGE_TILT,
|
luigiAttrs->x10_LUIGI_GREENMISSILE_DAMAGE_TILT,
|
||||||
fighter_gobj);
|
fighter_gobj);
|
||||||
@ -475,7 +475,7 @@ void ftLuigi_SpecialSLaunch_Action(HSD_GObj* fighter_gobj)
|
|||||||
HSD_GObjEvent exited_hitlag;
|
HSD_GObjEvent exited_hitlag;
|
||||||
s32 stateVar;
|
s32 stateVar;
|
||||||
|
|
||||||
if (fp->luigiVars[0].SpecialS.isMisfire) {
|
if (fp->luigiVars.SpecialS.isMisfire) {
|
||||||
ftLuigi_SpecialSMisfire_Action(fighter_gobj);
|
ftLuigi_SpecialSMisfire_Action(fighter_gobj);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -493,7 +493,7 @@ void ftLuigi_SpecialAirSLaunch_Action(HSD_GObj* fighter_gobj)
|
|||||||
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
||||||
s32 stateVar;
|
s32 stateVar;
|
||||||
|
|
||||||
if (fp->luigiVars[0].SpecialS.isMisfire) {
|
if (fp->luigiVars.SpecialS.isMisfire) {
|
||||||
ftLuigi_SpecialAirSMisfire_Action(fighter_gobj);
|
ftLuigi_SpecialAirSMisfire_Action(fighter_gobj);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -512,11 +512,11 @@ void ftLuigi_SpecialSMisfire_Anim(HSD_GObj* fighter_gobj)
|
|||||||
ftLuigiAttributes* luigiAttrs = getFtSpecialAttrs(fp);
|
ftLuigiAttributes* luigiAttrs = getFtSpecialAttrs(fp);
|
||||||
s32 stateVar;
|
s32 stateVar;
|
||||||
|
|
||||||
if (!fp->luigiVars[0].SpecialS.isMisfire &&
|
if (!fp->luigiVars.SpecialS.isMisfire &&
|
||||||
fp->x914[0].state == HitCapsule_Enabled)
|
fp->x914[0].state == HitCapsule_Enabled)
|
||||||
{
|
{
|
||||||
func_8007ABD0(&fp->x914[0],
|
func_8007ABD0(&fp->x914[0],
|
||||||
fp->luigiVars[0].SpecialS.chargeFrames *
|
fp->luigiVars.SpecialS.chargeFrames *
|
||||||
luigiAttrs->x14_LUIGI_GREENMISSILE_DAMAGE_SLOPE +
|
luigiAttrs->x14_LUIGI_GREENMISSILE_DAMAGE_SLOPE +
|
||||||
luigiAttrs->x10_LUIGI_GREENMISSILE_DAMAGE_TILT,
|
luigiAttrs->x10_LUIGI_GREENMISSILE_DAMAGE_TILT,
|
||||||
fighter_gobj);
|
fighter_gobj);
|
||||||
@ -536,11 +536,11 @@ void ftLuigi_SpecialAirSMisfire_Anim(HSD_GObj* fighter_gobj)
|
|||||||
ftLuigiAttributes* luigiAttrs = getFtSpecialAttrs(fp);
|
ftLuigiAttributes* luigiAttrs = getFtSpecialAttrs(fp);
|
||||||
s32 stateVar;
|
s32 stateVar;
|
||||||
|
|
||||||
if (!fp->luigiVars[0].SpecialS.isMisfire &&
|
if (!fp->luigiVars.SpecialS.isMisfire &&
|
||||||
fp->x914[0].state == HitCapsule_Enabled)
|
fp->x914[0].state == HitCapsule_Enabled)
|
||||||
{
|
{
|
||||||
func_8007ABD0(&fp->x914[0],
|
func_8007ABD0(&fp->x914[0],
|
||||||
fp->luigiVars[0].SpecialS.chargeFrames *
|
fp->luigiVars.SpecialS.chargeFrames *
|
||||||
luigiAttrs->x14_LUIGI_GREENMISSILE_DAMAGE_SLOPE +
|
luigiAttrs->x14_LUIGI_GREENMISSILE_DAMAGE_SLOPE +
|
||||||
luigiAttrs->x10_LUIGI_GREENMISSILE_DAMAGE_TILT,
|
luigiAttrs->x10_LUIGI_GREENMISSILE_DAMAGE_TILT,
|
||||||
fighter_gobj);
|
fighter_gobj);
|
||||||
@ -731,21 +731,21 @@ void ftLuigi_SpecialSFly_Action(HSD_GObj* fighter_gobj)
|
|||||||
fp = getFighter(fighter_gobj);
|
fp = getFighter(fighter_gobj);
|
||||||
luigiAttrs = getFtSpecialAttrs(fp);
|
luigiAttrs = getFtSpecialAttrs(fp);
|
||||||
fp->x2200_ftcmd_var0 = 0;
|
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;
|
fp->x80_self_vel.x = luigiAttrs->x48_LUIGI_GREENMISSILE_MISFIRE_VEL_X;
|
||||||
} else {
|
} else {
|
||||||
fp->x80_self_vel.x = luigiAttrs->x28_LUIGI_GREENMISSILE_MUL_X *
|
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;
|
luigiAttrs->x24_LUIGI_GREENMISSILE_VEL_X;
|
||||||
}
|
}
|
||||||
fp->x80_self_vel.x *= fp->facing_dir;
|
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;
|
fp->x80_self_vel.y = luigiAttrs->x4C_LUIGI_GREENMISSILE_MISFIRE_VEL_Y;
|
||||||
} else {
|
} else {
|
||||||
temp_vel = luigiAttrs->x2C_LUIGI_GREENMISSILE_VEL_Y;
|
temp_vel = luigiAttrs->x2C_LUIGI_GREENMISSILE_VEL_Y;
|
||||||
fp->x80_self_vel.y =
|
fp->x80_self_vel.y =
|
||||||
0.5f * temp_vel +
|
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);
|
luigiAttrs->xC_LUIGI_GREENMISSILE_MAX_CHARGE_FRAMES);
|
||||||
}
|
}
|
||||||
Fighter_ActionStateChange_800693AC(fighter_gobj, AS_LUIGI_SPECIALAIRS_FLY,
|
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;
|
sa = (ftMarioAttributes*) fp->x2D4_specialAttributes;
|
||||||
fp->x2200_ftcmd_var0 = 0;
|
fp->x2200_ftcmd_var0 = 0;
|
||||||
fp->x2204_ftcmd_var1 = 0;
|
fp->x2204_ftcmd_var1 = 0;
|
||||||
fp->marioVars[0].SpecialLw.groundVelX = (f32) 0.0f;
|
fp->marioVars.SpecialLw.groundVelX = (f32) 0.0f;
|
||||||
fp->marioVars[0].SpecialLw.unk = (s32) (sa->x50_MARIO_TORNADO_UNK + 1);
|
fp->marioVars.SpecialLw.unk = (s32) (sa->x50_MARIO_TORNADO_UNK + 1);
|
||||||
fp->marioVars[0].SpecialLw.isUnkColl = 0;
|
fp->marioVars.SpecialLw.isUnkColl = 0;
|
||||||
ftMario_SpecialLw_SetCall(gobj);
|
ftMario_SpecialLw_SetCall(gobj);
|
||||||
ftMario_SpecialLw_SetGFX(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;
|
flt_var = sa->x3C_MARIO_TORNADO_MOMENTUM_X_GROUND;
|
||||||
if ((u32) fp->x2200_ftcmd_var0 != 0U) {
|
if ((u32) fp->x2200_ftcmd_var0 != 0U) {
|
||||||
fp->marioVars[0].SpecialLw.groundVelX =
|
fp->marioVars.SpecialLw.groundVelX =
|
||||||
(f32) (fp->marioVars[0].SpecialLw.groundVelX -
|
(f32) (fp->marioVars.SpecialLw.groundVelX -
|
||||||
sa->x4C_MARIO_TORNADO_FRICTION_END);
|
sa->x4C_MARIO_TORNADO_FRICTION_END);
|
||||||
flt_var += fp->marioVars[0].SpecialLw.groundVelX;
|
flt_var += fp->marioVars.SpecialLw.groundVelX;
|
||||||
if (flt_var < 0.0f) {
|
if (flt_var < 0.0f) {
|
||||||
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;
|
flt_var = sa->x40_MARIO_TORNADO_MOMENTUM_X_AIR;
|
||||||
sa_2 = fp->x2D4_specialAttributes;
|
sa_2 = fp->x2D4_specialAttributes;
|
||||||
if ((u32) fp->x2200_ftcmd_var0 != 0U) {
|
if ((u32) fp->x2200_ftcmd_var0 != 0U) {
|
||||||
fp->marioVars[0].SpecialLw.groundVelX =
|
fp->marioVars.SpecialLw.groundVelX =
|
||||||
(f32) (fp->marioVars[0].SpecialLw.groundVelX -
|
(f32) (fp->marioVars.SpecialLw.groundVelX -
|
||||||
sa_2->x4C_MARIO_TORNADO_FRICTION_END);
|
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) {
|
if (flt_var < 0.0f) {
|
||||||
flt_var = 0.0f;
|
flt_var = 0.0f;
|
||||||
}
|
}
|
||||||
@ -265,7 +265,7 @@ void _ftMario_800E25C4_800E2778_helper(HSD_GObj* gobj)
|
|||||||
ftMarioAttributes* sa = GetMarioAttr(fp);
|
ftMarioAttributes* sa = GetMarioAttr(fp);
|
||||||
|
|
||||||
if ((fp->x220C_ftcmd_var3 != 0U) &&
|
if ((fp->x220C_ftcmd_var3 != 0U) &&
|
||||||
((s32) (fp->marioVars[0].SpecialLw.isUnkColl) != 0))
|
((s32) (fp->marioVars.SpecialLw.isUnkColl) != 0))
|
||||||
{
|
{
|
||||||
func_8007592C(fp, 0,
|
func_8007592C(fp, 0,
|
||||||
fp->facing_dir *
|
fp->facing_dir *
|
||||||
@ -289,16 +289,16 @@ void ftMario_SpecialLw_Coll(HSD_GObj* gobj)
|
|||||||
if (fp->xE0_ground_or_air == GA_Ground) {
|
if (fp->xE0_ground_or_air == GA_Ground) {
|
||||||
if (func_80082888(gobj, &ftMario_SpecialLw_CollisionBox) == false) {
|
if (func_80082888(gobj, &ftMario_SpecialLw_CollisionBox) == false) {
|
||||||
_ftMario_800E23E4_800E25C4_helper_0(gobj);
|
_ftMario_800E23E4_800E25C4_helper_0(gobj);
|
||||||
fp->marioVars[0].SpecialLw.isUnkColl = false;
|
fp->marioVars.SpecialLw.isUnkColl = false;
|
||||||
} else {
|
} else {
|
||||||
fp->marioVars[0].SpecialLw.isUnkColl = true;
|
fp->marioVars.SpecialLw.isUnkColl = true;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (func_800824A0(gobj, &ftMario_SpecialLw_CollisionBox) == false) {
|
if (func_800824A0(gobj, &ftMario_SpecialLw_CollisionBox) == false) {
|
||||||
_ftMario_800E23E4_800E25C4_helper_0(gobj);
|
_ftMario_800E23E4_800E25C4_helper_0(gobj);
|
||||||
fp->marioVars[0].SpecialLw.isUnkColl = false;
|
fp->marioVars.SpecialLw.isUnkColl = false;
|
||||||
} else {
|
} 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;
|
Fighter* fp = gobj->user_data;
|
||||||
if (func_800824A0(gobj, &ftMario_SpecialLw_CollisionBox) != 0) {
|
if (func_800824A0(gobj, &ftMario_SpecialLw_CollisionBox) != 0) {
|
||||||
_ftMario_800E2778_helper(gobj);
|
_ftMario_800E2778_helper(gobj);
|
||||||
fp->marioVars[0].SpecialLw.isUnkColl = 1;
|
fp->marioVars.SpecialLw.isUnkColl = 1;
|
||||||
} else {
|
} else {
|
||||||
fp->marioVars[0].SpecialLw.isUnkColl = 0;
|
fp->marioVars.SpecialLw.isUnkColl = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
_ftMario_800E25C4_800E2778_helper(gobj);
|
_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->x2208_ftcmd_var2 = 0;
|
||||||
fp->x2204_ftcmd_var1 = 0;
|
fp->x2204_ftcmd_var1 = 0;
|
||||||
fp->x2200_ftcmd_var0 = 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;
|
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;
|
ftMarioAttributes* sa_tmp = fp->x2D4_specialAttributes;
|
||||||
|
|
||||||
if ((fp->x2204_ftcmd_var1 == 1U) &&
|
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);
|
ftColl_CreateReflectHit(gobj, &sa_tmp->x60_MARIO_CAPE_REFLECTION, NULL);
|
||||||
} else if ((fp->x2204_ftcmd_var1 == 0U) &&
|
} 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;
|
fp->x2218_flag.bits.b3 = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -263,7 +263,7 @@ void ftMario_SpecialAirS_Coll(HSD_GObj* gobj)
|
|||||||
void ftMario_SpecialS_UpdateVarsColl(HSD_GObj* gobj)
|
void ftMario_SpecialS_UpdateVarsColl(HSD_GObj* gobj)
|
||||||
{
|
{
|
||||||
Fighter* fp = GET_FIGHTER(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;
|
fp->x2218_flag.bits.b3 = 1;
|
||||||
}
|
}
|
||||||
ftMario_SpecialS_SetCall(fp);
|
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.x = ftData_attr->x30_pos2.x;
|
||||||
fp->xB0_pos.y = ftData_attr->x30_pos2.y;
|
fp->xB0_pos.y = ftData_attr->x30_pos2.y;
|
||||||
fp->xB0_pos.z = 0.0f;
|
fp->xB0_pos.z = 0.0f;
|
||||||
fp->x2374 = 0;
|
fp->masterhandVars.x2374 = 0;
|
||||||
fp->x2378 = 0;
|
fp->masterhandVars.x2378 = 0;
|
||||||
fp->x237C = 0;
|
fp->masterhandVars.x237C = 0;
|
||||||
fp->x2380 = 0;
|
fp->x2380 = 0;
|
||||||
fp->x2368 = -1;
|
fp->masterhandVars.x2368 = -1;
|
||||||
fp->x236C = -1;
|
fp->masterhandVars.x236C = -1;
|
||||||
fp->x2370 = -1;
|
fp->masterhandVars.x2370 = -1;
|
||||||
fp->x235C = 0.0f;
|
fp->masterhandVars.x235C = 0.0f;
|
||||||
fp->x2360 = 0;
|
fp->masterhandVars.x2360 = 0;
|
||||||
fp->sa.masterhand.x222C = func_8015C244(gobj, &fp->xB0_pos);
|
fp->sa.masterhand.x222C = func_8015C244(gobj, &fp->xB0_pos);
|
||||||
fp->sa.masterhand.x2238 = 1.0f;
|
fp->sa.masterhand.x2238 = 1.0f;
|
||||||
fp->sa.masterhand.x224C = 0;
|
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->sa.masterhand.x2258 = 0x185;
|
||||||
}
|
}
|
||||||
r32_fp->x2344_callback = arg1_stateVar2;
|
r32_fp->masterhandVars.x2344_callback = arg1_stateVar2;
|
||||||
r32_fp->x234C_pos = *arg2_pos;
|
r32_fp->masterhandVars.x234C_pos = *arg2_pos;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 80150F00 0014DAE0
|
// 80150F00 0014DAE0
|
||||||
@ -124,8 +124,9 @@ void lbl_80150F68(HSD_GObj* gobj)
|
|||||||
r30_ft_attributes = r4_ftdata->ext_attr;
|
r30_ft_attributes = r4_ftdata->ext_attr;
|
||||||
|
|
||||||
func_80085134(gobj);
|
func_80085134(gobj);
|
||||||
func_8015BE40(gobj, &r31_fp->x234C_pos, &r31_fp->x2358_stateVar7,
|
func_8015BE40(gobj, &r31_fp->masterhandVars.x234C_pos,
|
||||||
r30_ft_attributes->x2C, r30_ft_attributes->x28);
|
&r31_fp->masterhandVars.x2358, r30_ft_attributes->x2C,
|
||||||
|
r30_ft_attributes->x28);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 80150FC8 0014DBA8
|
// 80150FC8 0014DBA8
|
||||||
@ -135,7 +136,7 @@ void lbl_80150FC8(HSD_GObj* gobj)
|
|||||||
Fighter* r4_fp;
|
Fighter* r4_fp;
|
||||||
|
|
||||||
r4_fp = gobj->user_data;
|
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.z = 0.0f;
|
||||||
r4_fp->x80_self_vel.y = 0.0f;
|
r4_fp->x80_self_vel.y = 0.0f;
|
||||||
r4_fp->x80_self_vel.x = 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;
|
r6_fp = gobj->user_data;
|
||||||
r5_attributes = r6_fp->x10C_ftData->ext_attr;
|
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.x = r5_attributes->x30_pos2.x;
|
||||||
sp1C_pos.y = r5_attributes->x30_pos2.y;
|
sp1C_pos.y = r5_attributes->x30_pos2.y;
|
||||||
sp1C_pos.z = 0.0f;
|
sp1C_pos.z = 0.0f;
|
||||||
@ -169,6 +170,6 @@ void func_80151018(HSD_GObj* gobj)
|
|||||||
} else {
|
} else {
|
||||||
func_80150C8C(gobj);
|
func_80150C8C(gobj);
|
||||||
}
|
}
|
||||||
r31_fp->x2344_callback = lbl_8014FFDC;
|
r31_fp->masterhandVars.x2344_callback = lbl_8014FFDC;
|
||||||
r31_fp->x234C_pos = sp1C_pos;
|
r31_fp->masterhandVars.x234C_pos = sp1C_pos;
|
||||||
}
|
}
|
||||||
|
@ -117,33 +117,33 @@ static void lbl_801511FC(HSD_GObj* gobj)
|
|||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
func_8002F274();
|
func_8002F274();
|
||||||
fp->x2348_stateVar3 = 0x78;
|
fp->masterhandVars.x2348 = 0x78;
|
||||||
fp->x2340_stateVar1 = 5;
|
fp->x2340_stateVar1 = 5;
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
if (--fp->x2348_stateVar3 == 0) {
|
if (--fp->masterhandVars.x2348 == 0) {
|
||||||
func_8002EC7C(-0.3490658402442932f);
|
func_8002EC7C(-0.3490658402442932f);
|
||||||
func_8002EF14();
|
func_8002EF14();
|
||||||
func_8002ED9C(120.0f);
|
func_8002ED9C(120.0f);
|
||||||
fp->x2348_stateVar3 = 0x1E;
|
fp->masterhandVars.x2348 = 0x1E;
|
||||||
fp->x2340_stateVar1 = 6;
|
fp->x2340_stateVar1 = 6;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
if (--fp->x2348_stateVar3 == 0) {
|
if (--fp->masterhandVars.x2348 == 0) {
|
||||||
func_8002EC7C(0.3490658402442932f);
|
func_8002EC7C(0.3490658402442932f);
|
||||||
func_8002EF14();
|
func_8002EF14();
|
||||||
fp->x2348_stateVar3 = 0x1E;
|
fp->masterhandVars.x2348 = 0x1E;
|
||||||
fp->x2340_stateVar1 = 7;
|
fp->x2340_stateVar1 = 7;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 7:
|
||||||
if (--fp->x2348_stateVar3 == 0) {
|
if (--fp->masterhandVars.x2348 == 0) {
|
||||||
func_8002ED9C(180.0f);
|
func_8002ED9C(180.0f);
|
||||||
func_8002EC7C(-1.5707963705062866f);
|
func_8002EC7C(-1.5707963705062866f);
|
||||||
func_8002EB5C(-0.3490658402442932f);
|
func_8002EB5C(-0.3490658402442932f);
|
||||||
func_8002EF14();
|
func_8002EF14();
|
||||||
fp->x2348_stateVar3 = 0x32;
|
fp->masterhandVars.x2348 = 0x32;
|
||||||
fp->x2340_stateVar1 = 8;
|
fp->x2340_stateVar1 = 8;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -152,7 +152,7 @@ static void lbl_801511FC(HSD_GObj* gobj)
|
|||||||
fp->x2340_stateVar1 = 9;
|
fp->x2340_stateVar1 = 9;
|
||||||
break;
|
break;
|
||||||
case 9:
|
case 9:
|
||||||
if (--fp->x2348_stateVar3 == 0) {
|
if (--fp->masterhandVars.x2348 == 0) {
|
||||||
func_8002F474();
|
func_8002F474();
|
||||||
fp->x2340_stateVar1 = 10;
|
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.z = 0.0f;
|
||||||
r29_fp->x80_self_vel.y = 0.0f;
|
r29_fp->x80_self_vel.y = 0.0f;
|
||||||
r29_fp->x80_self_vel.x = 0.0f;
|
r29_fp->x80_self_vel.x = 0.0f;
|
||||||
func_802F046C(r29_fp->x2374);
|
func_802F046C(r29_fp->masterhandVars.x2374);
|
||||||
func_802F046C(r29_fp->x2378);
|
func_802F046C(r29_fp->masterhandVars.x2378);
|
||||||
func_802F046C(r29_fp->x237C);
|
func_802F046C(r29_fp->masterhandVars.x237C);
|
||||||
func_802F046C(r29_fp->x2380);
|
func_802F046C(r29_fp->x2380);
|
||||||
r29_fp->x2374 = 0;
|
r29_fp->masterhandVars.x2374 = 0;
|
||||||
r29_fp->x2378 = 0;
|
r29_fp->masterhandVars.x2378 = 0;
|
||||||
r29_fp->x237C = 0;
|
r29_fp->masterhandVars.x237C = 0;
|
||||||
r29_fp->x2380 = 0;
|
r29_fp->x2380 = 0;
|
||||||
func_800236B8(r29_fp->x2368);
|
func_800236B8(r29_fp->masterhandVars.x2368);
|
||||||
func_800236B8(r29_fp->x236C);
|
func_800236B8(r29_fp->masterhandVars.x236C);
|
||||||
func_800236B8(r29_fp->x2370);
|
func_800236B8(r29_fp->masterhandVars.x2370);
|
||||||
if (r29_fp->x2360) {
|
if (r29_fp->masterhandVars.x2360) {
|
||||||
func_80155D1C(r29_fp->x1A58_interactedFighter);
|
func_80155D1C(r29_fp->x1A58_interactedFighter);
|
||||||
}
|
}
|
||||||
r29_fp->x80_self_vel.y = temp_r30->x14C;
|
r29_fp->x80_self_vel.y = temp_r30->x14C;
|
||||||
r29_fp->x80_self_vel.z = temp_r30->x154;
|
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)
|
void func_80151484(HSD_GObj* gobj)
|
||||||
@ -100,14 +100,14 @@ void lbl_801515B8(HSD_GObj* gobj)
|
|||||||
r31_fp->x2200_ftcmd_var0 = 0U;
|
r31_fp->x2200_ftcmd_var0 = 0U;
|
||||||
}
|
}
|
||||||
|
|
||||||
// x2348_stateVar3 does that make sense if its u32?
|
// masterhandVars.x2348 does that make sense if its u32?
|
||||||
if ((s32) r31_fp->x2348_stateVar3 > 0 && !ftAnim_IsFramesRemaining(gobj)) {
|
if (r31_fp->masterhandVars.x2348 > 0 && !ftAnim_IsFramesRemaining(gobj)) {
|
||||||
Fighter_ActionStateChange_800693AC(gobj, 0x159, 0, 0, 0.0f, 1.0f, 0.0f);
|
Fighter_ActionStateChange_800693AC(gobj, 0x159, 0, 0, 0.0f, 1.0f, 0.0f);
|
||||||
func_8006EBA4(gobj);
|
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) {
|
if (temp_r0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -131,27 +131,26 @@ void lbl_801516B4(HSD_GObj* gobj)
|
|||||||
r4_attributes = r31_fp->x10C_ftData->ext_attr;
|
r4_attributes = r31_fp->x10C_ftData->ext_attr;
|
||||||
temp_r3 = r31_fp->x23B4 + 1;
|
temp_r3 = r31_fp->x23B4 + 1;
|
||||||
r31_fp->x23B4 = temp_r3;
|
r31_fp->x23B4 = temp_r3;
|
||||||
if (temp_r3 <= (s32) r4_attributes->x144) {
|
if (temp_r3 <= r4_attributes->x144) {
|
||||||
func_8002438C(0x81652);
|
func_8002438C(0x81652);
|
||||||
} else {
|
} else {
|
||||||
temp_r3_2 = r31_fp->x23B8 + 1;
|
temp_r3_2 = r31_fp->x23B8 + 1;
|
||||||
r31_fp->x23B8 = temp_r3_2;
|
r31_fp->x23B8 = temp_r3_2;
|
||||||
if (temp_r3_2 <= (s32) r4_attributes->x148) {
|
if (temp_r3_2 <= r4_attributes->x148) {
|
||||||
func_8002438C(0x81653);
|
func_8002438C(0x81653);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
r31_fp->x2200_ftcmd_var0 = 0U;
|
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;
|
temp_f1 = 0.0f;
|
||||||
Fighter_ActionStateChange_800693AC(gobj, 0x159, 0, 0, temp_f1, 1.0f,
|
Fighter_ActionStateChange_800693AC(gobj, 0x159, 0, 0, temp_f1, 1.0f,
|
||||||
temp_f1);
|
temp_f1);
|
||||||
func_8006EBA4(gobj);
|
func_8006EBA4(gobj);
|
||||||
}
|
}
|
||||||
temp_r0 = r31_fp->x2348_stateVar3 - 1;
|
temp_r0 = r31_fp->masterhandVars.x2348 - 1;
|
||||||
// temp_cr0_eq = ;
|
// temp_cr0_eq = ;
|
||||||
r31_fp->x2348_stateVar3 = temp_r0;
|
r31_fp->masterhandVars.x2348 = temp_r0;
|
||||||
if (temp_r0 == 0) {
|
if (temp_r0 == 0) {
|
||||||
func_800D4F24(gobj, 0);
|
func_800D4F24(gobj, 0);
|
||||||
}
|
}
|
||||||
|
@ -73,9 +73,9 @@ void func_80151918(HSD_GObj* gobj)
|
|||||||
|
|
||||||
r8_fp = gobj->user_data;
|
r8_fp = gobj->user_data;
|
||||||
r7_attributes = r8_fp->x10C_ftData->ext_attr;
|
r7_attributes = r8_fp->x10C_ftData->ext_attr;
|
||||||
r8_fp->x234C_pos.x = (r8_fp->xB0_pos.x - r7_attributes->x3C);
|
r8_fp->masterhandVars.x234C_pos.x = (r8_fp->xB0_pos.x - r7_attributes->x3C);
|
||||||
r8_fp->x234C_pos.y = r7_attributes->x38;
|
r8_fp->masterhandVars.x234C_pos.y = r7_attributes->x38;
|
||||||
r8_fp->x234C_pos.z = 0.0f;
|
r8_fp->masterhandVars.x234C_pos.z = 0.0f;
|
||||||
|
|
||||||
Fighter_ActionStateChange_800693AC(gobj, 0x15B, 0, 0, 0.0f, 1.0f, 0.0f);
|
Fighter_ActionStateChange_800693AC(gobj, 0x15B, 0, 0, 0.0f, 1.0f, 0.0f);
|
||||||
func_8006EBA4(gobj);
|
func_8006EBA4(gobj);
|
||||||
@ -100,9 +100,9 @@ void lbl_8015198C(HSD_GObj* gobj)
|
|||||||
}
|
}
|
||||||
temp_r8 = gobj->user_data;
|
temp_r8 = gobj->user_data;
|
||||||
temp_r7 = temp_r8->x10C_ftData->ext_attr;
|
temp_r7 = temp_r8->x10C_ftData->ext_attr;
|
||||||
temp_r8->x234C_pos.x = temp_r8->xB0_pos.x - temp_r7->x3C;
|
temp_r8->masterhandVars.x234C_pos.x = temp_r8->xB0_pos.x - temp_r7->x3C;
|
||||||
temp_r8->x234C_pos.y = temp_r7->x38;
|
temp_r8->masterhandVars.x234C_pos.y = temp_r7->x38;
|
||||||
temp_r8->x234C_pos.z = 0.0f;
|
temp_r8->masterhandVars.x234C_pos.z = 0.0f;
|
||||||
Fighter_ActionStateChange_800693AC(gobj, 0x15B, 0, 0, 0.0f, 1.0f, 0.0f);
|
Fighter_ActionStateChange_800693AC(gobj, 0x15B, 0, 0, 0.0f, 1.0f, 0.0f);
|
||||||
func_8006EBA4(gobj);
|
func_8006EBA4(gobj);
|
||||||
}
|
}
|
||||||
@ -127,8 +127,9 @@ void lbl_80151A88(HSD_GObj* gobj)
|
|||||||
|
|
||||||
r5_fp = gobj->user_data;
|
r5_fp = gobj->user_data;
|
||||||
r6_attributes = r5_fp->x10C_ftData->ext_attr;
|
r6_attributes = r5_fp->x10C_ftData->ext_attr;
|
||||||
func_8015BE40(gobj, &r5_fp->x234C_pos, &r5_fp->x2358_stateVar7,
|
func_8015BE40(gobj, &r5_fp->masterhandVars.x234C_pos,
|
||||||
r6_attributes->x2C, r6_attributes->x28);
|
&r5_fp->masterhandVars.x2358, r6_attributes->x2C,
|
||||||
|
r6_attributes->x28);
|
||||||
}
|
}
|
||||||
|
|
||||||
void lbl_80151AC4(HSD_GObj* arg0) {}
|
void lbl_80151AC4(HSD_GObj* arg0) {}
|
||||||
|
@ -42,7 +42,7 @@ void lbl_801521DC(HSD_GObj* arg0)
|
|||||||
temp_r31 = arg0->user_data;
|
temp_r31 = arg0->user_data;
|
||||||
Fighter_ActionStateChange_800693AC(arg0, 0x162, 0, 0, 0.0f, 1.0f, 0.0f);
|
Fighter_ActionStateChange_800693AC(arg0, 0x162, 0, 0, 0.0f, 1.0f, 0.0f);
|
||||||
func_8006EBA4(arg0);
|
func_8006EBA4(arg0);
|
||||||
temp_r31->x2340_f32 = 107.0f;
|
temp_r31->masterhandVars.x2340_unk = 107.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 8015223C 14EE1C
|
// 8015223C 14EE1C
|
||||||
@ -77,8 +77,8 @@ void lbl_801522BC(HSD_GObj* gobj)
|
|||||||
r30_attributes = r4_ftData->ext_attr;
|
r30_attributes = r4_ftData->ext_attr;
|
||||||
func_80085134(gobj);
|
func_80085134(gobj);
|
||||||
|
|
||||||
if ((--r31_fp->x2340_f32 > r30_attributes->x84) ||
|
if ((--r31_fp->masterhandVars.x2340_unk > r30_attributes->x84) ||
|
||||||
(r31_fp->x2340_f32 < 0.0f))
|
(r31_fp->masterhandVars.x2340_unk < 0.0f))
|
||||||
{
|
{
|
||||||
r31_fp->x80_self_vel.x = 0.0f;
|
r31_fp->x80_self_vel.x = 0.0f;
|
||||||
} else {
|
} else {
|
||||||
|
@ -27,7 +27,7 @@ void lbl_801523BC(HSD_GObj* gobj)
|
|||||||
r31_fp = gobj->user_data;
|
r31_fp = gobj->user_data;
|
||||||
r30_attributes = r31_fp->x10C_ftData->ext_attr;
|
r30_attributes = r31_fp->x10C_ftData->ext_attr;
|
||||||
func_8015247C(gobj);
|
func_8015247C(gobj);
|
||||||
r31_fp->x2348_stateVar3 = r30_attributes->xA0;
|
r31_fp->masterhandVars.x2348 = r30_attributes->xA0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 80152414 14EFF4
|
// 80152414 14EFF4
|
||||||
@ -69,7 +69,7 @@ void lbl_801524C8(HSD_GObj* gobj)
|
|||||||
u32 unk[2];
|
u32 unk[2];
|
||||||
|
|
||||||
temp_r4 = gobj->user_data;
|
temp_r4 = gobj->user_data;
|
||||||
if (!--temp_r4->x2348_stateVar3) {
|
if (!--temp_r4->masterhandVars.x2348) {
|
||||||
func_801525E0(gobj);
|
func_801525E0(gobj);
|
||||||
}
|
}
|
||||||
if (!ftAnim_IsFramesRemaining(gobj)) {
|
if (!ftAnim_IsFramesRemaining(gobj)) {
|
||||||
|
@ -44,7 +44,7 @@ void lbl_801526D8(HSD_GObj* arg0)
|
|||||||
temp_r31 = arg0->user_data;
|
temp_r31 = arg0->user_data;
|
||||||
Fighter_ActionStateChange_800693AC(arg0, 0x166, 0, 0, 0.0f, 1.0f, 0.0f);
|
Fighter_ActionStateChange_800693AC(arg0, 0x166, 0, 0, 0.0f, 1.0f, 0.0f);
|
||||||
func_8006EBA4(arg0);
|
func_8006EBA4(arg0);
|
||||||
temp_r31->x2340_f32 = 0.0f;
|
temp_r31->masterhandVars.x2340_unk = 0.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 80152738 14F318
|
// 80152738 14F318
|
||||||
@ -79,8 +79,10 @@ void lbl_801527B8(HSD_GObj* gobj)
|
|||||||
|
|
||||||
func_80085134(gobj);
|
func_80085134(gobj);
|
||||||
|
|
||||||
tmp = ++r31_fp->x2340_f32;
|
tmp = ++r31_fp->masterhandVars.x2340_unk;
|
||||||
if (tmp > r30_attributes->xB0 && r31_fp->x2340_f32 < r30_attributes->xB4) {
|
if (tmp > r30_attributes->xB0 &&
|
||||||
|
r31_fp->masterhandVars.x2340_unk < r30_attributes->xB4)
|
||||||
|
{
|
||||||
func_8015C010(gobj, r30_attributes->xB8);
|
func_8015C010(gobj, r30_attributes->xB8);
|
||||||
} else {
|
} else {
|
||||||
r31_fp->x80_self_vel.x = 0.0f;
|
r31_fp->x80_self_vel.x = 0.0f;
|
||||||
|
@ -24,7 +24,7 @@ void func_80152880(HSD_GObj* gobj)
|
|||||||
attr = fp->x10C_ftData->ext_attr;
|
attr = fp->x10C_ftData->ext_attr;
|
||||||
Fighter_ActionStateChange_800693AC(gobj, 0x167, 0, 0, 0.0f, 1.0f, 0.0f);
|
Fighter_ActionStateChange_800693AC(gobj, 0x167, 0, 0, 0.0f, 1.0f, 0.0f);
|
||||||
func_8006EBA4(gobj);
|
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;
|
fp->x2344_f32 = 0.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -40,7 +40,7 @@ void lbl_80152928(HSD_GObj* gobj)
|
|||||||
temp_r4 = gobj->user_data;
|
temp_r4 = gobj->user_data;
|
||||||
temp_r4->x2344_f32 = 1.0f;
|
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->x2344_f32 = 0.0f;
|
||||||
temp_r4->x80_self_vel.x = 0.0f;
|
temp_r4->x80_self_vel.x = 0.0f;
|
||||||
temp_r4->x80_self_vel.y = 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;
|
temp_r31 = arg0->user_data;
|
||||||
Fighter_ActionStateChange_800693AC(arg0, 0x169, 0, 0, 0.0f, 1.0f, 0.0f);
|
Fighter_ActionStateChange_800693AC(arg0, 0x169, 0, 0, 0.0f, 1.0f, 0.0f);
|
||||||
func_8006EBA4(arg0);
|
func_8006EBA4(arg0);
|
||||||
temp_r31->x2368 = -1;
|
temp_r31->masterhandVars.x2368 = -1;
|
||||||
temp_r31->x236C = -1;
|
temp_r31->masterhandVars.x236C = -1;
|
||||||
temp_r31->x2370 = -1;
|
temp_r31->masterhandVars.x2370 = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 80152C34 14F814
|
// 80152C34 14F814
|
||||||
@ -77,13 +77,13 @@ void lbl_80152D44(HSD_GObj* arg0)
|
|||||||
if (!ftAnim_IsFramesRemaining(arg0)) {
|
if (!ftAnim_IsFramesRemaining(arg0)) {
|
||||||
temp_r31 = arg0->user_data;
|
temp_r31 = arg0->user_data;
|
||||||
func_80152F80(arg0);
|
func_80152F80(arg0);
|
||||||
func_802F046C(temp_r31->x2374);
|
func_802F046C(temp_r31->masterhandVars.x2374);
|
||||||
func_802F046C(temp_r31->x2378);
|
func_802F046C(temp_r31->masterhandVars.x2378);
|
||||||
func_802F046C(temp_r31->x237C);
|
func_802F046C(temp_r31->masterhandVars.x237C);
|
||||||
func_802F046C(temp_r31->x2380);
|
func_802F046C(temp_r31->x2380);
|
||||||
temp_r31->x2374 = 0;
|
temp_r31->masterhandVars.x2374 = 0;
|
||||||
temp_r31->x2378 = 0;
|
temp_r31->masterhandVars.x2378 = 0;
|
||||||
temp_r31->x237C = 0;
|
temp_r31->masterhandVars.x237C = 0;
|
||||||
temp_r31->x2380 = 0;
|
temp_r31->x2380 = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -122,20 +122,20 @@ void lbl_80152E28(HSD_GObj* gobj)
|
|||||||
|
|
||||||
if (fp->x2200_ftcmd_var0 != 0) {
|
if (fp->x2200_ftcmd_var0 != 0) {
|
||||||
func_8000B1CC(fp->x5E8_fighterBones[11].x0_jobj, 0, &sp10);
|
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_802F0340(gobj, &sp10, &sp10, 0xB, 0x7D, fp->facing_dir);
|
||||||
func_8000B1CC(fp->x5E8_fighterBones[16].x0_jobj, 0, &sp10);
|
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_802F0340(gobj, &sp10, &sp10, 0x10, 0x7D, fp->facing_dir);
|
||||||
func_8000B1CC(fp->x5E8_fighterBones[21].x0_jobj, 0, &sp10);
|
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_802F0340(gobj, &sp10, &sp10, 0x15, 0x7D, fp->facing_dir);
|
||||||
func_8000B1CC(fp->x5E8_fighterBones[26].x0_jobj, 0, &sp10);
|
func_8000B1CC(fp->x5E8_fighterBones[26].x0_jobj, 0, &sp10);
|
||||||
fp->x2380 =
|
fp->x2380 =
|
||||||
func_802F0340(gobj, &sp10, &sp10, 0x1A, 0x7D, fp->facing_dir);
|
func_802F0340(gobj, &sp10, &sp10, 0x1A, 0x7D, fp->facing_dir);
|
||||||
fp->x2368 = func_800237A8(0x4E204, 0x7F, 0x40);
|
fp->masterhandVars.x2368 = func_800237A8(0x4E204, 0x7F, 0x40);
|
||||||
fp->x236C = func_800237A8(0x4E205, 0x7F, 0x40);
|
fp->masterhandVars.x236C = func_800237A8(0x4E205, 0x7F, 0x40);
|
||||||
fp->x2370 = func_800237A8(0x4E206, 0x7F, 0x40);
|
fp->masterhandVars.x2370 = func_800237A8(0x4E206, 0x7F, 0x40);
|
||||||
fp->x2200_ftcmd_var0 = 0;
|
fp->x2200_ftcmd_var0 = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -147,10 +147,10 @@ void func_80152F80(HSD_GObj* gobj)
|
|||||||
Fighter* fp = gobj->user_data;
|
Fighter* fp = gobj->user_data;
|
||||||
Fighter_ActionStateChange_800693AC(gobj, 0x16B, 0, 0, 0.0f, 1.0f, 0.0f);
|
Fighter_ActionStateChange_800693AC(gobj, 0x16B, 0, 0, 0.0f, 1.0f, 0.0f);
|
||||||
func_8006EBA4(gobj);
|
func_8006EBA4(gobj);
|
||||||
func_800236B8(fp->x2368);
|
func_800236B8(fp->masterhandVars.x2368);
|
||||||
func_800236B8(fp->x236C);
|
func_800236B8(fp->masterhandVars.x236C);
|
||||||
func_800236B8(fp->x2370);
|
func_800236B8(fp->masterhandVars.x2370);
|
||||||
fp->x2368 = -1;
|
fp->masterhandVars.x2368 = -1;
|
||||||
fp->x236C = -1;
|
fp->masterhandVars.x236C = -1;
|
||||||
fp->x2370 = -1;
|
fp->masterhandVars.x2370 = -1;
|
||||||
}
|
}
|
||||||
|
@ -44,7 +44,7 @@ void lbl_80153B90(HSD_GObj* arg0)
|
|||||||
temp_r30 = temp_r31->x10C_ftData->ext_attr;
|
temp_r30 = temp_r31->x10C_ftData->ext_attr;
|
||||||
Fighter_ActionStateChange_800693AC(arg0, 0x172, 0, 0, 0.0f, 1.0f, 0.0f);
|
Fighter_ActionStateChange_800693AC(arg0, 0x172, 0, 0, 0.0f, 1.0f, 0.0f);
|
||||||
func_8006EBA4(arg0);
|
func_8006EBA4(arg0);
|
||||||
temp_r31->x2340_f32 = temp_r30->x6C;
|
temp_r31->masterhandVars.x2340_unk = temp_r30->x6C;
|
||||||
func_8015C208(arg0, &sp10);
|
func_8015C208(arg0, &sp10);
|
||||||
temp_r31->xB0_pos.x = sp10.x;
|
temp_r31->xB0_pos.x = sp10.x;
|
||||||
temp_r31->xB0_pos.y = temp_r30->x68;
|
temp_r31->xB0_pos.y = temp_r30->x68;
|
||||||
@ -81,7 +81,7 @@ void lbl_80153CD4(HSD_GObj* gobj)
|
|||||||
Fighter* r4_fp;
|
Fighter* r4_fp;
|
||||||
|
|
||||||
r4_fp = gobj->user_data;
|
r4_fp = gobj->user_data;
|
||||||
if (--r4_fp->x2340_f32 > 0.0f) {
|
if (--r4_fp->masterhandVars.x2340_unk > 0.0f) {
|
||||||
func_8015BF74(
|
func_8015BF74(
|
||||||
gobj, ((MasterHandAttributes*) r4_fp->x10C_ftData->ext_attr)->x58);
|
gobj, ((MasterHandAttributes*) r4_fp->x10C_ftData->ext_attr)->x58);
|
||||||
} else {
|
} else {
|
||||||
|
@ -38,7 +38,7 @@ void lbl_80153D2C(HSD_GObj* gobj)
|
|||||||
fp->x80_self_vel.y = 0.0f;
|
fp->x80_self_vel.y = 0.0f;
|
||||||
fp->x80_self_vel.x = 0.0f;
|
fp->x80_self_vel.x = 0.0f;
|
||||||
|
|
||||||
fp->x2340_f32 = attr->x74;
|
fp->masterhandVars.x2340_unk = attr->x74;
|
||||||
fp->x23B0 = attr->x7C;
|
fp->x23B0 = attr->x7C;
|
||||||
|
|
||||||
HSD_JObjGetScale(jobj, &scale);
|
HSD_JObjGetScale(jobj, &scale);
|
||||||
@ -112,7 +112,7 @@ void lbl_80154158(HSD_GObj* gobj)
|
|||||||
u32 unk[2];
|
u32 unk[2];
|
||||||
|
|
||||||
r3_fp = gobj->user_data;
|
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;
|
r4_attributes = r3_fp->x10C_ftData->ext_attr;
|
||||||
func_8015BF74(gobj, r4_attributes->x58);
|
func_8015BF74(gobj, r4_attributes->x58);
|
||||||
} else {
|
} else {
|
||||||
|
@ -18,5 +18,5 @@ void func_801541C8(HSD_GObj* gobj, void* arg1)
|
|||||||
r31_fp = gobj->user_data;
|
r31_fp = gobj->user_data;
|
||||||
Fighter_ActionStateChange_800693AC(gobj, 0x174, 0, 0, 0.0f, 1.0f, 0.0f);
|
Fighter_ActionStateChange_800693AC(gobj, 0x174, 0, 0, 0.0f, 1.0f, 0.0f);
|
||||||
func_8006EBA4(gobj);
|
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)) {
|
if (!ftAnim_IsFramesRemaining(gobj)) {
|
||||||
r4_fp = gobj->user_data;
|
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(
|
Fighter_ActionStateChange_800693AC(
|
||||||
gobj, 0x175, 0, 0, r31_fp->x894_currentAnimFrame, 1.0f, 0.0f);
|
gobj, 0x175, 0, 0, r31_fp->x894_currentAnimFrame, 1.0f, 0.0f);
|
||||||
ftAnim_SetAnimRate(gobj, r30_attributes->x110_pos.y);
|
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
|
// 80154360 150F40
|
||||||
@ -67,9 +67,9 @@ void lbl_80154360(HSD_GObj* gobj)
|
|||||||
u32 temp_r0;
|
u32 temp_r0;
|
||||||
|
|
||||||
temp_r4 = gobj->user_data;
|
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_cr0_eq = temp_r0 == 0U;
|
||||||
temp_r4->x2348_stateVar3 = temp_r0;
|
temp_r4->masterhandVars.x2348 = temp_r0;
|
||||||
if (temp_cr0_eq) {
|
if (temp_cr0_eq) {
|
||||||
ftAnim_SetAnimRate(gobj, 1.0f);
|
ftAnim_SetAnimRate(gobj, 1.0f);
|
||||||
func_801545A0(gobj);
|
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);
|
Fighter_ActionStateChange_800693AC(gobj, 0x176, 0, 0, 0.0f, 1.0f, 0.0f);
|
||||||
func_8006EBA4(gobj);
|
func_8006EBA4(gobj);
|
||||||
func_8007E2D0(temp_r31, 0x80U, &lbl_80154A2C, 0U, &lbl_80155A58);
|
func_8007E2D0(temp_r31, 0x80U, &lbl_80154A2C, 0U, &lbl_80155A58);
|
||||||
temp_r31->x2360 = 0;
|
temp_r31->masterhandVars.x2360 = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 80154620 151200
|
// 80154620 151200
|
||||||
@ -216,9 +216,9 @@ void func_801546D8(HSD_GObj* gobj)
|
|||||||
temp_r30 = r31_fp->x10C_ftData->ext_attr;
|
temp_r30 = r31_fp->x10C_ftData->ext_attr;
|
||||||
Fighter_ActionStateChange_800693AC(gobj, 0x17D, 0, 0, 0.0f, 1.0f, 0.0f);
|
Fighter_ActionStateChange_800693AC(gobj, 0x17D, 0, 0, 0.0f, 1.0f, 0.0f);
|
||||||
func_8006EBA4(gobj);
|
func_8006EBA4(gobj);
|
||||||
r31_fp->x234C_pos.x = temp_r30->x30_pos2.x;
|
r31_fp->masterhandVars.x234C_pos.x = temp_r30->x30_pos2.x;
|
||||||
r31_fp->x234C_pos.y = temp_r30->x30_pos2.y;
|
r31_fp->masterhandVars.x234C_pos.y = temp_r30->x30_pos2.y;
|
||||||
r31_fp->x234C_pos.z = 0.0f;
|
r31_fp->masterhandVars.x234C_pos.z = 0.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 80154758 151338
|
// 80154758 151338
|
||||||
@ -249,8 +249,9 @@ void lbl_801547D8(HSD_GObj* gobj)
|
|||||||
r31_fp = gobj->user_data;
|
r31_fp = gobj->user_data;
|
||||||
r30_attributes = r31_fp->x10C_ftData->ext_attr;
|
r30_attributes = r31_fp->x10C_ftData->ext_attr;
|
||||||
func_80085134(gobj);
|
func_80085134(gobj);
|
||||||
func_8015BE40(gobj, &r31_fp->x234C_pos, &r31_fp->x2358_stateVar7,
|
func_8015BE40(gobj, &r31_fp->masterhandVars.x234C_pos,
|
||||||
r30_attributes->x2C, r30_attributes->x28);
|
&r31_fp->masterhandVars.x2358, r30_attributes->x2C,
|
||||||
|
r30_attributes->x28);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 80154838 151418
|
// 80154838 151418
|
||||||
@ -270,14 +271,14 @@ void func_8015483C(HSD_GObj* gobj)
|
|||||||
r30_attributes = r31_fp->x10C_ftData->ext_attr;
|
r30_attributes = r31_fp->x10C_ftData->ext_attr;
|
||||||
Fighter_ActionStateChange_800693AC(gobj, 0x177, 0, 0, 0.0f, 1.0f, 0.0f);
|
Fighter_ActionStateChange_800693AC(gobj, 0x177, 0, 0, 0.0f, 1.0f, 0.0f);
|
||||||
func_8006EBA4(gobj);
|
func_8006EBA4(gobj);
|
||||||
r31_fp->x2364 = r30_attributes->x120;
|
r31_fp->masterhandVars.x2364 = r30_attributes->x120;
|
||||||
r31_fp->x2200_ftcmd_var0 = 1;
|
r31_fp->x2200_ftcmd_var0 = 1;
|
||||||
r31_fp->x80_self_vel.x = 0.0f;
|
r31_fp->x80_self_vel.x = 0.0f;
|
||||||
r31_fp->x80_self_vel.y = 0.0f;
|
r31_fp->x80_self_vel.y = 0.0f;
|
||||||
r31_fp->x80_self_vel.z = 0.0f;
|
r31_fp->x80_self_vel.z = 0.0f;
|
||||||
r31_fp->x234C_pos.x = r30_attributes->x30_pos2.x;
|
r31_fp->masterhandVars.x234C_pos.x = r30_attributes->x30_pos2.x;
|
||||||
r31_fp->x234C_pos.y = r30_attributes->x30_pos2.y;
|
r31_fp->masterhandVars.x234C_pos.y = r30_attributes->x30_pos2.y;
|
||||||
r31_fp->x234C_pos.z = 0.0f;
|
r31_fp->masterhandVars.x234C_pos.z = 0.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 801548D8 1514B8
|
// 801548D8 1514B8
|
||||||
@ -286,9 +287,9 @@ void lbl_801548D8(HSD_GObj* gobj)
|
|||||||
{
|
{
|
||||||
Fighter* r31_fp = gobj->user_data;
|
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);
|
func_80155D1C(r31_fp->x1A58_interactedFighter);
|
||||||
r31_fp->x2360 = 0;
|
r31_fp->masterhandVars.x2360 = 0;
|
||||||
r31_fp->x2200_ftcmd_var0 = 0;
|
r31_fp->x2200_ftcmd_var0 = 0;
|
||||||
}
|
}
|
||||||
if (!ftAnim_IsFramesRemaining(gobj)) {
|
if (!ftAnim_IsFramesRemaining(gobj)) {
|
||||||
@ -315,8 +316,9 @@ void lbl_801549A8(HSD_GObj* arg0)
|
|||||||
temp_r31 = arg0->user_data;
|
temp_r31 = arg0->user_data;
|
||||||
temp_r30 = temp_r31->x10C_ftData->ext_attr;
|
temp_r30 = temp_r31->x10C_ftData->ext_attr;
|
||||||
func_80085134(arg0);
|
func_80085134(arg0);
|
||||||
func_8015BE40(arg0, &temp_r31->x234C_pos, &temp_r31->x2358_stateVar7,
|
func_8015BE40(arg0, &temp_r31->masterhandVars.x234C_pos,
|
||||||
temp_r30->x2C, temp_r30->x28);
|
&temp_r31->masterhandVars.x2358, temp_r30->x2C,
|
||||||
|
temp_r30->x28);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 80154A08 1515E8
|
// 80154A08 1515E8
|
||||||
@ -327,7 +329,7 @@ void lbl_80154A08(HSD_GObj* arg0)
|
|||||||
Fighter* temp_r3;
|
Fighter* temp_r3;
|
||||||
|
|
||||||
temp_r3 = arg0->user_data;
|
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.z = 0.0f;
|
||||||
temp_r3->x80_self_vel.y = 0.0f;
|
temp_r3->x80_self_vel.y = 0.0f;
|
||||||
temp_r3->x80_self_vel.x = 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.z = 0.0f;
|
||||||
temp_r5->x80_self_vel.y = 0.0f;
|
temp_r5->x80_self_vel.y = 0.0f;
|
||||||
temp_r5->x80_self_vel.x = 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;
|
temp_r5->x221E_flag.bits.b6 = 0;
|
||||||
func_80154C78(arg0);
|
func_80154C78(arg0);
|
||||||
}
|
}
|
||||||
|
@ -24,9 +24,9 @@ void func_80154A78(HSD_GObj* gobj)
|
|||||||
func_8007E2F4(fp, 0x1FFU);
|
func_8007E2F4(fp, 0x1FFU);
|
||||||
func_8007E2FC(gobj);
|
func_8007E2FC(gobj);
|
||||||
func_80155B80(fp->x1A58_interactedFighter);
|
func_80155B80(fp->x1A58_interactedFighter);
|
||||||
fp->x234C_pos.x = attr->x118_pos.x;
|
fp->masterhandVars.x234C_pos.x = attr->x118_pos.x;
|
||||||
fp->x234C_pos.y = attr->x118_pos.y;
|
fp->masterhandVars.x234C_pos.y = attr->x118_pos.y;
|
||||||
fp->x234C_pos.z = 0.0f;
|
fp->masterhandVars.x234C_pos.z = 0.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 80154B2C 15170C
|
// 80154B2C 15170C
|
||||||
@ -69,8 +69,8 @@ void lbl_80154BF4(HSD_GObj* gobj)
|
|||||||
fp = gobj->user_data;
|
fp = gobj->user_data;
|
||||||
attr = fp->x10C_ftData->ext_attr;
|
attr = fp->x10C_ftData->ext_attr;
|
||||||
func_80085134(gobj);
|
func_80085134(gobj);
|
||||||
func_8015BE40(gobj, &fp->x234C_pos, &fp->x2358_stateVar7, attr->x2C,
|
func_8015BE40(gobj, &fp->masterhandVars.x234C_pos,
|
||||||
attr->x28);
|
&fp->masterhandVars.x2358, attr->x2C, attr->x28);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 80154C54 151834
|
// 80154C54 151834
|
||||||
@ -81,7 +81,7 @@ void lbl_80154C54(HSD_GObj* gobj)
|
|||||||
Fighter* fp;
|
Fighter* fp;
|
||||||
|
|
||||||
fp = gobj->user_data;
|
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.z = 0.0f;
|
||||||
fp->x80_self_vel.y = 0.0f;
|
fp->x80_self_vel.y = 0.0f;
|
||||||
fp->x80_self_vel.x = 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;
|
temp_r30 = temp_r31->x10C_ftData->ext_attr;
|
||||||
Fighter_ActionStateChange_800693AC(arg0, 0x178, 0, 0, 0.0f, 1.0f, 0.0f);
|
Fighter_ActionStateChange_800693AC(arg0, 0x178, 0, 0, 0.0f, 1.0f, 0.0f);
|
||||||
func_8006EBA4(arg0);
|
func_8006EBA4(arg0);
|
||||||
temp_r31->x234C_pos.x = temp_r30->x118_pos.x;
|
temp_r31->masterhandVars.x234C_pos.x = temp_r30->x118_pos.x;
|
||||||
temp_r31->x234C_pos.y = temp_r30->x118_pos.y;
|
temp_r31->masterhandVars.x234C_pos.y = temp_r30->x118_pos.y;
|
||||||
temp_r31->x234C_pos.z = 0.0f;
|
temp_r31->masterhandVars.x234C_pos.z = 0.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 80154CF8 1518D8
|
// 80154CF8 1518D8
|
||||||
@ -29,7 +29,7 @@ void func_80154CF8(HSD_GObj* gobj, Fighter* fp)
|
|||||||
temp_r30 = temp_r31->x10C_ftData->ext_attr;
|
temp_r30 = temp_r31->x10C_ftData->ext_attr;
|
||||||
Fighter_ActionStateChange_800693AC(gobj, 0x179, 0, 0, 0.0f, 1.0f, 0.0f);
|
Fighter_ActionStateChange_800693AC(gobj, 0x179, 0, 0, 0.0f, 1.0f, 0.0f);
|
||||||
func_8006EBA4(gobj);
|
func_8006EBA4(gobj);
|
||||||
temp_r31->x234C_pos.x = temp_r30->x30_pos2.x;
|
temp_r31->masterhandVars.x234C_pos.x = temp_r30->x30_pos2.x;
|
||||||
temp_r31->x234C_pos.y = temp_r30->x30_pos2.y;
|
temp_r31->masterhandVars.x234C_pos.y = temp_r30->x30_pos2.y;
|
||||||
temp_r31->x234C_pos.z = 0.0f;
|
temp_r31->masterhandVars.x234C_pos.z = 0.0f;
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@ void lbl_80154D78(HSD_GObj* gobj)
|
|||||||
if (!ftAnim_IsFramesRemaining(gobj)) {
|
if (!ftAnim_IsFramesRemaining(gobj)) {
|
||||||
Fighter* fp = gobj->user_data;
|
Fighter* fp = gobj->user_data;
|
||||||
|
|
||||||
if (fp->x2360 == 1)
|
if (fp->masterhandVars.x2360 == 1)
|
||||||
func_80154A78(gobj);
|
func_80154A78(gobj);
|
||||||
else
|
else
|
||||||
func_801546D8(gobj);
|
func_801546D8(gobj);
|
||||||
@ -41,8 +41,8 @@ void lbl_80154E14(HSD_GObj* gobj)
|
|||||||
MasterHandAttributes* attr = fp->x10C_ftData->ext_attr;
|
MasterHandAttributes* attr = fp->x10C_ftData->ext_attr;
|
||||||
|
|
||||||
func_80085134(gobj);
|
func_80085134(gobj);
|
||||||
func_8015BE40(gobj, &fp->x234C_pos, &fp->x2358_stateVar7, attr->x2C,
|
func_8015BE40(gobj, &fp->masterhandVars.x234C_pos,
|
||||||
attr->x28);
|
&fp->masterhandVars.x2358, attr->x2C, attr->x28);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 80154E74 151A54
|
// 80154E74 151A54
|
||||||
@ -85,7 +85,7 @@ void lbl_80154ED8(HSD_GObj* gobj)
|
|||||||
ft_2->dmg.x1844_direction *= -1.0f;
|
ft_2->dmg.x1844_direction *= -1.0f;
|
||||||
func_800DE7C0(gobj_2, 0, 0);
|
func_800DE7C0(gobj_2, 0, 0);
|
||||||
}
|
}
|
||||||
fp->x2360 = 0;
|
fp->masterhandVars.x2360 = 0;
|
||||||
}
|
}
|
||||||
if (!ftAnim_IsFramesRemaining(gobj)) {
|
if (!ftAnim_IsFramesRemaining(gobj)) {
|
||||||
func_80151018(gobj);
|
func_80151018(gobj);
|
||||||
|
@ -26,7 +26,7 @@ void lbl_80155074(HSD_GObj* gobj)
|
|||||||
func_800DE2A8(gobj, gobj_2);
|
func_800DE2A8(gobj, gobj_2);
|
||||||
func_800DE7C0(gobj_2, 0, 0);
|
func_800DE7C0(gobj_2, 0, 0);
|
||||||
}
|
}
|
||||||
fp->x2360 = 0;
|
fp->masterhandVars.x2360 = 0;
|
||||||
}
|
}
|
||||||
if (!ftAnim_IsFramesRemaining(gobj)) {
|
if (!ftAnim_IsFramesRemaining(gobj)) {
|
||||||
func_80151018(gobj);
|
func_80151018(gobj);
|
||||||
|
@ -167,7 +167,7 @@ void lbl_80155904(HSD_GObj* gobj)
|
|||||||
void lbl_80155908(HSD_GObj* gobj)
|
void lbl_80155908(HSD_GObj* gobj)
|
||||||
{
|
{
|
||||||
Fighter* fp = gobj->user_data;
|
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);
|
func_80155D1C(fp->x1A58_interactedFighter);
|
||||||
fp->x2200_ftcmd_var0 = 0;
|
fp->x2200_ftcmd_var0 = 0;
|
||||||
}
|
}
|
||||||
@ -191,8 +191,8 @@ void lbl_801559D4(HSD_GObj* gobj)
|
|||||||
Fighter* fp = gobj->user_data;
|
Fighter* fp = gobj->user_data;
|
||||||
MasterHandAttributes* attr = fp->x10C_ftData->ext_attr;
|
MasterHandAttributes* attr = fp->x10C_ftData->ext_attr;
|
||||||
func_80085134(gobj);
|
func_80085134(gobj);
|
||||||
func_8015BE40(gobj, &fp->x234C_pos, &fp->x2358_stateVar7, attr->x2C,
|
func_8015BE40(gobj, &fp->masterhandVars.x234C_pos,
|
||||||
attr->x28);
|
&fp->masterhandVars.x2358, attr->x2C, attr->x28);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 80155A34 152614
|
// 80155A34 152614
|
||||||
@ -201,7 +201,7 @@ void lbl_80155A34(HSD_GObj* gobj)
|
|||||||
{
|
{
|
||||||
Fighter* fp = gobj->user_data;
|
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.z = 0.0f;
|
||||||
fp->x80_self_vel.y = 0.0f;
|
fp->x80_self_vel.y = 0.0f;
|
||||||
fp->x80_self_vel.x = 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);
|
func_8006EBA4(fighter_gobj);
|
||||||
|
|
||||||
fp->x2200_ftcmd_var0 = 0;
|
fp->x2200_ftcmd_var0 = 0;
|
||||||
fp->mewtwoVars[0].SpecialHi.unk4 = 0;
|
fp->mewtwoVars.SpecialHi.unk4 = 0;
|
||||||
fp->cb.x21BC_callback_Accessory4 = ftMewtwo_SpecialHi_CreateGFX;
|
fp->cb.x21BC_callback_Accessory4 = ftMewtwo_SpecialHi_CreateGFX;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -91,7 +91,7 @@ void ftMewtwo_SpecialAirHi_StartAction(HSD_GObj* fighter_gobj)
|
|||||||
func_8006EBA4(fighter_gobj);
|
func_8006EBA4(fighter_gobj);
|
||||||
|
|
||||||
fp->x2200_ftcmd_var0 = 0;
|
fp->x2200_ftcmd_var0 = 0;
|
||||||
fp->mewtwoVars[0].SpecialHi.unk4 = 0;
|
fp->mewtwoVars.SpecialHi.unk4 = 0;
|
||||||
fp->cb.x21BC_callback_Accessory4 = ftMewtwo_SpecialHi_CreateGFX;
|
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);
|
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
||||||
|
|
||||||
fp->mewtwoVars[0].SpecialHi.travelFrames--;
|
fp->mewtwoVars.SpecialHi.travelFrames--;
|
||||||
if (fp->mewtwoVars[0].SpecialHi.travelFrames <= 0) {
|
if (fp->mewtwoVars.SpecialHi.travelFrames <= 0) {
|
||||||
ftMewtwo_SpecialHiLost_Action(fighter_gobj);
|
ftMewtwo_SpecialHiLost_Action(fighter_gobj);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -223,8 +223,8 @@ void ftMewtwo_SpecialAirHi_Anim(HSD_GObj* fighter_gobj)
|
|||||||
{
|
{
|
||||||
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
||||||
|
|
||||||
fp->mewtwoVars[0].SpecialHi.travelFrames--;
|
fp->mewtwoVars.SpecialHi.travelFrames--;
|
||||||
if (fp->mewtwoVars[0].SpecialHi.travelFrames <= 0) {
|
if (fp->mewtwoVars.SpecialHi.travelFrames <= 0) {
|
||||||
ftMewtwo_SpecialAirHiLost_Action(fighter_gobj);
|
ftMewtwo_SpecialAirHiLost_Action(fighter_gobj);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -285,7 +285,7 @@ bool ftMewtwo_SpecialHi_CheckTimer(HSD_GObj* fighter_gobj)
|
|||||||
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
||||||
ftMewtwoAttributes* mewtwoAttrs = fp->x2D4_specialAttributes;
|
ftMewtwoAttributes* mewtwoAttrs = fp->x2D4_specialAttributes;
|
||||||
|
|
||||||
if ((f32) fp->mewtwoVars[0].SpecialHi.unk4 >=
|
if ((f32) fp->mewtwoVars.SpecialHi.unk4 >=
|
||||||
mewtwoAttrs->x54_MEWTWO_TELEPORT_UNK2)
|
mewtwoAttrs->x54_MEWTWO_TELEPORT_UNK2)
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
@ -308,7 +308,7 @@ void ftMewtwo_SpecialAirHi_Coll(HSD_GObj* fighter_gobj)
|
|||||||
u32 envFlags;
|
u32 envFlags;
|
||||||
u32 var;
|
u32 var;
|
||||||
|
|
||||||
fp->mewtwoVars[0].SpecialHi.unk4++;
|
fp->mewtwoVars.SpecialHi.unk4++;
|
||||||
if (EnvColl_CheckGroundAndLedge(fighter_gobj, CLIFFCATCH_O(fp)) != false) {
|
if (EnvColl_CheckGroundAndLedge(fighter_gobj, CLIFFCATCH_O(fp)) != false) {
|
||||||
if (ftMewtwo_SpecialHi_CheckTimer(fighter_gobj) != false) {
|
if (ftMewtwo_SpecialHi_CheckTimer(fighter_gobj) != false) {
|
||||||
ftMewtwo_SpecialAirHi_AirToGround(fighter_gobj);
|
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 = GET_FIGHTER(fighter_gobj);
|
fp = GET_FIGHTER(fighter_gobj);
|
||||||
|
|
||||||
fp->mewtwoVars[0].SpecialHi.travelFrames =
|
fp->mewtwoVars.SpecialHi.travelFrames =
|
||||||
(s32) mewtwoAttrs->x50_MEWTWO_TELEPORT_DURATION;
|
(s32) mewtwoAttrs->x50_MEWTWO_TELEPORT_DURATION;
|
||||||
|
|
||||||
fp->x1968_jumpsUsed = fp->x110_attr.x168_MaxJumps;
|
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,
|
vel = atan2f(fp->input.x624_lstick_y,
|
||||||
fp->input.x620_lstick_x * fp->facing_dir);
|
fp->input.x620_lstick_x * fp->facing_dir);
|
||||||
|
|
||||||
fp->mewtwoVars[0].SpecialHi.stickX = stickVec.x;
|
fp->mewtwoVars.SpecialHi.stickX = stickVec.x;
|
||||||
fp->mewtwoVars[0].SpecialHi.stickY = stickVec.y;
|
fp->mewtwoVars.SpecialHi.stickY = stickVec.y;
|
||||||
fp->xEC_ground_vel =
|
fp->xEC_ground_vel =
|
||||||
fp->facing_dir *
|
fp->facing_dir *
|
||||||
(((mewtwoAttrs->x5C_MEWTWO_TELEPORT_MOMENTUM * sqrt_stick) +
|
(((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,
|
floatVar = atan2f(fp->input.x624_lstick_y,
|
||||||
fp->input.x620_lstick_x * fp->facing_dir);
|
fp->input.x620_lstick_x * fp->facing_dir);
|
||||||
fp->mewtwoVars[0].SpecialHi.stickX = fp->input.x620_lstick_x;
|
fp->mewtwoVars.SpecialHi.stickX = fp->input.x620_lstick_x;
|
||||||
fp->mewtwoVars[0].SpecialHi.stickY = fp->input.x624_lstick_y;
|
fp->mewtwoVars.SpecialHi.stickY = fp->input.x624_lstick_y;
|
||||||
} else {
|
} else {
|
||||||
func_8007DA24(fp);
|
func_8007DA24(fp);
|
||||||
floatVar = (f32) M_PI_2;
|
floatVar = (f32) M_PI_2;
|
||||||
fp->mewtwoVars[0].SpecialHi.stickX = 0.0f;
|
fp->mewtwoVars.SpecialHi.stickX = 0.0f;
|
||||||
sqrt_stick = fp->mewtwoVars[0].SpecialHi.stickY = 1.0f;
|
sqrt_stick = fp->mewtwoVars.SpecialHi.stickY = 1.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
fp->x80_self_vel.x =
|
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)
|
static inline void ftMewtwo_SpecialHiLost_SetVars(HSD_GObj* fighter_gobj)
|
||||||
{
|
{
|
||||||
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
||||||
fp->mewtwoVars[0].SpecialHi.velX = fp->x80_self_vel.x;
|
fp->mewtwoVars.SpecialHi.velX = fp->x80_self_vel.x;
|
||||||
fp->mewtwoVars[0].SpecialHi.velY = (f32) fp->x80_self_vel.y;
|
fp->mewtwoVars.SpecialHi.velY = (f32) fp->x80_self_vel.y;
|
||||||
fp->mewtwoVars[0].SpecialHi.groundVelX = (f32) fp->xEC_ground_vel;
|
fp->mewtwoVars.SpecialHi.groundVelX = (f32) fp->xEC_ground_vel;
|
||||||
fp->x80_self_vel.y = 0.0f;
|
fp->x80_self_vel.y = 0.0f;
|
||||||
fp->x80_self_vel.x = 0.0f;
|
fp->x80_self_vel.x = 0.0f;
|
||||||
fp->xEC_ground_vel = 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);
|
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;
|
mewtwoAttrs->x6C_MEWTWO_TELEPORT_MOMENTUM_END_MUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -687,8 +687,8 @@ void ftMewtwo_SpecialAirHiLost_Action(HSD_GObj* fighter_gobj)
|
|||||||
|
|
||||||
ftMewtwo_SpecialHiLost_SetVars(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;
|
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;
|
mewtwoAttrs->x6C_MEWTWO_TELEPORT_MOMENTUM_END_MUL;
|
||||||
}
|
}
|
||||||
|
@ -312,41 +312,40 @@ void ftMewtwo_SpecialN_PlayChargeSFX(HSD_GObj* fighter_gobj)
|
|||||||
} else {
|
} else {
|
||||||
chargeLevel = 0.0f;
|
chargeLevel = 0.0f;
|
||||||
}
|
}
|
||||||
if (fp->mewtwoVars[0].SpecialN.chargeLevel > 0.0f) {
|
if (fp->mewtwoVars.SpecialN.chargeLevel > 0.0f) {
|
||||||
if ((chargeLevel > 0.75f) &&
|
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,
|
func_80088510(fp, shadowBallSFX[3], SFX_VOLUME_MAX,
|
||||||
SFX_PAN_MID);
|
SFX_PAN_MID);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if ((chargeLevel > 0.5f) &&
|
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,
|
func_80088510(fp, shadowBallSFX[2], SFX_VOLUME_MAX,
|
||||||
SFX_PAN_MID);
|
SFX_PAN_MID);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if ((chargeLevel > 0.25f) &&
|
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,
|
func_80088510(fp, shadowBallSFX[1], SFX_VOLUME_MAX,
|
||||||
SFX_PAN_MID);
|
SFX_PAN_MID);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if ((chargeLevel > 0.0f) &&
|
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,
|
func_80088510(fp, shadowBallSFX[0], SFX_VOLUME_MAX,
|
||||||
SFX_PAN_MID);
|
SFX_PAN_MID);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
fp->mewtwoVars[0].SpecialN.chargeLevel =
|
fp->mewtwoVars.SpecialN.chargeLevel = (f32) 9.999999747378752e-5f;
|
||||||
(f32) 9.999999747378752e-5f;
|
|
||||||
func_80088510(fp, shadowBallSFX[0], SFX_VOLUME_MAX, SFX_PAN_MID);
|
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);
|
ftMewtwo_SpecialN_SetCall(fighter_gobj);
|
||||||
|
|
||||||
fp->mewtwoVars[0].SpecialN.isFull = false;
|
fp->mewtwoVars.SpecialN.isFull = false;
|
||||||
fp->mewtwoVars[0].SpecialN.x2344 = (u32) 0;
|
fp->mewtwoVars.SpecialN.x2344 = (u32) 0;
|
||||||
|
|
||||||
if ((s32) fp->sa.mewtwo.x2234_shadowBallCharge == 0) {
|
if ((s32) fp->sa.mewtwo.x2234_shadowBallCharge == 0) {
|
||||||
releaseLag = mewtwoAttrs->x10_MEWTWO_SHADOWBALL_RELEASE_LAG;
|
releaseLag = mewtwoAttrs->x10_MEWTWO_SHADOWBALL_RELEASE_LAG;
|
||||||
}
|
}
|
||||||
fp->mewtwoVars[0].SpecialN.releaseLag = releaseLag;
|
fp->mewtwoVars.SpecialN.releaseLag = releaseLag;
|
||||||
fp->mewtwoVars[0].SpecialN.chargeLevel = 0.0f;
|
fp->mewtwoVars.SpecialN.chargeLevel = 0.0f;
|
||||||
|
|
||||||
func_8006EBA4(fighter_gobj);
|
func_8006EBA4(fighter_gobj);
|
||||||
}
|
}
|
||||||
@ -420,15 +419,15 @@ inline void ftMewtwo_SpecialAirN_ChangeAction(HSD_GObj* fighter_gobj)
|
|||||||
|
|
||||||
ftMewtwo_SpecialN_SetCall(fighter_gobj);
|
ftMewtwo_SpecialN_SetCall(fighter_gobj);
|
||||||
|
|
||||||
fp->mewtwoVars[0].SpecialN.isFull = false;
|
fp->mewtwoVars.SpecialN.isFull = false;
|
||||||
fp->mewtwoVars[0].SpecialN.x2344 = (u32) 0;
|
fp->mewtwoVars.SpecialN.x2344 = (u32) 0;
|
||||||
|
|
||||||
if ((s32) fp->sa.mewtwo.x2234_shadowBallCharge == 0) {
|
if ((s32) fp->sa.mewtwo.x2234_shadowBallCharge == 0) {
|
||||||
releaseLag = mewtwoAttrs->x10_MEWTWO_SHADOWBALL_RELEASE_LAG;
|
releaseLag = mewtwoAttrs->x10_MEWTWO_SHADOWBALL_RELEASE_LAG;
|
||||||
}
|
}
|
||||||
|
|
||||||
fp->mewtwoVars[0].SpecialN.releaseLag = releaseLag;
|
fp->mewtwoVars.SpecialN.releaseLag = releaseLag;
|
||||||
fp->mewtwoVars[0].SpecialN.chargeLevel = 0.0f;
|
fp->mewtwoVars.SpecialN.chargeLevel = 0.0f;
|
||||||
|
|
||||||
fp->x80_self_vel.y *= 0.5f;
|
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 (!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 ==
|
((f32) fp->sa.mewtwo.x2234_shadowBallCharge ==
|
||||||
mewtwoAttrs->x0_MEWTWO_SHADOWBALL_CHARGE_CYCLES))
|
mewtwoAttrs->x0_MEWTWO_SHADOWBALL_CHARGE_CYCLES))
|
||||||
{
|
{
|
||||||
@ -485,7 +484,7 @@ void ftMewtwo_SpecialNStart_Anim(HSD_GObj* fighter_gobj)
|
|||||||
Fighter_ActionStateChange_800693AC(fighter_gobj,
|
Fighter_ActionStateChange_800693AC(fighter_gobj,
|
||||||
AS_MEWTWO_SPECIALN_LOOP, 0, NULL,
|
AS_MEWTWO_SPECIALN_LOOP, 0, NULL,
|
||||||
0.0f, 1.0f, 0.0f);
|
0.0f, 1.0f, 0.0f);
|
||||||
fp->mewtwoVars[0].SpecialN.x2348 = false;
|
fp->mewtwoVars.SpecialN.x2348 = false;
|
||||||
}
|
}
|
||||||
ftMewtwo_SpecialN_SetCall(fighter_gobj);
|
ftMewtwo_SpecialN_SetCall(fighter_gobj);
|
||||||
}
|
}
|
||||||
@ -534,17 +533,17 @@ void ftMewtwo_SpecialNLoop_Anim(HSD_GObj* fighter_gobj)
|
|||||||
|
|
||||||
sp34 = shadowBallPos;
|
sp34 = shadowBallPos;
|
||||||
|
|
||||||
fp->mewtwoVars[0].SpecialN.releaseLag--;
|
fp->mewtwoVars.SpecialN.releaseLag--;
|
||||||
if (fp->mewtwoVars[0].SpecialN.releaseLag <= 0) {
|
if (fp->mewtwoVars.SpecialN.releaseLag <= 0) {
|
||||||
fp->mewtwoVars[0].SpecialN.releaseLag = 0;
|
fp->mewtwoVars.SpecialN.releaseLag = 0;
|
||||||
ftMewtwo_SpecialN_CreateHeldShadow(fighter_gobj, &sp28, &sp1C);
|
ftMewtwo_SpecialN_CreateHeldShadow(fighter_gobj, &sp28, &sp1C);
|
||||||
ftMewtwo_SpecialN_PlayChargeSFX(fighter_gobj);
|
ftMewtwo_SpecialN_PlayChargeSFX(fighter_gobj);
|
||||||
if ((s32) fp->mewtwoVars[0].SpecialN.x2348 == false) {
|
if ((s32) fp->mewtwoVars.SpecialN.x2348 == false) {
|
||||||
fp->mewtwoVars[0].SpecialN.x2344++;
|
fp->mewtwoVars.SpecialN.x2344++;
|
||||||
if ((s32) fp->mewtwoVars[0].SpecialN.x2344 >
|
if ((s32) fp->mewtwoVars.SpecialN.x2344 >
|
||||||
(s32) mewtwoAttrs->xC_MEWTWO_SHADOWBALL_CHARGE_ITERATIONS)
|
(s32) mewtwoAttrs->xC_MEWTWO_SHADOWBALL_CHARGE_ITERATIONS)
|
||||||
{
|
{
|
||||||
fp->mewtwoVars[0].SpecialN.x2344 = 0;
|
fp->mewtwoVars.SpecialN.x2344 = 0;
|
||||||
fp->sa.mewtwo.x2234_shadowBallCharge++;
|
fp->sa.mewtwo.x2234_shadowBallCharge++;
|
||||||
if ((f32) fp->sa.mewtwo.x2234_shadowBallCharge >=
|
if ((f32) fp->sa.mewtwo.x2234_shadowBallCharge >=
|
||||||
mewtwoAttrs->x0_MEWTWO_SHADOWBALL_CHARGE_CYCLES)
|
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->x894_currentAnimFrame, 1.0f, 0.0f);
|
||||||
fp->sa.mewtwo.x2234_shadowBallCharge =
|
fp->sa.mewtwo.x2234_shadowBallCharge =
|
||||||
(s32) mewtwoAttrs->x0_MEWTWO_SHADOWBALL_CHARGE_CYCLES;
|
(s32) mewtwoAttrs->x0_MEWTWO_SHADOWBALL_CHARGE_CYCLES;
|
||||||
fp->mewtwoVars[0].SpecialN.x2348 = true;
|
fp->mewtwoVars.SpecialN.x2348 = true;
|
||||||
func_8007EBAC(fp, 0xCU, 0U);
|
func_8007EBAC(fp, 0xCU, 0U);
|
||||||
func_8000B1CC(fp->x5E8_fighterBones[0].x0_jobj, &sp34,
|
func_8000B1CC(fp->x5E8_fighterBones[0].x0_jobj, &sp34,
|
||||||
&sp40);
|
&sp40);
|
||||||
@ -574,7 +573,7 @@ void ftMewtwo_SpecialNFull_Anim(HSD_GObj* fighter_gobj)
|
|||||||
Fighter* fp = fp = getFighter(fighter_gobj);
|
Fighter* fp = fp = getFighter(fighter_gobj);
|
||||||
ftMewtwoAttributes* mewtwoAttrs = mewtwoAttrs = getFtSpecialAttrsD(fp);
|
ftMewtwoAttributes* mewtwoAttrs = mewtwoAttrs = getFtSpecialAttrsD(fp);
|
||||||
|
|
||||||
fp->mewtwoVars[0].SpecialN.x2348 = true;
|
fp->mewtwoVars.SpecialN.x2348 = true;
|
||||||
fp->sa.mewtwo.x2234_shadowBallCharge =
|
fp->sa.mewtwo.x2234_shadowBallCharge =
|
||||||
mewtwoAttrs->x0_MEWTWO_SHADOWBALL_CHARGE_CYCLES;
|
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->sa.mewtwo.x2230_shadowHeldGObj = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fp->mewtwoVars[0].SpecialN.isFull = false;
|
fp->mewtwoVars.SpecialN.isFull = false;
|
||||||
if (!ftAnim_IsFramesRemaining(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 ==
|
((f32) fp->sa.mewtwo.x2234_shadowBallCharge ==
|
||||||
mewtwoAttrs->x0_MEWTWO_SHADOWBALL_CHARGE_CYCLES))
|
mewtwoAttrs->x0_MEWTWO_SHADOWBALL_CHARGE_CYCLES))
|
||||||
{
|
{
|
||||||
@ -665,7 +664,7 @@ void ftMewtwo_SpecialAirNStart_Anim(HSD_GObj* fighter_gobj)
|
|||||||
Fighter_ActionStateChange_800693AC(fighter_gobj,
|
Fighter_ActionStateChange_800693AC(fighter_gobj,
|
||||||
AS_MEWTWO_SPECIALAIRN_LOOP, 0,
|
AS_MEWTWO_SPECIALAIRN_LOOP, 0,
|
||||||
NULL, 0.0f, 1.0f, 0.0f);
|
NULL, 0.0f, 1.0f, 0.0f);
|
||||||
fp->mewtwoVars[0].SpecialN.x2348 = false;
|
fp->mewtwoVars.SpecialN.x2348 = false;
|
||||||
}
|
}
|
||||||
ftMewtwo_SpecialN_SetCall(fighter_gobj);
|
ftMewtwo_SpecialN_SetCall(fighter_gobj);
|
||||||
}
|
}
|
||||||
@ -687,17 +686,17 @@ void ftMewtwo_SpecialAirNLoop_Anim(HSD_GObj* fighter_gobj)
|
|||||||
|
|
||||||
sp34 = shadowBallPos;
|
sp34 = shadowBallPos;
|
||||||
|
|
||||||
fp->mewtwoVars[0].SpecialN.releaseLag--;
|
fp->mewtwoVars.SpecialN.releaseLag--;
|
||||||
if (fp->mewtwoVars[0].SpecialN.releaseLag <= 0) {
|
if (fp->mewtwoVars.SpecialN.releaseLag <= 0) {
|
||||||
fp->mewtwoVars[0].SpecialN.releaseLag = 0;
|
fp->mewtwoVars.SpecialN.releaseLag = 0;
|
||||||
ftMewtwo_SpecialN_CreateHeldShadow(fighter_gobj, &sp28, &sp1C);
|
ftMewtwo_SpecialN_CreateHeldShadow(fighter_gobj, &sp28, &sp1C);
|
||||||
ftMewtwo_SpecialN_PlayChargeSFX(fighter_gobj);
|
ftMewtwo_SpecialN_PlayChargeSFX(fighter_gobj);
|
||||||
if ((s32) fp->mewtwoVars[0].SpecialN.x2348 == false) {
|
if ((s32) fp->mewtwoVars.SpecialN.x2348 == false) {
|
||||||
fp->mewtwoVars[0].SpecialN.x2344++;
|
fp->mewtwoVars.SpecialN.x2344++;
|
||||||
if ((s32) fp->mewtwoVars[0].SpecialN.x2344 >
|
if ((s32) fp->mewtwoVars.SpecialN.x2344 >
|
||||||
(s32) mewtwoAttrs->xC_MEWTWO_SHADOWBALL_CHARGE_ITERATIONS)
|
(s32) mewtwoAttrs->xC_MEWTWO_SHADOWBALL_CHARGE_ITERATIONS)
|
||||||
{
|
{
|
||||||
fp->mewtwoVars[0].SpecialN.x2344 = 0;
|
fp->mewtwoVars.SpecialN.x2344 = 0;
|
||||||
fp->sa.mewtwo.x2234_shadowBallCharge++;
|
fp->sa.mewtwo.x2234_shadowBallCharge++;
|
||||||
if ((f32) fp->sa.mewtwo.x2234_shadowBallCharge >=
|
if ((f32) fp->sa.mewtwo.x2234_shadowBallCharge >=
|
||||||
mewtwoAttrs->x0_MEWTWO_SHADOWBALL_CHARGE_CYCLES)
|
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->x894_currentAnimFrame, 1.0f, 0.0f);
|
||||||
fp->sa.mewtwo.x2234_shadowBallCharge =
|
fp->sa.mewtwo.x2234_shadowBallCharge =
|
||||||
(s32) mewtwoAttrs->x0_MEWTWO_SHADOWBALL_CHARGE_CYCLES;
|
(s32) mewtwoAttrs->x0_MEWTWO_SHADOWBALL_CHARGE_CYCLES;
|
||||||
fp->mewtwoVars[0].SpecialN.x2348 = 1;
|
fp->mewtwoVars.SpecialN.x2348 = 1;
|
||||||
func_8007EBAC(fp, 0xCU, 0U);
|
func_8007EBAC(fp, 0xCU, 0U);
|
||||||
|
|
||||||
func_8000B1CC(fp->x5E8_fighterBones[0].x0_jobj, &sp34,
|
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);
|
Fighter* fp = fp = getFighter(fighter_gobj);
|
||||||
ftMewtwoAttributes* mewtwoAttrs = mewtwoAttrs = getFtSpecialAttrsD(fp);
|
ftMewtwoAttributes* mewtwoAttrs = mewtwoAttrs = getFtSpecialAttrsD(fp);
|
||||||
|
|
||||||
fp->mewtwoVars[0].SpecialN.x2348 = false;
|
fp->mewtwoVars.SpecialN.x2348 = false;
|
||||||
fp->sa.mewtwo.x2234_shadowBallCharge =
|
fp->sa.mewtwo.x2234_shadowBallCharge =
|
||||||
mewtwoAttrs->x0_MEWTWO_SHADOWBALL_CHARGE_CYCLES;
|
mewtwoAttrs->x0_MEWTWO_SHADOWBALL_CHARGE_CYCLES;
|
||||||
}
|
}
|
||||||
@ -789,7 +788,7 @@ void ftMewtwo_SpecialNLoop_IASA(HSD_GObj* fighter_gobj)
|
|||||||
} else {
|
} else {
|
||||||
recentInput = fp->input.x668;
|
recentInput = fp->input.x668;
|
||||||
if ((recentInput & HSD_BUTTON_A) &&
|
if ((recentInput & HSD_BUTTON_A) &&
|
||||||
(fp->mewtwoVars[0].SpecialN.releaseLag <= 0))
|
(fp->mewtwoVars.SpecialN.releaseLag <= 0))
|
||||||
{
|
{
|
||||||
Fighter_ActionStateChange_800693AC(fighter_gobj,
|
Fighter_ActionStateChange_800693AC(fighter_gobj,
|
||||||
AS_MEWTWO_SPECIALN_END, 0, NULL,
|
AS_MEWTWO_SPECIALN_END, 0, NULL,
|
||||||
@ -798,7 +797,7 @@ void ftMewtwo_SpecialNLoop_IASA(HSD_GObj* fighter_gobj)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if ((recentInput & HSD_BUTTON_B) != false) {
|
if ((recentInput & HSD_BUTTON_B) != false) {
|
||||||
if (fp->mewtwoVars[0].SpecialN.releaseLag <= 0) {
|
if (fp->mewtwoVars.SpecialN.releaseLag <= 0) {
|
||||||
Fighter_ActionStateChange_800693AC(fighter_gobj,
|
Fighter_ActionStateChange_800693AC(fighter_gobj,
|
||||||
AS_MEWTWO_SPECIALN_END, 0,
|
AS_MEWTWO_SPECIALN_END, 0,
|
||||||
NULL, 0.0f, 1.0f, 0.0f);
|
NULL, 0.0f, 1.0f, 0.0f);
|
||||||
@ -882,7 +881,7 @@ void ftMewtwo_SpecialAirNLoop_IASA(HSD_GObj* fighter_gobj)
|
|||||||
|
|
||||||
recentInput = fp->input.x668;
|
recentInput = fp->input.x668;
|
||||||
if (((recentInput & HSD_BUTTON_A) != false) &&
|
if (((recentInput & HSD_BUTTON_A) != false) &&
|
||||||
(fp->mewtwoVars[0].SpecialN.releaseLag <= 0))
|
(fp->mewtwoVars.SpecialN.releaseLag <= 0))
|
||||||
{
|
{
|
||||||
Fighter_ActionStateChange_800693AC(
|
Fighter_ActionStateChange_800693AC(
|
||||||
fighter_gobj, AS_MEWTWO_SPECIALAIRN_END, 0, NULL, 0.0f, 1.0f, 0.0f);
|
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;
|
return;
|
||||||
}
|
}
|
||||||
if ((recentInput & HSD_BUTTON_B) != false) {
|
if ((recentInput & HSD_BUTTON_B) != false) {
|
||||||
if (fp->mewtwoVars[0].SpecialN.releaseLag <= 0) {
|
if (fp->mewtwoVars.SpecialN.releaseLag <= 0) {
|
||||||
Fighter_ActionStateChange_800693AC(fighter_gobj,
|
Fighter_ActionStateChange_800693AC(fighter_gobj,
|
||||||
AS_MEWTWO_SPECIALAIRN_END, 0,
|
AS_MEWTWO_SPECIALAIRN_END, 0,
|
||||||
NULL, 0.0f, 1.0f, 0.0f);
|
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->x2210_ThrowFlags.flags = 0;
|
||||||
fp->x2200_ftcmd_var0 = 0;
|
fp->x2200_ftcmd_var0 = 0;
|
||||||
fp->x2204_ftcmd_var1 = 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,
|
Fighter_ActionStateChange_800693AC(fighter_gobj, AS_MEWTWO_SPECIALS, 0,
|
||||||
NULL, 0.0f, 1.0f, 0.0f);
|
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->x2210_ThrowFlags.flags = 0;
|
||||||
fp->x2200_ftcmd_var0 = 0;
|
fp->x2200_ftcmd_var0 = 0;
|
||||||
fp->x2204_ftcmd_var1 = 0;
|
fp->x2204_ftcmd_var1 = 0;
|
||||||
fp->mewtwoVars[0].SpecialS.isConfusionReflect = false;
|
fp->mewtwoVars.SpecialS.isConfusionReflect = false;
|
||||||
|
|
||||||
if (fp->sa.mewtwo.x223C_isConfusionBoost == false) {
|
if (fp->sa.mewtwo.x223C_isConfusionBoost == false) {
|
||||||
fp->x80_self_vel.y = mewtwoAttrs->x18_MEWTWO_CONFUSION_AIR_BOOST;
|
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)
|
static inline void ftMewtwo_SpecialS_SetReflect(HSD_GObj* fighter_gobj)
|
||||||
{
|
{
|
||||||
Fighter* fp = GET_FIGHTER(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.b3 = 1;
|
||||||
fp->x2218_flag.bits.b4 = 1;
|
fp->x2218_flag.bits.b4 = 1;
|
||||||
fp->cb.x21C8_callback_OnReflectHit = ftMewtwo_SpecialS_OnReflect;
|
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? //
|
// returns instead of just NULL? //
|
||||||
fp->x2218_flag.bits.b4 =
|
fp->x2218_flag.bits.b4 =
|
||||||
1; // Here it is... the reason Confusion cannot change ownership.
|
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;
|
fp->x2204_ftcmd_var1 = CONFUSION_REFLECT_NONE;
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case CONFUSION_REFLECT_OFF:
|
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.b3 = 0;
|
||||||
fp->x2218_flag.bits.b4 = 0;
|
fp->x2218_flag.bits.b4 = 0;
|
||||||
fp->cb.x21C8_callback_OnReflectHit = NULL;
|
fp->cb.x21C8_callback_OnReflectHit = NULL;
|
||||||
fp->mewtwoVars[0].SpecialS.isConfusionReflect = false;
|
fp->mewtwoVars.SpecialS.isConfusionReflect = false;
|
||||||
}
|
}
|
||||||
fp->x2204_ftcmd_var1 = CONFUSION_REFLECT_NONE;
|
fp->x2204_ftcmd_var1 = CONFUSION_REFLECT_NONE;
|
||||||
return;
|
return;
|
||||||
|
@ -32,9 +32,9 @@ void ftNess_YoyoCheckTimedRehit(HSD_GObj* fighter_gobj)
|
|||||||
HitCapsule* hitbox_data;
|
HitCapsule* hitbox_data;
|
||||||
|
|
||||||
if (fp->x2200_ftcmd_var0 == 0) {
|
if (fp->x2200_ftcmd_var0 == 0) {
|
||||||
if (fp->nessVars[0].AttackHi4.yoyoRehitTimer > 0) {
|
if (fp->nessVars.AttackHi4.yoyoRehitTimer > 0) {
|
||||||
fp->nessVars[0].AttackHi4.yoyoRehitTimer--;
|
fp->nessVars.AttackHi4.yoyoRehitTimer--;
|
||||||
if (fp->nessVars[0].AttackHi4.yoyoRehitTimer == 0) {
|
if (fp->nessVars.AttackHi4.yoyoRehitTimer == 0) {
|
||||||
lbColl_80008440(&fp->x914[0]);
|
lbColl_80008440(&fp->x914[0]);
|
||||||
lbColl_80008434(&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;
|
fp = fighter_gobj->user_data;
|
||||||
collData = &fp->x6F0_collData;
|
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);
|
func_8000B1CC(fp->x5E8_fighterBones[0x3D].x0_jobj, NULL, pos);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -193,7 +193,7 @@ void ftNess_YoyoSetHitPos(HSD_GObj* fighter_gobj)
|
|||||||
fp = fighter_gobj->user_data;
|
fp = fighter_gobj->user_data;
|
||||||
collData = &fp->x6F0_collData;
|
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);
|
func_8000B1CC(fp->x5E8_fighterBones[0x3D].x0_jobj, NULL, &sp2C);
|
||||||
} else {
|
} else {
|
||||||
func_8000B1CC(fp->x5E8_fighterBones[0x3D].x0_jobj, NULL, &sp14);
|
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;
|
fp = fighter_gobj->user_data;
|
||||||
collData = &fp->x6F0_collData;
|
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);
|
func_8000B1CC(fp->x5E8_fighterBones[0x3D].x0_jobj, NULL, &sp3C);
|
||||||
} else {
|
} else {
|
||||||
func_8000B1CC(fp->x5E8_fighterBones[0x3D].x0_jobj, NULL, &sp18);
|
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);
|
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
||||||
fp->x2204_ftcmd_var1 = 0;
|
fp->x2204_ftcmd_var1 = 0;
|
||||||
fp->x2200_ftcmd_var0 = 0;
|
fp->x2200_ftcmd_var0 = 0;
|
||||||
fp->nessVars[0].AttackHi4.yoyoCurrentFrame = 1;
|
fp->nessVars.AttackHi4.yoyoCurrentFrame = 1;
|
||||||
fp->nessVars[0].AttackHi4.yoyoRehitTimer = 0;
|
fp->nessVars.AttackHi4.yoyoRehitTimer = 0;
|
||||||
fp->nessVars[0].AttackHi4.isPosUpdateMod = true;
|
fp->nessVars.AttackHi4.isPosUpdateMod = true;
|
||||||
fp->sa.ness.x2230_yoyoHitboxPos.z = 0.0f;
|
fp->sa.ness.x2230_yoyoHitboxPos.z = 0.0f;
|
||||||
fp->sa.ness.x2230_yoyoHitboxPos.y = 0.0f;
|
fp->sa.ness.x2230_yoyoHitboxPos.y = 0.0f;
|
||||||
fp->sa.ness.x2230_yoyoHitboxPos.x = 0.0f;
|
fp->sa.ness.x2230_yoyoHitboxPos.x = 0.0f;
|
||||||
@ -318,7 +318,7 @@ void ftNess_YoyoApplySmash(HSD_GObj* fighter_gobj)
|
|||||||
s32 smashColAnimID;
|
s32 smashColAnimID;
|
||||||
|
|
||||||
fp = fighter_gobj->user_data;
|
fp = fighter_gobj->user_data;
|
||||||
fp->nessVars[0].AttackHi4.yoyoCurrentFrame = 0;
|
fp->nessVars.AttackHi4.yoyoCurrentFrame = 0;
|
||||||
temp_yoyo = fp->sa.ness.x222C_yoyoGObj;
|
temp_yoyo = fp->sa.ness.x222C_yoyoGObj;
|
||||||
yoyo_GObj = temp_yoyo;
|
yoyo_GObj = temp_yoyo;
|
||||||
|
|
||||||
@ -375,7 +375,7 @@ void ftNess_YoyoSetChargeDamage(HSD_GObj* fighter_gobj)
|
|||||||
fp = GET_FIGHTER(fighter_gobj);
|
fp = GET_FIGHTER(fighter_gobj);
|
||||||
|
|
||||||
// Current animation frame, integer
|
// Current animation frame, integer
|
||||||
fp->nessVars[0].AttackHi4.yoyoCurrentFrame = 14;
|
fp->nessVars.AttackHi4.yoyoCurrentFrame = 14;
|
||||||
|
|
||||||
yoyo_GObj = fp->sa.ness.x222C_yoyoGObj;
|
yoyo_GObj = fp->sa.ness.x222C_yoyoGObj;
|
||||||
|
|
||||||
@ -429,7 +429,7 @@ bool ftNess_YoyoThink_IsRemove(HSD_GObj* fighter_gobj)
|
|||||||
|
|
||||||
fp = fighter_gobj->user_data;
|
fp = fighter_gobj->user_data;
|
||||||
if ((u32) fp->x2200_ftcmd_var0 != 0U) {
|
if ((u32) fp->x2200_ftcmd_var0 != 0U) {
|
||||||
fp->nessVars[0].AttackHi4.isPosUpdateMod = 0;
|
fp->nessVars.AttackHi4.isPosUpdateMod = 0;
|
||||||
}
|
}
|
||||||
ASID = fp->action_id;
|
ASID = fp->action_id;
|
||||||
if ((ASID >= AS_NESS_ATTACKHI4) && (ASID <= AS_NESS_ATTACKHI4_RELEASE)) {
|
if ((ASID >= AS_NESS_ATTACKHI4) && (ASID <= AS_NESS_ATTACKHI4_RELEASE)) {
|
||||||
@ -439,7 +439,7 @@ bool ftNess_YoyoThink_IsRemove(HSD_GObj* fighter_gobj)
|
|||||||
yoyoSpawnFrame = 2;
|
yoyoSpawnFrame = 2;
|
||||||
yoyoDespawnFrame = 60;
|
yoyoDespawnFrame = 60;
|
||||||
}
|
}
|
||||||
yoyoSmashFrameCurr = fp->nessVars[0].AttackHi4.yoyoCurrentFrame;
|
yoyoSmashFrameCurr = fp->nessVars.AttackHi4.yoyoCurrentFrame;
|
||||||
if ((yoyoSmashFrameCurr > yoyoSpawnFrame) &&
|
if ((yoyoSmashFrameCurr > yoyoSpawnFrame) &&
|
||||||
(yoyoSmashFrameCurr <= yoyoDespawnFrame))
|
(yoyoSmashFrameCurr <= yoyoDespawnFrame))
|
||||||
{
|
{
|
||||||
@ -467,7 +467,7 @@ bool ftNess_YoyoThink_IsRemove(HSD_GObj* fighter_gobj)
|
|||||||
yoyoRotFrame = yoyo_attr->x48_DOWNSMASH_YOYO_ROT_FRAME;
|
yoyoRotFrame = yoyo_attr->x48_DOWNSMASH_YOYO_ROT_FRAME;
|
||||||
yoyoNudgeFrame = yoyo_attr->x4C_DOWNSMASH_YOYO_NUDGE_FRAME;
|
yoyoNudgeFrame = yoyo_attr->x4C_DOWNSMASH_YOYO_NUDGE_FRAME;
|
||||||
}
|
}
|
||||||
yoyoSmashFrameCurr2 = fp->nessVars[0].AttackHi4.yoyoCurrentFrame;
|
yoyoSmashFrameCurr2 = fp->nessVars.AttackHi4.yoyoCurrentFrame;
|
||||||
if (yoyoSmashFrameCurr2 == yoyoRotFrame) {
|
if (yoyoSmashFrameCurr2 == yoyoRotFrame) {
|
||||||
sp14 = YoyoThinkPos;
|
sp14 = YoyoThinkPos;
|
||||||
func_802C0010(yoyo_GObj, &sp14);
|
func_802C0010(yoyo_GObj, &sp14);
|
||||||
@ -482,9 +482,7 @@ bool ftNess_YoyoThink_IsRemove(HSD_GObj* fighter_gobj)
|
|||||||
} else if (yoyoSmashFrameCurr2 == yoyoNudgeFrame) {
|
} else if (yoyoSmashFrameCurr2 == yoyoNudgeFrame) {
|
||||||
func_802BFEC4(yoyo_GObj);
|
func_802BFEC4(yoyo_GObj);
|
||||||
}
|
}
|
||||||
if ((s32) fp->nessVars[0].AttackHi4.yoyoCurrentFrame ==
|
if ((s32) fp->nessVars.AttackHi4.yoyoCurrentFrame == yoyoDespawnFrame) {
|
||||||
yoyoDespawnFrame)
|
|
||||||
{
|
|
||||||
func_802BE958(fp->sa.ness.x222C_yoyoGObj);
|
func_802BE958(fp->sa.ness.x222C_yoyoGObj);
|
||||||
}
|
}
|
||||||
} else if (yoyoSmashFrameCurr == yoyoSpawnFrame) {
|
} else if (yoyoSmashFrameCurr == yoyoSpawnFrame) {
|
||||||
@ -524,7 +522,7 @@ void ftNess_YoyoSetUnkRate(HSD_GObj* fighter_gobj)
|
|||||||
texanim_unk = yoyo_attr->x20_UNK_TEXANIM_MOD;
|
texanim_unk = yoyo_attr->x20_UNK_TEXANIM_MOD;
|
||||||
yoyo_float = ((texanim_unk - yoyo_attr->x1C_UNK_TEXANIM_SPEED));
|
yoyo_float = ((texanim_unk - yoyo_attr->x1C_UNK_TEXANIM_SPEED));
|
||||||
yoyo_float =
|
yoyo_float =
|
||||||
yoyo_float * ((f32) fp->nessVars[0].AttackHi4.yoyoCurrentFrame /
|
yoyo_float * ((f32) fp->nessVars.AttackHi4.yoyoCurrentFrame /
|
||||||
ness_attr->xAC_YOYO_CHARGE_DURATION);
|
ness_attr->xAC_YOYO_CHARGE_DURATION);
|
||||||
|
|
||||||
fp->sa.ness.x223C = texanim_unk - yoyo_float;
|
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 = GET_FIGHTER(fighter_gobj);
|
||||||
fp->x2218_flag.bits.b0 = 0;
|
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 = GET_FIGHTER(fighter_gobj);
|
||||||
temp_fp->x2204_ftcmd_var1 = 0;
|
temp_fp->x2204_ftcmd_var1 = 0;
|
||||||
temp_fp->x2200_ftcmd_var0 = 0;
|
temp_fp->x2200_ftcmd_var0 = 0;
|
||||||
temp_fp->nessVars[0].AttackHi4.yoyoCurrentFrame = 1;
|
temp_fp->nessVars.AttackHi4.yoyoCurrentFrame = 1;
|
||||||
temp_fp->nessVars[0].AttackHi4.yoyoRehitTimer = 0;
|
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.z = 0.0f;
|
||||||
temp_fp->sa.ness.x2230_yoyoHitboxPos.y = 0.0f;
|
temp_fp->sa.ness.x2230_yoyoHitboxPos.y = 0.0f;
|
||||||
temp_fp->sa.ness.x2230_yoyoHitboxPos.x = 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);
|
fp = GET_FIGHTER(fighter_gobj);
|
||||||
ness_attr = fp->x2D4_specialAttributes;
|
ness_attr = fp->x2D4_specialAttributes;
|
||||||
fp->nessVars[0].AttackHi4.yoyoRehitTimer =
|
fp->nessVars.AttackHi4.yoyoRehitTimer =
|
||||||
(s32) ness_attr->xB4_YOYO_REHIT_RATE;
|
(s32) ness_attr->xB4_YOYO_REHIT_RATE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -656,25 +654,23 @@ void ftNess_AttackHi4_Anim(HSD_GObj* fighter_gobj)
|
|||||||
|
|
||||||
fp = fighter_gobj->user_data;
|
fp = fighter_gobj->user_data;
|
||||||
fighter_data2 = fighter_gobj->user_data;
|
fighter_data2 = fighter_gobj->user_data;
|
||||||
yoyoSmashFrameCurr = fighter_data2->nessVars[0].AttackHi4.yoyoCurrentFrame;
|
yoyoSmashFrameCurr = fighter_data2->nessVars.AttackHi4.yoyoCurrentFrame;
|
||||||
fp->nessVars[0].AttackHi4.yoyoCurrentFrame = (s32) (yoyoSmashFrameCurr + 1);
|
fp->nessVars.AttackHi4.yoyoCurrentFrame = (s32) (yoyoSmashFrameCurr + 1);
|
||||||
if (ftNess_YoyoThink_IsRemove(fighter_gobj) == false) {
|
if (ftNess_YoyoThink_IsRemove(fighter_gobj) == false) {
|
||||||
fp = fighter_gobj->user_data;
|
fp = fighter_gobj->user_data;
|
||||||
if ((u32) fp->x2200_ftcmd_var0 == 0U) {
|
if ((u32) fp->x2200_ftcmd_var0 == 0U) {
|
||||||
yoyoRehitTimer = fp->nessVars[0].AttackHi4.yoyoRehitTimer;
|
yoyoRehitTimer = fp->nessVars.AttackHi4.yoyoRehitTimer;
|
||||||
if (yoyoRehitTimer > 0) {
|
if (yoyoRehitTimer > 0) {
|
||||||
fp->nessVars[0].AttackHi4.yoyoRehitTimer =
|
fp->nessVars.AttackHi4.yoyoRehitTimer =
|
||||||
(s32) (yoyoRehitTimer - 1);
|
(s32) (yoyoRehitTimer - 1);
|
||||||
if ((s32) fp->nessVars[0].AttackHi4.yoyoRehitTimer == 0) {
|
if ((s32) fp->nessVars.AttackHi4.yoyoRehitTimer == 0) {
|
||||||
lbColl_80008440(&fp->x914[0]);
|
lbColl_80008440(&fp->x914[0]);
|
||||||
lbColl_80008434(&fp->x914[0]);
|
lbColl_80008434(&fp->x914[0]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (((s32) fighter_data2->nessVars[0].AttackHi4.yoyoCurrentFrame ==
|
if (((s32) fighter_data2->nessVars.AttackHi4.yoyoCurrentFrame == 13) &&
|
||||||
13) &&
|
((s32) fighter_data2->nessVars.AttackHi4.isChargeDisable == false))
|
||||||
((s32) fighter_data2->nessVars[0].AttackHi4.isChargeDisable ==
|
|
||||||
false))
|
|
||||||
{
|
{
|
||||||
/// @todo Unused stack.
|
/// @todo Unused stack.
|
||||||
#ifdef MUST_MATCH
|
#ifdef MUST_MATCH
|
||||||
@ -721,7 +717,7 @@ void ftNess_AttackHi4_IASA(
|
|||||||
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
||||||
|
|
||||||
if ((fp->input.x65C_heldInputs & HSD_BUTTON_A) == false) {
|
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
|
true; // Toggle flag to disallow Yo-Yo charge until next Up Smash
|
||||||
// instance
|
// instance
|
||||||
}
|
}
|
||||||
@ -801,7 +797,7 @@ void ftNess_AttackHi4_Charge_Anim(
|
|||||||
|
|
||||||
fp = fighter_gobj->user_data;
|
fp = fighter_gobj->user_data;
|
||||||
ness_attr = fp->x2D4_specialAttributes;
|
ness_attr = fp->x2D4_specialAttributes;
|
||||||
fp->nessVars[0].AttackHi4.yoyoCurrentFrame++;
|
fp->nessVars.AttackHi4.yoyoCurrentFrame++;
|
||||||
temp_ness_attr = getFtSpecialAttrs(temp_fp = getFighterPlus(fighter_gobj));
|
temp_ness_attr = getFtSpecialAttrs(temp_fp = getFighterPlus(fighter_gobj));
|
||||||
if ((yoyo_GObj = GetYoyoGObj(temp_fp = getFighterPlus(fighter_gobj))) !=
|
if ((yoyo_GObj = GetYoyoGObj(temp_fp = getFighterPlus(fighter_gobj))) !=
|
||||||
NULL)
|
NULL)
|
||||||
@ -811,23 +807,22 @@ void ftNess_AttackHi4_Charge_Anim(
|
|||||||
unk_float =
|
unk_float =
|
||||||
(yoyo_attr->x20_UNK_TEXANIM_MOD - yoyo_attr->x1C_UNK_TEXANIM_SPEED);
|
(yoyo_attr->x20_UNK_TEXANIM_MOD - yoyo_attr->x1C_UNK_TEXANIM_SPEED);
|
||||||
unk_float =
|
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_ness_attr->xAC_YOYO_CHARGE_DURATION);
|
||||||
temp_fp->sa.ness.x223C = yoyo_attr->x20_UNK_TEXANIM_MOD - unk_float;
|
temp_fp->sa.ness.x223C = yoyo_attr->x20_UNK_TEXANIM_MOD - unk_float;
|
||||||
}
|
}
|
||||||
|
|
||||||
fighter_data2 = fighter_gobj->user_data;
|
fighter_data2 = fighter_gobj->user_data;
|
||||||
if ((u32) fighter_data2->x2200_ftcmd_var0 == 0U) {
|
if ((u32) fighter_data2->x2200_ftcmd_var0 == 0U) {
|
||||||
if ((s32) fighter_data2->nessVars[0].AttackHi4.yoyoRehitTimer > 0) {
|
if ((s32) fighter_data2->nessVars.AttackHi4.yoyoRehitTimer > 0) {
|
||||||
fighter_data2->nessVars[0].AttackHi4.yoyoRehitTimer--;
|
fighter_data2->nessVars.AttackHi4.yoyoRehitTimer--;
|
||||||
if ((s32) fighter_data2->nessVars[0].AttackHi4.yoyoRehitTimer == 0)
|
if ((s32) fighter_data2->nessVars.AttackHi4.yoyoRehitTimer == 0) {
|
||||||
{
|
|
||||||
lbColl_80008440(fighter_data2->x914);
|
lbColl_80008440(fighter_data2->x914);
|
||||||
lbColl_80008434(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)
|
ness_attr->xAC_YOYO_CHARGE_DURATION)
|
||||||
{
|
{
|
||||||
ftNess_AttackHi4_Release_Action(fighter_gobj);
|
ftNess_AttackHi4_Release_Action(fighter_gobj);
|
||||||
@ -905,16 +900,16 @@ void ftNess_AttackHi4_Release_Anim(
|
|||||||
Fighter* temp_fp;
|
Fighter* temp_fp;
|
||||||
|
|
||||||
temp_fp = GET_FIGHTER(fighter_gobj);
|
temp_fp = GET_FIGHTER(fighter_gobj);
|
||||||
yoyoSmashFrameCurr = temp_fp->nessVars[0].AttackHi4.yoyoCurrentFrame;
|
yoyoSmashFrameCurr = temp_fp->nessVars.AttackHi4.yoyoCurrentFrame;
|
||||||
temp_fp->nessVars[0].AttackHi4.yoyoCurrentFrame =
|
temp_fp->nessVars.AttackHi4.yoyoCurrentFrame =
|
||||||
(s32) (yoyoSmashFrameCurr + 1);
|
(s32) (yoyoSmashFrameCurr + 1);
|
||||||
if (ftNess_YoyoThink_IsRemove(fighter_gobj) == false) {
|
if (ftNess_YoyoThink_IsRemove(fighter_gobj) == false) {
|
||||||
fp = GET_FIGHTER(fighter_gobj);
|
fp = GET_FIGHTER(fighter_gobj);
|
||||||
if ((u32) fp->x2200_ftcmd_var0 == 0U) {
|
if ((u32) fp->x2200_ftcmd_var0 == 0U) {
|
||||||
yoyoRehitTimer = fp->nessVars[0].AttackHi4.yoyoRehitTimer;
|
yoyoRehitTimer = fp->nessVars.AttackHi4.yoyoRehitTimer;
|
||||||
if (yoyoRehitTimer > 0) {
|
if (yoyoRehitTimer > 0) {
|
||||||
fp->nessVars[0].AttackHi4.yoyoRehitTimer--;
|
fp->nessVars.AttackHi4.yoyoRehitTimer--;
|
||||||
if ((s32) fp->nessVars[0].AttackHi4.yoyoRehitTimer == 0) {
|
if ((s32) fp->nessVars.AttackHi4.yoyoRehitTimer == 0) {
|
||||||
lbColl_80008440(fp->x914);
|
lbColl_80008440(fp->x914);
|
||||||
lbColl_80008434(fp->x914);
|
lbColl_80008434(fp->x914);
|
||||||
}
|
}
|
||||||
@ -954,7 +949,7 @@ void ftNess_AttackHi4_Release_Phys(
|
|||||||
|
|
||||||
fp = GET_FIGHTER(fighter_gobj);
|
fp = GET_FIGHTER(fighter_gobj);
|
||||||
func_80084F3C(fighter_gobj);
|
func_80084F3C(fighter_gobj);
|
||||||
yoyoSmashFrameCurr = fp->nessVars[0].AttackHi4.yoyoCurrentFrame;
|
yoyoSmashFrameCurr = fp->nessVars.AttackHi4.yoyoCurrentFrame;
|
||||||
if (yoyoSmashFrameCurr < 0x18) {
|
if (yoyoSmashFrameCurr < 0x18) {
|
||||||
phi_f31 = 0.10000000149011612f * ((f32) yoyoSmashFrameCurr - 14.0f);
|
phi_f31 = 0.10000000149011612f * ((f32) yoyoSmashFrameCurr - 14.0f);
|
||||||
if (phi_f31 >= 1.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 = 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) {
|
if ((yoyo_GObj = fighter_data2->sa.ness.x222C_yoyoGObj) != NULL) {
|
||||||
yoyo_attr = GetYoyoAttr(yoyo_GObj);
|
yoyo_attr = GetYoyoAttr(yoyo_GObj);
|
||||||
|
@ -11,7 +11,7 @@ void ftNess_AttackLw4_Action(
|
|||||||
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
||||||
|
|
||||||
fp->x2218_flag.bits.b0 = 0;
|
fp->x2218_flag.bits.b0 = 0;
|
||||||
fp->nessVars[0].AttackLw4.isChargeDisable = false;
|
fp->nessVars.AttackLw4.isChargeDisable = false;
|
||||||
ftNess_YoyoSetVarAll(fighter_gobj);
|
ftNess_YoyoSetVarAll(fighter_gobj);
|
||||||
Fighter_ActionStateChange_800693AC(fighter_gobj, AS_NESS_ATTACKLW4, 0, NULL,
|
Fighter_ActionStateChange_800693AC(fighter_gobj, AS_NESS_ATTACKLW4, 0, NULL,
|
||||||
0.0f, 1.0f, 0.0f);
|
0.0f, 1.0f, 0.0f);
|
||||||
@ -28,11 +28,11 @@ void ftNess_AttackLw4_Anim(
|
|||||||
{
|
{
|
||||||
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
||||||
|
|
||||||
fp->nessVars[0].AttackLw4.yoyoCurrentFrame++;
|
fp->nessVars.AttackLw4.yoyoCurrentFrame++;
|
||||||
if (ftNess_YoyoThink_IsRemove(fighter_gobj) == false) {
|
if (ftNess_YoyoThink_IsRemove(fighter_gobj) == false) {
|
||||||
ftNess_YoyoCheckTimedRehit(fighter_gobj);
|
ftNess_YoyoCheckTimedRehit(fighter_gobj);
|
||||||
if (((s32) fp->nessVars[0].AttackLw4.yoyoCurrentFrame == 13) &&
|
if (((s32) fp->nessVars.AttackLw4.yoyoCurrentFrame == 13) &&
|
||||||
((s32) fp->nessVars[0].AttackLw4.isChargeDisable == false) &&
|
((s32) fp->nessVars.AttackLw4.isChargeDisable == false) &&
|
||||||
(ftNess_YoyoCheckNoObstruct(fighter_gobj) != false))
|
(ftNess_YoyoCheckNoObstruct(fighter_gobj) != false))
|
||||||
{
|
{
|
||||||
ftNess_AttackLw4_Charge_Action(fighter_gobj);
|
ftNess_AttackLw4_Charge_Action(fighter_gobj);
|
||||||
@ -51,7 +51,7 @@ void ftNess_AttackLw4_IASA(
|
|||||||
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
||||||
|
|
||||||
if ((fp->input.x65C_heldInputs & HSD_BUTTON_A) == false) {
|
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) {
|
if (fp->x2218_flag.bits.b0 != 0) {
|
||||||
func_8008A4D4(fighter_gobj);
|
func_8008A4D4(fighter_gobj);
|
||||||
@ -90,12 +90,12 @@ void ftNess_AttackLw4_Charge_Anim(
|
|||||||
ftNessAttributes* ness_attr;
|
ftNessAttributes* ness_attr;
|
||||||
|
|
||||||
fp = GET_FIGHTER(fighter_gobj);
|
fp = GET_FIGHTER(fighter_gobj);
|
||||||
yoyoSmashFrameCurr = fp->nessVars[0].AttackLw4.yoyoCurrentFrame;
|
yoyoSmashFrameCurr = fp->nessVars.AttackLw4.yoyoCurrentFrame;
|
||||||
ness_attr = fp->x2D4_specialAttributes;
|
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_YoyoSetUnkRate(fighter_gobj);
|
||||||
ftNess_YoyoCheckTimedRehit(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)
|
ness_attr->xAC_YOYO_CHARGE_DURATION)
|
||||||
{
|
{
|
||||||
ftNess_AttackLw4_Release_Action(fighter_gobj);
|
ftNess_AttackLw4_Release_Action(fighter_gobj);
|
||||||
@ -162,8 +162,8 @@ void ftNess_AttackLw4_Release_Anim(
|
|||||||
Fighter* fp;
|
Fighter* fp;
|
||||||
|
|
||||||
fp = GET_FIGHTER(fighter_gobj);
|
fp = GET_FIGHTER(fighter_gobj);
|
||||||
yoyoSmashFrameCurr = fp->nessVars[0].AttackLw4.yoyoCurrentFrame;
|
yoyoSmashFrameCurr = fp->nessVars.AttackLw4.yoyoCurrentFrame;
|
||||||
fp->nessVars[0].AttackLw4.yoyoCurrentFrame = (s32) (yoyoSmashFrameCurr + 1);
|
fp->nessVars.AttackLw4.yoyoCurrentFrame = (s32) (yoyoSmashFrameCurr + 1);
|
||||||
if (ftNess_YoyoThink_IsRemove(fighter_gobj) == false) {
|
if (ftNess_YoyoThink_IsRemove(fighter_gobj) == false) {
|
||||||
ftNess_YoyoCheckTimedRehit(fighter_gobj);
|
ftNess_YoyoCheckTimedRehit(fighter_gobj);
|
||||||
if (!ftAnim_IsFramesRemaining(fighter_gobj)) {
|
if (!ftAnim_IsFramesRemaining(fighter_gobj)) {
|
||||||
@ -194,7 +194,7 @@ void ftNess_AttackLw4_Release_Phys(
|
|||||||
|
|
||||||
fp = GET_FIGHTER(fighter_gobj);
|
fp = GET_FIGHTER(fighter_gobj);
|
||||||
func_80084F3C(fighter_gobj);
|
func_80084F3C(fighter_gobj);
|
||||||
yoyoSmashFrameCurr = fp->nessVars[0].AttackLw4.yoyoCurrentFrame;
|
yoyoSmashFrameCurr = fp->nessVars.AttackLw4.yoyoCurrentFrame;
|
||||||
if (yoyoSmashFrameCurr < 0x13) {
|
if (yoyoSmashFrameCurr < 0x13) {
|
||||||
yoyoSmashUnk =
|
yoyoSmashUnk =
|
||||||
0.20000000298023224f * ((f32) yoyoSmashFrameCurr - 14.0f);
|
0.20000000298023224f * ((f32) yoyoSmashFrameCurr - 14.0f);
|
||||||
|
@ -194,17 +194,17 @@ bool ftNess_ItemPKThunder_CheckNessCollide(HSD_GObj* fighter_gobj)
|
|||||||
if (!fp->sa.ness.x2244_pkThunderGObj)
|
if (!fp->sa.ness.x2244_pkThunderGObj)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
switch (fp->nessVars[0].SpecialHi.thunderColl) {
|
switch (fp->nessVars.SpecialHi.thunderColl) {
|
||||||
case 0:
|
case 0:
|
||||||
pos = fp->xB0_pos;
|
pos = fp->xB0_pos;
|
||||||
pos.y += 5.0f * fp->x34_scale.y;
|
pos.y += 5.0f * fp->x34_scale.y;
|
||||||
func_802AB3F0(fp->sa.ness.x2244_pkThunderGObj, &pair, 0);
|
func_802AB3F0(fp->sa.ness.x2244_pkThunderGObj, &pair, 0);
|
||||||
if (check_distance(&pos, &pair) == true) {
|
if (check_distance(&pos, &pair) == true) {
|
||||||
fp->nessVars[0].SpecialHi.thunderColl = 2;
|
fp->nessVars.SpecialHi.thunderColl = 2;
|
||||||
func_802AB3F0(fp->sa.ness.x2244_pkThunderGObj,
|
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,
|
func_802AB3F0(fp->sa.ness.x2244_pkThunderGObj,
|
||||||
&fp->nessVars[0].SpecialHi.collPos2, 1);
|
&fp->nessVars.SpecialHi.collPos2, 1);
|
||||||
ret = true;
|
ret = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -214,7 +214,7 @@ bool ftNess_ItemPKThunder_CheckNessCollide(HSD_GObj* fighter_gobj)
|
|||||||
pos2.y += 5.0f * fp->x34_scale.y;
|
pos2.y += 5.0f * fp->x34_scale.y;
|
||||||
func_802AB3F0(fp->sa.ness.x2244_pkThunderGObj, &pair2, 0);
|
func_802AB3F0(fp->sa.ness.x2244_pkThunderGObj, &pair2, 0);
|
||||||
if (!check_distance(&pos2, &pair2)) {
|
if (!check_distance(&pos2, &pair2)) {
|
||||||
fp->nessVars[0].SpecialHi.thunderColl = 0;
|
fp->nessVars.SpecialHi.thunderColl = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
@ -333,11 +333,11 @@ void ftNess_SpecialAirHi_CollisionModVel(
|
|||||||
f32 phi_f3;
|
f32 phi_f3;
|
||||||
|
|
||||||
fp = GET_FIGHTER(fighter_gobj);
|
fp = GET_FIGHTER(fighter_gobj);
|
||||||
while (fp->nessVars[0].SpecialHi.aerialVel < 0.0f) {
|
while (fp->nessVars.SpecialHi.aerialVel < 0.0f) {
|
||||||
fp->nessVars[0].SpecialHi.aerialVel += 2 * M_PI;
|
fp->nessVars.SpecialHi.aerialVel += 2 * M_PI;
|
||||||
}
|
}
|
||||||
while (fp->nessVars[0].SpecialHi.aerialVel > 2 * M_PI) {
|
while (fp->nessVars.SpecialHi.aerialVel > 2 * M_PI) {
|
||||||
fp->nessVars[0].SpecialHi.aerialVel -= 2 * M_PI;
|
fp->nessVars.SpecialHi.aerialVel -= 2 * M_PI;
|
||||||
}
|
}
|
||||||
if ((coll_data->x134_envFlags & 0x3F) != 0) {
|
if ((coll_data->x134_envFlags & 0x3F) != 0) {
|
||||||
phi_f1 = atan2f(coll_data->x160_rightwall.normal.y,
|
phi_f1 = atan2f(coll_data->x160_rightwall.normal.y,
|
||||||
@ -349,7 +349,7 @@ void ftNess_SpecialAirHi_CollisionModVel(
|
|||||||
while (phi_f1 > 2 * M_PI) {
|
while (phi_f1 > 2 * M_PI) {
|
||||||
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) {
|
while (phi_f3 < 0.0f) {
|
||||||
phi_f3 += 2 * M_PI;
|
phi_f3 += 2 * M_PI;
|
||||||
@ -376,7 +376,7 @@ void ftNess_SpecialAirHi_CollisionModVel(
|
|||||||
while (phi_f3 > 2 * M_PI) {
|
while (phi_f3 > 2 * M_PI) {
|
||||||
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;
|
phi_f1 += M_PI / 2;
|
||||||
} else {
|
} else {
|
||||||
phi_f1 -= M_PI / 2;
|
phi_f1 -= M_PI / 2;
|
||||||
@ -386,8 +386,8 @@ void ftNess_SpecialAirHi_CollisionModVel(
|
|||||||
sp14.x = 0.0f;
|
sp14.x = 0.0f;
|
||||||
sp14.z = 1.0f;
|
sp14.z = 1.0f;
|
||||||
lbvector_RotateAboutUnitAxis(&fp->x80_self_vel, &sp14,
|
lbvector_RotateAboutUnitAxis(&fp->x80_self_vel, &sp14,
|
||||||
phi_f1 - fp->nessVars[0].SpecialHi.aerialVel);
|
phi_f1 - fp->nessVars.SpecialHi.aerialVel);
|
||||||
fp->nessVars[0].SpecialHi.aerialVel =
|
fp->nessVars.SpecialHi.aerialVel =
|
||||||
atan2f(fp->x80_self_vel.y, fp->x80_self_vel.x);
|
atan2f(fp->x80_self_vel.y, fp->x80_self_vel.x);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -417,40 +417,40 @@ void ftNess_SpecialHi_StartAction(
|
|||||||
fp->x2200_ftcmd_var0 = 0;
|
fp->x2200_ftcmd_var0 = 0;
|
||||||
temp_fp = fighter_gobj->user_data;
|
temp_fp = fighter_gobj->user_data;
|
||||||
temp_attr = getFtSpecialAttrs(temp_fp);
|
temp_attr = getFtSpecialAttrs(temp_fp);
|
||||||
temp_fp->nessVars[0].SpecialHi.thunderTimerLoop1 =
|
temp_fp->nessVars.SpecialHi.thunderTimerLoop1 =
|
||||||
(s32) temp_attr->x40_PK_THUNDER_LOOP1;
|
(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;
|
(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;
|
(s32) temp_attr->x48_PK_THUNDER_GRAVITY_DELAY;
|
||||||
temp_f1_2 = 0.0f;
|
temp_f1_2 = 0.0f;
|
||||||
temp_fp->nessVars[0].SpecialHi.fallAccel = 0.0f;
|
temp_fp->nessVars.SpecialHi.fallAccel = 0.0f;
|
||||||
temp_fp->nessVars[0].SpecialHi.unkVector1.z = 0.0f;
|
temp_fp->nessVars.SpecialHi.unkVector1.z = 0.0f;
|
||||||
temp_fp->nessVars[0].SpecialHi.unkVector1.y = 0.0f;
|
temp_fp->nessVars.SpecialHi.unkVector1.y = 0.0f;
|
||||||
temp_fp->nessVars[0].SpecialHi.unkVector1.x = 0.0f;
|
temp_fp->nessVars.SpecialHi.unkVector1.x = 0.0f;
|
||||||
temp_fp->nessVars[0].SpecialHi.unkVar4 = 0.0f;
|
temp_fp->nessVars.SpecialHi.unkVar4 = 0.0f;
|
||||||
temp_fp->nessVars[0].SpecialHi.unkVar3 = 0.0f;
|
temp_fp->nessVars.SpecialHi.unkVar3 = 0.0f;
|
||||||
temp_fp->cb.x21E4_callback_OnDeath2 = NULL;
|
temp_fp->cb.x21E4_callback_OnDeath2 = NULL;
|
||||||
temp_fp->cb.x21DC_callback_OnTakeDamage = NULL;
|
temp_fp->cb.x21DC_callback_OnTakeDamage = NULL;
|
||||||
func_8007592C(temp_fp, 0, 0.0f);
|
func_8007592C(temp_fp, 0, 0.0f);
|
||||||
fp->nessVars[0].SpecialHi.thunderColl = 1;
|
fp->nessVars.SpecialHi.thunderColl = 1;
|
||||||
fp->nessVars[0].SpecialHi.gravityDelay =
|
fp->nessVars.SpecialHi.gravityDelay =
|
||||||
(s32) ness_attr->x48_PK_THUNDER_GRAVITY_DELAY;
|
(s32) ness_attr->x48_PK_THUNDER_GRAVITY_DELAY;
|
||||||
fp->nessVars[0].SpecialHi.jibakuGFX = 0;
|
fp->nessVars.SpecialHi.jibakuGFX = 0;
|
||||||
fp->nessVars[0].SpecialHi.collPos1.x = 0.0f;
|
fp->nessVars.SpecialHi.collPos1.x = 0.0f;
|
||||||
fp->nessVars[0].SpecialHi.collPos1.x = 0.0f;
|
fp->nessVars.SpecialHi.collPos1.x = 0.0f;
|
||||||
fp->nessVars[0].SpecialHi.collPos1.x = 0.0f;
|
fp->nessVars.SpecialHi.collPos1.x = 0.0f;
|
||||||
fp->nessVars[0].SpecialHi.collPos2.x = 0.0f;
|
fp->nessVars.SpecialHi.collPos2.x = 0.0f;
|
||||||
fp->nessVars[0].SpecialHi.collPos2.x = 0.0f;
|
fp->nessVars.SpecialHi.collPos2.x = 0.0f;
|
||||||
fp->nessVars[0].SpecialHi.collPos2.x = 0.0f;
|
fp->nessVars.SpecialHi.collPos2.x = 0.0f;
|
||||||
if (1.0f == fp->facing_dir) {
|
if (1.0f == fp->facing_dir) {
|
||||||
phi_f0 = (f64) 0.0;
|
phi_f0 = (f64) 0.0;
|
||||||
} else {
|
} else {
|
||||||
phi_f0 = M_PI;
|
phi_f0 = M_PI;
|
||||||
}
|
}
|
||||||
fp->nessVars[0].SpecialHi.aerialVel = (f32) phi_f0;
|
fp->nessVars.SpecialHi.aerialVel = (f32) phi_f0;
|
||||||
fp->nessVars[0].SpecialHi.facingDir = (f32) 1.0f;
|
fp->nessVars.SpecialHi.facingDir = (f32) 1.0f;
|
||||||
fp->nessVars[0].SpecialHi.unkVar = (f32) 0.0f;
|
fp->nessVars.SpecialHi.unkVar = (f32) 0.0f;
|
||||||
func_8006EBA4(fighter_gobj);
|
func_8006EBA4(fighter_gobj);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -485,40 +485,40 @@ void ftNess_SpecialAirHiStart_Action(
|
|||||||
fp->x2200_ftcmd_var0 = 0;
|
fp->x2200_ftcmd_var0 = 0;
|
||||||
temp_fp = fighter_gobj->user_data;
|
temp_fp = fighter_gobj->user_data;
|
||||||
temp_attr = temp_fp->x2D4_specialAttributes;
|
temp_attr = temp_fp->x2D4_specialAttributes;
|
||||||
temp_fp->nessVars[0].SpecialHi.thunderTimerLoop1 =
|
temp_fp->nessVars.SpecialHi.thunderTimerLoop1 =
|
||||||
(s32) temp_attr->x40_PK_THUNDER_LOOP1;
|
(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;
|
(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;
|
(s32) temp_attr->x48_PK_THUNDER_GRAVITY_DELAY;
|
||||||
temp_f1_2 = 0.0f;
|
temp_f1_2 = 0.0f;
|
||||||
temp_fp->nessVars[0].SpecialHi.fallAccel = 0.0f;
|
temp_fp->nessVars.SpecialHi.fallAccel = 0.0f;
|
||||||
temp_fp->nessVars[0].SpecialHi.unkVector1.z = 0.0f;
|
temp_fp->nessVars.SpecialHi.unkVector1.z = 0.0f;
|
||||||
temp_fp->nessVars[0].SpecialHi.unkVector1.y = 0.0f;
|
temp_fp->nessVars.SpecialHi.unkVector1.y = 0.0f;
|
||||||
temp_fp->nessVars[0].SpecialHi.unkVector1.x = 0.0f;
|
temp_fp->nessVars.SpecialHi.unkVector1.x = 0.0f;
|
||||||
temp_fp->nessVars[0].SpecialHi.unkVar4 = 0.0f;
|
temp_fp->nessVars.SpecialHi.unkVar4 = 0.0f;
|
||||||
temp_fp->nessVars[0].SpecialHi.unkVar3 = 0.0f;
|
temp_fp->nessVars.SpecialHi.unkVar3 = 0.0f;
|
||||||
temp_fp->cb.x21E4_callback_OnDeath2 = NULL;
|
temp_fp->cb.x21E4_callback_OnDeath2 = NULL;
|
||||||
temp_fp->cb.x21DC_callback_OnTakeDamage = NULL;
|
temp_fp->cb.x21DC_callback_OnTakeDamage = NULL;
|
||||||
func_8007592C(temp_fp, 0, 0.0f);
|
func_8007592C(temp_fp, 0, 0.0f);
|
||||||
fp->nessVars[0].SpecialHi.thunderColl = 1;
|
fp->nessVars.SpecialHi.thunderColl = 1;
|
||||||
fp->nessVars[0].SpecialHi.gravityDelay =
|
fp->nessVars.SpecialHi.gravityDelay =
|
||||||
(s32) ness_attr->x48_PK_THUNDER_GRAVITY_DELAY;
|
(s32) ness_attr->x48_PK_THUNDER_GRAVITY_DELAY;
|
||||||
fp->nessVars[0].SpecialHi.jibakuGFX = false;
|
fp->nessVars.SpecialHi.jibakuGFX = false;
|
||||||
fp->nessVars[0].SpecialHi.collPos1.x = 0.0f;
|
fp->nessVars.SpecialHi.collPos1.x = 0.0f;
|
||||||
fp->nessVars[0].SpecialHi.collPos1.x = 0.0f;
|
fp->nessVars.SpecialHi.collPos1.x = 0.0f;
|
||||||
fp->nessVars[0].SpecialHi.collPos1.x = 0.0f;
|
fp->nessVars.SpecialHi.collPos1.x = 0.0f;
|
||||||
fp->nessVars[0].SpecialHi.collPos2.x = 0.0f;
|
fp->nessVars.SpecialHi.collPos2.x = 0.0f;
|
||||||
fp->nessVars[0].SpecialHi.collPos2.x = 0.0f;
|
fp->nessVars.SpecialHi.collPos2.x = 0.0f;
|
||||||
fp->nessVars[0].SpecialHi.collPos2.x = 0.0f;
|
fp->nessVars.SpecialHi.collPos2.x = 0.0f;
|
||||||
if (1.0f == fp->facing_dir) {
|
if (1.0f == fp->facing_dir) {
|
||||||
phi_f0 = (f64) 0.0;
|
phi_f0 = (f64) 0.0;
|
||||||
} else {
|
} else {
|
||||||
phi_f0 = M_PI;
|
phi_f0 = M_PI;
|
||||||
}
|
}
|
||||||
fp->nessVars[0].SpecialHi.aerialVel = (f32) phi_f0;
|
fp->nessVars.SpecialHi.aerialVel = (f32) phi_f0;
|
||||||
fp->nessVars[0].SpecialHi.facingDir = (f32) 1.0f;
|
fp->nessVars.SpecialHi.facingDir = (f32) 1.0f;
|
||||||
fp->nessVars[0].SpecialHi.unkVar = (f32) 0.0f;
|
fp->nessVars.SpecialHi.unkVar = (f32) 0.0f;
|
||||||
fp->x80_self_vel.y = 0.0f;
|
fp->x80_self_vel.y = 0.0f;
|
||||||
func_8006EBA4(fighter_gobj);
|
func_8006EBA4(fighter_gobj);
|
||||||
}
|
}
|
||||||
@ -552,7 +552,7 @@ void ftNess_SpecialHi_Action(
|
|||||||
ness_attr = fp->x2D4_specialAttributes;
|
ness_attr = fp->x2D4_specialAttributes;
|
||||||
if ((fp->x6F0_collData.x14C_ground.unk & 0x100) == 0) {
|
if ((fp->x6F0_collData.x14C_ground.unk & 0x100) == 0) {
|
||||||
temp_f3 = 5.0f;
|
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_f2 = fp->x34_scale.y;
|
||||||
temp_f1 = (temp_f3 * temp_f2) + fp->xB0_pos.y;
|
temp_f1 = (temp_f3 * temp_f2) + fp->xB0_pos.y;
|
||||||
sp40.y = temp_f1 - fp->x2354_stateVar6_f32;
|
sp40.y = temp_f1 - fp->x2354_stateVar6_f32;
|
||||||
@ -576,8 +576,8 @@ void ftNess_SpecialHi_Action(
|
|||||||
} else {
|
} else {
|
||||||
phi_f0_2 = -1.0f;
|
phi_f0_2 = -1.0f;
|
||||||
}
|
}
|
||||||
fp->nessVars[0].SpecialHi.facingDir = phi_f0_2;
|
fp->nessVars.SpecialHi.facingDir = phi_f0_2;
|
||||||
fp->nessVars[0].SpecialHi.aerialVel = atan2f(sp40.y, sp40.x);
|
fp->nessVars.SpecialHi.aerialVel = atan2f(sp40.y, sp40.x);
|
||||||
temp_f1_3 = 0.0f;
|
temp_f1_3 = 0.0f;
|
||||||
Fighter_ActionStateChange_800693AC(
|
Fighter_ActionStateChange_800693AC(
|
||||||
fighter_gobj, AS_NESS_SPECIALHI, 0, NULL, 0.0f, 1.0f, 0.0f);
|
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->facing_dir);
|
||||||
fp = getFighter(fighter_gobj);
|
fp = getFighter(fighter_gobj);
|
||||||
ness_attr2 = getFtSpecialAttrs(fp);
|
ness_attr2 = getFtSpecialAttrs(fp);
|
||||||
fp->nessVars[0].SpecialHi.unkVar =
|
fp->nessVars.SpecialHi.unkVar =
|
||||||
(f32) ness_attr2->x58_PK_THUNDER_2_UNK1;
|
(f32) ness_attr2->x58_PK_THUNDER_2_UNK1;
|
||||||
fighter_data2 = GET_FIGHTER(fighter_gobj);
|
fighter_data2 = GET_FIGHTER(fighter_gobj);
|
||||||
func_8007592C(fighter_data2, 0,
|
func_8007592C(fighter_data2, 0,
|
||||||
@ -646,7 +646,7 @@ inline void NessFloatMath_PKThunder2(
|
|||||||
f32 phi_f0;
|
f32 phi_f0;
|
||||||
|
|
||||||
fp = getFighter(fighter_gobj);
|
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);
|
ness_attr = getFtSpecialAttrs(fp);
|
||||||
temp_f1 =
|
temp_f1 =
|
||||||
((5.0f * fp->x34_scale.y) + fp->xB0_pos.y) - fp->x2354_stateVar6_f32;
|
((5.0f * fp->x34_scale.y) + fp->xB0_pos.y) - fp->x2354_stateVar6_f32;
|
||||||
@ -661,12 +661,12 @@ inline void NessFloatMath_PKThunder2(
|
|||||||
} else {
|
} else {
|
||||||
phi_f0 = -1.0f;
|
phi_f0 = -1.0f;
|
||||||
}
|
}
|
||||||
fp->nessVars[0].SpecialHi.facingDir = phi_f0;
|
fp->nessVars.SpecialHi.facingDir = phi_f0;
|
||||||
fp->nessVars[0].SpecialHi.aerialVel = atan2f(temp_f1, temp_f2);
|
fp->nessVars.SpecialHi.aerialVel = atan2f(temp_f1, temp_f2);
|
||||||
fp->x80_self_vel.x = (f32) (ness_attr->x54_PK_THUNDER_2_MOMENTUM *
|
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 *
|
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 //
|
// 0x80118570 //
|
||||||
@ -686,8 +686,7 @@ void ftNess_SpecialAirHi_Action(
|
|||||||
NULL, 0.0f, 1.0f, 0.0f);
|
NULL, 0.0f, 1.0f, 0.0f);
|
||||||
fighter_data2 = GET_FIGHTER(fighter_gobj);
|
fighter_data2 = GET_FIGHTER(fighter_gobj);
|
||||||
temp_attr = getFtSpecialAttrs(fighter_data2);
|
temp_attr = getFtSpecialAttrs(fighter_data2);
|
||||||
fighter_data2->nessVars[0].SpecialHi.unkVar =
|
fighter_data2->nessVars.SpecialHi.unkVar = temp_attr->x58_PK_THUNDER_2_UNK1;
|
||||||
temp_attr->x58_PK_THUNDER_2_UNK1;
|
|
||||||
fighter_data3 = GET_FIGHTER(fighter_gobj);
|
fighter_data3 = GET_FIGHTER(fighter_gobj);
|
||||||
func_8007592C(
|
func_8007592C(
|
||||||
fighter_data3, 0,
|
fighter_data3, 0,
|
||||||
@ -762,20 +761,20 @@ void ftNess_SpecialHiHold_Anim(
|
|||||||
Fighter* fighter_data3;
|
Fighter* fighter_data3;
|
||||||
|
|
||||||
fp = fighter_gobj->user_data;
|
fp = fighter_gobj->user_data;
|
||||||
thunderTimer = fp->nessVars[0].SpecialHi.thunderTimerLoop1;
|
thunderTimer = fp->nessVars.SpecialHi.thunderTimerLoop1;
|
||||||
if (thunderTimer > 0) {
|
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) {
|
if (fp->sa.ness.x2244_pkThunderGObj == NULL) {
|
||||||
thunderTimer2 = fp->nessVars[0].SpecialHi.thunderTimerLoop2;
|
thunderTimer2 = fp->nessVars.SpecialHi.thunderTimerLoop2;
|
||||||
if (thunderTimer2 > 0) {
|
if (thunderTimer2 > 0) {
|
||||||
fp->nessVars[0].SpecialHi.thunderTimerLoop2 =
|
fp->nessVars.SpecialHi.thunderTimerLoop2 =
|
||||||
(s32) (thunderTimer2 - 1);
|
(s32) (thunderTimer2 - 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (fp->sa.ness.x2244_pkThunderGObj == NULL) {
|
if (fp->sa.ness.x2244_pkThunderGObj == NULL) {
|
||||||
if (((s32) fp->nessVars[0].SpecialHi.thunderTimerLoop1 <= 0) &&
|
if (((s32) fp->nessVars.SpecialHi.thunderTimerLoop1 <= 0) &&
|
||||||
((s32) fp->nessVars[0].SpecialHi.thunderTimerLoop2 <= 0))
|
((s32) fp->nessVars.SpecialHi.thunderTimerLoop2 <= 0))
|
||||||
{
|
{
|
||||||
Fighter_ActionStateChange_800693AC(
|
Fighter_ActionStateChange_800693AC(
|
||||||
fighter_gobj, AS_NESS_SPECIALHI_END, 0, NULL, 0.0f, 1.0f, 0.0f);
|
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;
|
Fighter* temp_fp;
|
||||||
|
|
||||||
temp_fp = fighter_gobj->user_data;
|
temp_fp = fighter_gobj->user_data;
|
||||||
temp_fp->nessVars[0].SpecialHi.jibakuGFX =
|
temp_fp->nessVars.SpecialHi.jibakuGFX =
|
||||||
(s32) (temp_fp->nessVars[0].SpecialHi.jibakuGFX + 1);
|
(s32) (temp_fp->nessVars.SpecialHi.jibakuGFX + 1);
|
||||||
if ((s32) temp_fp->nessVars[0].SpecialHi.jibakuGFX == 1) {
|
if ((s32) temp_fp->nessVars.SpecialHi.jibakuGFX == 1) {
|
||||||
fp = fighter_gobj->user_data;
|
fp = fighter_gobj->user_data;
|
||||||
ftNess_SpecialHiStopGFX(fighter_gobj);
|
ftNess_SpecialHiStopGFX(fighter_gobj);
|
||||||
ef_Spawn(0x4EF, fighter_gobj, fp->x5E8_fighterBones[4].x0_jobj);
|
ef_Spawn(0x4EF, fighter_gobj, fp->x5E8_fighterBones[4].x0_jobj);
|
||||||
@ -942,20 +941,20 @@ void ftNess_SpecialAirHiHold_Anim(
|
|||||||
Fighter* fighter_data_r30;
|
Fighter* fighter_data_r30;
|
||||||
|
|
||||||
fp = fighter_gobj->user_data;
|
fp = fighter_gobj->user_data;
|
||||||
thunderTimer1 = fp->nessVars[0].SpecialHi.thunderTimerLoop1;
|
thunderTimer1 = fp->nessVars.SpecialHi.thunderTimerLoop1;
|
||||||
if (thunderTimer1 > 0) {
|
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) {
|
if (fp->sa.ness.x2244_pkThunderGObj == NULL) {
|
||||||
thunderTimer2 = fp->nessVars[0].SpecialHi.thunderTimerLoop2;
|
thunderTimer2 = fp->nessVars.SpecialHi.thunderTimerLoop2;
|
||||||
if (thunderTimer2 > 0) {
|
if (thunderTimer2 > 0) {
|
||||||
fp->nessVars[0].SpecialHi.thunderTimerLoop2 =
|
fp->nessVars.SpecialHi.thunderTimerLoop2 =
|
||||||
(s32) (thunderTimer2 - 1);
|
(s32) (thunderTimer2 - 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (fp->sa.ness.x2244_pkThunderGObj == NULL) {
|
if (fp->sa.ness.x2244_pkThunderGObj == NULL) {
|
||||||
if (((s32) fp->nessVars[0].SpecialHi.thunderTimerLoop1 <= 0) &&
|
if (((s32) fp->nessVars.SpecialHi.thunderTimerLoop1 <= 0) &&
|
||||||
((s32) fp->nessVars[0].SpecialHi.thunderTimerLoop2 <= 0))
|
((s32) fp->nessVars.SpecialHi.thunderTimerLoop2 <= 0))
|
||||||
{
|
{
|
||||||
Fighter_ActionStateChange_800693AC(fighter_gobj,
|
Fighter_ActionStateChange_800693AC(fighter_gobj,
|
||||||
AS_NESS_SPECIALAIRHI_END, 0,
|
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_gobj, AS_NESS_SPECIALAIRHI, 0, NULL, 0.0f, 1.0f, 0.0f);
|
||||||
fighter_data4 = fighter_gobj->user_data;
|
fighter_data4 = fighter_gobj->user_data;
|
||||||
temp_attr = fighter_data4->x2D4_specialAttributes;
|
temp_attr = fighter_data4->x2D4_specialAttributes;
|
||||||
fighter_data4->nessVars[0].SpecialHi.unkVar =
|
fighter_data4->nessVars.SpecialHi.unkVar =
|
||||||
temp_attr->x58_PK_THUNDER_2_UNK1;
|
temp_attr->x58_PK_THUNDER_2_UNK1;
|
||||||
fighter_data_r30 = fighter_gobj->user_data;
|
fighter_data_r30 = fighter_gobj->user_data;
|
||||||
func_8007592C(fighter_data_r30, 0,
|
func_8007592C(fighter_data_r30, 0,
|
||||||
@ -1058,9 +1057,9 @@ void ftNess_SpecialAirHi_Anim(
|
|||||||
|
|
||||||
fp = fighter_gobj->user_data;
|
fp = fighter_gobj->user_data;
|
||||||
ness_attr = fp->x2D4_specialAttributes;
|
ness_attr = fp->x2D4_specialAttributes;
|
||||||
fp->nessVars[0].SpecialHi.jibakuGFX =
|
fp->nessVars.SpecialHi.jibakuGFX =
|
||||||
(s32) (fp->nessVars[0].SpecialHi.jibakuGFX + 1);
|
(s32) (fp->nessVars.SpecialHi.jibakuGFX + 1);
|
||||||
if ((s32) fp->nessVars[0].SpecialHi.jibakuGFX == 1) {
|
if ((s32) fp->nessVars.SpecialHi.jibakuGFX == 1) {
|
||||||
fighter_data2 = fighter_gobj->user_data;
|
fighter_data2 = fighter_gobj->user_data;
|
||||||
ftNess_SpecialHiStopGFX(fighter_gobj);
|
ftNess_SpecialHiStopGFX(fighter_gobj);
|
||||||
ef_Spawn(0x4EF, fighter_gobj,
|
ef_Spawn(0x4EF, fighter_gobj,
|
||||||
@ -1068,7 +1067,7 @@ void ftNess_SpecialAirHi_Anim(
|
|||||||
fighter_data2->sa.ness.x224C_thunderGFX = true;
|
fighter_data2->sa.ness.x224C_thunderGFX = true;
|
||||||
}
|
}
|
||||||
if (!ftAnim_IsFramesRemaining(fighter_gobj)) {
|
if (!ftAnim_IsFramesRemaining(fighter_gobj)) {
|
||||||
temp_f1 = fp->nessVars[0].SpecialHi.fallAccel;
|
temp_f1 = fp->nessVars.SpecialHi.fallAccel;
|
||||||
phi_f1 = temp_f1;
|
phi_f1 = temp_f1;
|
||||||
if (temp_f1 < 0.0f) {
|
if (temp_f1 < 0.0f) {
|
||||||
phi_f1 = -temp_f1;
|
phi_f1 = -temp_f1;
|
||||||
@ -1171,10 +1170,9 @@ inline void ThunderPhysTimer(HSD_GObj* fighter_gobj)
|
|||||||
s32 thunderPhysTimer;
|
s32 thunderPhysTimer;
|
||||||
|
|
||||||
temp_fp = fighter_gobj->user_data;
|
temp_fp = fighter_gobj->user_data;
|
||||||
thunderPhysTimer = temp_fp->nessVars[0].SpecialHi.gravityDelay;
|
thunderPhysTimer = temp_fp->nessVars.SpecialHi.gravityDelay;
|
||||||
if (thunderPhysTimer != 0) {
|
if (thunderPhysTimer != 0) {
|
||||||
temp_fp->nessVars[0].SpecialHi.gravityDelay =
|
temp_fp->nessVars.SpecialHi.gravityDelay = (s32) (thunderPhysTimer - 1);
|
||||||
(s32) (thunderPhysTimer - 1);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1231,7 +1229,7 @@ void ftNess_SpecialHi_Phys(
|
|||||||
} else if (temp_fp->xEC_ground_vel >= -9.999999747378752e-05f) {
|
} else if (temp_fp->xEC_ground_vel >= -9.999999747378752e-05f) {
|
||||||
temp_fp->xEC_ground_vel = temp_f2;
|
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) {
|
if (temp_fp->x80_self_vel.y <= 9.999999747378752e-05f) {
|
||||||
temp_fp->x80_self_vel.y = temp_f3;
|
temp_fp->x80_self_vel.y = temp_f3;
|
||||||
}
|
}
|
||||||
@ -1260,10 +1258,10 @@ void ftNess_SpecialAirHiStart_Phys(
|
|||||||
ftNessAttributes* ness_attr;
|
ftNessAttributes* ness_attr;
|
||||||
|
|
||||||
fp = fighter_gobj->user_data;
|
fp = fighter_gobj->user_data;
|
||||||
thunderPhysTimer = fp->nessVars[0].SpecialHi.gravityDelay;
|
thunderPhysTimer = fp->nessVars.SpecialHi.gravityDelay;
|
||||||
ness_attr = fp->x2D4_specialAttributes;
|
ness_attr = fp->x2D4_specialAttributes;
|
||||||
if (thunderPhysTimer != 0) {
|
if (thunderPhysTimer != 0) {
|
||||||
fp->nessVars[0].SpecialHi.gravityDelay = thunderPhysTimer - 1;
|
fp->nessVars.SpecialHi.gravityDelay = thunderPhysTimer - 1;
|
||||||
goto block_friction;
|
goto block_friction;
|
||||||
}
|
}
|
||||||
func_8007D494(fp, ness_attr->x50_PK_THUNDER_FALL_ACCEL,
|
func_8007D494(fp, ness_attr->x50_PK_THUNDER_FALL_ACCEL,
|
||||||
@ -1287,10 +1285,10 @@ void ftNess_SpecialAirHiHold_Phys(
|
|||||||
ftNessAttributes* ness_attr;
|
ftNessAttributes* ness_attr;
|
||||||
|
|
||||||
fp = fighter_gobj->user_data;
|
fp = fighter_gobj->user_data;
|
||||||
thunderPhysTimer = fp->nessVars[0].SpecialHi.gravityDelay;
|
thunderPhysTimer = fp->nessVars.SpecialHi.gravityDelay;
|
||||||
ness_attr = fp->x2D4_specialAttributes;
|
ness_attr = fp->x2D4_specialAttributes;
|
||||||
if (thunderPhysTimer != 0) {
|
if (thunderPhysTimer != 0) {
|
||||||
fp->nessVars[0].SpecialHi.gravityDelay = thunderPhysTimer - 1;
|
fp->nessVars.SpecialHi.gravityDelay = thunderPhysTimer - 1;
|
||||||
goto block_friction;
|
goto block_friction;
|
||||||
}
|
}
|
||||||
func_8007D494(fp, ness_attr->x50_PK_THUNDER_FALL_ACCEL,
|
func_8007D494(fp, ness_attr->x50_PK_THUNDER_FALL_ACCEL,
|
||||||
@ -1312,10 +1310,10 @@ void ftNess_SpecialAirHiEnd_Phys(
|
|||||||
ftNessAttributes* ness_attr;
|
ftNessAttributes* ness_attr;
|
||||||
|
|
||||||
fp = fighter_gobj->user_data;
|
fp = fighter_gobj->user_data;
|
||||||
thunderPhysTimer = fp->nessVars[0].SpecialHi.gravityDelay;
|
thunderPhysTimer = fp->nessVars.SpecialHi.gravityDelay;
|
||||||
ness_attr = fp->x2D4_specialAttributes;
|
ness_attr = fp->x2D4_specialAttributes;
|
||||||
if (thunderPhysTimer != 0) {
|
if (thunderPhysTimer != 0) {
|
||||||
fp->nessVars[0].SpecialHi.gravityDelay = thunderPhysTimer - 1;
|
fp->nessVars.SpecialHi.gravityDelay = thunderPhysTimer - 1;
|
||||||
goto block_friction;
|
goto block_friction;
|
||||||
}
|
}
|
||||||
func_8007D494(fp, ness_attr->x50_PK_THUNDER_FALL_ACCEL,
|
func_8007D494(fp, ness_attr->x50_PK_THUNDER_FALL_ACCEL,
|
||||||
@ -1394,21 +1392,21 @@ void ftNess_SpecialAirHi_Phys(
|
|||||||
if (temp_f2 <= 9.999999747378752e-05f) {
|
if (temp_f2 <= 9.999999747378752e-05f) {
|
||||||
phi_f31 = phi_f1;
|
phi_f31 = phi_f1;
|
||||||
}
|
}
|
||||||
fp->x80_self_vel.x = phi_f31 * cosf(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[0].SpecialHi.aerialVel);
|
fp->x80_self_vel.y = phi_f31 * sinf(fp->nessVars.SpecialHi.aerialVel);
|
||||||
ftNess_atan2(fighter_gobj);
|
ftNess_atan2(fighter_gobj);
|
||||||
fp->x2374_Vec3 = fp->x80_self_vel;
|
fp->x2374_Vec3 = fp->x80_self_vel;
|
||||||
if ((u32) fp->x2200_ftcmd_var0 == 1U) {
|
if ((u32) fp->x2200_ftcmd_var0 == 1U) {
|
||||||
fp->nessVars[0].SpecialHi.fallAccel =
|
fp->nessVars.SpecialHi.fallAccel =
|
||||||
(f32) fp->nessVars[0].SpecialHi.fallAccel -
|
(f32) fp->nessVars.SpecialHi.fallAccel -
|
||||||
ness_attr->x50_PK_THUNDER_FALL_ACCEL;
|
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)
|
-ness_attr->x54_PK_THUNDER_2_MOMENTUM)
|
||||||
{
|
{
|
||||||
fp->nessVars[0].SpecialHi.fallAccel =
|
fp->nessVars.SpecialHi.fallAccel =
|
||||||
-ness_attr->x54_PK_THUNDER_2_MOMENTUM;
|
-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);
|
func_8007D60C(fp);
|
||||||
temp_fp = fighter_gobj->user_data;
|
temp_fp = fighter_gobj->user_data;
|
||||||
temp_attr = temp_fp->x2D4_specialAttributes;
|
temp_attr = temp_fp->x2D4_specialAttributes;
|
||||||
temp_fp->nessVars[0].SpecialHi.thunderTimerLoop1 =
|
temp_fp->nessVars.SpecialHi.thunderTimerLoop1 =
|
||||||
(s32) temp_attr->x40_PK_THUNDER_LOOP1;
|
(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;
|
(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;
|
(s32) temp_attr->x48_PK_THUNDER_GRAVITY_DELAY;
|
||||||
temp_fp->nessVars[0].SpecialHi.fallAccel = 0.0f;
|
temp_fp->nessVars.SpecialHi.fallAccel = 0.0f;
|
||||||
temp_fp->nessVars[0].SpecialHi.unkVector1.z = 0.0f;
|
temp_fp->nessVars.SpecialHi.unkVector1.z = 0.0f;
|
||||||
temp_fp->nessVars[0].SpecialHi.unkVector1.y = 0.0f;
|
temp_fp->nessVars.SpecialHi.unkVector1.y = 0.0f;
|
||||||
temp_fp->nessVars[0].SpecialHi.unkVector1.x = 0.0f;
|
temp_fp->nessVars.SpecialHi.unkVector1.x = 0.0f;
|
||||||
temp_fp->nessVars[0].SpecialHi.unkVar4 = 0.0f;
|
temp_fp->nessVars.SpecialHi.unkVar4 = 0.0f;
|
||||||
temp_fp->nessVars[0].SpecialHi.unkVar3 = 0.0f;
|
temp_fp->nessVars.SpecialHi.unkVar3 = 0.0f;
|
||||||
temp_fp->cb.x21E4_callback_OnDeath2 = NULL;
|
temp_fp->cb.x21E4_callback_OnDeath2 = NULL;
|
||||||
temp_fp->cb.x21DC_callback_OnTakeDamage = NULL;
|
temp_fp->cb.x21DC_callback_OnTakeDamage = NULL;
|
||||||
func_8007592C(temp_fp, 0, 0.0f);
|
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 {
|
} else {
|
||||||
phi_f31 = M_PI / 2;
|
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,
|
(f32) (phi_f31 + atan2f(fp->x6F0_collData.x14C_ground.normal.y,
|
||||||
fp->x6F0_collData.x14C_ground.normal.x));
|
fp->x6F0_collData.x14C_ground.normal.x));
|
||||||
return;
|
return;
|
||||||
@ -1572,7 +1570,7 @@ void ftNess_SpecialHi_Coll(HSD_GObj* fighter_gobj) // Ness's grounded PK Thunder
|
|||||||
} else {
|
} else {
|
||||||
phi_f31_2 = -M_PI / 2;
|
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,
|
(f32) (phi_f31_2 + atan2f(fp->x6F0_collData.x14C_ground.normal.y,
|
||||||
fp->x6F0_collData.x14C_ground.normal.x));
|
fp->x6F0_collData.x14C_ground.normal.x));
|
||||||
}
|
}
|
||||||
|
@ -26,10 +26,10 @@ void ftNess_SpecialLwStart_Action(
|
|||||||
|
|
||||||
temp_fp = GET_FIGHTER(fighter_gobj);
|
temp_fp = GET_FIGHTER(fighter_gobj);
|
||||||
ness_attr = temp_fp->x2D4_specialAttributes;
|
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;
|
(s32) ness_attr->x74_PSI_MAGNET_RELEASE_LAG;
|
||||||
temp_fp->nessVars[0].SpecialLw.isRelease = 0;
|
temp_fp->nessVars.SpecialLw.isRelease = 0;
|
||||||
temp_fp->nessVars[0].SpecialLw.gravityDelay =
|
temp_fp->nessVars.SpecialLw.gravityDelay =
|
||||||
(s32) ness_attr->x84_PSI_MAGNET_FRAMES_BEFORE_GRAVITY;
|
(s32) ness_attr->x84_PSI_MAGNET_FRAMES_BEFORE_GRAVITY;
|
||||||
temp_fp->x2350_stateVar5 = 0;
|
temp_fp->x2350_stateVar5 = 0;
|
||||||
Fighter_ActionStateChange_800693AC(fighter_gobj, AS_NESS_SPECIALLW_START, 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);
|
temp_fp = GET_FIGHTER(fighter_gobj);
|
||||||
ness_attr = temp_fp->x2D4_specialAttributes;
|
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;
|
(s32) ness_attr->x74_PSI_MAGNET_RELEASE_LAG;
|
||||||
temp_fp->nessVars[0].SpecialLw.isRelease = 0;
|
temp_fp->nessVars.SpecialLw.isRelease = 0;
|
||||||
temp_fp->nessVars[0].SpecialLw.gravityDelay =
|
temp_fp->nessVars.SpecialLw.gravityDelay =
|
||||||
(s32) ness_attr->x84_PSI_MAGNET_FRAMES_BEFORE_GRAVITY;
|
(s32) ness_attr->x84_PSI_MAGNET_FRAMES_BEFORE_GRAVITY;
|
||||||
temp_fp->x2350_stateVar5 = 0;
|
temp_fp->x2350_stateVar5 = 0;
|
||||||
temp_fp->x80_self_vel.y = 0.0f;
|
temp_fp->x80_self_vel.y = 0.0f;
|
||||||
@ -78,7 +78,7 @@ void ftNess_SpecialLwStart_Anim(
|
|||||||
fighter_data2 = GET_FIGHTER(fighter_gobj);
|
fighter_data2 = GET_FIGHTER(fighter_gobj);
|
||||||
|
|
||||||
if (FLAGS_NONE(fighter_data2->input.x65C_heldInputs, HSD_BUTTON_B)) {
|
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)) {
|
if (!ftAnim_IsFramesRemaining(fighter_gobj)) {
|
||||||
@ -117,7 +117,7 @@ void ftNess_SpecialAirLwStart_Anim(
|
|||||||
fighter_data2 = fp = GET_FIGHTER(fighter_gobj);
|
fighter_data2 = fp = GET_FIGHTER(fighter_gobj);
|
||||||
|
|
||||||
if ((fighter_data2->input.x65C_heldInputs & HSD_BUTTON_B) == false) {
|
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)) {
|
if (!ftAnim_IsFramesRemaining(fighter_gobj)) {
|
||||||
@ -177,9 +177,9 @@ void ftNess_SpecialAirLwStart_Phys(
|
|||||||
fp = GET_FIGHTER(fighter_gobj);
|
fp = GET_FIGHTER(fighter_gobj);
|
||||||
attr = &fp->x110_attr;
|
attr = &fp->x110_attr;
|
||||||
ness_attr = fp->x2D4_specialAttributes;
|
ness_attr = fp->x2D4_specialAttributes;
|
||||||
gravityDelay = fp->nessVars[0].SpecialLw.gravityDelay;
|
gravityDelay = fp->nessVars.SpecialLw.gravityDelay;
|
||||||
if (gravityDelay != 0) {
|
if (gravityDelay != 0) {
|
||||||
fp->nessVars[0].SpecialLw.gravityDelay = gravityDelay - 1;
|
fp->nessVars.SpecialLw.gravityDelay = gravityDelay - 1;
|
||||||
goto block_end;
|
goto block_end;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -253,14 +253,14 @@ void ftNess_SpecialLwHold_Anim(
|
|||||||
|
|
||||||
fp = GET_FIGHTER(fighter_gobj);
|
fp = GET_FIGHTER(fighter_gobj);
|
||||||
if ((fp->input.x65C_heldInputs & HSD_BUTTON_B) == false) {
|
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) {
|
if (fp->nessVars.SpecialLw.releaseLag > 0) {
|
||||||
fp->nessVars[0].SpecialLw.releaseLag--;
|
fp->nessVars.SpecialLw.releaseLag--;
|
||||||
}
|
}
|
||||||
if (((s32) fp->nessVars[0].SpecialLw.releaseLag <= 0) &&
|
if (((s32) fp->nessVars.SpecialLw.releaseLag <= 0) &&
|
||||||
((s32) fp->nessVars[0].SpecialLw.isRelease != 0))
|
((s32) fp->nessVars.SpecialLw.isRelease != 0))
|
||||||
{
|
{
|
||||||
if ((s32) fp->xE0_ground_or_air == GA_Ground) {
|
if ((s32) fp->xE0_ground_or_air == GA_Ground) {
|
||||||
ftNess_SpecialLwEnd_Action(fighter_gobj);
|
ftNess_SpecialLwEnd_Action(fighter_gobj);
|
||||||
@ -294,15 +294,15 @@ void ftNess_SpecialAirLwHold_Anim(
|
|||||||
|
|
||||||
fp = GET_FIGHTER(fighter_gobj);
|
fp = GET_FIGHTER(fighter_gobj);
|
||||||
if ((fp->input.x65C_heldInputs & HSD_BUTTON_B) == false) {
|
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) {
|
if (fp->nessVars.SpecialLw.releaseLag > 0) {
|
||||||
fp->nessVars[0].SpecialLw.releaseLag =
|
fp->nessVars.SpecialLw.releaseLag =
|
||||||
(s32) (fp->nessVars[0].SpecialLw.releaseLag - 1);
|
(s32) (fp->nessVars.SpecialLw.releaseLag - 1);
|
||||||
}
|
}
|
||||||
if (((s32) fp->nessVars[0].SpecialLw.releaseLag <= 0) &&
|
if (((s32) fp->nessVars.SpecialLw.releaseLag <= 0) &&
|
||||||
((s32) fp->nessVars[0].SpecialLw.isRelease != 0))
|
((s32) fp->nessVars.SpecialLw.isRelease != 0))
|
||||||
{
|
{
|
||||||
if ((s32) fp->xE0_ground_or_air == GA_Ground) {
|
if ((s32) fp->xE0_ground_or_air == GA_Ground) {
|
||||||
ftNess_SpecialLwEnd_Action(fighter_gobj);
|
ftNess_SpecialLwEnd_Action(fighter_gobj);
|
||||||
@ -359,9 +359,9 @@ void ftNess_SpecialAirLwHold_Phys(
|
|||||||
ness_attr = fp->x2D4_specialAttributes;
|
ness_attr = fp->x2D4_specialAttributes;
|
||||||
attr = &fp->x110_attr;
|
attr = &fp->x110_attr;
|
||||||
|
|
||||||
magnetTimer = fp->nessVars[0].SpecialLw.gravityDelay;
|
magnetTimer = fp->nessVars.SpecialLw.gravityDelay;
|
||||||
if (magnetTimer != 0) {
|
if (magnetTimer != 0) {
|
||||||
fp->nessVars[0].SpecialLw.gravityDelay = magnetTimer - 1;
|
fp->nessVars.SpecialLw.gravityDelay = magnetTimer - 1;
|
||||||
goto block_end;
|
goto block_end;
|
||||||
}
|
}
|
||||||
func_8007D494(fp, ness_attr->x8C_PSI_MAGNET_FALL_ACCEL,
|
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;
|
Fighter* temp_r29 = temp_r30 = arg0->user_data;
|
||||||
|
|
||||||
if ((temp_r29->input.x65C_heldInputs & HSD_BUTTON_B) == false) {
|
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) {
|
if (temp_r29->nessVars.SpecialLw.releaseLag > 0) {
|
||||||
temp_r29->nessVars[0].SpecialLw.releaseLag =
|
temp_r29->nessVars.SpecialLw.releaseLag =
|
||||||
temp_r29->nessVars[0].SpecialLw.releaseLag - 1;
|
temp_r29->nessVars.SpecialLw.releaseLag - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
GetAttrStuff(arg0);
|
GetAttrStuff(arg0);
|
||||||
@ -545,12 +545,12 @@ void ftNess_SpecialAirLwTurn_Anim(HSD_GObj* arg0)
|
|||||||
Fighter* temp_r29 = temp_r30 = arg0->user_data;
|
Fighter* temp_r29 = temp_r30 = arg0->user_data;
|
||||||
|
|
||||||
if ((temp_r29->input.x65C_heldInputs & HSD_BUTTON_B) == false) {
|
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) {
|
if (temp_r29->nessVars.SpecialLw.releaseLag > 0) {
|
||||||
temp_r29->nessVars[0].SpecialLw.releaseLag =
|
temp_r29->nessVars.SpecialLw.releaseLag =
|
||||||
temp_r29->nessVars[0].SpecialLw.releaseLag - 1;
|
temp_r29->nessVars.SpecialLw.releaseLag - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
GetAttrStuff(arg0);
|
GetAttrStuff(arg0);
|
||||||
@ -600,9 +600,9 @@ void ftNess_SpecialAirLwTurn_Phys(
|
|||||||
ness_attr = fp->x2D4_specialAttributes;
|
ness_attr = fp->x2D4_specialAttributes;
|
||||||
attr = &fp->x110_attr;
|
attr = &fp->x110_attr;
|
||||||
|
|
||||||
magnetTimer = fp->nessVars[0].SpecialLw.gravityDelay;
|
magnetTimer = fp->nessVars.SpecialLw.gravityDelay;
|
||||||
if (magnetTimer != 0) {
|
if (magnetTimer != 0) {
|
||||||
fp->nessVars[0].SpecialLw.gravityDelay = magnetTimer - 1;
|
fp->nessVars.SpecialLw.gravityDelay = magnetTimer - 1;
|
||||||
goto block_end;
|
goto block_end;
|
||||||
}
|
}
|
||||||
func_8007D494(fp, ness_attr->x8C_PSI_MAGNET_FALL_ACCEL,
|
func_8007D494(fp, ness_attr->x8C_PSI_MAGNET_FALL_ACCEL,
|
||||||
@ -675,8 +675,8 @@ bool ftNess_SpecialLwHold_GroundOrAir(
|
|||||||
ftNessAttributes* attrs;
|
ftNessAttributes* attrs;
|
||||||
|
|
||||||
temp_r3 = arg0->user_data;
|
temp_r3 = arg0->user_data;
|
||||||
if (((s32) temp_r3->nessVars[0].SpecialLw.releaseLag <= 0) &&
|
if (((s32) temp_r3->nessVars.SpecialLw.releaseLag <= 0) &&
|
||||||
((s32) temp_r3->nessVars[0].SpecialLw.isRelease != false))
|
((s32) temp_r3->nessVars.SpecialLw.isRelease != false))
|
||||||
{
|
{
|
||||||
if ((s32) temp_r3->xE0_ground_or_air == GA_Ground) {
|
if ((s32) temp_r3->xE0_ground_or_air == GA_Ground) {
|
||||||
ftNess_SpecialLwEnd_Action(arg0);
|
ftNess_SpecialLwEnd_Action(arg0);
|
||||||
@ -735,17 +735,17 @@ void ftNess_SpecialLwHit_Anim(
|
|||||||
|
|
||||||
temp_r4 = arg0->user_data;
|
temp_r4 = arg0->user_data;
|
||||||
if (FLAGS_NONE(temp_r4->input.x65C_heldInputs, HSD_BUTTON_B)) {
|
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) {
|
if (temp_r4->nessVars.SpecialLw.releaseLag > 0) {
|
||||||
temp_r4->nessVars[0].SpecialLw.releaseLag =
|
temp_r4->nessVars.SpecialLw.releaseLag =
|
||||||
(s32) (temp_r4->nessVars[0].SpecialLw.releaseLag - 1);
|
(s32) (temp_r4->nessVars.SpecialLw.releaseLag - 1);
|
||||||
}
|
}
|
||||||
if (!ftAnim_IsFramesRemaining(arg0)) {
|
if (!ftAnim_IsFramesRemaining(arg0)) {
|
||||||
temp_r3_2 = arg0->user_data;
|
temp_r3_2 = arg0->user_data;
|
||||||
if (((s32) temp_r3_2->nessVars[0].SpecialLw.releaseLag <= 0) &&
|
if (((s32) temp_r3_2->nessVars.SpecialLw.releaseLag <= 0) &&
|
||||||
((s32) temp_r3_2->nessVars[0].SpecialLw.isRelease != 0))
|
((s32) temp_r3_2->nessVars.SpecialLw.isRelease != 0))
|
||||||
{
|
{
|
||||||
if ((s32) temp_r3_2->xE0_ground_or_air == GA_Ground) {
|
if ((s32) temp_r3_2->xE0_ground_or_air == GA_Ground) {
|
||||||
ftNess_SpecialLwEnd_Action(arg0);
|
ftNess_SpecialLwEnd_Action(arg0);
|
||||||
@ -800,12 +800,12 @@ void ftNess_SpecialAirLwHit_Anim(
|
|||||||
|
|
||||||
temp_r4 = arg0->user_data;
|
temp_r4 = arg0->user_data;
|
||||||
if ((temp_r4->input.x65C_heldInputs & HSD_BUTTON_B) == false) {
|
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) {
|
if (temp_r4->nessVars.SpecialLw.releaseLag > 0) {
|
||||||
temp_r4->nessVars[0].SpecialLw.releaseLag =
|
temp_r4->nessVars.SpecialLw.releaseLag =
|
||||||
(s32) (temp_r4->nessVars[0].SpecialLw.releaseLag - 1);
|
(s32) (temp_r4->nessVars.SpecialLw.releaseLag - 1);
|
||||||
}
|
}
|
||||||
if ((!ftAnim_IsFramesRemaining(arg0)) &&
|
if ((!ftAnim_IsFramesRemaining(arg0)) &&
|
||||||
(ftNess_SpecialLwHold_GroundOrAir(arg0) != false))
|
(ftNess_SpecialLwHold_GroundOrAir(arg0) != false))
|
||||||
@ -868,9 +868,9 @@ void ftNess_SpecialAirLwHit_Phys(
|
|||||||
attrs = temp_r31->x2D4_specialAttributes;
|
attrs = temp_r31->x2D4_specialAttributes;
|
||||||
attributes = &temp_r31->x110_attr;
|
attributes = &temp_r31->x110_attr;
|
||||||
|
|
||||||
temp_r3 = temp_r31->nessVars[0].SpecialLw.gravityDelay;
|
temp_r3 = temp_r31->nessVars.SpecialLw.gravityDelay;
|
||||||
if (temp_r3 != 0) {
|
if (temp_r3 != 0) {
|
||||||
temp_r31->nessVars[0].SpecialLw.gravityDelay = temp_r3 - 1;
|
temp_r31->nessVars.SpecialLw.gravityDelay = temp_r3 - 1;
|
||||||
goto end_part;
|
goto end_part;
|
||||||
}
|
}
|
||||||
func_8007D494(temp_r31, attrs->x8C_PSI_MAGNET_FALL_ACCEL,
|
func_8007D494(temp_r31, attrs->x8C_PSI_MAGNET_FALL_ACCEL,
|
||||||
@ -1063,9 +1063,9 @@ void ftNess_SpecialAirLwEnd_Phys(
|
|||||||
attrs = temp_r31->x2D4_specialAttributes;
|
attrs = temp_r31->x2D4_specialAttributes;
|
||||||
attributes = &temp_r31->x110_attr;
|
attributes = &temp_r31->x110_attr;
|
||||||
|
|
||||||
temp_r3 = temp_r31->nessVars[0].SpecialLw.gravityDelay;
|
temp_r3 = temp_r31->nessVars.SpecialLw.gravityDelay;
|
||||||
if (temp_r3 != 0) {
|
if (temp_r3 != 0) {
|
||||||
temp_r31->nessVars[0].SpecialLw.gravityDelay = temp_r3 - 1;
|
temp_r31->nessVars.SpecialLw.gravityDelay = temp_r3 - 1;
|
||||||
goto end_part;
|
goto end_part;
|
||||||
}
|
}
|
||||||
func_8007D494(temp_r31, attrs->x8C_PSI_MAGNET_FALL_ACCEL,
|
func_8007D494(temp_r31, attrs->x8C_PSI_MAGNET_FALL_ACCEL,
|
||||||
|
@ -117,15 +117,15 @@ void ftNess_SpecialNStart_Action(
|
|||||||
temp_fp = GET_FIGHTER(fighter_gobj);
|
temp_fp = GET_FIGHTER(fighter_gobj);
|
||||||
ness_attr = getFtSpecialAttrs(temp_fp);
|
ness_attr = getFtSpecialAttrs(temp_fp);
|
||||||
|
|
||||||
temp_fp->nessVars[0].SpecialN.flashTimerLoop1 =
|
temp_fp->nessVars.SpecialN.flashTimerLoop1 =
|
||||||
(s32) ness_attr->x0_PKFLASH_TIMER1_LOOPFRAMES;
|
(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;
|
(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;
|
(s32) ness_attr->x8_PKFLASH_GRAVITY_DELAY;
|
||||||
|
|
||||||
temp_fp->sa.ness.x2240_flashGObj = NULL;
|
temp_fp->sa.ness.x2240_flashGObj = NULL;
|
||||||
temp_fp->nessVars[0].SpecialN.flashTimerMin =
|
temp_fp->nessVars.SpecialN.flashTimerMin =
|
||||||
(s32) ness_attr->xC_PKFLASH_MINCHARGEFRAMES;
|
(s32) ness_attr->xC_PKFLASH_MINCHARGEFRAMES;
|
||||||
temp_fp->cb.x21E4_callback_OnDeath2 = NULL;
|
temp_fp->cb.x21E4_callback_OnDeath2 = NULL;
|
||||||
temp_fp->cb.x21DC_callback_OnTakeDamage = NULL;
|
temp_fp->cb.x21DC_callback_OnTakeDamage = NULL;
|
||||||
@ -160,16 +160,16 @@ void ftNess_SpecialAirNStart_Action(
|
|||||||
temp_fp = GET_FIGHTER(fighter_gobj);
|
temp_fp = GET_FIGHTER(fighter_gobj);
|
||||||
ness_attr = getFtSpecialAttrs(temp_fp);
|
ness_attr = getFtSpecialAttrs(temp_fp);
|
||||||
|
|
||||||
temp_fp->nessVars[0].SpecialN.flashTimerLoop1 =
|
temp_fp->nessVars.SpecialN.flashTimerLoop1 =
|
||||||
(s32) ness_attr->x0_PKFLASH_TIMER1_LOOPFRAMES;
|
(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;
|
(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;
|
(s32) ness_attr->x8_PKFLASH_GRAVITY_DELAY;
|
||||||
|
|
||||||
temp_fp->sa.ness.x2240_flashGObj = NULL;
|
temp_fp->sa.ness.x2240_flashGObj = NULL;
|
||||||
|
|
||||||
temp_fp->nessVars[0].SpecialN.flashTimerMin =
|
temp_fp->nessVars.SpecialN.flashTimerMin =
|
||||||
(s32) ness_attr->xC_PKFLASH_MINCHARGEFRAMES;
|
(s32) ness_attr->xC_PKFLASH_MINCHARGEFRAMES;
|
||||||
|
|
||||||
temp_fp->cb.x21E4_callback_OnDeath2 = NULL;
|
temp_fp->cb.x21E4_callback_OnDeath2 = NULL;
|
||||||
@ -225,17 +225,17 @@ void ftNess_SpecialNHold_Anim(
|
|||||||
Fighter* fp;
|
Fighter* fp;
|
||||||
|
|
||||||
fp = GET_FIGHTER(fighter_gobj);
|
fp = GET_FIGHTER(fighter_gobj);
|
||||||
if (fp->nessVars[0].SpecialN.flashTimerLoop1 != 0) {
|
if (fp->nessVars.SpecialN.flashTimerLoop1 != 0) {
|
||||||
fp->nessVars[0].SpecialN.flashTimerLoop1--;
|
fp->nessVars.SpecialN.flashTimerLoop1--;
|
||||||
}
|
}
|
||||||
if (fp->sa.ness.x2240_flashGObj == NULL) {
|
if (fp->sa.ness.x2240_flashGObj == NULL) {
|
||||||
if (fp->nessVars[0].SpecialN.flashTimerLoop2 != 0) {
|
if (fp->nessVars.SpecialN.flashTimerLoop2 != 0) {
|
||||||
fp->nessVars[0].SpecialN.flashTimerLoop2--;
|
fp->nessVars.SpecialN.flashTimerLoop2--;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (fp->sa.ness.x2240_flashGObj == NULL) {
|
if (fp->sa.ness.x2240_flashGObj == NULL) {
|
||||||
if (((s32) fp->nessVars[0].SpecialN.flashTimerLoop1 <= 0) &&
|
if (((s32) fp->nessVars.SpecialN.flashTimerLoop1 <= 0) &&
|
||||||
((s32) fp->nessVars[0].SpecialN.flashTimerLoop2 <= 0))
|
((s32) fp->nessVars.SpecialN.flashTimerLoop2 <= 0))
|
||||||
{
|
{
|
||||||
Fighter_ActionStateChange_800693AC(
|
Fighter_ActionStateChange_800693AC(
|
||||||
fighter_gobj, AS_NESS_SPECIALN_END, 0, NULL, 0.0f, 1.0f, 0.0f);
|
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);
|
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
||||||
ftNessAttributes* ness_attr = fp->x2D4_specialAttributes;
|
ftNessAttributes* ness_attr = fp->x2D4_specialAttributes;
|
||||||
|
|
||||||
fp->nessVars[0].SpecialN.flashTimerLoop1 =
|
fp->nessVars.SpecialN.flashTimerLoop1 =
|
||||||
ness_attr->x0_PKFLASH_TIMER1_LOOPFRAMES;
|
ness_attr->x0_PKFLASH_TIMER1_LOOPFRAMES;
|
||||||
fp->nessVars[0].SpecialN.flashTimerLoop2 =
|
fp->nessVars.SpecialN.flashTimerLoop2 =
|
||||||
ness_attr->x4_PKFLASH_TIMER2_LOOPFRAMES;
|
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->sa.ness.x2240_flashGObj = NULL;
|
||||||
fp->nessVars[0].SpecialN.flashTimerMin =
|
fp->nessVars.SpecialN.flashTimerMin = ness_attr->xC_PKFLASH_MINCHARGEFRAMES;
|
||||||
ness_attr->xC_PKFLASH_MINCHARGEFRAMES;
|
|
||||||
fp->cb.x21E4_callback_OnDeath2 = NULL;
|
fp->cb.x21E4_callback_OnDeath2 = NULL;
|
||||||
fp->cb.x21DC_callback_OnTakeDamage = NULL;
|
fp->cb.x21DC_callback_OnTakeDamage = NULL;
|
||||||
}
|
}
|
||||||
@ -345,17 +344,17 @@ void ftNess_SpecialAirNHold_Anim(
|
|||||||
{
|
{
|
||||||
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
||||||
|
|
||||||
if (fp->nessVars[0].SpecialN.flashTimerLoop1 != 0) {
|
if (fp->nessVars.SpecialN.flashTimerLoop1 != 0) {
|
||||||
fp->nessVars[0].SpecialN.flashTimerLoop1--;
|
fp->nessVars.SpecialN.flashTimerLoop1--;
|
||||||
}
|
}
|
||||||
if (fp->sa.ness.x2240_flashGObj == NULL) {
|
if (fp->sa.ness.x2240_flashGObj == NULL) {
|
||||||
if (fp->nessVars[0].SpecialN.flashTimerLoop2 != 0) {
|
if (fp->nessVars.SpecialN.flashTimerLoop2 != 0) {
|
||||||
fp->nessVars[0].SpecialN.flashTimerLoop2--;
|
fp->nessVars.SpecialN.flashTimerLoop2--;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (fp->sa.ness.x2240_flashGObj == NULL) {
|
if (fp->sa.ness.x2240_flashGObj == NULL) {
|
||||||
if (((s32) fp->nessVars[0].SpecialN.flashTimerLoop1 <= 0) &&
|
if (((s32) fp->nessVars.SpecialN.flashTimerLoop1 <= 0) &&
|
||||||
((s32) fp->nessVars[0].SpecialN.flashTimerLoop2 <= 0))
|
((s32) fp->nessVars.SpecialN.flashTimerLoop2 <= 0))
|
||||||
{
|
{
|
||||||
Fighter_ActionStateChange_800693AC(fighter_gobj,
|
Fighter_ActionStateChange_800693AC(fighter_gobj,
|
||||||
AS_NESS_SPECIALAIRN_END, 0, NULL,
|
AS_NESS_SPECIALAIRN_END, 0, NULL,
|
||||||
@ -426,9 +425,9 @@ void ftNess_SpecialNHold_IASA(
|
|||||||
s32 phi_r0;
|
s32 phi_r0;
|
||||||
|
|
||||||
fp = GET_FIGHTER(fighter_gobj);
|
fp = GET_FIGHTER(fighter_gobj);
|
||||||
fp->nessVars[0].SpecialN.flashTimerMin--;
|
fp->nessVars.SpecialN.flashTimerMin--;
|
||||||
if ((s32) fp->nessVars[0].SpecialN.flashTimerMin <= 0) {
|
if ((s32) fp->nessVars.SpecialN.flashTimerMin <= 0) {
|
||||||
fp->nessVars[0].SpecialN.flashTimerMin = 0;
|
fp->nessVars.SpecialN.flashTimerMin = 0;
|
||||||
phi_r0 = true;
|
phi_r0 = true;
|
||||||
} else {
|
} else {
|
||||||
phi_r0 = false;
|
phi_r0 = false;
|
||||||
@ -472,10 +471,10 @@ void ftNess_SpecialAirNHold_IASA(
|
|||||||
s32 phi_r0;
|
s32 phi_r0;
|
||||||
|
|
||||||
fp = GET_FIGHTER(fighter_gobj);
|
fp = GET_FIGHTER(fighter_gobj);
|
||||||
fp->nessVars[0].SpecialN.flashTimerMin =
|
fp->nessVars.SpecialN.flashTimerMin =
|
||||||
(s32) (fp->nessVars[0].SpecialN.flashTimerMin - 1);
|
(s32) (fp->nessVars.SpecialN.flashTimerMin - 1);
|
||||||
if ((s32) fp->nessVars[0].SpecialN.flashTimerMin <= 0) {
|
if ((s32) fp->nessVars.SpecialN.flashTimerMin <= 0) {
|
||||||
fp->nessVars[0].SpecialN.flashTimerMin = 0;
|
fp->nessVars.SpecialN.flashTimerMin = 0;
|
||||||
phi_r0 = true;
|
phi_r0 = true;
|
||||||
} else {
|
} else {
|
||||||
phi_r0 = false;
|
phi_r0 = false;
|
||||||
@ -507,8 +506,8 @@ inline void GravityDelay(HSD_GObj* fighter_gobj) // Inline to set remaining
|
|||||||
{
|
{
|
||||||
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
||||||
|
|
||||||
if (fp->nessVars[0].SpecialN.gravityDelay != 0) {
|
if (fp->nessVars.SpecialN.gravityDelay != 0) {
|
||||||
fp->nessVars[0].SpecialN.gravityDelay--;
|
fp->nessVars.SpecialN.gravityDelay--;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -548,8 +547,8 @@ void ftNess_SpecialAirNStart_Phys(
|
|||||||
f32 fallAccel;
|
f32 fallAccel;
|
||||||
f32 terminalVelocity;
|
f32 terminalVelocity;
|
||||||
|
|
||||||
if (fp->nessVars[0].SpecialN.gravityDelay != 0) {
|
if (fp->nessVars.SpecialN.gravityDelay != 0) {
|
||||||
fp->nessVars[0].SpecialN.gravityDelay--;
|
fp->nessVars.SpecialN.gravityDelay--;
|
||||||
} else
|
} else
|
||||||
func_8007D494(fp, ness_attr->x14_PKFLASH_FALL_ACCEL,
|
func_8007D494(fp, ness_attr->x14_PKFLASH_FALL_ACCEL,
|
||||||
fp->x110_attr.x170_TerminalVelocity);
|
fp->x110_attr.x170_TerminalVelocity);
|
||||||
@ -569,8 +568,8 @@ void ftNess_SpecialAirNHold_Phys(
|
|||||||
f32 fallAccel;
|
f32 fallAccel;
|
||||||
f32 terminalVelocity;
|
f32 terminalVelocity;
|
||||||
|
|
||||||
if (fp->nessVars[0].SpecialN.gravityDelay != 0) {
|
if (fp->nessVars.SpecialN.gravityDelay != 0) {
|
||||||
fp->nessVars[0].SpecialN.gravityDelay--;
|
fp->nessVars.SpecialN.gravityDelay--;
|
||||||
} else
|
} else
|
||||||
func_8007D494(fp, ness_attr->x14_PKFLASH_FALL_ACCEL,
|
func_8007D494(fp, ness_attr->x14_PKFLASH_FALL_ACCEL,
|
||||||
fp->x110_attr.x170_TerminalVelocity);
|
fp->x110_attr.x170_TerminalVelocity);
|
||||||
@ -590,8 +589,8 @@ void ftNess_SpecialAirNEnd_Phys(
|
|||||||
f32 fallAccel;
|
f32 fallAccel;
|
||||||
f32 terminalVelocity;
|
f32 terminalVelocity;
|
||||||
|
|
||||||
if (fp->nessVars[0].SpecialN.gravityDelay != 0) {
|
if (fp->nessVars.SpecialN.gravityDelay != 0) {
|
||||||
fp->nessVars[0].SpecialN.gravityDelay--;
|
fp->nessVars.SpecialN.gravityDelay--;
|
||||||
} else
|
} else
|
||||||
func_8007D494(fp, ness_attr->x14_PKFLASH_FALL_ACCEL,
|
func_8007D494(fp, ness_attr->x14_PKFLASH_FALL_ACCEL,
|
||||||
fp->x110_attr.x170_TerminalVelocity);
|
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;
|
fp->sa.seak.x2268[i].y = fp->sa.seak.x2238[i].y;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fp->seakVars[0].SpecialS.x235C > 0) {
|
if (fp->seakVars.SpecialS.x235C > 0) {
|
||||||
fp->seakVars[0].SpecialS.x235C--;
|
fp->seakVars.SpecialS.x235C--;
|
||||||
|
|
||||||
if (fp->seakVars[0].SpecialS.x235C == 0)
|
if (fp->seakVars.SpecialS.x235C == 0)
|
||||||
ftSeakSpecialS_LoopChainHitCollisions(fighter_gobj);
|
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[2] > chain_val_sq ||
|
||||||
sums_of_squares[3] > chain_val_sq)
|
sums_of_squares[3] > chain_val_sq)
|
||||||
{
|
{
|
||||||
if (fp->seakVars[0].SpecialS.x235C <= 0) {
|
if (fp->seakVars.SpecialS.x235C <= 0) {
|
||||||
fp->seakVars[0].SpecialS.x235C = specialAttributes->x18;
|
fp->seakVars.SpecialS.x235C = specialAttributes->x18;
|
||||||
ftSeakSpecialS_LoopChainHitActivate(fighter_gobj);
|
ftSeakSpecialS_LoopChainHitActivate(fighter_gobj);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
s32 var = fp->seakVars[0].SpecialS.x2360;
|
s32 var = fp->seakVars.SpecialS.x2360;
|
||||||
if (var > 0) {
|
if (var > 0) {
|
||||||
fp->seakVars[0].SpecialS.x2360--;
|
fp->seakVars.SpecialS.x2360--;
|
||||||
} else {
|
} else {
|
||||||
fp->seakVars[0].SpecialS.x235C = 0;
|
fp->seakVars.SpecialS.x235C = 0;
|
||||||
ftSeakSpecialS_LoopChainHitCollisions(fighter_gobj);
|
ftSeakSpecialS_LoopChainHitCollisions(fighter_gobj);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -414,7 +414,7 @@ void ftSeak_ChainSomething(HSD_GObj* fighter_gobj)
|
|||||||
|
|
||||||
if (fp->sa.seak.x2234) {
|
if (fp->sa.seak.x2234) {
|
||||||
func_802BAF0C(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.x21D4_callback_EnterHitlag = &ftSeak_80110EE8;
|
||||||
fp2->cb.x21D8_callback_ExitHitlag = &ftSeak_ChainSomething;
|
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->sa.seak.x2234 == NULL) {
|
||||||
if (fp->xE0_ground_or_air == GA_Air)
|
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);
|
Fighter* fp = GET_FIGHTER(fighter_gobj);
|
||||||
fp->x2340_stateVar1 = 0;
|
fp->x2340_stateVar1 = 0;
|
||||||
|
|
||||||
if (fp->seakVars[0].SpecialS.x235C != 0)
|
if (fp->seakVars.SpecialS.x235C != 0)
|
||||||
ftSeak_80110AEC(fighter_gobj);
|
ftSeak_80110AEC(fighter_gobj);
|
||||||
|
|
||||||
if (fp->sa.seak.x2234 != NULL) {
|
if (fp->sa.seak.x2234 != NULL) {
|
||||||
@ -1055,7 +1055,7 @@ void ftSeak_80111EB4(HSD_GObj* fighter_gobj)
|
|||||||
Fighter* fp = fighter_gobj->user_data;
|
Fighter* fp = fighter_gobj->user_data;
|
||||||
fp->x2340_stateVar1 = 0;
|
fp->x2340_stateVar1 = 0;
|
||||||
|
|
||||||
if (fp->seakVars[0].SpecialS.x235C != 0)
|
if (fp->seakVars.SpecialS.x235C != 0)
|
||||||
ftSeak_80110AEC(fighter_gobj);
|
ftSeak_80110AEC(fighter_gobj);
|
||||||
|
|
||||||
if (fp->sa.seak.x2234 != NULL) {
|
if (fp->sa.seak.x2234 != NULL) {
|
||||||
|
@ -31,8 +31,8 @@ bool func_80081298(HSD_GObj* gobj)
|
|||||||
other_fp = other_gobj->user_data;
|
other_fp = other_gobj->user_data;
|
||||||
func_8003FFDC(other_fp->xC_playerID, other_fp->x221F_flag.bits.b4,
|
func_8003FFDC(other_fp->xC_playerID, other_fp->x221F_flag.bits.b4,
|
||||||
fp->xC_playerID, fp->x221F_flag.bits.b4,
|
fp->xC_playerID, fp->x221F_flag.bits.b4,
|
||||||
other_fp->commonVars[0].CliffCommon.ledgeID);
|
other_fp->commonVars.CliffCommon.ledgeID);
|
||||||
fp->x213C = other_fp->commonVars[0].CliffCommon.ledgeID;
|
fp->x213C = other_fp->commonVars.CliffCommon.ledgeID;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@ -70,9 +70,9 @@ void func_80081370(HSD_GObj* gobj)
|
|||||||
func_8007E2FC(gobj);
|
func_8007E2FC(gobj);
|
||||||
fp->x221D_flag.bits.b7 = 1;
|
fp->x221D_flag.bits.b7 = 1;
|
||||||
if (fp->facing_dir > 0.0f) {
|
if (fp->facing_dir > 0.0f) {
|
||||||
fp->commonVars[0].CliffCommon.ledgeID = fp->x6F0_collData.x44;
|
fp->commonVars.CliffCommon.ledgeID = fp->x6F0_collData.x44;
|
||||||
} else {
|
} else {
|
||||||
fp->commonVars[0].CliffCommon.ledgeID = fp->x6F0_collData.x40;
|
fp->commonVars.CliffCommon.ledgeID = fp->x6F0_collData.x40;
|
||||||
}
|
}
|
||||||
func_80081544(gobj);
|
func_80081544(gobj);
|
||||||
func_800881D8(fp, fp->x10C_ftData->x4C_collisionData->x28, 0x7F, 0x40);
|
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);
|
func_8007EBAC(fp, 0xC, 0);
|
||||||
|
|
||||||
if (fp->facing_dir > 0.0f) {
|
if (fp->facing_dir > 0.0f) {
|
||||||
func_80053ECC(fp->commonVars[0].CliffCommon.ledgeID, unkParam.x10);
|
func_80053ECC(fp->commonVars.CliffCommon.ledgeID, unkParam.x10);
|
||||||
} else {
|
} 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,
|
efAsync_Spawn(gobj, (void*) ((u32) gobj->user_data + 0x60C), 2, 0x41C, 0,
|
||||||
&unkParam.x10);
|
&unkParam.x10);
|
||||||
@ -105,11 +105,11 @@ void func_80081544(HSD_GObj* gobj)
|
|||||||
s32 dummy2[1];
|
s32 dummy2[1];
|
||||||
|
|
||||||
Fighter* fp = gobj->user_data;
|
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) {
|
if (fp->facing_dir > 0.0f) {
|
||||||
func_80053ECC(fp->commonVars[0].CliffCommon.ledgeID, sp10);
|
func_80053ECC(fp->commonVars.CliffCommon.ledgeID, sp10);
|
||||||
} else {
|
} else {
|
||||||
func_80053DA4(fp->commonVars[0].CliffCommon.ledgeID, sp10);
|
func_80053DA4(fp->commonVars.CliffCommon.ledgeID, sp10);
|
||||||
}
|
}
|
||||||
fp->xB0_pos.x =
|
fp->xB0_pos.x =
|
||||||
(f32) ((fp->x68C_transNPos.z * fp->facing_dir) + sp10[0]);
|
(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;
|
Fighter* fp = gobj->user_data;
|
||||||
func_800761C8(gobj);
|
func_800761C8(gobj);
|
||||||
if ((s32) fp->xE0_ground_or_air == GA_Air) {
|
if ((s32) fp->xE0_ground_or_air == GA_Air) {
|
||||||
func_8005811C(&fp->x6F0_collData,
|
func_8005811C(&fp->x6F0_collData, fp->commonVars.CliffCommon.ledgeID);
|
||||||
fp->commonVars[0].CliffCommon.ledgeID);
|
|
||||||
fp->x890_cameraBox->xC_flag.bits.b0 = 1;
|
fp->x890_cameraBox->xC_flag.bits.b0 = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
#include <melee/ft/chara/ftGameWatch/ftGameWatch_StateVars.h>
|
#include <melee/ft/chara/ftGameWatch/ftGameWatch_StateVars.h>
|
||||||
#include <melee/ft/chara/ftLuigi/ftLuigi_StateVars.h>
|
#include <melee/ft/chara/ftLuigi/ftLuigi_StateVars.h>
|
||||||
#include <melee/ft/chara/ftMario/ftMario_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/ftMewtwo/ftMewtwo_StateVars.h>
|
||||||
#include <melee/ft/chara/ftNess/ftNess_StateVars.h>
|
#include <melee/ft/chara/ftNess/ftNess_StateVars.h>
|
||||||
#include <melee/ft/chara/ftSeak/ftSeak_StateVars.h>
|
#include <melee/ft/chara/ftSeak/ftSeak_StateVars.h>
|
||||||
|
@ -1942,156 +1942,96 @@ struct Fighter {
|
|||||||
/* 0x2330 */ Vec2 x2330;
|
/* 0x2330 */ Vec2 x2330;
|
||||||
/* 0x2338 */ Vec2 x2338;
|
/* 0x2338 */ Vec2 x2338;
|
||||||
|
|
||||||
/* The following series of individual unions with array size 0 is a
|
union { // 0x2340
|
||||||
temporary hack to bypass compiler errors and size shifts for this mess of a
|
ftCommonStateVars commonVars;
|
||||||
struct. These StateVar structs should be one big union once the rest is
|
ftMarioStateVars marioVars;
|
||||||
cleaned up. */
|
ftCaptainStateVars captainVars;
|
||||||
|
ftFoxStateVars foxVars;
|
||||||
|
ftSeakStateVars seakVars;
|
||||||
|
ftNessStateVars nessVars;
|
||||||
|
ftLuigiStateVars luigiVars;
|
||||||
|
ftMewtwoStateVars mewtwoVars;
|
||||||
|
ftGameWatchStateVars gameWatchVars;
|
||||||
|
ftMasterhandStateVars masterhandVars;
|
||||||
|
|
||||||
union {
|
// Avoid adding members to this struct.
|
||||||
union {
|
// This is a hack, all these members should eventually
|
||||||
ftCommonStateVars commonVars[0]; // 0x2340
|
// migrate to the character-specific union members above.
|
||||||
};
|
|
||||||
union {
|
|
||||||
ftMarioStateVars marioVars[0]; // 0x2340
|
|
||||||
};
|
|
||||||
union {
|
|
||||||
ftCaptainStateVars captainVars[0]; // 0x2340
|
|
||||||
};
|
|
||||||
union {
|
|
||||||
ftFoxStateVars foxVars[0]; // 0x2340
|
|
||||||
};
|
|
||||||
union {
|
|
||||||
ftSeakStateVars seakVars[0]; // 0x2340
|
|
||||||
};
|
|
||||||
union {
|
|
||||||
ftNessStateVars nessVars[0]; // 0x2340
|
|
||||||
};
|
|
||||||
union {
|
|
||||||
ftLuigiStateVars luigiVars[0]; // 0x2340
|
|
||||||
};
|
|
||||||
union {
|
|
||||||
ftMewtwoStateVars mewtwoVars[0]; // 0x2340
|
|
||||||
};
|
|
||||||
union {
|
|
||||||
ftGameWatchStateVars gameWatchVars[0]; // 0x2340
|
|
||||||
};
|
|
||||||
/* 0x2340 */ s32 x2340_stateVar1;
|
|
||||||
/* 0x2340 */ u32 x2340_stateVar1_u32;
|
|
||||||
/* 0x2340 */ f32 x2340_f32;
|
|
||||||
};
|
|
||||||
union {
|
|
||||||
u32 x2344_stateVar2;
|
|
||||||
s32 x2344_stateVar2_s32;
|
|
||||||
void (*x2344_callback)(HSD_GObj*);
|
|
||||||
f32 x2344_f32;
|
|
||||||
struct {
|
struct {
|
||||||
union {
|
union {
|
||||||
Vec3 x2344_foxSpecialS[0];
|
/* 0x2340 */ s32 x2340_stateVar1;
|
||||||
|
/* 0x2340 */ u32 x2340_stateVar1_u32;
|
||||||
|
/* 0x2340 */ f32 x2340_f32;
|
||||||
};
|
};
|
||||||
|
union {
|
||||||
|
u32 x2344_stateVar2;
|
||||||
|
s32 x2344_stateVar2_s32;
|
||||||
|
f32 x2344_f32;
|
||||||
|
};
|
||||||
|
union {
|
||||||
|
/* 0x2348 */ u32 x2348_stateVar3;
|
||||||
|
/* 0x2348 */ s32 x2348_stateVar3_s32;
|
||||||
|
/* 0x2348 */ f32 x2348_stateVar3_f32;
|
||||||
|
};
|
||||||
|
union {
|
||||||
|
struct {
|
||||||
|
union {
|
||||||
|
/* 0x234C */ u32 x234C_stateVar4;
|
||||||
|
/* 0x234C */ s32 x234C_stateVar4_s32;
|
||||||
|
/* 0x234C */ f32 x234C_stateVar4_f32;
|
||||||
|
};
|
||||||
|
union {
|
||||||
|
/* 0x2350 */ u32 x2350_stateVar5;
|
||||||
|
/* 0x2350 */ s32 x2350_stateVar5_s32;
|
||||||
|
/* 0x2350 */ f32 x2350_stateVar5_f32;
|
||||||
|
};
|
||||||
|
union {
|
||||||
|
/* 0x2354 */ u32 x2354_stateVar6;
|
||||||
|
/* 0x2354 */ s32 x2354_stateVar6_s32;
|
||||||
|
/* 0x2354 */ f32 x2354_stateVar6_f32;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
/* 0x234C */ Vec3 x234C_pos;
|
||||||
|
};
|
||||||
|
union {
|
||||||
|
/* 0x2358 */ f32 x2358_stateVar7;
|
||||||
|
/* 0x2358 */ s32 x2358_stateVar7_s32;
|
||||||
|
};
|
||||||
|
union {
|
||||||
|
/* 0x235C */ f32 x235C;
|
||||||
|
/* 0x235C */ u32 x235C_u32;
|
||||||
|
/* 0x235C */ f32 x235C_f32;
|
||||||
|
};
|
||||||
|
union {
|
||||||
|
/* 0x2360 */ u32 x2360_u32;
|
||||||
|
/* 0x2360 */ s32 x2360;
|
||||||
|
/* 0x2360 */ f32 x2360_f32;
|
||||||
|
};
|
||||||
|
/* 0x2364 */ f32 x2364;
|
||||||
|
/* 0x2368 */ u32 x2368;
|
||||||
|
/* 0x236C */ u32 x236C;
|
||||||
|
/* 0x2370 */ u32 x2370;
|
||||||
|
union {
|
||||||
|
struct {
|
||||||
|
/* 0x2374 */ u32 x2374;
|
||||||
|
/* 0x2378 */ u32 x2378;
|
||||||
|
/* 0x237C */ u32 x237C;
|
||||||
|
};
|
||||||
|
/* 0x2374 */ Vec3 x2374_Vec3;
|
||||||
|
};
|
||||||
|
/* 0x2380 */ u32 x2380;
|
||||||
|
/* 0x2384 */ u32 x2384;
|
||||||
|
/* 0x2388 */ u32 x2388;
|
||||||
|
/* 0x238C */ u32 x238C;
|
||||||
|
/* 0x2390 */ f32 x2390;
|
||||||
|
/* 0x2394 */ s32 x2394;
|
||||||
|
/* 0x2394 */ Vec3 x2398;
|
||||||
|
/* 0x2394 */ Vec3 x23A4;
|
||||||
|
/* 0x23B0 */ s32 x23B0;
|
||||||
|
/* 0x23B4 */ s32 x23B4;
|
||||||
|
/* 0x23B8 */ s32 x23B8;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
union {
|
|
||||||
/* 0x2348 */ u32 x2348_stateVar3;
|
|
||||||
/* 0x2348 */ s32 x2348_stateVar3_s32;
|
|
||||||
/* 0x2348 */ f32 x2348_stateVar3_f32;
|
|
||||||
};
|
|
||||||
union {
|
|
||||||
struct {
|
|
||||||
union {
|
|
||||||
/* 0x234C */ u32 x234C_stateVar4;
|
|
||||||
/* 0x234C */ s32 x234C_stateVar4_s32;
|
|
||||||
/* 0x234C */ f32 x234C_stateVar4_f32;
|
|
||||||
};
|
|
||||||
union {
|
|
||||||
/* 0x2350 */ u32 x2350_stateVar5;
|
|
||||||
/* 0x2350 */ s32 x2350_stateVar5_s32;
|
|
||||||
/* 0x2350 */ f32 x2350_stateVar5_f32;
|
|
||||||
};
|
|
||||||
union {
|
|
||||||
/* 0x2354 */ u32 x2354_stateVar6;
|
|
||||||
/* 0x2354 */ s32 x2354_stateVar6_s32;
|
|
||||||
/* 0x2354 */ f32 x2354_stateVar6_f32;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
/* 0x234C */ Vec3 x234C_pos;
|
|
||||||
};
|
|
||||||
union {
|
|
||||||
/* 0x2358 */ f32 x2358_stateVar7;
|
|
||||||
/* 0x2358 */ s32 x2358_stateVar7_s32;
|
|
||||||
};
|
|
||||||
union {
|
|
||||||
/* 0x235C */ f32 x235C;
|
|
||||||
/* 0x235C */ u32 x235C_u32;
|
|
||||||
/* 0x235C */ s32 x235C_s32;
|
|
||||||
/* 0x235C */ f32 x235C_f32;
|
|
||||||
};
|
|
||||||
union {
|
|
||||||
/* 0x2360 */ u32 x2360_u32;
|
|
||||||
/* 0x2360 */ s32 x2360;
|
|
||||||
/* 0x2360 */ f32 x2360_f32;
|
|
||||||
};
|
|
||||||
union {
|
|
||||||
/* 0x2364 */ u32 x2364_u32;
|
|
||||||
/* 0x2364 */ f32 x2364;
|
|
||||||
/* 0x2364 */ f32 x2364_f32;
|
|
||||||
};
|
|
||||||
union {
|
|
||||||
/* 0x2368 */ u32 x2368;
|
|
||||||
/* 0x2368 */ f32 x2368_f32;
|
|
||||||
};
|
|
||||||
union {
|
|
||||||
/* 0x236C */ u32 x236C;
|
|
||||||
/* 0x236C */ f32 x236C_f32;
|
|
||||||
};
|
|
||||||
union {
|
|
||||||
/* 0x2370 */ u32 x2370;
|
|
||||||
/* 0x2370 */ f32 x2370_f32;
|
|
||||||
};
|
|
||||||
union {
|
|
||||||
struct {
|
|
||||||
union {
|
|
||||||
/* 0x2374 */ u32 x2374;
|
|
||||||
/* 0x2374 */ f32 x2374_f32;
|
|
||||||
/* 0x2374 */ f32 x2374_foxArray[0];
|
|
||||||
};
|
|
||||||
union {
|
|
||||||
/* 0x2378 */ u32 x2378;
|
|
||||||
/* 0x2378 */ f32 x2378_f32;
|
|
||||||
};
|
|
||||||
union {
|
|
||||||
/* 0x237C */ u32 x237C;
|
|
||||||
/* 0x237C */ f32 x237C_f32;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
/* 0x2374 */ Vec3 x2374_Vec3;
|
|
||||||
};
|
|
||||||
union {
|
|
||||||
/* 0x2380 */ u32 x2380;
|
|
||||||
/* 0x2380 */ f32 x2380_f32;
|
|
||||||
};
|
|
||||||
union {
|
|
||||||
/* 0x2384 */ u32 x2384_u32;
|
|
||||||
/* 0x2384 */ s32 x2384_s32;
|
|
||||||
/* 0x2384 */ f32 x2384_f32;
|
|
||||||
/* 0x2384 */ HSD_GObj* x2384_GObj;
|
|
||||||
};
|
|
||||||
union {
|
|
||||||
/* 0x2388 */ u32 x2388_u32;
|
|
||||||
/* 0x2388 */ s32 x2388_s32;
|
|
||||||
/* 0x2388 */ f32 x2388_f32;
|
|
||||||
};
|
|
||||||
union {
|
|
||||||
/* 0x238C */ u32 x238C_u32;
|
|
||||||
/* 0x238C */ f32 x238C;
|
|
||||||
/* 0x238C */ f32 x238C_f32;
|
|
||||||
};
|
|
||||||
/* 0x2390 */ f32 x2390;
|
|
||||||
/* 0x2394 */ s32 x2394;
|
|
||||||
/* 0x2394 */ Vec3 x2398;
|
|
||||||
/* 0x2394 */ Vec3 x23A4;
|
|
||||||
/* 0x23B0 */ s32 x23B0;
|
|
||||||
/* 0x23B4 */ s32 x23B4;
|
|
||||||
/* 0x23B8 */ s32 x23B8;
|
|
||||||
u8 filler_x23B8[0x23E8 - 0x23B8];
|
u8 filler_x23B8[0x23E8 - 0x23B8];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user