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)
260#define CLIFFCATCH_O(fp) \
261 ((fp)->facing_dir < 0.0f) ? CLIFFCATCH_LEFT : CLIFFCATCH_RIGHT
264#define CLIFFCATCH_U(fp) \
265 ((fp)->facing_dir != 1.0f) ? CLIFFCATCH_LEFT : CLIFFCATCH_RIGHT
268#define gmScriptEventCast(p_event, type) ((type*) p_event)
269#define gmScriptEventUpdatePtr(event, type) \
270 (event = (void*) ((uintptr_t) event + 4))
UnkFlagStruct x1
Definition dbbonus.c:20
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:277
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 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:272
void ftAnim_80070FB4(Fighter_GObj *arg0, s32 arg1, s32 arg2)
ftAnim_80070C48
Definition ftanim.c:1084
void ftAnim_800704F0(Fighter_GObj *arg0, int arg1, f32 frame)
Definition ftanim.c:920
void ftAnim_80070C48(Fighter_GObj *, s32)
void ftAnim_80070CC4(Fighter_GObj *, s32)
u8 x2
Definition gm_1601.c:142
bool gm_8016B0FC(void)
single-button mode enabled
Definition gm_16AE.c:171
enum_t it_8026B320(HSD_GObj *gobj)
Return item hold kind.
Definition it_26B1.c:119
enum_t it_8026B30C(Item_GObj *gobj)
Return flag from Item Attributes.
Definition it_26B1.c:112
bool it_8026B2B4(HSD_GObj *gobj)
Check if item is heavy.
Definition it_26B1.c:83
FtMotionId motion_id
Definition types.h:1111
u8 throw_flags_b4
Definition types.h:1578
Item_GObj * item_gobj
Definition types.h:1400
u8 throw_flags_b0
Definition types.h:1574
Item_GObj * target_item_gobj
Definition types.h:1445
GroundOrAir ground_or_air
Definition types.h:1132
CollData coll_data
Definition types.h:1275
ftCo_DatAttrs co_attrs
Definition types.h:1146
struct Fighter::@121 input
u32 cmd_vars[4]
Definition types.h:1570
CommandInfo x3E4_fighterCmdScript
Definition types.h:1160
float facing_dir
Definition types.h:1118
Fighter_GObj * victim_gobj
Definition types.h:1443
void * dat_attrs
Definition types.h:1151
FighterKind kind
Definition types.h:1108
ftDonkeyAttributes * x2CC
Definition types.h:1149
Vec2 lstick
Definition types.h:1221
u8 throw_flags_b3
Definition types.h:1577
was using this to try and fix some matches, unsuccessfully
Definition gobj.h:26
float dash_run_acceleration_b
Definition types.h:691
float dash_run_terminal_velocity
Definition types.h:692
float dash_run_acceleration_a
Definition types.h:690