SSBM Decomp
Loading...
Searching...
No Matches
ftnessattackhi4.c File Reference

Functions

void ftNs_AttackHi4_YoyoUpdateHitPos (HSD_GObj *gobj)
 Ness Yo-Yo HitCapsule Position Update.
void ftNs_AttackHi4_YoyoCheckTimedRehit (HSD_GObj *gobj)
 Ness D-Smash HitCapsule Refresh Timer.
static float getSmashChargeFrames (Fighter *fp)
static void ftNs_AttackHi4_YoyoApplyDamage (float charge_frames, HSD_GObj *gobj)
 Apply modified damage to D-Smash Yo-Yo hitbox after charge.
static void push_ecb (CollData *a, Vec3 *b)
s32 ftNs_AttackHi4_YoyoCheckEnvColl (HSD_GObj *gobj, Vec3 *ECBUnk, Vec3 *ECBUnk2, float float_unk)
 Check collision of Bone (Yo-Yo attach bone).
void ftNs_AttackHi4_YoyoSetUnkPos (HSD_GObj *gobj, Vec3 *pos)
static void lerpYoyoHitPos (HSD_GObj *gobj, float t)
static void updateYoyoHitPos (HSD_GObj *gobj)
void ftNs_AttackHi4_YoyoSetHitPos (HSD_GObj *gobj)
 Set Yo-Yo hitbox position?
void ftNs_AttackHi4_YoyoSetHitPosUnk (HSD_GObj *gobj, float pos_unk)
bool ftNs_AttackHi4_YoyoCheckNoObstruct (HSD_GObj *gobj)
 Check if Yo-Yo is colliding with an obstacle (wall / air).
void ftNs_AttackHi4_YoyoSetVarAll (HSD_GObj *gobj)
 Set ftcmd-, fp- and stateVars.
void ftNs_AttackHi4_YoyoApplySmash (HSD_GObj *gobj)
 Applies Smash Charge attributes to Ness's Up/Down Smash.
void ftNs_AttackHi4_YoyoSetChargeDamage (HSD_GObj *gobj)
bool ftNs_AttackHi4_YoyoThink_IsRemove (HSD_GObj *gobj)
 Ness Yo-Yo Think.
void ftNs_AttackHi4_YoyoSetUnkRate (HSD_GObj *gobj)
 Calculates Yo-Yo texture rotation speed?
void ftNs_AttackHi4_YoyoCreateItem (HSD_GObj *gobj)
 Creates Yo-Yo item and sets up callbacks.
void ftNs_AttackHi4_YoyoItemSetFlag (HSD_GObj *gobj)
 Something to do with Yo-Yo flags.
void ftNs_AttackHi4_YoyoItemDespawn (HSD_GObj *gobj)
 Despawn Yo-Yo item.
void ftNs_AttackHi4_YoyoItemSetUnk (HSD_GObj *gobj)
void ftNs_AttackHi4_YoyoItemSetUnk2 (HSD_GObj *gobj)
void ftNs_AttackHi4_Enter (HSD_GObj *gobj)
 Ness's Up Smash Motion State handler.
void ftNs_AttackHi4_YoyoStartTimedRehit (HSD_GObj *gobj)
 Initiates rehit timer for Yo-Yo hitbox.
void ftNs_AttackHi4_Anim (HSD_GObj *gobj)
 Ness's Up Smash Animation Callback.
void ftNs_AttackHi4_IASA (HSD_GObj *gobj)
 0x80115E74
void ftNs_AttackHi4_Phys (HSD_GObj *gobj)
 0x80115EB8
static HSD_GObj * GetFighterData_x222C (HSD_GObj *gobj)
void ftNs_AttackHi4_Coll (HSD_GObj *gobj)
 0x80115F14
static HSD_GObj * GetYoyoGObj (Fighter *fp)
void ftNs_AttackHi4Charge_Anim (HSD_GObj *gobj)
 0x80115F88
void ftNs_AttackHi4Charge_IASA (HSD_GObj *gobj)
 0x801160B4
void ftNs_AttackHi4Charge_Phys (HSD_GObj *gobj)
 0x801160E4
void ftNs_AttackHi4Charge_Coll (HSD_GObj *gobj)
 0x80116104
void ftNs_AttackHi4Charge_Enter (HSD_GObj *gobj)
 0x80116178
