SSBM Decomp
Loading...
Searching...
No Matches
ftFx_SpecialLw.c File Reference
#include <platform.h>
#include "ftFx_SpecialLw.h"
#include "math.h"
#include "ef/eflib.h"
#include "ef/efsync.h"
#include "ft/fighter.h"
#include "ft/ft_081B.h"
#include "ft/ft_0C88.h"
#include "ft/ftanim.h"
#include "ft/ftcoll.h"
#include "ft/ftcommon.h"
#include "ft/ftparts.h"
#include "ft/types.h"
#include "ftCommon/ftCo_Pass.h"
#include "ftFox/types.h"
#include "lb/lb_00B0.h"
#include "lb/lb_00F9.h"
#include <common_structs.h>
#include <dolphin/mtx/types.h>

Macros

#define FTFOX_SPECIALLW_COLL_FLAG
 

Functions

void ftFx_SpecialLw_CreateLoopGFX (HSD_GObj *gobj)
 Create Reflector Loop GFX.
 
void ftFx_SpecialLw_CreateStartGFX (HSD_GObj *gobj)
 Create Reflector Start GFX.
 
void ftFx_SpecialLw_CreateReflectGFX (HSD_GObj *gobj)
 Create Reflector Deflect GFX.
 
static void ftFox_SpecialLw_SetVars (HSD_GObj *gobj)
 
void ftFx_SpecialLw_Enter (HSD_GObj *gobj)
 Fox & Falco's grounded Reflector Start Motion State handler.
 
void ftFx_SpecialAirLw_Enter (HSD_GObj *gobj)
 Fox & Falco's aerial Reflector Start Motion State handler.
 
static void ftFx_SpecialLwLoop_Enter (HSD_GObj *gobj)
 Fox & Falco's grounded Reflector Loop Motion State handler.
 
static void ftFx_SpecialAirLwLoop_Enter (HSD_GObj *gobj)
 Fox & Falco's aerial Reflector Loop Motion State handler.
 
void ftFx_SpecialLwStart_Anim (HSD_GObj *gobj)
 
void ftFx_SpecialAirLwStart_Anim (HSD_GObj *gobj)
 Fox & Falco's aerial Reflector Start Animation callback.
 
void ftFx_SpecialLwStart_IASA (HSD_GObj *gobj)
 
void ftFx_SpecialAirLwStart_IASA (HSD_GObj *gobj)
 
bool ftFx_SpecialLwStart_CheckPass (HSD_GObj *gobj)
 Check for drop-through platform while in SpecialLwStart.
 
static void ftFx_SpecialLw_CreateReflectHit (HSD_GObj *gobj)
 Create Reflector's reflect bubble.
 
void ftFx_SpecialLwStart_Pass (HSD_GObj *gobj)
 Fox & Falco's Reflector Start Platform Drop Motion State handler.
 
void ftFx_SpecialLwStart_Phys (HSD_GObj *gobj)
 Fox & Falco's Reflector Start Physics callback.
 
void ftFx_SpecialAirLwStart_Phys (HSD_GObj *gobj)
 Fox & Falco's aerial Reflector Start Physics callback.
 
void ftFx_SpecialLwStart_Coll (HSD_GObj *gobj)
 Fox & Falco's grounded Reflector Start Collision callback.
 
void ftFx_SpecialAirLwStart_Coll (HSD_GObj *gobj)
 Fox & Falco's aerial Reflector Start Collision callback.
 
void ftFx_SpecialLwStart_GroundToAir (HSD_GObj *gobj)
 Fox & Falco's ground -> air Reflector Start Motion State handler.
 
void ftFx_SpecialAirLwStart_AirToGround (HSD_GObj *gobj)
 Fox & Falco's air -> ground Reflector Start Motion State handler.
 
void ftFx_SpecialLwLoop_Anim (HSD_GObj *gobj)
 Fox & Falco's grounded Reflector Loop Animation callback.
 
void ftFx_SpecialAirLwLoop_Anim (HSD_GObj *gobj)
 Fox & Falco's aerial Reflector Loop Animation callback.
 
