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

PObjSetupFlag ftPartsGetSetupFlags ( HSD_JObj * jobj,
u32 rendermode )
inlinestatic

◆ ftPartsSetupZScaleMtx()

void ftPartsSetupZScaleMtx ( Mtx src,
Mtx dst )
inlinestatic

◆ ftPartsSetupNrmMtx()

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

◆ ftPartsSetupTexMtx()

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