SSBM Decomp
Loading...
Searching...
No Matches
ftCo_Guard.c File Reference
#include "ftCo_Guard.h"
#include <math.h>
#include "ftCo_0C35.h"
#include "ftCo_Attack1.h"
#include "ftCo_Attack100.h"
#include "ftCo_AttackHi3.h"
#include "ftCo_AttackHi4.h"
#include "ftCo_AttackLw3.h"
#include "ftCo_AttackLw4.h"
#include "ftCo_AttackS3.h"
#include "ftCo_AttackS4.h"
#include "ftCo_Escape.h"
#include "ftCo_ItemThrow.h"
#include "ftCo_Jump.h"
#include "ftCo_Pass.h"
#include "ftCo_ShieldBreakFly.h"
#include "ftCo_SpecialS.h"
#include "types.h"
#include <melee/ef/eflib.h>
#include <melee/ef/efsync.h>
#include <melee/ft/fighter.h>
#include <melee/ft/ft_081B.h>
#include <melee/ft/ft_084E.h>
#include <melee/ft/ft_0877.h>
#include <melee/ft/ft_0892.h>
#include <melee/ft/ftanim.h>
#include <melee/ft/ftcoll.h>
#include <melee/ft/ftcommon.h>
#include <melee/ft/ftdata.h>
#include <melee/ft/ftparts.h>
#include <melee/ft/kinds/ftYoshi/ftyoshiguard.h>
#include <melee/ft/types.h>
#include <melee/lb/lb_00B0.h>
#include <melee/lb/lb_00CE.h>
#include <melee/pl/player.h>
#include <melee/pl/plbonuslib.h>
#include <sysdolphin/baselib/gobj.h>
#include <sysdolphin/baselib/jobj.h>

Functions