static bool ftFx_SpecialLwLoop_CheckPass (HSD_GObj *gobj)
 Check for drop-through platform while in SpecialLwLoop.
 
void ftFx_SpecialLwLoop_IASA (HSD_GObj *gobj)
 Fox & Falco's grounded Reflector Loop IASA callback.
 
void ftFx_SpecialAirLwLoop_IASA (HSD_GObj *gobj)
 Fox & Falco's aerial Reflector Loop IASA callback.
 
static void ftFx_SpecialLwLoop_Pass (HSD_GObj *gobj)
 Fox & Falco's Reflector Loop Platform Drop Motion State handler.
 
void ftFx_SpecialLwLoop_Phys (HSD_GObj *gobj)
 Fox & Falco's grounded Reflector Loop Physics callback.
 
static void ftFox_SpecialLw_InlinePhys (HSD_GObj *gobj)
 
void ftFx_SpecialAirLwLoop_Phys (HSD_GObj *gobj)
 Fox & Falco's aerial Reflector Loop Physics callback.
 
static void ftFx_SpecialLwLoop_GroundToAir (HSD_GObj *gobj)
 Fox & Falco's ground -> air Reflector Loop Motion State handler.
 
void ftFx_SpecialLwLoop_Coll (HSD_GObj *gobj)
 Fox & Falco's grounded Reflector Loop Collision callback.
 
static void ftFx_SpecialAirLwLoop_AirToGround (HSD_GObj *gobj)
 Fox & Falco's air -> ground Reflector Loop Motion State Handler.
 
void ftFx_SpecialAirLwLoop_Coll (HSD_GObj *gobj)
 Fox & Falco's aerial Reflector Loop Collision callback.
 
static void ftFx_SpecialLw_Turn (HSD_GObj *gobj)
 Fox & Falco's Reflector Turn function.
 
static void ftFox_SpecialLw_Turn_Inline (HSD_GObj *gobj)
 Fox & Falco's Reflector Turn function.
 
void ftFx_SpecialLwTurn_Anim (HSD_GObj *gobj)
 Fox & Falco's grounded Reflector Turn Animation callback.
 
void ftFx_SpecialAirLwTurn_Anim (HSD_GObj *gobj)
 Fox & Falco's aerial Reflector Turn Animation callback.
 
void ftFx_SpecialLwTurn_IASA (HSD_GObj *gobj)
 
void ftFx_SpecialAirLwTurn_IASA (HSD_GObj *gobj)
 
void ftFx_SpecialLwTurn_Phys (HSD_GObj *gobj)
 
void ftFx_SpecialAirLwTurn_Phys (HSD_GObj *gobj)
 Fox & Falco's aerial Reflector Turn Physics callback.
 
void ftFx_SpecialLwTurn_Coll (HSD_GObj *gobj)
 
void ftFx_SpecialAirLwTurn_Coll (HSD_GObj *gobj)
 
void ftFox_SpecialLw_SetReflectVars (HSD_GObj *gobj)
 
void ftFx_SpecialLwTurn_GroundToAir (HSD_GObj *gobj)
 
void ftFx_SpecialAirLwTurn_GroundToAir (HSD_GObj *gobj)
 
void ftFox_SpecialLwTurn_SetVarAll (HSD_GObj *gobj)
 
bool ftFx_SpecialLwTurn_Check (HSD_GObj *gobj)
 
void ftFox_SpecialLwHit_CreateReflectInline (HSD_GObj *gobj)
 
bool ftFx_SpecialLwHit_Check (HSD_GObj *gobj)
 
void ftFx_SpecialLwHit_Anim (HSD_GObj *gobj)
 Fox & Falco's grounded Reflector Hit Animation callback.
 
void ftFx_SpecialAirLwHit_Anim (HSD_GObj *gobj)
 Fox & Falco's aerial Reflector Hit Animation callback.
 
void ftFx_SpecialLwHit_IASA (HSD_GObj *gobj)
 
void ftFx_SpecialAirLwHit_IASA (HSD_GObj *gobj)
 
void ftFx_SpecialLwHit_Phys (HSD_GObj *gobj)
 
