SSBM Decomp
Loading...
Searching...
No Matches
ftGw_SpecialLw.c File Reference
#include "lb/forward.h"
#include "ftGw_SpecialLw.h"
#include "ftGw_Init.h"
#include "types.h"
#include "ft/fighter.h"
#include "ft/ft_081B.h"
#include "ft/ft_0892.h"
#include "ft/ft_0C88.h"
#include "ft/ftanim.h"
#include "ft/ftcolanim.h"
#include "ft/ftcoll.h"
#include "ft/ftcommon.h"
#include "ft/ftparts.h"
#include "ft/types.h"
#include "it/items/itgamewatchpanic.h"
#include "lb/lb_00B0.h"
#include <common_structs.h>
#include <dolphin/mtx/types.h>

Functions

void ftGw_SpecialLw_ItemPanicSetup (HSD_GObj *gobj)
 Create Oil Panic Item.
 
void ftGw_SpecialLw_ItemPanicSetFlag (HSD_GObj *gobj)
 Set Oil Panic flags + clear pointers.
 
void ftGw_SpecialLw_ItemPanicRemove (HSD_GObj *gobj)
 Remove Oil Panic item.
 
void ftGw_SpecialLw_ItemPanicEnterHitlag (HSD_GObj *gobj)
 Apply hitlag to Oil Panic item.
 
void ftGw_SpecialLw_ItemPanicExitHitlag (HSD_GObj *gobj)
 Remove hitlag for Oil Panic item.
 
bool ftGw_SpecialLw_ItemCheckPanicRemove (HSD_GObj *gobj)
 Check if Mr. Game & Watch is in any of his Oil Panic Motion States.
 
void ftGw_SpecialLw_UpdateBucketModel (HSD_GObj *gobj)
 Update Oil Panic charge level indicator models.
 
void ftGameWatch_SpecialLw_SetVars (HSD_GObj *gobj)
 
void ftGw_SpecialLw_Enter (HSD_GObj *gobj)
 Mr. Game & Watch's Oil Panic Start Motion State handler.
 
void ftGw_SpecialAirLw_Enter (HSD_GObj *gobj)
 
static void ftGameWatch_SpecialLw_UpdateVars (HSD_GObj *gobj)
 
void ftGw_SpecialLw_Anim (HSD_GObj *gobj)
 Mr. Game & Watch's grounded Oil Panic Loop Animation callback.
 
void ftGw_SpecialAirLw_Anim (HSD_GObj *gobj)
 Mr. Game & Watch's aerial Oil Panic Loop Animation callback.
 
void ftGw_SpecialLw_IASA (HSD_GObj *gobj)
 Mr. Game & Watch's grounded Oil Panic Loop IASA callback.
 
void ftGw_SpecialAirLw_IASA (HSD_GObj *gobj)
 Mr. Game & Watch's aerial Oil Panic Loop IASA callback.
 
void ftGw_SpecialLw_Phys (HSD_GObj *gobj)
 Mr. Game & Watch's grounded Oil Panic Loop Physics callback.
 
void ftGw_SpecialAirLw_Phys (HSD_GObj *gobj)
 Mr. Game & Watch's aerial Oil Panic Loop Physics callback.
 
void ftGw_SpecialLw_Coll (HSD_GObj *gobj)
 Mr. Game & Watch's grounded Oil Panic Loop Collision callback.
 
void ftGw_SpecialAirLw_Coll (HSD_GObj *gobj)
 Mr. Game & Watch's aerial Oil Panic Loop Collision callback.
 
static void ftGameWatch_SpecialLw_UpdateVarsColl (HSD_GObj *gobj)
 
void ftGw_SpecialLw_GroundToAir (HSD_GObj *gobj)
 
void ftGw_SpecialAirLw_AirToGround (HSD_GObj *gobj)
 
static void ftGameWatch_SpecialLw_UpdateVarsAction (HSD_GObj *gobj)
 
void ftGw_SpecialLw_UpdateAction (HSD_GObj *gobj, float anim_frame)
 
void ftGw_SpecialAirLw_UpdateAction (HSD_GObj *gobj, float anim_frame)
 
void ftGw_SpecialLwCatch_Anim (HSD_GObj *gobj)
 Mr. Game & Watch's grounded Oil Panic Fill Motion State handler.
 
void ftGw_SpecialAirLwCatch_Anim (HSD_GObj *gobj)
 Mr. Game & Watch's aerial Oil Panic Fill Animation callback.
 
void ftGw_SpecialLwCatch_IASA (HSD_GObj *gobj)
 Mr. Game & Watch's grounded Oil Panic Fill IASA callback.
 
void ftGw_SpecialAirLwCatch_IASA (HSD_GObj *gobj)
 Mr. Game & Watch's aerial Oil Panic Fill IASA callback.
 