static void ftCo_80091BC4 (Fighter *fp)
static void ftCo_80091E78 (Fighter_GObj *gobj, float)
static void ftCo_80092158 (Fighter_GObj *gobj, int arg1, HSD_JObj *arg2)
static void ftCo_800921DC (Fighter_GObj *gobj)
static void ftCo_800923B4 (Fighter_GObj *gobj)
static void ftCo_800924C0 (HSD_GObj *gobj)
static void ftCo_80092908 (Fighter_GObj *gobj)
static void ftCo_80092C54 (Fighter_GObj *gobj)
static void ftCo_80092E50 (Fighter_GObj *gobj)
static void ftCo_80092F2C (Fighter_GObj *gobj, bool)
static void ftCo_80093790 (Fighter_GObj *gobj)
static void ftCo_80093850 (Fighter_GObj *gobj)
static void ftCo_8009388C (Fighter_GObj *gobj)
static void ftCo_800939B4 (Fighter_GObj *gobj)
static void ftCo_80093A50 (Fighter_GObj *gobj)
bool ftCo_80091A2C (Fighter_GObj *gobj)
static bool inlineA0 (Fighter *fp)
bool ftCo_80091A4C (Fighter_GObj *gobj)
bool ftCo_80091AD8 (Fighter_GObj *gobj, int mv_x20)
void ftCo_80091B90 (Fighter_GObj *gobj, int mv_x20)
void ftCo_80091B9C (Fighter_GObj *gobj)
static float inlineB0 (Fighter *fp)
void ftCo_80091D58 (Fighter *fp)
static void inlineD0 (Fighter_GObj *gobj)
static void ftCo_80092158_inline (Fighter_GObj *gobj, int arg1, HSD_JObj *arg2)
static void ftCo_80092450_inline (Fighter_GObj *gobj)
void ftCo_800921DC (HSD_GObj *gobj)
void ftCo_80092450 (Fighter_GObj *gobj)
void ftCo_800924C0 (Fighter_GObj *gobj)
bool ftCo_800925A4 (HSD_GObj *gobj)
void ftCo_GuardOn_Anim (Fighter_GObj *gobj)
static bool inlineC0 (Fighter_GObj *gobj, HSD_GObjEvent cb)
void ftCo_GuardOn_IASA (Fighter_GObj *gobj)
void ftCo_GuardOn_Phys (Fighter_GObj *gobj)
void ftCo_GuardOn_Coll (Fighter_GObj *gobj)
void ftCo_800928CC (Fighter_GObj *gobj)
void ftCo_Guard_Anim (Fighter_GObj *gobj)
void ftCo_Guard_IASA (Fighter_GObj *gobj)
void ftCo_Guard_Phys (Fighter_GObj *gobj)
void ftCo_Guard_Coll (Fighter_GObj *gobj)
void ftCo_80092BCC (Fighter_GObj *gobj)
void ftCo_80092BE8 (Fighter_GObj *gobj)
void ftCo_GuardOff_Anim (Fighter_GObj *gobj)
void ftCo_GuardOff_IASA (Fighter_GObj *gobj)
void ftCo_GuardOff_Phys (Fighter_GObj *gobj)
void ftCo_GuardOff_Coll (Fighter_GObj *gobj)
float ftCo_80092ED8 (int arg0, float arg1)
void ftCo_80092F2C (HSD_GObj *gobj, bool arg1)
void ftCo_80093240 (Fighter_GObj *gobj)
void ftCo_800932DC (Fighter_GObj *gobj)
static void ftCo_80091D58_inline_arg (Fighter *fp, Vec3 *scl)
static void ftCo_80092C54_inline (Fighter_GObj *gobj)
static void ftCo_80092BE8_inline (Fighter_GObj *gobj)
static void ftCo_800928CC_inline_arg (Fighter_GObj *gobj, AbsorbDesc *absorb)
void ftCo_GuardSetOff_Anim (Fighter_GObj *gobj)
void ftCo_GuardSetOff_IASA (Fighter_GObj *gobj)
void ftCo_GuardSetOff_Phys (Fighter_GObj *gobj)
void ftCo_GuardSetOff_Coll (Fighter_GObj *gobj)
bool ftCo_80093694 (Fighter_GObj *gobj)
void ftCo_8009370C (Fighter_GObj *gobj, HSD_GObjEvent on_reflect)
void ftCo_8009388C (HSD_GObj *gobj)
void ftCo_80093BC0 (Fighter_GObj *gobj)
static void ftCo_80092450_inline2 (Fighter_GObj *gobj, AbsorbDesc *absorb)
static void ftCo_80093BC0_inline (Fighter_GObj *gobj, AbsorbDesc *absorb)
static void ftCo_80092908_inline2 (Fighter_GObj *gobj)
static void ftCo_GuardOn_Anim_inline (Fighter_GObj *gobj)
void ftCo_GuardReflect_Anim (HSD_GObj *gobj)
void ftCo_GuardReflect_IASA (HSD_GObj *gobj)
void ftCo_GuardReflect_Phys (Fighter_GObj *gobj)
void ftCo_GuardReflect_Coll (Fighter_GObj *gobj)
float ftCo_80094098 (HSD_GObj *gobj, float *pos)
void ftCo_80094138 (Fighter *fp)

Function Documentation

◆ ftCo_80091BC4()

void ftCo_80091BC4 ( Fighter * fp)
static

◆ ftCo_80091E78()

void ftCo_80091E78 ( Fighter_GObj * gobj,
float arg1 )
static

◆ ftCo_80092158()

void ftCo_80092158 ( Fighter_GObj * gobj,
int arg1,
HSD_JObj * arg2 )
static
Remarks
Matching tactic: the body lives in ftCo_80092158_inline and the unreachable block below pads this function's pre-inline statement count past the auto-inline threshold so the compiler does not inline it into ftCo_GuardReflect_Anim, whose calls must remain bl ftCo_80092158 (it regresses 100 -> 68.76 without this padding; same-TU callers that do need the inlined body call ftCo_80092158_inline explicitly and stay byte-identical).

◆ ftCo_800921DC() [1/2]

void ftCo_800921DC ( Fighter_GObj * gobj)
static

◆ ftCo_800923B4()

void ftCo_800923B4 ( Fighter_GObj * gobj)
static

◆ ftCo_800924C0() [1/2]

void ftCo_800924C0 ( HSD_GObj * gobj)
static

◆ ftCo_80092908()

void ftCo_80092908 ( Fighter_GObj * gobj)
static

◆ ftCo_80092C54()

void ftCo_80092C54 ( Fighter_GObj * gobj)
static

◆ ftCo_80092E50()

