SSBM Decomp
Loading...
Searching...
No Matches
ftFx_SpecialHi.c File Reference
#include <platform.h>
#include "ftFx_SpecialHi.h"
#include "math.h"
#include "ef/eflib.h"
#include "ef/efsync.h"
#include "ft/fighter.h"
#include "ft/ft_081B.h"
#include "ft/ft_0892.h"
#include "ft/ftanim.h"
#include "ft/ftcliffcommon.h"
#include "ft/ftcommon.h"
#include "ft/ftparts.h"
#include "ft/types.h"
#include "ftCommon/ftCo_FallSpecial.h"
#include "ftCommon/ftCo_Pass.h"
#include "ftFox/types.h"
#include "lb/lbrefract.h"
#include "lb/lbvector.h"
#include <common_structs.h>
#include <dolphin/mtx/types.h>

Macros

#define FTFOX_SPECIALHI_COLL_FLAG
 
#define HALF_PI32   (1.5707963705062866f)
 
#define DOUBLE_PI32   (6.2831854820251465f)
 

Functions

void ftFx_SpecialHi_CreateLaunchGFX (HSD_GObj *gobj)
 Create Firefox/Firebird Launch GFX.
 
void ftFx_SpecialHi_CreateChargeGFX (HSD_GObj *gobj)
 Create Firefox/Firebird Charge GFX.
 
void ftFx_SpecialHi_Enter (HSD_GObj *gobj)
 Fox & Falco's grounded Firefox/Firebird Start Motion State handler.
 
void ftFx_SpecialAirHiStart_Enter (HSD_GObj *gobj)
 Fox & Falco's aerial Firefox/Firebird Start Motion State handler.
 
static void ftFox_SpecialHi_RotateModel (HSD_GObj *gobj)
 
void ftFx_SpecialHiHold_Anim (HSD_GObj *gobj)
 Fox & Falco's grounded Firefox/Firebird Start Animation callback.
 
void ftFx_SpecialHiHoldAir_Anim (HSD_GObj *gobj)
 Fox & Falco's aerial Firefox/Firebird Start Animation callback.
 
void ftFx_SpecialHiHold_IASA (HSD_GObj *gobj)
 Fox & Falco's grounded Firefox/Firebird Start IASA callback.
 
void ftFx_SpecialHiHoldAir_IASA (HSD_GObj *gobj)
 Fox & Falco's aerial Firefox/Firebird Start IASA callback.
 
void ftFx_SpecialHiHold_Phys (HSD_GObj *gobj)
 Fox & Falco's grorunded Firefox/Firebird Start Physics callback.
 
void ftFx_SpecialHiHoldAir_Phys (HSD_GObj *gobj)
 Fox & Falco's aerial Firefox/Firebird Start Physics callback.
 
void ftFx_SpecialHiHold_Coll (HSD_GObj *gobj)
 Fox & Falco's grounded Firerfox/Firebird Start Collision callback.
 
void ftFx_SpecialHiHoldAir_Coll (HSD_GObj *gobj)
 Fox & Falco's aerial Firefox/Firebird Start Collision callback.
 
void ftFx_SpecialHiHold_GroundToAir (HSD_GObj *gobj)
 Fox & Falco's ground -> air Firefox/Firebird Start Motion State handler.
 
void ftFx_SpecialHiHoldAir_AirToGround (HSD_GObj *gobj)
 Fox & Falco's air -> ground Firefox/Firebird Start Motion State handler.
 
void ftFx_SpecialHi_Anim (HSD_GObj *gobj)
 Fox & Falco's grounded Firefox/Firebird Launch Animation callback.
 
void ftFx_SpecialAirHi_Anim (HSD_GObj *gobj)
 Fox & Falco's aerial Firefox/Firebird Launch Animation callback.
 
void ftFx_SpecialHi_IASA (HSD_GObj *gobj)
 Fox & Falco's grounded Firefox/Firebird Launch IASA callback.
 
void ftFx_SpecialAirHi_IASA (HSD_GObj *gobj)
 Fox & Falco's aerial Firerfox/Firebird Launch IASA callback.
 
