1#ifndef MELEE_FT_INLINES_H
2#define MELEE_FT_INLINES_H
14#include <dolphin/mtx.h>
25#define PUSH_ATTRS(fp, attributeName) \
27 void* backup = (fp)->dat_attrs_backup; \
28 attributeName* src = (attributeName*) (fp)->ft_data->ext_attr; \
29 void** da = &(fp)->dat_attrs; \
30 *(attributeName*) (fp)->dat_attrs_backup = *src; \
35#define COPY_ATTRS(gobj, attributeName) \
36 Fighter* fp = GET_FIGHTER(gobj); \
37 attributeName* sA2 = (attributeName*) fp->dat_attrs; \
38 attributeName* ext_attr = (attributeName*) fp->ft_data->ext_attr; \
42#define GET_FIGHTER(gobj) ((Fighter*) HSD_GObjGetUserData((HSD_GObj*) gobj))
44#define GET_FIGHTER(gobj) ((Fighter*) HSD_GObjGetUserData(gobj))
50 return gobj->user_data;
83 void* fighter_attr = fp->
x2CC;
142 bool bool2,
bool bool3)
183 bool bool2,
bool bool3)
265#define CLIFFCATCH_O(fp) \
266 ((fp)->facing_dir < 0.0f) ? CLIFFCATCH_LEFT : CLIFFCATCH_RIGHT
269#define CLIFFCATCH_U(fp) \
270 ((fp)->facing_dir != 1.0f) ? CLIFFCATCH_LEFT : CLIFFCATCH_RIGHT
273#define gmScriptEventCast(p_event, type) ((type*) p_event)
274#define gmScriptEventUpdatePtr(event, type) \
275 (event = (void*) ((uintptr_t) event + 4))
UnkFlagStruct x1
Definition dbbonus.c:21
static void Fighter_OnKnockbackExit(Fighter_GObj *gobj, s32 arg1)
Definition inlines.h:197
static s32 ftGetKind(Fighter *fp)
Definition inlines.h:71
static void * getFtSpecialAttrsD(Fighter *fp)
Definition inlines.h:66
static int getStickDirX(Fighter *fp)
Definition inlines.h:112
static bool canUseCstick(Fighter *fp)
Definition inlines.h:282
static s32 ftGetAction(Fighter *fp)
Definition inlines.h:76
static void getAccelAndTarget(Fighter *fp, float *accel, float *target_vel)
Definition inlines.h:130
static void Fighter_OnItemVisible(Fighter_GObj *gobj, bool flag)
Definition inlines.h:174
static void Fighter_OnItemDrop(Fighter_GObj *gobj, bool dropItemFlag, bool bool2, bool bool3)
Definition inlines.h:182
static int ftGetFacingDirInt2(Fighter_GObj *gobj)
Definition inlines.h:259
static Fighter * getFighterPlus(Fighter_GObj *gobj)
Definition inlines.h:54
static void * getFtSpecialAttrs(Fighter *fp)
Definition inlines.h:60
static int ftGetFacingDirInt(Fighter *fp)
Definition inlines.h:250
static bool ftCheckThrowB4(Fighter *fp)
Definition inlines.h:235
static bool ftCheckThrowB3(Fighter *fp)
Definition inlines.h:225
static void * getFtSpecialAttrs2CC(Fighter *fp)
Definition inlines.h:81
static Fighter * getFighter(Fighter_GObj *gobj)
Definition inlines.h:48
static bool ftGetGroundAir(Fighter *fp)
Definition inlines.h:107
static ftCo_DatAttrs * getFtAttrs(Fighter *fp)
Definition inlines.h:87
static void Fighter_OnKnockbackEnter(Fighter_GObj *gobj, s32 arg1)
Definition inlines.h:191
#define GET_FIGHTER(gobj)
Definition inlines.h:44
static float ftGetFacingDir(Fighter_GObj *gobj)
Definition inlines.h:245
static void Fighter_UnsetCmdVar0(Fighter_GObj *gobj)
Definition inlines.h:203
static float stickGetDir(float x1, float x2)
Definition inlines.h:121
static void Fighter_OnItemPickup(Fighter_GObj *gobj, bool catchItemFlag, bool bool2, bool bool3)
used for all fighters except Kirby and Purin
Definition inlines.h:141
static Item_GObj * getFtTargetItem(Fighter *fp)
Definition inlines.h:102
static bool ftCheckThrowB0(Fighter *fp)
Definition inlines.h:215
static CollData * getFtColl(Fighter *fp)
Definition inlines.h:92
static void Fighter_OnItemInvisible(Fighter_GObj *gobj, bool flag)
Definition inlines.h:166
static Fighter_GObj * getFtVictim(Fighter *fp)
Definition inlines.h:97
static CollData * Fighter_GetCollData(Fighter *fp)
Definition inlines.h:209
CommandInfo * getCmdScript(Fighter *fp)
Definition inlines.h:277
void ftAnim_80070FB4(Fighter_GObj *arg0, s32 arg1, s32 arg2)
Definition ftanim.c:1367
void ftAnim_800704F0(Fighter_GObj *gobj, int tobj_idx, float frame)
Definition ftanim.c:1061
void ftAnim_80070CC4(Fighter_GObj *gobj, int arg1)
Definition ftanim.c:1308
void ftAnim_80070C48(Fighter_GObj *gobj, s32 arg1)
Definition ftanim.c:1280
u8 x2
Definition gm_1601.c:146
bool gm_8016B0FC(void)
single-button mode enabled
Definition gm_16AE.c:172
signed long s32
Definition hsd_3B2B.h:1
enum_t it_8026B320(HSD_GObj *gobj)
Return item hold kind.
Definition it_26B1.c:126
enum_t it_8026B30C(Item_GObj *gobj)
Return flag from Item Attributes.
Definition it_26B1.c:119
bool it_8026B2B4(HSD_GObj *gobj)
Check if item is heavy.
Definition it_26B1.c:90
HSD_GObj Item_GObj
Definition forward.h:55
s16 facing_dir
Definition types.h:212
FtMotionId motion_id
Definition types.h:1142
u8 throw_flags_b4
Definition types.h:1594
Item_GObj * item_gobj
Definition types.h:1432
u8 throw_flags_b0
Definition types.h:1590
Item_GObj * target_item_gobj
Definition types.h:1477
struct Fighter::@237322252372014117116113031343114120130274157263 input
GroundOrAir ground_or_air
Definition types.h:1163
CollData coll_data
Definition types.h:1309
ftCo_DatAttrs co_attrs
Definition types.h:1177
u32 cmd_vars[4]
Definition types.h:1586
CommandInfo x3E4_fighterCmdScript
Definition types.h:1203
float facing_dir
Definition types.h:1149
Fighter_GObj * victim_gobj
Definition types.h:1475
void * dat_attrs
Definition types.h:1194
FighterKind kind
Definition types.h:1139
ftDonkeyAttributes * x2CC
Definition types.h:1180
Vec2 lstick
Definition types.h:1255
u8 throw_flags_b3
Definition types.h:1593
float dash_run_acceleration_b
Definition types.h:704
float dash_run_terminal_velocity
Definition types.h:705
float dash_run_acceleration_a
Definition types.h:703