SSBM Decomp
Loading...
Searching...
No Matches
ftYs_SpecialN.c File Reference
#include "ftYs_SpecialN.h"
#include "placeholder.h"
#include "baselib/forward.h"
#include "ft/fighter.h"
#include "ft/forward.h"
#include "ft/ft_081B.h"
#include "ft/ft_0892.h"
#include "ftCommon/ftCo_Attack100.h"
#include "ft/ftcommon.h"
#include "ft/ftparts.h"
#include "ft/inlines.h"
#include "ft/types.h"
#include "ftCommon/ftCo_CaptureCut.h"
#include "ftCommon/ftCo_CaptureYoshi.h"
#include "ftCommon/ftCo_Fall.h"
#include "ftCommon/ftCo_Throw.h"
#include "ftCommon/ftCo_YoshiEgg.h"
#include "ftYoshi/ftYs_Init.h"
#include "ftYoshi/types.h"
#include "it/items/it_27CF.h"
#include "it/items/it_2F2B.h"
#include "lb/lb_00B0.h"
#include <dolphin/mtx.h>
#include <baselib/gobj.h>

Functions

static void fn_8012CEE0 (Fighter_GObj *)
 
static void fn_8012CF7C (Fighter_GObj *)
 
static void ftYs_SpecialS_8012DF00 (Fighter_GObj *)
 
Fighter_Part ftYs_SpecialN_GetBoneIndex (Fighter_GObj *gobj)
 
void ftYs_SpecialN_SetupItemVel (Fighter_GObj *gobj, Vec3 *out)
 
float ftYs_SpecialN_GetFacingDir (HSD_GObj *gobj)
 
float ftYs_SpecialN_GetDatAttr18 (HSD_GObj *gobj)
 
float ftYs_SpecialN_GetDatAttr1C (HSD_GObj *gobj)
 
float ftYs_SpecialN_GetDatAttr20 (HSD_GObj *gobj)
 
float ftYs_SpecialN_GetDatAttr24 (HSD_GObj *gobj)
 
float ftYs_SpecialN_GetExtAttr28 (Fighter_GObj *gobj)
 
float ftYs_SpecialN_GetExtAttr2C (void)
 
float ftYs_SpecialN_8012CD40 (void)
 
float ftYs_SpecialN_GetExtAttr34 (void)
 
int ftYs_SpecialN_GetExtAttr38 (void)
 
void ftYs_SpecialN_8012CD88 (Vec3 *arg0)
 
float ftYs_SpecialN_8012CDB4 (void)
 
HSD_JointftYs_SpecialN_8012CDD4 (Fighter_GObj *gobj)
 
static void setupCallbacks (Fighter_GObj *gobj, HSD_GObjEvent grab_cb, HSD_GObjEvent arg1, void(*grabbed_cb)(Fighter_GObj *gobj, Fighter_GObj *attacker_gobj))
 
void ftYs_SpecialN_Enter (HSD_GObj *gobj)
 
void ftYs_SpecialAirN_Enter (Fighter_GObj *gobj)
 
void fn_8012CF7C (HSD_GObj *gobj)
 
void fn_8012D004 (HSD_GObj *gobj)
 
void fn_8012D0A0 (Fighter_GObj *gobj)
 
void fn_8012D128 (Fighter_GObj *gobj)
 
void fn_8012D1AC (Fighter_GObj *gobj)
 
void fn_8012D230 (Fighter_GObj *gobj)
 
void fn_8012D298 (Fighter_GObj *gobj)
 
void fn_8012D2F8 (Fighter_GObj *gobj)
 
void fn_8012D360 (Fighter_GObj *gobj)
 
void fn_8012D3C0 (Fighter_GObj *gobj)
 
void fn_8012D428 (Fighter_GObj *gobj)
 
void fn_8012D488 (Fighter_GObj *gobj)
 
void fn_8012D4F0 (Fighter_GObj *gobj)
 
static void checkAnimEnd (Fighter_GObj *gobj, HSD_GObjEvent cb)
 
void ftYs_SpecialN1_Anim (Fighter_GObj *gobj)
 
void ftYs_SpecialAirN1_0_Anim (Fighter_GObj *gobj)
 
static void changeMotionState (Fighter_GObj *gobj, enum_t msid, HSD_GObj *(*target_getter)(Fighter *fp), bool arg3)
 
void ftYs_SpecialN1_1_Anim (Fighter_GObj *gobj)
 
void ftYs_SpecialN1_0_Anim (Fighter_GObj *gobj)
 
void ftYs_SpecialAirN1_2_Anim (Fighter_GObj *gobj)
 
void ftYs_SpecialAirN1_1_Anim (Fighter_GObj *gobj)
 