void ftGw_SpecialLwCatch_Phys (HSD_GObj *gobj)
 Mr. Game & Watch's grounded Oil Panic Fill Physics callback.
 
void ftGw_SpecialAirLwCatch_Phys (HSD_GObj *gobj)
 Mr. Game & Watch's aerial Oil Panic Fill Physics callback.
 
void ftGw_SpecialLwCatch_Coll (HSD_GObj *gobj)
 Mr. Game & Watch's grounded Oil Panic Fill Collision callback.
 
void ftGw_SpecialAirLwCatch_Coll (HSD_GObj *gobj)
 Mr. Game & Watch's aerial Oil Panic Fill Collision callback.
 
void ftGw_SpecialLwCatch_GroundToAir (HSD_GObj *gobj)
 Mr. Game & Watch's ground -> air Oil Panic Fill Motion State handler.
 
void ftGw_SpecialAirLwCatch_AirToGround (HSD_GObj *gobj)
 Mr. Game & Watch's air -> ground Oil Panic Fill Motion State handler.
 
void ftGw_SpecialLw_AbsorbThink_DecideAction (HSD_GObj *gobj)
 Check to enter grounded or aerial Oil Panic Fill.
 
static void ftGameWatch_SpecialLwShoot_ApplyDamage (HSD_GObj *gobj)
 
void ftGw_SpecialLwShoot_Anim (HSD_GObj *gobj)
 Mr. Game & Watch's grounded Oil Panic Release Animation callback.
 
void ftGw_SpecialAirLwShoot_Anim (HSD_GObj *gobj)
 Mr. Game & Watch's aerial Oil Panic Release Animation callback.
 
void ftGw_SpecialLwShoot_IASA (HSD_GObj *gobj)
 Mr. Game & Watch's grounded Oil Panic Release IASA callback.
 
void ftGw_SpecialAirLwShoot_IASA (HSD_GObj *gobj)
 Mr. Game & Watch's aerial Oil Panic Release IASA callback.
 
void ftGw_SpecialLwShoot_Phys (HSD_GObj *gobj)
 Mr. Game & Watch's grounded Oil Panic Release Physics callback.
 
void ftGw_SpecialAirLwShoot_Phys (HSD_GObj *gobj)
 Mr. Game & Watch's aerial Oil Panic Release Physics callback.
 
void ftGw_SpecialLwShoot_Coll (HSD_GObj *gobj)
 Mr. Game & Watch's grounded Oil Panic Release Collision callback.
 
void ftGw_SpecialAirLwShoot_Coll (HSD_GObj *gobj)
 Mr. Game & Watch's aerial Oil Panic Release Collision callback.
 
void ftGw_SpecialLwShoot_GroundToAir (HSD_GObj *gobj)
 Mr. Game & Watch's ground -> air Oil Panic Release Motion State handler.
 
void ftGw_SpecialAirLwShoot_AirToGround (HSD_GObj *gobj)
 Mr. Game & Watch's air -> ground Oil Panic Release Motion State handler.
 
void ftGw_SpecialLwShoot_ReleaseOil (HSD_GObj *gobj)
 Enter SpecialLwShoot and calculate damage.
 
void ftGw_SpecialAirLwShoot_ReleaseOil (HSD_GObj *gobj)
 Enter SpecialAirLwShoot and calculate damage.
 

Variables

static int const anim_update_frame = 38
 
static u32 const transition_flags0
 
static u32 const transition_flags1
 

Function Documentation

◆ ftGw_SpecialLw_ItemPanicSetup()

void ftGw_SpecialLw_ItemPanicSetup ( HSD_GObj gobj)

Create Oil Panic Item.

Todo:
Can't move below _.

◆ ftGw_SpecialLw_ItemPanicSetFlag()

void ftGw_SpecialLw_ItemPanicSetFlag ( HSD_GObj gobj)

Set Oil Panic flags + clear pointers.

◆ ftGw_SpecialLw_ItemPanicRemove()

void ftGw_SpecialLw_ItemPanicRemove ( HSD_GObj gobj)

Remove Oil Panic item.

◆ ftGw_SpecialLw_ItemPanicEnterHitlag()

void ftGw_SpecialLw_ItemPanicEnterHitlag ( HSD_GObj gobj)

Apply hitlag to Oil Panic item.

◆ ftGw_SpecialLw_ItemPanicExitHitlag()

void ftGw_SpecialLw_ItemPanicExitHitlag ( HSD_GObj gobj)

Remove hitlag for Oil Panic item.

◆ ftGw_SpecialLw_ItemCheckPanicRemove()

bool ftGw_SpecialLw_ItemCheckPanicRemove ( HSD_GObj gobj)

Check if Mr. Game & Watch is in any of his Oil Panic Motion States.

Todo:
enum

◆ ftGw_SpecialLw_UpdateBucketModel()

