1#ifndef MELEE_FT_INLINES_H
2#define MELEE_FT_INLINES_H
13#include <dolphin/mtx.h>
24#define PUSH_ATTRS(fp, attributeName) \
26 void* backup = (fp)->dat_attrs_backup; \
27 attributeName* src = (attributeName*) (fp)->ft_data->ext_attr; \
28 void** da = &(fp)->dat_attrs; \
29 *(attributeName*) (fp)->dat_attrs_backup = *src; \
34#define COPY_ATTRS(gobj, attributeName) \
35 Fighter* fp = GET_FIGHTER(gobj); \
36 attributeName* sA2 = (attributeName*) fp->dat_attrs; \
37 attributeName* ext_attr = (attributeName*) fp->ft_data->ext_attr; \
41#define GET_FIGHTER(gobj) ((Fighter*) HSD_GObjGetUserData((HSD_GObj*) gobj))
43#define GET_FIGHTER(gobj) ((Fighter*) HSD_GObjGetUserData(gobj))
49 return gobj->user_data;
82 void* fighter_attr = fp->
x2CC;
126 bool bool2,
bool bool3)
167 bool bool2,
bool bool3)
230#define CLIFFCATCH_O(fp) \
231 ((fp)->facing_dir < 0.0f) ? CLIFFCATCH_LEFT : CLIFFCATCH_RIGHT
234#define CLIFFCATCH_U(fp) \
235 ((fp)->facing_dir != 1.0f) ? CLIFFCATCH_LEFT : CLIFFCATCH_RIGHT
238#define gmScriptEventCast(p_event, type) ((type*) p_event)
239#define gmScriptEventUpdatePtr(event, type) \
240 (event = (void*) ((uintptr_t) event + (sizeof(type))))
UnkFlagStruct x1
Definition dbbonus.c:19
static void Fighter_OnKnockbackExit(Fighter_GObj *gobj, s32 arg1)
Definition inlines.h:181
static s32 ftGetKind(Fighter *fp)
Definition inlines.h:70
static void * getFtSpecialAttrsD(Fighter *fp)
Definition inlines.h:65
static s32 ftGetAction(Fighter *fp)
Definition inlines.h:75
static void getAccelAndTarget(Fighter *fp, float *accel, float *target_vel)
Definition inlines.h:114
static void Fighter_OnItemVisible(Fighter_GObj *gobj, bool flag)
Definition inlines.h:158
static void Fighter_OnItemDrop(Fighter_GObj *gobj, bool dropItemFlag, bool bool2, bool bool3)
Definition inlines.h:166
static Fighter * getFighterPlus(Fighter_GObj *gobj)
Definition inlines.h:53
static void * getFtSpecialAttrs(Fighter *fp)
Definition inlines.h:59
static bool ftCheckThrowB4(Fighter *fp)
Definition inlines.h:219
static bool ftCheckThrowB3(Fighter *fp)
Definition inlines.h:209
static void * getFtSpecialAttrs2CC(Fighter *fp)
Definition inlines.h:80
static Fighter * getFighter(Fighter_GObj *gobj)
Definition inlines.h:47
static bool ftGetGroundAir(Fighter *fp)
Definition inlines.h:100
static ftCo_DatAttrs * getFtAttrs(Fighter *fp)
Definition inlines.h:86
static void Fighter_OnKnockbackEnter(Fighter_GObj *gobj, s32 arg1)
Definition inlines.h:175
#define GET_FIGHTER(gobj)
Definition inlines.h:43
static void Fighter_UnsetCmdVar0(Fighter_GObj *gobj)
Definition inlines.h:187
static float stickGetDir(float x1, float x2)
Definition inlines.h:105
static void Fighter_OnItemPickup(Fighter_GObj *gobj, bool catchItemFlag, bool bool2, bool bool3)
used for all fighters except Kirby and Purin
Definition inlines.h:125
static bool ftCheckThrowB0(Fighter *fp)
Definition inlines.h:199
ftCmdScript * getCmdScript(Fighter *fp)
Definition inlines.h:242
static CollData * getFtColl(Fighter *fp)
Definition inlines.h:91
static void Fighter_OnItemInvisible(Fighter_GObj *gobj, bool flag)
Definition inlines.h:150
static Fighter_GObj * getFtVictim(Fighter *fp)
Definition inlines.h:96
static CollData * Fighter_GetCollData(Fighter *fp)
Definition inlines.h:193
void ftAnim_80070FB4(Fighter_GObj *, s32, s32)
void ftAnim_80070C48(Fighter_GObj *, s32)
void ftAnim_80070CC4(Fighter_GObj *, s32)
void ftAnim_800704F0(Fighter_GObj *, s32, float)
enum_t it_8026B320(HSD_GObj *gobj)
Return item hold kind.
Definition it_26B1.c:119
bool it_8026B2B4(HSD_GObj *gobj)
Check if item is heavy.
Definition it_26B1.c:83
FtMotionId motion_id
Definition types.h:1126
u8 throw_flags_b4
Definition types.h:1599
Item_GObj * item_gobj
Definition types.h:1416
u8 throw_flags_b0
Definition types.h:1595
struct Fighter::@120 input
GroundOrAir ground_or_air
Definition types.h:1147
CollData coll_data
Definition types.h:1309
ftCo_DatAttrs co_attrs
Definition types.h:1161
u32 cmd_vars[4]
Definition types.h:1591
Fighter_GObj * victim_gobj
Definition types.h:1459
void * dat_attrs
Definition types.h:1166
FighterKind kind
Definition types.h:1123
ftDonkeyAttributes * x2CC
Definition types.h:1164
Vec2 lstick
Definition types.h:1255
u8 throw_flags_b3
Definition types.h:1598
ftCmdScript x3E4_fighterCmdScript
Definition types.h:1175
float dash_run_acceleration_b
Definition types.h:666
float dash_run_terminal_velocity
Definition types.h:667
float dash_run_acceleration_a
Definition types.h:665
unsigned char x2
Definition un_2FC9.static.h:127