static void inlineB0 (Fighter_GObj *gobj, HSD_GObjEvent on_anim_end)
 
void ftYs_SpecialN2_1_Anim (Fighter_GObj *gobj)
 
static void inlineA0 (Fighter *fp)
 
static void inlineA1 (Fighter_GObj *gobj, HSD_GObjEvent anim_end_cb)
 
void ftYs_SpecialN2_0_Anim (Fighter_GObj *gobj)
 
void ftYs_SpecialAirN2_1_Anim (Fighter_GObj *gobj)
 
void ftYs_SpecialAirN2_0_Anim (Fighter_GObj *gobj)
 
void ftYs_SpecialN1_Phys (Fighter_GObj *gobj)
 
void ftYs_SpecialAirN1_0_Phys (Fighter_GObj *gobj)
 
void ftYs_SpecialN1_1_Phys (Fighter_GObj *gobj)
 
void ftYs_SpecialN1_0_Phys (Fighter_GObj *gobj)
 
void ftYs_SpecialAirN1_2_Phys (Fighter_GObj *gobj)
 
void ftYs_SpecialAirN1_1_Phys (Fighter_GObj *gobj)
 
void ftYs_SpecialN2_1_Phys (Fighter_GObj *gobj)
 
void ftYs_SpecialN2_0_Phys (Fighter_GObj *gobj)
 
void ftYs_SpecialAirN2_1_Phys (Fighter_GObj *gobj)
 
void ftYs_SpecialAirN2_0_Phys (Fighter_GObj *gobj)
 
void ftYs_SpecialN1_Coll (Fighter_GObj *gobj)
 
void ftYs_SpecialAirN1_0_Coll (Fighter_GObj *gobj)
 
void ftYs_SpecialN1_1_Coll (Fighter_GObj *gobj)
 
void ftYs_SpecialN1_0_Coll (Fighter_GObj *gobj)
 
void ftYs_SpecialAirN1_2_Coll (Fighter_GObj *gobj)
 
void ftYs_SpecialAirN1_1_Coll (Fighter_GObj *gobj)
 
void ftYs_SpecialN2_1_Coll (Fighter_GObj *gobj)
 
void ftYs_SpecialN2_0_Coll (Fighter_GObj *gobj)
 
void ftYs_SpecialAirN2_1_Coll (Fighter_GObj *gobj)
 
void ftYs_SpecialAirN2_0_Coll (Fighter_GObj *gobj)
 

Variables

u32 const motion_flags0 = Ft_MF_KeepGfx | Ft_MF_SkipModel | Ft_MF_Unk19
 
u32 const motion_flags1
 
static u32 const motion_flags2
 
static u32 const motion_flags3
 
static u32 const motion_flags4 = motion_flags3 | Ft_MF_SkipHit
 

Function Documentation

◆ fn_8012CEE0()

void fn_8012CEE0 ( Fighter_GObj *  gobj)
static

◆ fn_8012CF7C() [1/2]

static void fn_8012CF7C ( Fighter_GObj *  )
static

◆ ftYs_SpecialS_8012DF00()

void ftYs_SpecialS_8012DF00 ( Fighter_GObj *  gobj)
static

◆ ftYs_SpecialN_GetBoneIndex()

Fighter_Part ftYs_SpecialN_GetBoneIndex ( Fighter_GObj *  gobj)

◆ ftYs_SpecialN_SetupItemVel()

void ftYs_SpecialN_SetupItemVel ( Fighter_GObj *  gobj,
Vec3 *  out 
)

◆ ftYs_SpecialN_GetFacingDir()

float ftYs_SpecialN_GetFacingDir ( HSD_GObj gobj)

◆ ftYs_SpecialN_GetDatAttr18()

float ftYs_SpecialN_GetDatAttr18 ( HSD_GObj gobj)

◆ ftYs_SpecialN_GetDatAttr1C()

float ftYs_SpecialN_GetDatAttr1C ( HSD_GObj gobj)

◆ ftYs_SpecialN_GetDatAttr20()

float ftYs_SpecialN_GetDatAttr20 ( HSD_GObj gobj)

◆ ftYs_SpecialN_GetDatAttr24()

float ftYs_SpecialN_GetDatAttr24 ( HSD_GObj gobj)

◆ ftYs_SpecialN_GetExtAttr28()

float ftYs_SpecialN_GetExtAttr28 ( Fighter_GObj *  gobj)

◆ ftYs_SpecialN_GetExtAttr2C()

float ftYs_SpecialN_GetExtAttr2C ( void  )

◆ ftYs_SpecialN_8012CD40()

float ftYs_SpecialN_8012CD40 ( void  )

◆ ftYs_SpecialN_GetExtAttr34()