void ftFx_SpecialAirLwHit_Phys (HSD_GObj *gobj)
 Fox & Falco's aerial Reflector Hit Physics callback.
 
void ftFx_SpecialLwHit_Coll (HSD_GObj *gobj)
 Fox & Falco's grounded Reflector Hit Collision callback.
 
void ftFx_SpecialAirLwHit_Coll (HSD_GObj *gobj)
 Fox & Falco's aerial Reflector Hit Collision callback.
 
void ftFx_SpecialLwHit_GroundToAir (HSD_GObj *gobj)
 
void ftFx_SpecialAirLwHit_AirToGround (HSD_GObj *gobj)
 
void ftFx_SpecialLwHit_SetCall (HSD_GObj *gobj)
 
void ftFx_SpecialLwHit_Enter (HSD_GObj *gobj)
 
void ftFx_SpecialLwEnd_Anim (HSD_GObj *gobj)
 Fox & Falco's grounded Reflector End Animation callback.
 
void ftFx_SpecialAirLwEnd_Anim (HSD_GObj *gobj)
 Fox & Falco's aerial Reflector End Animation callback.
 
void ftFx_SpecialLwEnd_IASA (HSD_GObj *gobj)
 Fox & Falco's grounded Reflector End IASA callback.
 
void ftFx_SpecialAirLwEnd_IASA (HSD_GObj *gobj)
 
void ftFx_SpecialLwEnd_Phys (HSD_GObj *gobj)
 
void ftFx_SpecialAirLwEnd_Phys (HSD_GObj *gobj)
 Fox & Falco's aerial Reflector End Physics callback.
 
void ftFx_SpecialLwEnd_Coll (HSD_GObj *gobj)
 
void ftFx_SpecialAirLwEnd_Coll (HSD_GObj *gobj)
 
void ftFx_SpecialLwEnd_GroundToAir (HSD_GObj *gobj)
 
void ftFx_SpecialAirLwEnd_AirToGround (HSD_GObj *gobj)
 
void ftFx_SpecialLwEnd_Enter (HSD_GObj *gobj)
 
void ftFx_SpecialAirLwEnd_Enter (HSD_GObj *gobj)
 

Macro Definition Documentation

◆ FTFOX_SPECIALLW_COLL_FLAG

#define FTFOX_SPECIALLW_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

Function Documentation

◆ ftFx_SpecialLw_CreateLoopGFX()

void ftFx_SpecialLw_CreateLoopGFX ( HSD_GObj gobj)

Create Reflector Loop GFX.

Todo:
Shared inline with ftFx_SpecialLw_CreateStartGFX.

◆ ftFx_SpecialLw_CreateStartGFX()

void ftFx_SpecialLw_CreateStartGFX ( HSD_GObj gobj)

Create Reflector Start GFX.

◆ ftFx_SpecialLw_CreateReflectGFX()

void ftFx_SpecialLw_CreateReflectGFX ( HSD_GObj gobj)

Create Reflector Deflect GFX.

◆ ftFox_SpecialLw_SetVars()

static void ftFox_SpecialLw_SetVars ( HSD_GObj gobj)
inlinestatic

◆ ftFx_SpecialLw_Enter()

void ftFx_SpecialLw_Enter ( HSD_GObj gobj)

Fox & Falco's grounded Reflector Start Motion State handler.

◆ ftFx_SpecialAirLw_Enter()

void ftFx_SpecialAirLw_Enter ( HSD_GObj gobj)

Fox & Falco's aerial Reflector Start Motion State handler.

◆ ftFx_SpecialLwLoop_Enter()

static void ftFx_SpecialLwLoop_Enter ( HSD_GObj gobj)
static

Fox & Falco's grounded Reflector Loop Motion State handler.

◆ ftFx_SpecialAirLwLoop_Enter()

static void ftFx_SpecialAirLwLoop_Enter ( HSD_GObj gobj)
static

Fox & Falco's aerial Reflector Loop Motion State handler.

◆ ftFx_SpecialLwStart_Anim()

void ftFx_SpecialLwStart_Anim ( HSD_GObj gobj)