void ftFx_SpecialHi_Phys (HSD_GObj *gobj)
 Fox & Falco's grounded Firefox/Firebird Launch Physics callback.
 
void ftFx_SpecialAirHi_Phys (HSD_GObj *gobj)
 Fox & Falco's aerial Firefox/Firebird Launch Physics callback.
 
void ftFx_SpecialHi_Coll (HSD_GObj *gobj)
 Fox & Falco's grounded Firefox/Firebird Launch Collision callback.
 
static bool ftFox_SpecialHi_IsBound (HSD_GObj *gobj)
 
void ftFx_SpecialAirHi_Coll (HSD_GObj *gobj)
 Fox & Falco's aerial Firefox/Firebird Launch Collision callback.
 
void ftFx_SpecialHi_GroundToAir (HSD_GObj *gobj)
 Fox & Falco's Firefox/Firebird Launch ground -> air Motion State handler.
 
void ftFx_SpecialAirHi_AirToGround (HSD_GObj *gobj)
 Fox & Falco's grounded Firefox/Firebird Launch Motion State handler.
 
void ftFx_SpecialAirHi_Enter (HSD_GObj *gobj)
 
void ftFx_SpecialHiLanding_Anim (HSD_GObj *gobj)
 
void ftFx_SpecialHiFall_Anim (HSD_GObj *gobj)
 
void ftFx_SpecialHiLanding_IASA (HSD_GObj *gobj)
 
void ftFx_SpecialHiFall_IASA (HSD_GObj *gobj)
 
void ftFx_SpecialHiLanding_Phys (HSD_GObj *gobj)
 
void ftFx_SpecialHiFall_Phys (HSD_GObj *gobj)
 
void ftFx_SpecialHiLanding_Coll (HSD_GObj *gobj)
 
void ftFx_SpecialHiFall_Coll (HSD_GObj *gobj)
 
void ftFx_SpecialHiFall_Enter (HSD_GObj *gobj)
 
void ftFx_SpecialHiFall_AirToGround (HSD_GObj *gobj)
 
void ftFx_SpecialHiLanding_GroundToAir (HSD_GObj *gobj)
 
void ftFx_SpecialHiBound_Anim (HSD_GObj *gobj)
 
void ftFx_SpecialHiBound_IASA (HSD_GObj *gobj)
 
void ftFx_SpecialHiBound_Phys (HSD_GObj *gobj)
 
void ftFx_SpecialHiBound_Coll (HSD_GObj *gobj)
 
void ftFox_SpecialHiBound_SetVars (HSD_GObj *gobj)
 
void ftFx_SpecialHiBound_Enter (HSD_GObj *gobj)
 

Macro Definition Documentation

◆ FTFOX_SPECIALHI_COLL_FLAG

#define FTFOX_SPECIALHI_COLL_FLAG
Value:
static MotionFlags const Ft_MF_KeepGfx
Definition forward.h:150
static MotionFlags const Ft_MF_UpdateCmd
Run all Subaction Events up to the current animation frame.
Definition forward.h:185
static MotionFlags const Ft_MF_SkipItemVis
Used by Ness during Up/Down Smash.
Definition forward.h:195
static MotionFlags const Ft_MF_SkipModelFlags
Definition forward.h:213
static MotionFlags const Ft_MF_SkipModelPartVis
Definition forward.h:205
static MotionFlags const Ft_MF_Unk19
Skips updating bit 5 of #Fighter::x2222_flag?
Definition forward.h:198
static MotionFlags const Ft_MF_Unk27
Definition forward.h:215
static MotionFlags const Ft_MF_SkipColAnim
Definition forward.h:179
static MotionFlags const Ft_MF_SkipMatAnim
Ignore switching to character's "hurt" textures ?
Definition forward.h:166

◆ HALF_PI32

#define HALF_PI32   (1.5707963705062866f)
Todo:
Move elsewhere.

◆ DOUBLE_PI32

#define DOUBLE_PI32   (6.2831854820251465f)
Todo:
Move elsewhere.

Function Documentation

◆ ftFx_SpecialHi_CreateLaunchGFX()

