SSBM Decomp
Loading...
Searching...
No Matches
fighter.h File Reference

Go to the source code of this file.

Data Structures

struct  Fighter_804D64FC_t
struct  Fighter_804D6518_t
struct  Fighter_804D651C_t
struct  Fighter_804D6520_t
struct  Fighter_804D6524_t
struct  Fighter_ShakeTable_t
struct  Fighter_804D6540_x0_t
struct  ftCo_ItemThrowAttrs
 Item throw parameters, one per item throw motion state. More...
struct  Fighter_804D6540_t
struct  ftDamageShifts
 The ftLoadCommonData root of PlCo.dat: the tables every fighter shares, copied into the globals of the same types. More...
struct  ftLoadCommonData

Functions

void Fighter_800679B0 (void)
void Fighter_FirstInitialize_80067A84 (void)
void Fighter_LoadCommonData (void)
void Fighter_UpdateModelScale (Fighter_GObj *gobj)
void Fighter_UnkInitReset_80067C98 (Fighter *)
void Fighter_Spawn (Fighter_GObj *gobj)
void Fighter_UnkUpdateCostumeJoint_800686E4 (Fighter_GObj *gobj)
void Fighter_UnkUpdateVecFromBones_8006876C (Fighter *fp)
void Fighter_ResetInputData_80068854 (Fighter_GObj *gobj)
void Fighter_UnkInitLoad_80068914 (Fighter_GObj *gobj, struct plAllocInfo *argdata)
u32 Fighter_NewSpawn_80068E40 (void)
 increments the spawn number, returns the spawn number value before incrementing
void Fighter_80068E64 (Fighter_GObj *gobj)
Fighter_GObj * Fighter_Create (struct plAllocInfo *input)
void Fighter_ChangeMotionState (Fighter_GObj *gobj, FtMotionId msid, MotionFlags flags, f32 anim_start, f32 anim_speed, f32 anim_blend, Fighter_GObj *arg3)
void Fighter_procHitlag (Fighter_GObj *gobj)
void Fighter_procAnim (Fighter_GObj *gobj)
void Fighter_procCpu (Fighter_GObj *gobj)
void Fighter_UnkIncrementCounters_8006ABEC (Fighter_GObj *gobj)
void Fighter_procInput (Fighter_GObj *gobj)
void Fighter_procUpdate (Fighter_GObj *gobj)
void Fighter_UnkApplyTransformation_8006C0F0 (Fighter_GObj *gobj)
void Fighter_procMap (Fighter_GObj *gobj)
void Fighter_procIK (Fighter_GObj *gobj)
void Fighter_procAccessory (Fighter_GObj *gobj)
void Fighter_procCollPos (Fighter_GObj *gobj)
void Fighter_procGrabColl (Fighter_GObj *gobj)
void Fighter_procAttackColl (Fighter_GObj *gobj)
void Fighter_UnkTakeDamage_8006CC30 (Fighter *fp, float damage_amount)
void Fighter_TakeDamage_8006CC7C (Fighter *, float)
void Fighter_8006CDA4 (Fighter *fp, s32 arg1)
void Fighter_8006CF5C (Fighter *fp, s32 arg1)
void Fighter_UnkSetFlag_8006CFBC (Fighter_GObj *gobj)
void Fighter_8006CFE0 (Fighter_GObj *gobj)
void Fighter_UnkRecursiveFunc_8006D044 (Fighter_GObj *gobj)
void Fighter_8006D10C (Fighter_GObj *gobj)
void Fighter_procCollResolve (Fighter_GObj *gobj)
void Fighter_procDynamics (Fighter_GObj *gobj)
void Fighter_procCamera (Fighter_GObj *gobj)
void Fighter_procPlayer (Fighter_GObj *gobj)
void Fighter_Unload_8006DABC (void *user_data)
 ASSERT_SIZE (struct ftLoadCommonData, 0x5C)

Variables

struct Fighter_804D64FC_t * Fighter_804D64FC
HSD_ObjAllocData fighter_alloc_data
HSD_ObjAllocData fighter_dat_attrs_alloc_data
HSD_ObjAllocData fighter_parts_alloc_data
HSD_ObjAllocData fighter_dobj_list_alloc_data
HSD_ObjAllocData fighter_x2040_alloc_data
HSD_ObjAllocData fighter_x59C_alloc_data
HSD_Joint * Fighter_804D6504
u8 * Fighter_804D6508
u8 * Fighter_804D650C
UNK_T Fighter_804D6510
HSD_Joint * Fighter_804D6514
 trophy platform model when characters spawn
struct Fighter_804D6518_t * Fighter_804D6518
struct Fighter_804D651C_t * Fighter_804D651C
 metal modifiers - used in 0x800d105c
struct Fighter_804D6520_t * Fighter_804D6520
 bunnyhood modifiers - used in 0x800d105c