◆ ftFx_SpecialAirLwStart_Anim()

void ftFx_SpecialAirLwStart_Anim ( HSD_GObj gobj)

Fox & Falco's aerial Reflector Start Animation callback.

◆ ftFx_SpecialLwStart_IASA()

void ftFx_SpecialLwStart_IASA ( HSD_GObj gobj)

◆ ftFx_SpecialAirLwStart_IASA()

void ftFx_SpecialAirLwStart_IASA ( HSD_GObj gobj)

◆ ftFx_SpecialLwStart_CheckPass()

bool ftFx_SpecialLwStart_CheckPass ( HSD_GObj gobj)

Check for drop-through platform while in SpecialLwStart.

◆ ftFx_SpecialLw_CreateReflectHit()

static void ftFx_SpecialLw_CreateReflectHit ( HSD_GObj gobj)
static

Create Reflector's reflect bubble.

◆ ftFx_SpecialLwStart_Pass()

void ftFx_SpecialLwStart_Pass ( HSD_GObj gobj)

Fox & Falco's Reflector Start Platform Drop Motion State handler.

◆ ftFx_SpecialLwStart_Phys()

void ftFx_SpecialLwStart_Phys ( HSD_GObj gobj)

Fox & Falco's Reflector Start Physics callback.

◆ ftFx_SpecialAirLwStart_Phys()

void ftFx_SpecialAirLwStart_Phys ( HSD_GObj gobj)

Fox & Falco's aerial Reflector Start Physics callback.

◆ ftFx_SpecialLwStart_Coll()

void ftFx_SpecialLwStart_Coll ( HSD_GObj gobj)

Fox & Falco's grounded Reflector Start Collision callback.

◆ ftFx_SpecialAirLwStart_Coll()

void ftFx_SpecialAirLwStart_Coll ( HSD_GObj gobj)

Fox & Falco's aerial Reflector Start Collision callback.

◆ ftFx_SpecialLwStart_GroundToAir()

void ftFx_SpecialLwStart_GroundToAir ( HSD_GObj gobj)

Fox & Falco's ground -> air Reflector Start Motion State handler.

◆ ftFx_SpecialAirLwStart_AirToGround()

void ftFx_SpecialAirLwStart_AirToGround ( HSD_GObj gobj)

Fox & Falco's air -> ground Reflector Start Motion State handler.

◆ ftFx_SpecialLwLoop_Anim()

void ftFx_SpecialLwLoop_Anim ( HSD_GObj gobj)

Fox & Falco's grounded Reflector Loop Animation callback.

Todo:
Shared inline with ftFx_SpecialAirLwLoop_Anim.

◆ ftFx_SpecialAirLwLoop_Anim()

void ftFx_SpecialAirLwLoop_Anim ( HSD_GObj gobj)

Fox & Falco's aerial Reflector Loop Animation callback.

◆ ftFx_SpecialLwLoop_CheckPass()

static bool ftFx_SpecialLwLoop_CheckPass ( HSD_GObj gobj)
static

Check for drop-through platform while in SpecialLwLoop.

◆ ftFx_SpecialLwLoop_IASA()

void ftFx_SpecialLwLoop_IASA ( HSD_GObj gobj)

Fox & Falco's grounded Reflector Loop IASA callback.

◆ ftFx_SpecialAirLwLoop_IASA()

void ftFx_SpecialAirLwLoop_IASA ( HSD_GObj gobj)

Fox & Falco's aerial Reflector Loop IASA callback.

Remarks
Kinda weird, was this stripped or are there side effects?

◆ ftFx_SpecialLwLoop_Pass()

static void ftFx_SpecialLwLoop_Pass ( HSD_GObj gobj)
static

Fox & Falco's Reflector Loop Platform Drop Motion State handler.

◆ ftFx_SpecialLwLoop_Phys()

void ftFx_SpecialLwLoop_Phys ( HSD_GObj gobj)

Fox & Falco's grounded Reflector Loop Physics callback.

◆ ftFox_SpecialLw_InlinePhys()