float ftYs_SpecialN_GetExtAttr34 ( void  )

◆ ftYs_SpecialN_GetExtAttr38()

int ftYs_SpecialN_GetExtAttr38 ( void  )

◆ ftYs_SpecialN_8012CD88()

void ftYs_SpecialN_8012CD88 ( Vec3 *  arg0)

◆ ftYs_SpecialN_8012CDB4()

float ftYs_SpecialN_8012CDB4 ( void  )

◆ ftYs_SpecialN_8012CDD4()

HSD_Joint * ftYs_SpecialN_8012CDD4 ( Fighter_GObj *  gobj)

◆ setupCallbacks()

static void setupCallbacks ( Fighter_GObj *  gobj,
HSD_GObjEvent  grab_cb,
HSD_GObjEvent  arg1,
void(*)(Fighter_GObj *gobj, Fighter_GObj *attacker_gobj)  grabbed_cb 
)
static

◆ ftYs_SpecialN_Enter()

void ftYs_SpecialN_Enter ( HSD_GObj gobj)

◆ ftYs_SpecialAirN_Enter()

void ftYs_SpecialAirN_Enter ( Fighter_GObj *  gobj)

◆ fn_8012CF7C() [2/2]

void fn_8012CF7C ( HSD_GObj gobj)

◆ fn_8012D004()

void fn_8012D004 ( HSD_GObj gobj)

◆ fn_8012D0A0()

void fn_8012D0A0 ( Fighter_GObj *  gobj)

◆ fn_8012D128()

void fn_8012D128 ( Fighter_GObj *  gobj)

◆ fn_8012D1AC()

void fn_8012D1AC ( Fighter_GObj *  gobj)

◆ fn_8012D230()

void fn_8012D230 ( Fighter_GObj *  gobj)

◆ fn_8012D298()

void fn_8012D298 ( Fighter_GObj *  gobj)

◆ fn_8012D2F8()

void fn_8012D2F8 ( Fighter_GObj *  gobj)

◆ fn_8012D360()

void fn_8012D360 ( Fighter_GObj *  gobj)

◆ fn_8012D3C0()

void fn_8012D3C0 ( Fighter_GObj *  gobj)

◆ fn_8012D428()

void fn_8012D428 ( Fighter_GObj *  gobj)

◆ fn_8012D488()

void fn_8012D488 ( Fighter_GObj *  gobj)

◆ fn_8012D4F0()

void fn_8012D4F0 ( Fighter_GObj *  gobj)

◆ checkAnimEnd()

static void checkAnimEnd ( Fighter_GObj *  gobj,
HSD_GObjEvent  cb 
)
static

◆ ftYs_SpecialN1_Anim()

void ftYs_SpecialN1_Anim ( Fighter_GObj *  gobj)

◆ ftYs_SpecialAirN1_0_Anim()

void ftYs_SpecialAirN1_0_Anim ( Fighter_GObj *  gobj)

◆ changeMotionState()

static void changeMotionState ( Fighter_GObj *  gobj,
enum_t  msid,
HSD_GObj *(*)(Fighter *fp)  target_getter,
bool  arg3 
)
static

◆ ftYs_SpecialN1_1_Anim()

void ftYs_SpecialN1_1_Anim ( Fighter_GObj *  gobj)

◆ ftYs_SpecialN1_0_Anim()

void ftYs_SpecialN1_0_Anim ( Fighter_GObj *  gobj)

◆ ftYs_SpecialAirN1_2_Anim()

void ftYs_SpecialAirN1_2_Anim ( Fighter_GObj *  gobj)

◆ ftYs_SpecialAirN1_1_Anim()

void ftYs_SpecialAirN1_1_Anim ( Fighter_GObj *  gobj)

◆ inlineB0()

static void inlineB0 ( Fighter_GObj *  gobj,
HSD_GObjEvent  on_anim_end 
)
inlinestatic

◆ ftYs_SpecialN2_1_Anim()

void ftYs_SpecialN2_1_Anim ( Fighter_GObj *  gobj)

◆ inlineA0()

static void inlineA0 ( Fighter fp)
static

◆ inlineA1()

static void inlineA1 ( Fighter_GObj *  gobj,
HSD_GObjEvent  anim_end_cb 
)
static

◆ ftYs_SpecialN2_0_Anim()

void ftYs_SpecialN2_0_Anim ( Fighter_GObj *  gobj)

◆ ftYs_SpecialAirN2_1_Anim()

void ftYs_SpecialAirN2_1_Anim ( Fighter_GObj *  gobj)

◆ ftYs_SpecialAirN2_0_Anim()

void ftYs_SpecialAirN2_0_Anim ( Fighter_GObj *  gobj)