struct Fighter_804D6524_t * Fighter_804D6524
 fighter scale modifiers - used in 0x800d105c
struct Fighter_ShakeTable_t * Fighter_SmashChargeShakeTable
 smash-charge shake table
struct Fighter_ShakeTable_t * Fighter_GrabMashShake
 Grab-mash shake table.
struct ftDamageShifts * Fighter_804D6530
UNK_T Fighter_804D6534
struct Fighter_804D653C_t * Fighter_804D6538
struct Fighter_804D653C_t * Fighter_804D653C
Fighter_804D6540_t ** Fighter_804D6540
FighterPartsTable ** ftPartsTable
float * Fighter_804D6548
float(* Fighter_804D654C )[5]
ftCo_ItemThrowAttrs * Fighter_804D6550
ftCommonData * p_ftCommonData

Function Documentation

◆ Fighter_800679B0()

void Fighter_800679B0 ( void )
Warning
don't hardcode the allocation sizes

<

Todo
&fighter_alloc_data+2, +3, +4 are not defined in the fighter.s

◆ Fighter_FirstInitialize_80067A84()

void Fighter_FirstInitialize_80067A84 ( void )

◆ Fighter_LoadCommonData()

void Fighter_LoadCommonData ( void )

◆ Fighter_UpdateModelScale()

void Fighter_UpdateModelScale ( Fighter_GObj * gobj)

◆ Fighter_UnkInitReset_80067C98()

void Fighter_UnkInitReset_80067C98 ( Fighter * fp)

◆ Fighter_Spawn()

void Fighter_Spawn ( Fighter_GObj * gobj)

◆ Fighter_UnkUpdateCostumeJoint_800686E4()

void Fighter_UnkUpdateCostumeJoint_800686E4 ( Fighter_GObj * gobj)

◆ Fighter_UnkUpdateVecFromBones_8006876C()

void Fighter_UnkUpdateVecFromBones_8006876C ( Fighter * fp)

◆ Fighter_ResetInputData_80068854()

void Fighter_ResetInputData_80068854 ( Fighter_GObj * gobj)

◆ Fighter_UnkInitLoad_80068914()

void Fighter_UnkInitLoad_80068914 ( Fighter_GObj * gobj,
struct plAllocInfo * argdata )

◆ Fighter_NewSpawn_80068E40()

u32 Fighter_NewSpawn_80068E40 ( void )

increments the spawn number, returns the spawn number value before incrementing

◆ Fighter_80068E64()

void Fighter_80068E64 ( Fighter_GObj * gobj)

◆ Fighter_Create()

Fighter_GObj * Fighter_Create ( struct plAllocInfo * input)
Bug
HSD_ObjAlloc returns the block uncleared and nothing below zeroes it, so any field read before the init path writes it sees stale heap contents. For example, Luigi's x222C_cycloneCharge.

◆ Fighter_ChangeMotionState()

void Fighter_ChangeMotionState ( Fighter_GObj * gobj,
FtMotionId msid,
MotionFlags flags,
f32 anim_start,
f32 anim_speed,
f32 anim_blend,
Fighter_GObj * arg3 )

◆ Fighter_procHitlag()

void Fighter_procHitlag ( Fighter_GObj * gobj)

◆ Fighter_procAnim()

void Fighter_procAnim ( Fighter_GObj * gobj)

◆ Fighter_procCpu()

void Fighter_procCpu ( Fighter_GObj * gobj)

◆ Fighter_UnkIncrementCounters_8006ABEC()

void Fighter_UnkIncrementCounters_8006ABEC ( Fighter_GObj * gobj)

◆ Fighter_procInput()

void Fighter_procInput ( Fighter_GObj * gobj)

◆ Fighter_procUpdate()

void Fighter_procUpdate ( Fighter_GObj * gobj)
Bug
IN THE MELEE CODE THAT CAUSES THE INVISIBLE CEILING GLITCH The next line should be 'pAtkShieldKB->y = 0', but instead it is:

<

Todo
these double_lower_32bit variables are probably integer
Todo
incompatible-pointer-types because bad headers
Todo
We set this velocity to 0 after applying it. Is this SDI or ASDI?

<

Todo
do the bitflag tests here tell us if the player is dead?

◆ Fighter_UnkApplyTransformation_8006C0F0()

void Fighter_UnkApplyTransformation_8006C0F0 ( Fighter_GObj * gobj)

◆ Fighter_procMap()

void Fighter_procMap ( Fighter_GObj * gobj)

◆ Fighter_procIK()

void Fighter_procIK ( Fighter_GObj * gobj)

◆ Fighter_procAccessory()

void Fighter_procAccessory ( Fighter_GObj * gobj)

◆ Fighter_procCollPos()

void Fighter_procCollPos ( Fighter_GObj * gobj)

◆ Fighter_procGrabColl()

void Fighter_procGrabColl ( Fighter_GObj * gobj)

◆ Fighter_procAttackColl()