void ftNs_AttackHi4Release_Anim (HSD_GObj *gobj)
 0x8011620C
void ftNs_AttackHi4Release_IASA (HSD_GObj *gobj)
 0x801162B0
void ftNs_AttackHi4Release_Phys (HSD_GObj *gobj)
 0x801162E0
void ftNs_AttackHi4Release_Coll (HSD_GObj *gobj)
 0x80116420
void ftNs_AttackHi4Release_Enter (HSD_GObj *gobj)
 Ness's Up Smash Post-Charge Motion State handler.

Variables

static Vec3 const AttackHi4Pos = { 0 }
static Vec3 const YoyoChargePos = { 0 }
static Vec3 const YoyoThinkPos = { 0 }

Function Documentation

◆ ftNs_AttackHi4_YoyoUpdateHitPos()

void ftNs_AttackHi4_YoyoUpdateHitPos ( HSD_GObj * gobj)

Ness Yo-Yo HitCapsule Position Update.

◆ ftNs_AttackHi4_YoyoCheckTimedRehit()

void ftNs_AttackHi4_YoyoCheckTimedRehit ( HSD_GObj * gobj)

Ness D-Smash HitCapsule Refresh Timer.

◆ getSmashChargeFrames()

float getSmashChargeFrames ( Fighter * fp)
inlinestatic

◆ ftNs_AttackHi4_YoyoApplyDamage()

void ftNs_AttackHi4_YoyoApplyDamage ( float charge_frames,
HSD_GObj * gobj )
static

Apply modified damage to D-Smash Yo-Yo hitbox after charge.

◆ push_ecb()

void push_ecb ( CollData * a,
Vec3 * b )
inlinestatic

◆ ftNs_AttackHi4_YoyoCheckEnvColl()

s32 ftNs_AttackHi4_YoyoCheckEnvColl ( HSD_GObj * gobj,
Vec3 * ECBUnk,
Vec3 * ECBUnk2,
float float_unk )

Check collision of Bone (Yo-Yo attach bone).

Remarks
Also used by Sheik???
Todo
Define flags.

◆ ftNs_AttackHi4_YoyoSetUnkPos()

void ftNs_AttackHi4_YoyoSetUnkPos ( HSD_GObj * gobj,
Vec3 * pos )

◆ lerpYoyoHitPos()

void lerpYoyoHitPos ( HSD_GObj * gobj,
float t )
inlinestatic

◆ updateYoyoHitPos()

void updateYoyoHitPos ( HSD_GObj * gobj)
inlinestatic

◆ ftNs_AttackHi4_YoyoSetHitPos()

void ftNs_AttackHi4_YoyoSetHitPos ( HSD_GObj * gobj)

Set Yo-Yo hitbox position?

Todo
Can't move below fp.

◆ ftNs_AttackHi4_YoyoSetHitPosUnk()

void ftNs_AttackHi4_YoyoSetHitPosUnk ( HSD_GObj * gobj,
float pos_unk )
Todo
Can't move below fp.

◆ ftNs_AttackHi4_YoyoCheckNoObstruct()

bool ftNs_AttackHi4_YoyoCheckNoObstruct ( HSD_GObj * gobj)

Check if Yo-Yo is colliding with an obstacle (wall / air).

◆ ftNs_AttackHi4_YoyoSetVarAll()

void ftNs_AttackHi4_YoyoSetVarAll ( HSD_GObj * gobj)

Set ftcmd-, fp- and stateVars.

◆ ftNs_AttackHi4_YoyoApplySmash()

void ftNs_AttackHi4_YoyoApplySmash ( HSD_GObj * gobj)

Applies Smash Charge attributes to Ness's Up/Down Smash.

Todo
Stack is too messed up for GET_FIGHTER.

◆ ftNs_AttackHi4_YoyoSetChargeDamage()

void ftNs_AttackHi4_YoyoSetChargeDamage ( HSD_GObj * gobj)

◆ ftNs_AttackHi4_YoyoThink_IsRemove()

bool ftNs_AttackHi4_YoyoThink_IsRemove ( HSD_GObj * gobj)

Ness Yo-Yo Think.

Todo
Stack is too messed up for GET_FIGHTER.

◆ ftNs_AttackHi4_YoyoSetUnkRate()