void ftFx_SpecialHi_CreateLaunchGFX ( HSD_GObj gobj)

Create Firefox/Firebird Launch GFX.

◆ ftFx_SpecialHi_CreateChargeGFX()

void ftFx_SpecialHi_CreateChargeGFX ( HSD_GObj gobj)

Create Firefox/Firebird Charge GFX.

◆ ftFx_SpecialHi_Enter()

void ftFx_SpecialHi_Enter ( HSD_GObj gobj)

Fox & Falco's grounded Firefox/Firebird Start Motion State handler.

◆ ftFx_SpecialAirHiStart_Enter()

void ftFx_SpecialAirHiStart_Enter ( HSD_GObj gobj)

Fox & Falco's aerial Firefox/Firebird Start Motion State handler.

◆ ftFox_SpecialHi_RotateModel()

static void ftFox_SpecialHi_RotateModel ( HSD_GObj gobj)
static

◆ ftFx_SpecialHiHold_Anim()

void ftFx_SpecialHiHold_Anim ( HSD_GObj gobj)

Fox & Falco's grounded Firefox/Firebird Start Animation callback.

◆ ftFx_SpecialHiHoldAir_Anim()

void ftFx_SpecialHiHoldAir_Anim ( HSD_GObj gobj)

Fox & Falco's aerial Firefox/Firebird Start Animation callback.

◆ ftFx_SpecialHiHold_IASA()

void ftFx_SpecialHiHold_IASA ( HSD_GObj gobj)

Fox & Falco's grounded Firefox/Firebird Start IASA callback.

◆ ftFx_SpecialHiHoldAir_IASA()

void ftFx_SpecialHiHoldAir_IASA ( HSD_GObj gobj)

Fox & Falco's aerial Firefox/Firebird Start IASA callback.

◆ ftFx_SpecialHiHold_Phys()

void ftFx_SpecialHiHold_Phys ( HSD_GObj gobj)

Fox & Falco's grorunded Firefox/Firebird Start Physics callback.

◆ ftFx_SpecialHiHoldAir_Phys()

void ftFx_SpecialHiHoldAir_Phys ( HSD_GObj gobj)

Fox & Falco's aerial Firefox/Firebird Start Physics callback.

◆ ftFx_SpecialHiHold_Coll()

void ftFx_SpecialHiHold_Coll ( HSD_GObj gobj)

Fox & Falco's grounded Firerfox/Firebird Start Collision callback.

◆ ftFx_SpecialHiHoldAir_Coll()

void ftFx_SpecialHiHoldAir_Coll ( HSD_GObj gobj)

Fox & Falco's aerial Firefox/Firebird Start Collision callback.

Todo:
Ternary operator should be possible here somehow.

◆ ftFx_SpecialHiHold_GroundToAir()

void ftFx_SpecialHiHold_GroundToAir ( HSD_GObj gobj)

Fox & Falco's ground -> air Firefox/Firebird Start Motion State handler.

◆ ftFx_SpecialHiHoldAir_AirToGround()

void ftFx_SpecialHiHoldAir_AirToGround ( HSD_GObj gobj)

Fox & Falco's air -> ground Firefox/Firebird Start Motion State handler.

◆ ftFx_SpecialHi_Anim()

void ftFx_SpecialHi_Anim ( HSD_GObj gobj)

Fox & Falco's grounded Firefox/Firebird Launch Animation callback.

Todo:
Common inline with ftFx_SpecialAirHi_Anim.

◆ ftFx_SpecialAirHi_Anim()

void ftFx_SpecialAirHi_Anim ( HSD_GObj gobj)

Fox & Falco's aerial Firefox/Firebird Launch Animation callback.

◆ ftFx_SpecialHi_IASA()

void ftFx_SpecialHi_IASA ( HSD_GObj gobj)

Fox & Falco's grounded Firefox/Firebird Launch IASA callback.

◆ ftFx_SpecialAirHi_IASA()

void ftFx_SpecialAirHi_IASA ( HSD_GObj gobj)

Fox & Falco's aerial Firerfox/Firebird Launch IASA callback.

◆ ftFx_SpecialHi_Phys()