void ftCo_80092E50 ( Fighter_GObj * gobj)
static

◆ ftCo_80092F2C() [1/2]

void ftCo_80092F2C ( Fighter_GObj * gobj,
bool  )
static

◆ ftCo_80093790()

void ftCo_80093790 ( Fighter_GObj * gobj)
static

◆ ftCo_80093850()

void ftCo_80093850 ( Fighter_GObj * gobj)
static

◆ ftCo_8009388C() [1/2]

void ftCo_8009388C ( Fighter_GObj * gobj)
static

◆ ftCo_800939B4()

void ftCo_800939B4 ( Fighter_GObj * gobj)
static
Todo
Shares a lot of code with ftCo_800923B4

◆ ftCo_80093A50()

void ftCo_80093A50 ( Fighter_GObj * gobj)
static
Todo
Shared code with ftCo_8009388C.

◆ ftCo_80091A2C()

bool ftCo_80091A2C ( Fighter_GObj * gobj)

◆ inlineA0()

bool inlineA0 ( Fighter * fp)
inlinestatic

◆ ftCo_80091A4C()

bool ftCo_80091A4C ( Fighter_GObj * gobj)

◆ ftCo_80091AD8()

bool ftCo_80091AD8 ( Fighter_GObj * gobj,
int mv_x20 )
Todo
inline of ftCo_80091A4C and something else.

◆ ftCo_80091B90()

void ftCo_80091B90 ( Fighter_GObj * gobj,
int mv_x20 )

◆ ftCo_80091B9C()

void ftCo_80091B9C ( Fighter_GObj * gobj)

◆ inlineB0()

float inlineB0 ( Fighter * fp)
inlinestatic

◆ ftCo_80091D58()

void ftCo_80091D58 ( Fighter * fp)

◆ inlineD0()

void inlineD0 ( Fighter_GObj * gobj)
inlinestatic

◆ ftCo_80092158_inline()

void ftCo_80092158_inline ( Fighter_GObj * gobj,
int arg1,
HSD_JObj * arg2 )
inlinestatic

◆ ftCo_80092450_inline()

void ftCo_80092450_inline ( Fighter_GObj * gobj)
inlinestatic

◆ ftCo_800921DC() [2/2]

void ftCo_800921DC ( HSD_GObj * gobj)

◆ ftCo_80092450()

void ftCo_80092450 ( Fighter_GObj * gobj)
Remarks
Matching tactic: the body lives in ftCo_80092450_inline and the unreachable block below pads this function's pre-inline statement count past the auto-inline threshold so the compiler does not inline it into ftCo_GuardReflect_Anim, whose call must remain bl ftCo_80092450 (it regresses 100 -> 68.76 without this padding; same-TU callers that do need the inlined body call ftCo_80092450_inline explicitly and stay byte-identical).

◆ ftCo_800924C0() [2/2]

void ftCo_800924C0 ( Fighter_GObj * gobj)

◆ ftCo_800925A4()

bool ftCo_800925A4 ( HSD_GObj * gobj)

◆ ftCo_GuardOn_Anim()

void ftCo_GuardOn_Anim ( Fighter_GObj * gobj)

◆ inlineC0()

bool inlineC0 ( Fighter_GObj * gobj,
HSD_GObjEvent cb )
inlinestatic

◆ ftCo_GuardOn_IASA()

void ftCo_GuardOn_IASA ( Fighter_GObj * gobj)

◆ ftCo_GuardOn_Phys()

void ftCo_GuardOn_Phys ( Fighter_GObj * gobj)

◆ ftCo_GuardOn_Coll()

void ftCo_GuardOn_Coll ( Fighter_GObj * gobj)

◆ ftCo_800928CC()

void ftCo_800928CC ( Fighter_GObj * gobj)

◆ ftCo_Guard_Anim()

void ftCo_Guard_Anim ( Fighter_GObj * gobj)

◆ ftCo_Guard_IASA()

void ftCo_Guard_IASA ( Fighter_GObj * gobj)

◆ ftCo_Guard_Phys()

void ftCo_Guard_Phys ( Fighter_GObj * gobj)

◆ ftCo_Guard_Coll()

void ftCo_Guard_Coll ( Fighter_GObj * gobj)