void ftNs_AttackHi4_YoyoSetUnkRate ( HSD_GObj * gobj)

Calculates Yo-Yo texture rotation speed?

◆ ftNs_AttackHi4_YoyoCreateItem()

void ftNs_AttackHi4_YoyoCreateItem ( HSD_GObj * gobj)

Creates Yo-Yo item and sets up callbacks.

◆ ftNs_AttackHi4_YoyoItemSetFlag()

void ftNs_AttackHi4_YoyoItemSetFlag ( HSD_GObj * gobj)

Something to do with Yo-Yo flags.

◆ ftNs_AttackHi4_YoyoItemDespawn()

void ftNs_AttackHi4_YoyoItemDespawn ( HSD_GObj * gobj)

Despawn Yo-Yo item.

◆ ftNs_AttackHi4_YoyoItemSetUnk()

void ftNs_AttackHi4_YoyoItemSetUnk ( HSD_GObj * gobj)

◆ ftNs_AttackHi4_YoyoItemSetUnk2()

void ftNs_AttackHi4_YoyoItemSetUnk2 ( HSD_GObj * gobj)

◆ ftNs_AttackHi4_Enter()

void ftNs_AttackHi4_Enter ( HSD_GObj * gobj)

Ness's Up Smash Motion State handler.

◆ ftNs_AttackHi4_YoyoStartTimedRehit()

void ftNs_AttackHi4_YoyoStartTimedRehit ( HSD_GObj * gobj)

Initiates rehit timer for Yo-Yo hitbox.

◆ ftNs_AttackHi4_Anim()

void ftNs_AttackHi4_Anim ( HSD_GObj * gobj)

Ness's Up Smash Animation Callback.

◆ ftNs_AttackHi4_IASA()

void ftNs_AttackHi4_IASA ( HSD_GObj * gobj)

0x80115E74

◆ ftNs_AttackHi4_Phys()

void ftNs_AttackHi4_Phys ( HSD_GObj * gobj)

0x80115EB8

◆ GetFighterData_x222C()

HSD_GObj * GetFighterData_x222C ( HSD_GObj * gobj)
inlinestatic

◆ ftNs_AttackHi4_Coll()

void ftNs_AttackHi4_Coll ( HSD_GObj * gobj)

0x80115F14

◆ GetYoyoGObj()

HSD_GObj * GetYoyoGObj ( Fighter * fp)
inlinestatic

◆ ftNs_AttackHi4Charge_Anim()

void ftNs_AttackHi4Charge_Anim ( HSD_GObj * gobj)

0x80115F88

◆ ftNs_AttackHi4Charge_IASA()

void ftNs_AttackHi4Charge_IASA ( HSD_GObj * gobj)

0x801160B4

◆ ftNs_AttackHi4Charge_Phys()

void ftNs_AttackHi4Charge_Phys ( HSD_GObj * gobj)

0x801160E4

◆ ftNs_AttackHi4Charge_Coll()

void ftNs_AttackHi4Charge_Coll ( HSD_GObj * gobj)

0x80116104

◆ ftNs_AttackHi4Charge_Enter()

void ftNs_AttackHi4Charge_Enter ( HSD_GObj * gobj)

0x80116178

◆ ftNs_AttackHi4Release_Anim()

void ftNs_AttackHi4Release_Anim ( HSD_GObj * gobj)

0x8011620C

◆ ftNs_AttackHi4Release_IASA()

void ftNs_AttackHi4Release_IASA ( HSD_GObj * gobj)

0x801162B0

◆ ftNs_AttackHi4Release_Phys()

void ftNs_AttackHi4Release_Phys ( HSD_GObj * gobj)

0x801162E0

◆ ftNs_AttackHi4Release_Coll()

void ftNs_AttackHi4Release_Coll ( HSD_GObj * gobj)

0x80116420

◆ ftNs_AttackHi4Release_Enter()

void ftNs_AttackHi4Release_Enter ( HSD_GObj * gobj)

Ness's Up Smash Post-Charge Motion State handler.

Variable Documentation

◆ AttackHi4Pos

Vec3 const AttackHi4Pos = { 0 }
static

◆ YoyoChargePos

Vec3 const YoyoChargePos = { 0 }
static

◆ YoyoThinkPos

Vec3 const YoyoThinkPos = { 0 }
static