void ftGw_SpecialLw_UpdateBucketModel ( HSD_GObj gobj)

Update Oil Panic charge level indicator models.

Todo:
enum for parts

◆ ftGameWatch_SpecialLw_SetVars()

void ftGameWatch_SpecialLw_SetVars ( HSD_GObj gobj)
inline

◆ ftGw_SpecialLw_Enter()

void ftGw_SpecialLw_Enter ( HSD_GObj gobj)

Mr. Game & Watch's Oil Panic Start Motion State handler.

◆ ftGw_SpecialAirLw_Enter()

void ftGw_SpecialAirLw_Enter ( HSD_GObj gobj)

◆ ftGameWatch_SpecialLw_UpdateVars()

static void ftGameWatch_SpecialLw_UpdateVars ( HSD_GObj gobj)
inlinestatic

◆ ftGw_SpecialLw_Anim()

void ftGw_SpecialLw_Anim ( HSD_GObj gobj)

Mr. Game & Watch's grounded Oil Panic Loop Animation callback.

Todo:
Shared inline with ftGw_SpecialAirLw_Anim.
Todo:
Frame number constant

◆ ftGw_SpecialAirLw_Anim()

void ftGw_SpecialAirLw_Anim ( HSD_GObj gobj)

Mr. Game & Watch's aerial Oil Panic Loop Animation callback.

◆ ftGw_SpecialLw_IASA()

void ftGw_SpecialLw_IASA ( HSD_GObj gobj)

Mr. Game & Watch's grounded Oil Panic Loop IASA callback.

Todo:
Shared inline with ftGw_SpecialAirLw_IASA.

◆ ftGw_SpecialAirLw_IASA()

void ftGw_SpecialAirLw_IASA ( HSD_GObj gobj)

Mr. Game & Watch's aerial Oil Panic Loop IASA callback.

◆ ftGw_SpecialLw_Phys()

void ftGw_SpecialLw_Phys ( HSD_GObj gobj)

Mr. Game & Watch's grounded Oil Panic Loop Physics callback.

◆ ftGw_SpecialAirLw_Phys()

void ftGw_SpecialAirLw_Phys ( HSD_GObj gobj)

Mr. Game & Watch's aerial Oil Panic Loop Physics callback.

◆ ftGw_SpecialLw_Coll()

void ftGw_SpecialLw_Coll ( HSD_GObj gobj)

Mr. Game & Watch's grounded Oil Panic Loop Collision callback.

◆ ftGw_SpecialAirLw_Coll()

void ftGw_SpecialAirLw_Coll ( HSD_GObj gobj)

Mr. Game & Watch's aerial Oil Panic Loop Collision callback.

◆ ftGameWatch_SpecialLw_UpdateVarsColl()

static void ftGameWatch_SpecialLw_UpdateVarsColl ( HSD_GObj gobj)
inlinestatic

◆ ftGw_SpecialLw_GroundToAir()

void ftGw_SpecialLw_GroundToAir ( HSD_GObj gobj)

◆ ftGw_SpecialAirLw_AirToGround()

void ftGw_SpecialAirLw_AirToGround ( HSD_GObj gobj)

◆ ftGameWatch_SpecialLw_UpdateVarsAction()

static void ftGameWatch_SpecialLw_UpdateVarsAction ( HSD_GObj gobj)
inlinestatic

◆ ftGw_SpecialLw_UpdateAction()

void ftGw_SpecialLw_UpdateAction ( HSD_GObj gobj,
float  anim_frame 
)

◆ ftGw_SpecialAirLw_UpdateAction()

void ftGw_SpecialAirLw_UpdateAction ( HSD_GObj gobj,
float  anim_frame 
)

◆ ftGw_SpecialLwCatch_Anim()

void ftGw_SpecialLwCatch_Anim ( HSD_GObj gobj)

Mr. Game & Watch's grounded Oil Panic Fill Motion State handler.

◆ ftGw_SpecialAirLwCatch_Anim()

void ftGw_SpecialAirLwCatch_Anim ( HSD_GObj gobj)

Mr. Game & Watch's aerial Oil Panic Fill Animation callback.

◆ ftGw_SpecialLwCatch_IASA()

void ftGw_SpecialLwCatch_IASA ( HSD_GObj gobj)

Mr. Game & Watch's grounded Oil Panic Fill IASA callback.

◆ ftGw_SpecialAirLwCatch_IASA()

void ftGw_SpecialAirLwCatch_IASA ( HSD_GObj gobj)

Mr. Game & Watch's aerial Oil Panic Fill IASA callback.

◆ ftGw_SpecialLwCatch_Phys()

void ftGw_SpecialLwCatch_Phys ( HSD_GObj gobj)

Mr. Game & Watch's grounded Oil Panic Fill Physics callback.

◆ ftGw_SpecialAirLwCatch_Phys()