◆ ftYs_SpecialN1_Phys()

void ftYs_SpecialN1_Phys ( Fighter_GObj *  gobj)

◆ ftYs_SpecialAirN1_0_Phys()

void ftYs_SpecialAirN1_0_Phys ( Fighter_GObj *  gobj)

◆ ftYs_SpecialN1_1_Phys()

void ftYs_SpecialN1_1_Phys ( Fighter_GObj *  gobj)

◆ ftYs_SpecialN1_0_Phys()

void ftYs_SpecialN1_0_Phys ( Fighter_GObj *  gobj)

◆ ftYs_SpecialAirN1_2_Phys()

void ftYs_SpecialAirN1_2_Phys ( Fighter_GObj *  gobj)

◆ ftYs_SpecialAirN1_1_Phys()

void ftYs_SpecialAirN1_1_Phys ( Fighter_GObj *  gobj)

◆ ftYs_SpecialN2_1_Phys()

void ftYs_SpecialN2_1_Phys ( Fighter_GObj *  gobj)

◆ ftYs_SpecialN2_0_Phys()

void ftYs_SpecialN2_0_Phys ( Fighter_GObj *  gobj)

◆ ftYs_SpecialAirN2_1_Phys()

void ftYs_SpecialAirN2_1_Phys ( Fighter_GObj *  gobj)

◆ ftYs_SpecialAirN2_0_Phys()

void ftYs_SpecialAirN2_0_Phys ( Fighter_GObj *  gobj)

◆ ftYs_SpecialN1_Coll()

void ftYs_SpecialN1_Coll ( Fighter_GObj *  gobj)

◆ ftYs_SpecialAirN1_0_Coll()

void ftYs_SpecialAirN1_0_Coll ( Fighter_GObj *  gobj)

◆ ftYs_SpecialN1_1_Coll()

void ftYs_SpecialN1_1_Coll ( Fighter_GObj *  gobj)

◆ ftYs_SpecialN1_0_Coll()

void ftYs_SpecialN1_0_Coll ( Fighter_GObj *  gobj)

◆ ftYs_SpecialAirN1_2_Coll()

void ftYs_SpecialAirN1_2_Coll ( Fighter_GObj *  gobj)

◆ ftYs_SpecialAirN1_1_Coll()

void ftYs_SpecialAirN1_1_Coll ( Fighter_GObj *  gobj)

◆ ftYs_SpecialN2_1_Coll()

void ftYs_SpecialN2_1_Coll ( Fighter_GObj *  gobj)

◆ ftYs_SpecialN2_0_Coll()

void ftYs_SpecialN2_0_Coll ( Fighter_GObj *  gobj)

◆ ftYs_SpecialAirN2_1_Coll()

void ftYs_SpecialAirN2_1_Coll ( Fighter_GObj *  gobj)

◆ ftYs_SpecialAirN2_0_Coll()

void ftYs_SpecialAirN2_0_Coll ( Fighter_GObj *  gobj)

Variable Documentation

◆ motion_flags0

u32 const motion_flags0 = Ft_MF_KeepGfx | Ft_MF_SkipModel | Ft_MF_Unk19

◆ motion_flags1

u32 const motion_flags1
Initial value:
=
u32 const motion_flags0
Definition ftYs_SpecialN.c:142
static MotionFlags const Ft_MF_SkipColAnim
Definition forward.h:185
static MotionFlags const Ft_MF_SkipMatAnim
Ignore switching to character's "hurt" textures ?
Definition forward.h:172

◆ motion_flags2

u32 const motion_flags2
static
Initial value:
u32 const motion_flags1
Definition ftYs_SpecialN.c:143
static MotionFlags const Ft_MF_KeepGfx
Definition forward.h:156
static MotionFlags const Ft_MF_Unk19
Skips updating bit 5 of #Fighter::x2222_flag?
Definition forward.h:204
static MotionFlags const Ft_MF_SkipModel
Ignore model state change ?
Definition forward.h:165

◆ motion_flags3

u32 const motion_flags3
static
Initial value:
static u32 const motion_flags2
Definition ftYs_SpecialN.c:145
static MotionFlags const Ft_MF_UpdateCmd
Run all Subaction Events up to the current animation frame.
Definition forward.h:191
static MotionFlags const Ft_MF_SkipItemVis
Used by Ness during Up/Down Smash.
Definition forward.h:201
static MotionFlags const Ft_MF_SkipModelFlags
Definition forward.h:219
static MotionFlags const Ft_MF_SkipModelPartVis
Definition forward.h:211
static MotionFlags const Ft_MF_Unk27
Definition forward.h:221

◆ motion_flags4

u32 const motion_flags4 = motion_flags3 | Ft_MF_SkipHit
static