static void ftFox_SpecialLw_InlinePhys ( HSD_GObj gobj)
inlinestatic
Todo:
Shared inline with other functions in this file.

◆ ftFx_SpecialAirLwLoop_Phys()

void ftFx_SpecialAirLwLoop_Phys ( HSD_GObj gobj)

Fox & Falco's aerial Reflector Loop Physics callback.

◆ ftFx_SpecialLwLoop_GroundToAir()

static void ftFx_SpecialLwLoop_GroundToAir ( HSD_GObj gobj)
static

Fox & Falco's ground -> air Reflector Loop Motion State handler.

◆ ftFx_SpecialLwLoop_Coll()

void ftFx_SpecialLwLoop_Coll ( HSD_GObj gobj)

Fox & Falco's grounded Reflector Loop Collision callback.

◆ ftFx_SpecialAirLwLoop_AirToGround()

static void ftFx_SpecialAirLwLoop_AirToGround ( HSD_GObj gobj)
static

Fox & Falco's air -> ground Reflector Loop Motion State Handler.

◆ ftFx_SpecialAirLwLoop_Coll()

void ftFx_SpecialAirLwLoop_Coll ( HSD_GObj gobj)

Fox & Falco's aerial Reflector Loop Collision callback.

◆ ftFx_SpecialLw_Turn()

static void ftFx_SpecialLw_Turn ( HSD_GObj gobj)
static

Fox & Falco's Reflector Turn function.

◆ ftFox_SpecialLw_Turn_Inline()

static void ftFox_SpecialLw_Turn_Inline ( HSD_GObj gobj)
inlinestatic

Fox & Falco's Reflector Turn function.

Todo:
Degrees-to-radians constant.

◆ ftFx_SpecialLwTurn_Anim()

void ftFx_SpecialLwTurn_Anim ( HSD_GObj gobj)

Fox & Falco's grounded Reflector Turn Animation callback.

Todo:
Shared inline with ftFx_SpecialAirLwTurn_Anim.

◆ ftFx_SpecialAirLwTurn_Anim()

void ftFx_SpecialAirLwTurn_Anim ( HSD_GObj gobj)

Fox & Falco's aerial Reflector Turn Animation callback.

◆ ftFx_SpecialLwTurn_IASA()

void ftFx_SpecialLwTurn_IASA ( HSD_GObj gobj)

◆ ftFx_SpecialAirLwTurn_IASA()

void ftFx_SpecialAirLwTurn_IASA ( HSD_GObj gobj)

◆ ftFx_SpecialLwTurn_Phys()

void ftFx_SpecialLwTurn_Phys ( HSD_GObj gobj)

◆ ftFx_SpecialAirLwTurn_Phys()

void ftFx_SpecialAirLwTurn_Phys ( HSD_GObj gobj)

Fox & Falco's aerial Reflector Turn Physics callback.

◆ ftFx_SpecialLwTurn_Coll()

void ftFx_SpecialLwTurn_Coll ( HSD_GObj gobj)

◆ ftFx_SpecialAirLwTurn_Coll()

void ftFx_SpecialAirLwTurn_Coll ( HSD_GObj gobj)

◆ ftFox_SpecialLw_SetReflectVars()

void ftFox_SpecialLw_SetReflectVars ( HSD_GObj gobj)
inline

◆ ftFx_SpecialLwTurn_GroundToAir()

void ftFx_SpecialLwTurn_GroundToAir ( HSD_GObj gobj)

◆ ftFx_SpecialAirLwTurn_GroundToAir()

void ftFx_SpecialAirLwTurn_GroundToAir ( HSD_GObj gobj)

◆ ftFox_SpecialLwTurn_SetVarAll()

void ftFox_SpecialLwTurn_SetVarAll ( HSD_GObj gobj)
inline

◆ ftFx_SpecialLwTurn_Check()

bool ftFx_SpecialLwTurn_Check ( HSD_GObj gobj)

◆ ftFox_SpecialLwHit_CreateReflectInline()

void ftFox_SpecialLwHit_CreateReflectInline ( HSD_GObj gobj)
inline

◆ ftFx_SpecialLwHit_Check()