void Fighter_procAttackColl ( Fighter_GObj * gobj)

◆ Fighter_UnkTakeDamage_8006CC30()

void Fighter_UnkTakeDamage_8006CC30 ( Fighter * fp,
float damage_amount )

◆ Fighter_TakeDamage_8006CC7C()

void Fighter_TakeDamage_8006CC7C ( Fighter * fp,
float damage_amount )

◆ Fighter_8006CDA4()

void Fighter_8006CDA4 ( Fighter * fp,
s32 arg1 )

◆ Fighter_8006CF5C()

void Fighter_8006CF5C ( Fighter * fp,
s32 arg1 )

◆ Fighter_UnkSetFlag_8006CFBC()

void Fighter_UnkSetFlag_8006CFBC ( Fighter_GObj * gobj)

◆ Fighter_8006CFE0()

void Fighter_8006CFE0 ( Fighter_GObj * gobj)

◆ Fighter_UnkRecursiveFunc_8006D044()

void Fighter_UnkRecursiveFunc_8006D044 ( Fighter_GObj * gobj)

<

Todo
What is going on here?

◆ Fighter_8006D10C()

void Fighter_8006D10C ( Fighter_GObj * gobj)

◆ Fighter_procCollResolve()

void Fighter_procCollResolve ( Fighter_GObj * gobj)

this function is called when shield is broken

◆ Fighter_procDynamics()

void Fighter_procDynamics ( Fighter_GObj * gobj)

◆ Fighter_procCamera()

void Fighter_procCamera ( Fighter_GObj * gobj)

◆ Fighter_procPlayer()

void Fighter_procPlayer ( Fighter_GObj * gobj)

◆ Fighter_Unload_8006DABC()

void Fighter_Unload_8006DABC ( void * user_data)
Remarks
This doesn't use GET_FIGHTER, but since it appears to pass it directly it's probably just written directly.

◆ ASSERT_SIZE()

ASSERT_SIZE ( struct ftLoadCommonData ,
0x5C  )

Variable Documentation

◆ Fighter_804D64FC

struct Fighter_804D64FC_t* Fighter_804D64FC

◆ fighter_alloc_data

HSD_ObjAllocData fighter_alloc_data
extern

◆ fighter_dat_attrs_alloc_data

HSD_ObjAllocData fighter_dat_attrs_alloc_data
extern

◆ fighter_parts_alloc_data

HSD_ObjAllocData fighter_parts_alloc_data
extern

◆ fighter_dobj_list_alloc_data

HSD_ObjAllocData fighter_dobj_list_alloc_data
extern

◆ fighter_x2040_alloc_data

HSD_ObjAllocData fighter_x2040_alloc_data
extern

◆ fighter_x59C_alloc_data

HSD_ObjAllocData fighter_x59C_alloc_data
extern

◆ Fighter_804D6504

HSD_Joint* Fighter_804D6504
extern

◆ Fighter_804D6508

u8* Fighter_804D6508
extern

◆ Fighter_804D650C

u8* Fighter_804D650C
extern

◆ Fighter_804D6510

UNK_T Fighter_804D6510
extern

◆ Fighter_804D6514

HSD_Joint* Fighter_804D6514
extern

trophy platform model when characters spawn

◆ Fighter_804D6518

struct Fighter_804D6518_t* Fighter_804D6518

◆ Fighter_804D651C

struct Fighter_804D651C_t* Fighter_804D651C

metal modifiers - used in 0x800d105c

◆ Fighter_804D6520

struct Fighter_804D6520_t* Fighter_804D6520

bunnyhood modifiers - used in 0x800d105c

◆ Fighter_804D6524

struct Fighter_804D6524_t* Fighter_804D6524

fighter scale modifiers - used in 0x800d105c

◆ Fighter_SmashChargeShakeTable

struct Fighter_ShakeTable_t* Fighter_SmashChargeShakeTable

smash-charge shake table

◆ Fighter_GrabMashShake

struct Fighter_ShakeTable_t* Fighter_GrabMashShake
extern

Grab-mash shake table.

◆ Fighter_804D6530

struct ftDamageShifts* Fighter_804D6530
extern

◆ Fighter_804D6534

UNK_T Fighter_804D6534
extern

◆ Fighter_804D6538

struct Fighter_804D653C_t* Fighter_804D6538
extern

◆ Fighter_804D653C

struct Fighter_804D653C_t* Fighter_804D653C
extern

◆ Fighter_804D6540

Fighter_804D6540_t** Fighter_804D6540
extern

◆ ftPartsTable

FighterPartsTable** ftPartsTable
extern

◆ Fighter_804D6548

float* Fighter_804D6548
extern

◆ Fighter_804D654C

float(* Fighter_804D654C)[5]
extern

◆ Fighter_804D6550

ftCo_ItemThrowAttrs* Fighter_804D6550
extern

◆ p_ftCommonData

ftCommonData* p_ftCommonData
extern