void ftGw_SpecialAirLwCatch_Phys ( HSD_GObj gobj)

Mr. Game & Watch's aerial Oil Panic Fill Physics callback.

◆ ftGw_SpecialLwCatch_Coll()

void ftGw_SpecialLwCatch_Coll ( HSD_GObj gobj)

Mr. Game & Watch's grounded Oil Panic Fill Collision callback.

◆ ftGw_SpecialAirLwCatch_Coll()

void ftGw_SpecialAirLwCatch_Coll ( HSD_GObj gobj)

Mr. Game & Watch's aerial Oil Panic Fill Collision callback.

◆ ftGw_SpecialLwCatch_GroundToAir()

void ftGw_SpecialLwCatch_GroundToAir ( HSD_GObj gobj)

Mr. Game & Watch's ground -> air Oil Panic Fill Motion State handler.

◆ ftGw_SpecialAirLwCatch_AirToGround()

void ftGw_SpecialAirLwCatch_AirToGround ( HSD_GObj gobj)

Mr. Game & Watch's air -> ground Oil Panic Fill Motion State handler.

◆ ftGw_SpecialLw_AbsorbThink_DecideAction()

void ftGw_SpecialLw_AbsorbThink_DecideAction ( HSD_GObj gobj)

Check to enter grounded or aerial Oil Panic Fill.

Todo:
enum

◆ ftGameWatch_SpecialLwShoot_ApplyDamage()

static void ftGameWatch_SpecialLwShoot_ApplyDamage ( HSD_GObj gobj)
inlinestatic

◆ ftGw_SpecialLwShoot_Anim()

void ftGw_SpecialLwShoot_Anim ( HSD_GObj gobj)

Mr. Game & Watch's grounded Oil Panic Release Animation callback.

Todo:
Shared inline with ftGw_SpecialAirLwShoot_Anim.

◆ ftGw_SpecialAirLwShoot_Anim()

void ftGw_SpecialAirLwShoot_Anim ( HSD_GObj gobj)

Mr. Game & Watch's aerial Oil Panic Release Animation callback.

◆ ftGw_SpecialLwShoot_IASA()

void ftGw_SpecialLwShoot_IASA ( HSD_GObj gobj)

Mr. Game & Watch's grounded Oil Panic Release IASA callback.

◆ ftGw_SpecialAirLwShoot_IASA()

void ftGw_SpecialAirLwShoot_IASA ( HSD_GObj gobj)

Mr. Game & Watch's aerial Oil Panic Release IASA callback.

◆ ftGw_SpecialLwShoot_Phys()

void ftGw_SpecialLwShoot_Phys ( HSD_GObj gobj)

Mr. Game & Watch's grounded Oil Panic Release Physics callback.

◆ ftGw_SpecialAirLwShoot_Phys()

void ftGw_SpecialAirLwShoot_Phys ( HSD_GObj gobj)

Mr. Game & Watch's aerial Oil Panic Release Physics callback.

◆ ftGw_SpecialLwShoot_Coll()

void ftGw_SpecialLwShoot_Coll ( HSD_GObj gobj)

Mr. Game & Watch's grounded Oil Panic Release Collision callback.

◆ ftGw_SpecialAirLwShoot_Coll()

void ftGw_SpecialAirLwShoot_Coll ( HSD_GObj gobj)

Mr. Game & Watch's aerial Oil Panic Release Collision callback.

◆ ftGw_SpecialLwShoot_GroundToAir()

void ftGw_SpecialLwShoot_GroundToAir ( HSD_GObj gobj)

Mr. Game & Watch's ground -> air Oil Panic Release Motion State handler.

◆ ftGw_SpecialAirLwShoot_AirToGround()

void ftGw_SpecialAirLwShoot_AirToGround ( HSD_GObj gobj)

Mr. Game & Watch's air -> ground Oil Panic Release Motion State handler.

◆ ftGw_SpecialLwShoot_ReleaseOil()

void ftGw_SpecialLwShoot_ReleaseOil ( HSD_GObj gobj)

Enter SpecialLwShoot and calculate damage.

Todo:
Shared inline with ftGw_SpecialAirLwShoot_ReleaseOil
Todo:
Todo:
Please for the love of god stop copy-pasting code

◆ ftGw_SpecialAirLwShoot_ReleaseOil()

void ftGw_SpecialAirLwShoot_ReleaseOil ( HSD_GObj gobj)

Enter SpecialAirLwShoot and calculate damage.

Variable Documentation

◆ anim_update_frame

int const anim_update_frame = 38
static

◆ transition_flags0

u32 const transition_flags0
static
Initial 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_KeepColAnimHitStatus
Preserve full body collision state.
Definition forward.h:153
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
static MotionFlags const Ft_MF_SkipHit
Keep hitboxes.
Definition forward.h:156

◆ transition_flags1