bool ftFx_SpecialLwHit_Check ( HSD_GObj gobj)

◆ ftFx_SpecialLwHit_Anim()

void ftFx_SpecialLwHit_Anim ( HSD_GObj gobj)

Fox & Falco's grounded Reflector Hit Animation callback.

◆ ftFx_SpecialAirLwHit_Anim()

void ftFx_SpecialAirLwHit_Anim ( HSD_GObj gobj)

Fox & Falco's aerial Reflector Hit Animation callback.

◆ ftFx_SpecialLwHit_IASA()

void ftFx_SpecialLwHit_IASA ( HSD_GObj gobj)

◆ ftFx_SpecialAirLwHit_IASA()

void ftFx_SpecialAirLwHit_IASA ( HSD_GObj gobj)

◆ ftFx_SpecialLwHit_Phys()

void ftFx_SpecialLwHit_Phys ( HSD_GObj gobj)

◆ ftFx_SpecialAirLwHit_Phys()

void ftFx_SpecialAirLwHit_Phys ( HSD_GObj gobj)

Fox & Falco's aerial Reflector Hit Physics callback.

◆ ftFx_SpecialLwHit_Coll()

void ftFx_SpecialLwHit_Coll ( HSD_GObj gobj)

Fox & Falco's grounded Reflector Hit Collision callback.

◆ ftFx_SpecialAirLwHit_Coll()

void ftFx_SpecialAirLwHit_Coll ( HSD_GObj gobj)

Fox & Falco's aerial Reflector Hit Collision callback.

◆ ftFx_SpecialLwHit_GroundToAir()

void ftFx_SpecialLwHit_GroundToAir ( HSD_GObj gobj)

◆ ftFx_SpecialAirLwHit_AirToGround()

void ftFx_SpecialAirLwHit_AirToGround ( HSD_GObj gobj)

◆ ftFx_SpecialLwHit_SetCall()

void ftFx_SpecialLwHit_SetCall ( HSD_GObj gobj)

◆ ftFx_SpecialLwHit_Enter()

void ftFx_SpecialLwHit_Enter ( HSD_GObj gobj)

◆ ftFx_SpecialLwEnd_Anim()

void ftFx_SpecialLwEnd_Anim ( HSD_GObj gobj)

Fox & Falco's grounded Reflector End Animation callback.

◆ ftFx_SpecialAirLwEnd_Anim()

void ftFx_SpecialAirLwEnd_Anim ( HSD_GObj gobj)

Fox & Falco's aerial Reflector End Animation callback.

◆ ftFx_SpecialLwEnd_IASA()

void ftFx_SpecialLwEnd_IASA ( HSD_GObj gobj)

Fox & Falco's grounded Reflector End IASA callback.

◆ ftFx_SpecialAirLwEnd_IASA()

void ftFx_SpecialAirLwEnd_IASA ( HSD_GObj gobj)

◆ ftFx_SpecialLwEnd_Phys()

void ftFx_SpecialLwEnd_Phys ( HSD_GObj gobj)

◆ ftFx_SpecialAirLwEnd_Phys()

void ftFx_SpecialAirLwEnd_Phys ( HSD_GObj gobj)

Fox & Falco's aerial Reflector End Physics callback.

◆ ftFx_SpecialLwEnd_Coll()

void ftFx_SpecialLwEnd_Coll ( HSD_GObj gobj)

◆ ftFx_SpecialAirLwEnd_Coll()

void ftFx_SpecialAirLwEnd_Coll ( HSD_GObj gobj)

◆ ftFx_SpecialLwEnd_GroundToAir()

void ftFx_SpecialLwEnd_GroundToAir ( HSD_GObj gobj)

◆ ftFx_SpecialAirLwEnd_AirToGround()

void ftFx_SpecialAirLwEnd_AirToGround ( HSD_GObj gobj)

◆ ftFx_SpecialLwEnd_Enter()

void ftFx_SpecialLwEnd_Enter ( HSD_GObj gobj)

◆ ftFx_SpecialAirLwEnd_Enter()

void ftFx_SpecialAirLwEnd_Enter ( HSD_GObj gobj)