SSBM Decomp
Loading...
Searching...
No Matches
ftparts.c File Reference
#include "ftparts.h"
#include "fighter.h"
#include "ftdata.h"
#include "ftmaterial.h"
#include "ftparts.static.h"
#include "inlines.h"
#include "placeholder.h"
#include "types.h"
#include "ft/forward.h"
#include <dolphin/mtx.h>
#include <dolphin/os/OSError.h>
#include <sysdolphin/baselib/class.h>
#include <sysdolphin/baselib/debug.h>
#include <sysdolphin/baselib/displayfunc.h>
#include <sysdolphin/baselib/gobj.h>
#include <sysdolphin/baselib/jobj.h>
#include <sysdolphin/baselib/mtx.h>
#include <sysdolphin/baselib/perf.h>
#include <sysdolphin/baselib/pobj.h>
#include <sysdolphin/baselib/util.h>
#include <melee/lb/lbrefract.h>

Macros

#define MAX_FT_PARTS   140
 

Functions

void ftParts_JObjMakePositionMtx (HSD_JObj *jobj, Mtx mtx, Mtx rmtx)
 
void ftParts_JObjInfoInit (void)
 
void ftParts_80073758 (HSD_JObj *jobj)
 
s32 ftParts_IntpJObjLoad (HSD_JObj *jobj, HSD_Joint *joint, HSD_JObj *parent)
 
void ftParts_IntpJObjInfoInit (void)
 
static PObjSetupFlag ftPartsGetSetupFlags (HSD_JObj *jobj, u32 rendermode)
 
static void ftPartsSetupZScaleMtx (Mtx src, Mtx dst)
 
static void ftPartsSetupNrmMtx (HSD_JObj *jobj, Mtx mtx, GXPosNrmMtx id)
 
static void ftPartsSetupTexMtx (Mtx mtx, GXTexMtx id)
 
void ftPartsSetupRigidMtx (HSD_PObj *pobj, Mtx vmtx, Mtx pmtx, u32 rendermode)
 
void ftPartsSetupSharedVtxMtx (HSD_PObj *pobj, MtxPtr vmtx, MtxPtr pmtx, u32 rendermode)
 
void ftPartsSetupEnvelopeMtx (HSD_PObj *pobj, MtxPtr vmtx, MtxPtr pmtx, u32 rendermode)
 
void ftParts_PObjSetupMtx (HSD_PObj *pobj, Mtx vmtx, Mtx pmtx, u32 rendermode)
 
void ftParts_PObjInfoInit (void)
 
void ftPartsPObjSetDefaultClass (void)
 
void ftPartsPObjClearDefaultClass (void)
 
void ftParts_80074194 (Fighter *fighter, FighterBone *bone, HSD_JObj *jobj, int *dobj_index, u32 tree_depth)
 
void ftParts_SetupParts (Fighter_GObj *fighter_obj)
 
void ftParts_8007462C (Fighter_GObj *gobj)
 
HSD_JObjftParts_8007482C (HSD_Joint *joint)
 
void ftParts_8007487C (FtPartsDesc *desc, FtPartsVis *vis, u32 costume_id, DObjList *arg3, DObjList *arg4)
 
void ftParts_800749CC (Fighter_GObj *gobj)
 
void ftParts_80074A4C (Fighter_GObj *gobj, int model_idx, int val)
 
int ftParts_80074A74 (Fighter_GObj *gobj, int model_idx)
 
void ftParts_80074A8C (Fighter_GObj *gobj)
 
void ftParts_80074ACC (Fighter_GObj *gobj)
 
void ftParts_80074B0C (Fighter_GObj *gobj, int model_idx, int val)
 
void ftParts_80074B6C (Fighter *fp, FtPartsVis *vis, int idx, DObjList *dobj_list)
 
void ftParts_80074CA0 (FtPartsVis *vis, int idx, DObjList *dobj_list)
 
void ftParts_80074D7C (FtPartsVis *vis, int idx, DObjList *dobj_list)
 
void ftParts_80074E58 (Fighter *fp)
 
Fighter_Part ftParts_GetBoneIndex (Fighter *fp, Fighter_Part part)
 Fighter_BonePersonalToCommon.
 
int ftPartsRemap (size_t to_table_idx, size_t from_table_idx, size_t joint_idx)
 
u32 ftParts_8007506C (enum FighterKind ftkind, int part)
 
void ftParts_800750C8 (Fighter *fp, enum_t arg1, bool arg2)
 
HSD_TObjftParts_80075240 (DObjList *arg0, int n)
 finds the n-th TObj in a DObjList
 
