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 "types.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
 
#define JOBJ_NEXT(jobj)   ((jobj) == NULL ? NULL : (jobj)->next)
 
#define JOBJ_PARENT(jobj)   ((jobj) == NULL ? NULL : (jobj)->parent)
 
#define JOBJ_CHILD(jobj)   ((jobj) == NULL ? NULL : (jobj)->child)
 

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)
 
void ftParts_80073830 (HSD_PObj *pobj, Mtx vmtx, Mtx pmtx, u32 rendermode)
 
void ftParts_800739B8 (HSD_PObj *pobj, MtxPtr vmtx, MtxPtr pmtx, u32 rendermode)
 
void ftParts_80073CA8 (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 ftParts_80074148 (void)
 
void ftParts_80074170 (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_800749CC (Fighter_GObj *gobj)
 ftParts_8007487C
 
void ftParts_80074A4C (Fighter_GObj *gobj, int idx, int val)
 
int ftParts_80074A74 (Fighter_GObj *gobj, int idx)
 
void ftParts_80074A8C (Fighter_GObj *gobj)
 
void ftParts_80074ACC (Fighter_GObj *gobj)
 
void ftParts_80074B0C (Fighter_GObj *gobj, int idx, int val)
 
void ftParts_80074E58 (Fighter *fp)
 ftParts_80074B6C
 
Fighter_Part ftParts_GetBoneIndex (Fighter *fp, Fighter_Part part)
 Fighter_BonePersonalToCommon.
 
int ftParts_80075028 (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 ftParts_8007592C (Fighter *fp, int part_idx, f32 rotate_x)
 
void ftParts_80075AF0 (Fighter *fp, int part_idx, f32 rotate_y)
 
void ftParts_80075CB4 (Fighter *arg0, int part_idx, f32 rotate_z)
 
f32 ftParts_80075E78 (Fighter *fp, int part_idx)
 
f32 ftParts_80075F48 (Fighter *fp, int part_idx)
 

Variables

HSD_JObjInfo ftJObj = { ftParts_JObjInfoInit }
 
HSD_JObjInfo ftIntpJObj = { ftParts_IntpJObjInfoInit }
 
HSD_PObjInfo ftPObj = { ftParts_PObjInfoInit }
 
static char ftParts_803C0AE0 [] = "fighter parts model num over!\n"
 just filling out the data section, remove when matching ftParts_8007487C
 

Macro Definition Documentation

◆ MAX_FT_PARTS

#define MAX_FT_PARTS   140

◆ JOBJ_NEXT

#define JOBJ_NEXT (   jobj)    ((jobj) == NULL ? NULL : (jobj)->next)

◆ JOBJ_PARENT

#define JOBJ_PARENT (   jobj)    ((jobj) == NULL ? NULL : (jobj)->parent)

◆ JOBJ_CHILD

#define JOBJ_CHILD (   jobj)    ((jobj) == NULL ? NULL : (jobj)->child)

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  )

◆ ftParts_80073830()

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

◆ ftParts_800739B8()

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

◆ ftParts_80073CA8()

void ftParts_80073CA8 ( 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  )

◆ ftParts_80074148()

void ftParts_80074148 ( void  )

◆ ftParts_80074170()

void ftParts_80074170 ( 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_800749CC()

void ftParts_800749CC ( Fighter_GObj *  gobj)

◆ ftParts_80074A4C()

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

◆ ftParts_80074A74()

int ftParts_80074A74 ( Fighter_GObj *  gobj,
int  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  idx,
int  val 
)

◆ ftParts_80074E58()

void ftParts_80074E58 ( Fighter fp)

◆ ftParts_GetBoneIndex()

Fighter_Part ftParts_GetBoneIndex ( Fighter fp,
Fighter_Part  part 
)

Fighter_BonePersonalToCommon.

◆ ftParts_80075028()

int ftParts_80075028 ( 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 
)

◆ ftParts_8007592C()

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

◆ ftParts_80075AF0()

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

◆ ftParts_80075CB4()

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

◆ ftParts_80075E78()

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

◆ ftParts_80075F48()

f32 ftParts_80075F48 ( Fighter fp,
int  part_idx 
)

Variable Documentation

◆ ftJObj

◆ ftIntpJObj

◆ ftPObj

◆ ftParts_803C0AE0

char ftParts_803C0AE0[] = "fighter parts model num over!\n"
static

just filling out the data section, remove when matching ftParts_8007487C