◆ ftCo_80092BCC()

void ftCo_80092BCC ( Fighter_GObj * gobj)

◆ ftCo_80092BE8()

void ftCo_80092BE8 ( Fighter_GObj * gobj)

◆ ftCo_GuardOff_Anim()

void ftCo_GuardOff_Anim ( Fighter_GObj * gobj)

◆ ftCo_GuardOff_IASA()

void ftCo_GuardOff_IASA ( Fighter_GObj * gobj)

◆ ftCo_GuardOff_Phys()

void ftCo_GuardOff_Phys ( Fighter_GObj * gobj)

◆ ftCo_GuardOff_Coll()

void ftCo_GuardOff_Coll ( Fighter_GObj * gobj)

◆ ftCo_80092ED8()

float ftCo_80092ED8 ( int arg0,
float arg1 )

◆ ftCo_80092F2C() [2/2]

void ftCo_80092F2C ( HSD_GObj * gobj,
bool arg1 )
Todo
What happens to this value?

◆ ftCo_80093240()

void ftCo_80093240 ( Fighter_GObj * gobj)

◆ ftCo_800932DC()

void ftCo_800932DC ( Fighter_GObj * gobj)
Todo
Fake.

◆ ftCo_80091D58_inline_arg()

void ftCo_80091D58_inline_arg ( Fighter * fp,
Vec3 * scl )
inlinestatic

◆ ftCo_80092C54_inline()

void ftCo_80092C54_inline ( Fighter_GObj * gobj)
inlinestatic

◆ ftCo_80092BE8_inline()

void ftCo_80092BE8_inline ( Fighter_GObj * gobj)
inlinestatic

◆ ftCo_800928CC_inline_arg()

void ftCo_800928CC_inline_arg ( Fighter_GObj * gobj,
AbsorbDesc * absorb )
inlinestatic

◆ ftCo_GuardSetOff_Anim()

void ftCo_GuardSetOff_Anim ( Fighter_GObj * gobj)

◆ ftCo_GuardSetOff_IASA()

void ftCo_GuardSetOff_IASA ( Fighter_GObj * gobj)

◆ ftCo_GuardSetOff_Phys()

void ftCo_GuardSetOff_Phys ( Fighter_GObj * gobj)

◆ ftCo_GuardSetOff_Coll()

void ftCo_GuardSetOff_Coll ( Fighter_GObj * gobj)

◆ ftCo_80093694()

bool ftCo_80093694 ( Fighter_GObj * gobj)

◆ ftCo_8009370C()

void ftCo_8009370C ( Fighter_GObj * gobj,
HSD_GObjEvent on_reflect )

◆ ftCo_8009388C() [2/2]

void ftCo_8009388C ( HSD_GObj * gobj)

◆ ftCo_80093BC0()

void ftCo_80093BC0 ( Fighter_GObj * gobj)

◆ ftCo_80092450_inline2()

void ftCo_80092450_inline2 ( Fighter_GObj * gobj,
AbsorbDesc * absorb )
inlinestatic

◆ ftCo_80093BC0_inline()

void ftCo_80093BC0_inline ( Fighter_GObj * gobj,
AbsorbDesc * absorb )
inlinestatic

◆ ftCo_80092908_inline2()

void ftCo_80092908_inline2 ( Fighter_GObj * gobj)
inlinestatic

◆ ftCo_GuardOn_Anim_inline()

void ftCo_GuardOn_Anim_inline ( Fighter_GObj * gobj)
inlinestatic

◆ ftCo_GuardReflect_Anim()

void ftCo_GuardReflect_Anim ( HSD_GObj * gobj)

◆ ftCo_GuardReflect_IASA()

void ftCo_GuardReflect_IASA ( HSD_GObj * gobj)

◆ ftCo_GuardReflect_Phys()

void ftCo_GuardReflect_Phys ( Fighter_GObj * gobj)

◆ ftCo_GuardReflect_Coll()

void ftCo_GuardReflect_Coll ( Fighter_GObj * gobj)

◆ ftCo_80094098()

float ftCo_80094098 ( HSD_GObj * gobj,
float * pos )

◆ ftCo_80094138()

void ftCo_80094138 ( Fighter * fp)