void ftParts_80075304 (u8 type, HSD_JObj *root, HSD_JObj *new_jobj)
 Inserts a new jobj relative to a root jobj, with the location specified by the first argument.
 
void ftParts_800753D4 (Fighter *arg0, struct Fighter_804D6540_x0_t *arg1, HSD_Joint *arg2)
 
void ftParts_800755E8 (Fighter *fp, u8 *arg1)
 
void ftParts_80075650 (Fighter_GObj *arg0, HSD_JObj *jobj, DObjList *arg2)
 
void ftParts_JObjSetRotation (HSD_JObj *jobj, Vec4 *quat)
 
void ftPartSetRotX (Fighter *fp, int part_idx, f32 rotate_x)
 
void ftPartSetRotY (Fighter *fp, int part_idx, f32 rotate_y)
 
void ftPartSetRotZ (Fighter *arg0, int part_idx, f32 rotate_z)
 
f32 ftPartGetRotX (Fighter *fp, int part_idx)
 
f32 ftPartGetRotZ (Fighter *fp, int part_idx)
 

Variables

HSD_JObjInfo ftJObj = { ftParts_JObjInfoInit }
 
HSD_JObjInfo ftIntpJObj = { ftParts_IntpJObjInfoInit }
 
HSD_PObjInfo ftPObj = { ftParts_PObjInfoInit }
 
static char * ftParts_803C0BEC = "cant get fighter rot z!\n"
 

Macro Definition Documentation

◆ MAX_FT_PARTS

#define MAX_FT_PARTS   140

Function Documentation

◆ ftParts_JObjMakePositionMtx()

void ftParts_JObjMakePositionMtx ( HSD_JObj jobj,
Mtx  mtx,
Mtx  rmtx 
)

◆ ftParts_JObjInfoInit()

void ftParts_JObjInfoInit ( void  )

◆ ftParts_80073758()

void ftParts_80073758 ( HSD_JObj jobj)

◆ ftParts_IntpJObjLoad()

s32 ftParts_IntpJObjLoad ( HSD_JObj jobj,
HSD_Joint joint,
HSD_JObj parent 
)

◆ ftParts_IntpJObjInfoInit()

void ftParts_IntpJObjInfoInit ( void  )

◆ ftPartsGetSetupFlags()

static PObjSetupFlag ftPartsGetSetupFlags ( HSD_JObj jobj,
u32  rendermode 
)
inlinestatic

◆ ftPartsSetupZScaleMtx()

static void ftPartsSetupZScaleMtx ( Mtx  src,
Mtx  dst 
)
inlinestatic

◆ ftPartsSetupNrmMtx()

static void ftPartsSetupNrmMtx ( HSD_JObj jobj,
Mtx  mtx,
GXPosNrmMtx  id 
)
inlinestatic

◆ ftPartsSetupTexMtx()

static void ftPartsSetupTexMtx ( Mtx  mtx,
GXTexMtx  id 
)
inlinestatic

◆ ftPartsSetupRigidMtx()

void ftPartsSetupRigidMtx ( HSD_PObj pobj,
Mtx  vmtx,
Mtx  pmtx,
u32  rendermode 
)

◆ ftPartsSetupSharedVtxMtx()

void ftPartsSetupSharedVtxMtx ( HSD_PObj pobj,
MtxPtr  vmtx,
MtxPtr  pmtx,
u32  rendermode 
)

◆ ftPartsSetupEnvelopeMtx()

void ftPartsSetupEnvelopeMtx ( HSD_PObj pobj,
MtxPtr  vmtx,
MtxPtr  pmtx,
u32  rendermode 
)

◆ ftParts_PObjSetupMtx()

void ftParts_PObjSetupMtx ( HSD_PObj pobj,
Mtx  vmtx,
Mtx  pmtx,
u32  rendermode 
)

◆ ftParts_PObjInfoInit()

void ftParts_PObjInfoInit ( void  )

◆ ftPartsPObjSetDefaultClass()

void ftPartsPObjSetDefaultClass ( void  )

◆ ftPartsPObjClearDefaultClass()

void ftPartsPObjClearDefaultClass ( void  )

◆ ftParts_80074194()

void ftParts_80074194 ( Fighter fighter,
FighterBone bone,
HSD_JObj jobj,
int *  dobj_index,
u32  tree_depth 
)

◆ ftParts_SetupParts()

void ftParts_SetupParts ( Fighter_GObj *  fighter_obj)

◆ ftParts_8007462C()