void ftFx_SpecialHi_Phys ( HSD_GObj gobj)

Fox & Falco's grounded Firefox/Firebird Launch Physics callback.

Todo:
Possibly common inline with ftFx_SpecialAirHi_Phys.

◆ ftFx_SpecialAirHi_Phys()

void ftFx_SpecialAirHi_Phys ( HSD_GObj gobj)

Fox & Falco's aerial Firefox/Firebird Launch Physics callback.

◆ ftFx_SpecialHi_Coll()

void ftFx_SpecialHi_Coll ( HSD_GObj gobj)

Fox & Falco's grounded Firefox/Firebird Launch Collision callback.

◆ ftFox_SpecialHi_IsBound()

static bool ftFox_SpecialHi_IsBound ( HSD_GObj gobj)
inlinestatic

◆ ftFx_SpecialAirHi_Coll()

void ftFx_SpecialAirHi_Coll ( HSD_GObj gobj)

Fox & Falco's aerial Firefox/Firebird Launch Collision callback.

Todo:
Rework this entire match.
Remarks
Not a single line of this entire function makes the slightest sliver of sense but it matches so whatever :D
Todo:
This match is definitely fake.

◆ ftFx_SpecialHi_GroundToAir()

void ftFx_SpecialHi_GroundToAir ( HSD_GObj gobj)

Fox & Falco's Firefox/Firebird Launch ground -> air Motion State handler.

◆ ftFx_SpecialAirHi_AirToGround()

void ftFx_SpecialAirHi_AirToGround ( HSD_GObj gobj)

Fox & Falco's grounded Firefox/Firebird Launch Motion State handler.

◆ ftFx_SpecialAirHi_Enter()

void ftFx_SpecialAirHi_Enter ( HSD_GObj gobj)

◆ ftFx_SpecialHiLanding_Anim()

void ftFx_SpecialHiLanding_Anim ( HSD_GObj gobj)

◆ ftFx_SpecialHiFall_Anim()

void ftFx_SpecialHiFall_Anim ( HSD_GObj gobj)

◆ ftFx_SpecialHiLanding_IASA()

void ftFx_SpecialHiLanding_IASA ( HSD_GObj gobj)

◆ ftFx_SpecialHiFall_IASA()

void ftFx_SpecialHiFall_IASA ( HSD_GObj gobj)

◆ ftFx_SpecialHiLanding_Phys()

void ftFx_SpecialHiLanding_Phys ( HSD_GObj gobj)

◆ ftFx_SpecialHiFall_Phys()

void ftFx_SpecialHiFall_Phys ( HSD_GObj gobj)

◆ ftFx_SpecialHiLanding_Coll()

void ftFx_SpecialHiLanding_Coll ( HSD_GObj gobj)

◆ ftFx_SpecialHiFall_Coll()

void ftFx_SpecialHiFall_Coll ( HSD_GObj gobj)

◆ ftFx_SpecialHiFall_Enter()

void ftFx_SpecialHiFall_Enter ( HSD_GObj gobj)

◆ ftFx_SpecialHiFall_AirToGround()

void ftFx_SpecialHiFall_AirToGround ( HSD_GObj gobj)

◆ ftFx_SpecialHiLanding_GroundToAir()

void ftFx_SpecialHiLanding_GroundToAir ( HSD_GObj gobj)

◆ ftFx_SpecialHiBound_Anim()

void ftFx_SpecialHiBound_Anim ( HSD_GObj gobj)

◆ ftFx_SpecialHiBound_IASA()

void ftFx_SpecialHiBound_IASA ( HSD_GObj gobj)

◆ ftFx_SpecialHiBound_Phys()

void ftFx_SpecialHiBound_Phys ( HSD_GObj gobj)

◆ ftFx_SpecialHiBound_Coll()

void ftFx_SpecialHiBound_Coll ( HSD_GObj gobj)

◆ ftFox_SpecialHiBound_SetVars()

void ftFox_SpecialHiBound_SetVars ( HSD_GObj gobj)
inline

◆ ftFx_SpecialHiBound_Enter()

void ftFx_SpecialHiBound_Enter ( HSD_GObj gobj)