void ftParts_8007462C ( Fighter_GObj *  gobj)

◆ ftParts_8007482C()

HSD_JObj * ftParts_8007482C ( HSD_Joint joint)

◆ ftParts_8007487C()

void ftParts_8007487C ( FtPartsDesc desc,
FtPartsVis vis,
u32  costume_id,
DObjList arg3,
DObjList arg4 
)

◆ ftParts_800749CC()

void ftParts_800749CC ( Fighter_GObj *  gobj)

◆ ftParts_80074A4C()

void ftParts_80074A4C ( Fighter_GObj *  gobj,
int  model_idx,
int  val 
)

◆ ftParts_80074A74()

int ftParts_80074A74 ( Fighter_GObj *  gobj,
int  model_idx 
)

◆ ftParts_80074A8C()

void ftParts_80074A8C ( Fighter_GObj *  gobj)

◆ ftParts_80074ACC()

void ftParts_80074ACC ( Fighter_GObj *  gobj)

◆ ftParts_80074B0C()

void ftParts_80074B0C ( Fighter_GObj *  gobj,
int  model_idx,
int  val 
)

◆ ftParts_80074B6C()

void ftParts_80074B6C ( Fighter fp,
FtPartsVis vis,
int  idx,
DObjList dobj_list 
)

◆ ftParts_80074CA0()

void ftParts_80074CA0 ( FtPartsVis vis,
int  idx,
DObjList dobj_list 
)

◆ ftParts_80074D7C()

void ftParts_80074D7C ( FtPartsVis vis,
int  idx,
DObjList dobj_list 
)

◆ ftParts_80074E58()

void ftParts_80074E58 ( Fighter fp)

◆ ftParts_GetBoneIndex()

Fighter_Part ftParts_GetBoneIndex ( Fighter fp,
Fighter_Part  part 
)

Fighter_BonePersonalToCommon.

◆ ftPartsRemap()

int ftPartsRemap ( size_t  to_table_idx,
size_t  from_table_idx,
size_t  joint_idx 
)

◆ ftParts_8007506C()

u32 ftParts_8007506C ( enum FighterKind  ftkind,
int  part 
)

◆ ftParts_800750C8()

void ftParts_800750C8 ( Fighter fp,
enum_t  arg1,
bool  arg2 
)

◆ ftParts_80075240()

HSD_TObj * ftParts_80075240 ( DObjList arg0,
int  n 
)

finds the n-th TObj in a DObjList

◆ ftParts_80075304()

void ftParts_80075304 ( u8  type,
HSD_JObj root,
HSD_JObj new_jobj 
)

Inserts a new jobj relative to a root jobj, with the location specified by the first argument.

If type is 0, the new jobj is inserted as a child of the root, and children of the root become children of the new jobj.

If type is 1, the new jobj is inserted as a child of the root, alongside any existing children of the root.

If type is 2, the new jobj is inserted as a sibling of the root. Existing siblings of the root become children of the new jobj.

If type is 3, the new jobj is inserted as a sibling of the root, alongside any existing siblings.

◆ ftParts_800753D4()

void ftParts_800753D4 ( Fighter arg0,
struct Fighter_804D6540_x0_t *  arg1,
HSD_Joint arg2 
)

◆ ftParts_800755E8()

void ftParts_800755E8 ( Fighter fp,
u8 arg1 
)

◆ ftParts_80075650()

void ftParts_80075650 ( Fighter_GObj *  arg0,
HSD_JObj jobj,
DObjList arg2 
)

◆ ftParts_JObjSetRotation()

void ftParts_JObjSetRotation ( HSD_JObj jobj,
Vec4 *  quat 
)

◆ ftPartSetRotX()

void ftPartSetRotX ( Fighter fp,
int  part_idx,
f32  rotate_x 
)

◆ ftPartSetRotY()

void ftPartSetRotY ( Fighter fp,
int  part_idx,
f32  rotate_y 
)

◆ ftPartSetRotZ()

void ftPartSetRotZ ( Fighter arg0,
int  part_idx,
f32  rotate_z 
)

◆ ftPartGetRotX()

f32 ftPartGetRotX ( Fighter fp,
bool  part_idx 
)
Returns
Blend frames.

◆ ftPartGetRotZ()

f32 ftPartGetRotZ ( Fighter fp,
int  part_idx 
)

Variable Documentation

◆ ftJObj

◆ ftIntpJObj

◆ ftPObj

◆ ftParts_803C0BEC

char* ftParts_803C0BEC = "cant get fighter rot z!\n"
static