SSBM Decomp
Loading...
Searching...
No Matches
ftparts.c File Reference
#include <placeholder.h>
#include "ft/forward.h"
#include "ft/ftparts.h"
#include "ft/fighter.h"
#include "ft/types.h"
#include "lb/lbrefract.h"
#include <dolphin/mtx.h>
#include <dolphin/os/OSError.h>
#include <baselib/class.h>
#include <baselib/debug.h>
#include <baselib/gobj.h>
#include <baselib/jobj.h>
#include <baselib/mtx.h>
#include <baselib/pobj.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

static float _HSD_JObjGetScaleX (HSD_JObj *jobj)
 
static float _HSD_JObjGetScaleY (HSD_JObj *jobj)
 
static float _HSD_JObjGetScaleZ (HSD_JObj *jobj)
 
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_PObjSetupMtx (HSD_PObj *pobj, Mtx vmtx, Mtx pmtx, u32 rendermode)
 ftParts_80073830
 
void ftParts_PObjInfoInit (void)
 
void ftParts_SetupParts (HSD_GObj *fighter_obj)
 ftParts_80074148
 
Fighter_Part ftParts_8007500C (Fighter *fp, Fighter_Part part)
 ftParts_8007462C
 
u8 ftParts_80075028 (size_t to_table_idx, size_t from_table_idx, size_t joint_idx)
 
void ftParts_800755E8 (Fighter *fp, u8 *arg1)
 ftParts_8007506C
 
void ftParts_JObjSetRotation (HSD_JObj *jobj, Vec4 *quat)
 ftParts_80075650
 
f32 ftParts_80075E78 (Fighter *fp, int arg1)
 
f32 ftParts_80075F48 (Fighter *fp, s32 arg1)
 

Variables

HSD_JObjInfo ftJObj = { ftParts_JObjInfoInit }
 
HSD_JObjInfo ftIntpJObj = { ftParts_IntpJObjInfoInit }
 
HSD_PObjInfo ftPObj = { ftParts_PObjInfoInit }
 
static char ftParts_803C09E0 [] = "fighter_class_library"
 
static char ftParts_803C09F8 [] = "ft_intp_jobj"
 
static char ftParts_803C0A08 [] = "ftparts.c"
 ftParts_8007592C
 
static char ftParts_803C0A14 [] = "envelope"
 
static char ftParts_803C0A20 [] = "envelope->jobj"
 
static char ftParts_803C0A30 [] = "jp->envelopemtx"
 
static char ftParts_803C0A40 []
 
static char ftParts_803C0A70 [] = "fighter dobj num over! player %d\n"
 
static char ftParts_803C0A94 [] = "fighter parts num over! player %d\n"
 
static char ftParts_803C0AB8 [] = "fighter parts num not match! player %d\n"
 
static char ftParts_803C0AE0 [] = "fighter parts model num over!\n"
 
static char ftParts_803C0B00 [] = "can't find tobj!\n"
 
static char ftParts_803C0B14 [] = "fighter parts model dobj num over!\n"
 
static char ftParts_803C0B38 [] = "cant set fighter rot x!\n"
 
static char ftParts_803C0B54 [] = "!(jobj->flags & JOBJ_USE_QUATERNION)"
 
static char ftParts_803C0B7C [] = "cant set fighter rot y!\n"
 
static char ftParts_803C0B98 [] = "cant set fighter rot z!\n"
 
static char ftParts_803C0BB4 [] = "cant get fighter rot x!\n"
 
static char ftParts_803C0BD0 [] = "cant get fighter rot y!\n"
 
static char ftParts_803C0BEC [] = "cant get fighter rot z!\n"
 
struct { 
 
   Mtx   mtx 
 
   u8   has_z_scale: 1 
 
   char   unk_31 [7] 
 
ft_jobj_scale 
 
static char ftParts_804D3A30 [] = "jobj.h"
 
static char ftParts_804D3A38 [] = "jobj"
 
static char ftParts_804D3A40 [] = "ft_jobj"
 
static char ftParts_804D3A48 [] = "jp->mtx"
 
static char ftParts_804D3A50 [] = "ft_pobj"
 
static char ftParts_804D3A58 [] = "0"
 
static char ftParts_804D3A5C [] = "rotate"
 

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

◆ _HSD_JObjGetScaleX()

static float _HSD_JObjGetScaleX ( HSD_JObj jobj)
inlinestatic
Todo:
Remove when strings can be reused

◆ _HSD_JObjGetScaleY()

static float _HSD_JObjGetScaleY ( HSD_JObj jobj)
inlinestatic
Todo:
Remove when strings can be reused

◆ _HSD_JObjGetScaleZ()

static float _HSD_JObjGetScaleZ ( HSD_JObj jobj)
inlinestatic
Todo:
Remove when strings can be reused

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

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

◆ ftParts_PObjInfoInit()

void ftParts_PObjInfoInit ( void  )

◆ ftParts_SetupParts()

void ftParts_SetupParts ( HSD_GObj fighter_obj)

◆ ftParts_8007500C()

◆ ftParts_80075028()

u8 ftParts_80075028 ( size_t  to_table_idx,
size_t  from_table_idx,
size_t  joint_idx 
)

◆ ftParts_800755E8()

◆ ftParts_JObjSetRotation()

void ftParts_JObjSetRotation ( HSD_JObj jobj,
Vec4 quat 
)

◆ ftParts_80075E78()

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

◆ ftParts_80075F48()

f32 ftParts_80075F48 ( Fighter fp,
s32  arg1 
)

Variable Documentation

◆ ftJObj

◆ ftIntpJObj

◆ ftPObj

◆ ftParts_803C09E0

char ftParts_803C09E0[] = "fighter_class_library"
static

◆ ftParts_803C09F8

char ftParts_803C09F8[] = "ft_intp_jobj"
static

◆ ftParts_803C0A08

char ftParts_803C0A08 = "ftparts.c"
static

◆ ftParts_803C0A14

char ftParts_803C0A14[] = "envelope"
static

◆ ftParts_803C0A20

char ftParts_803C0A20[] = "envelope->jobj"
static

◆ ftParts_803C0A30

char ftParts_803C0A30[] = "jp->envelopemtx"
static

◆ ftParts_803C0A40

char ftParts_803C0A40[]
static
Initial value:
=
"fighter parts model dobj num over! player %d\n"

◆ ftParts_803C0A70

char ftParts_803C0A70[] = "fighter dobj num over! player %d\n"
static

◆ ftParts_803C0A94

char ftParts_803C0A94[] = "fighter parts num over! player %d\n"
static

◆ ftParts_803C0AB8

char ftParts_803C0AB8[] = "fighter parts num not match! player %d\n"
static

◆ ftParts_803C0AE0

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

◆ ftParts_803C0B00

char ftParts_803C0B00[] = "can't find tobj!\n"
static

◆ ftParts_803C0B14

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

◆ ftParts_803C0B38

char ftParts_803C0B38[] = "cant set fighter rot x!\n"
static

◆ ftParts_803C0B54

char ftParts_803C0B54[] = "!(jobj->flags & JOBJ_USE_QUATERNION)"
static

◆ ftParts_803C0B7C

char ftParts_803C0B7C[] = "cant set fighter rot y!\n"
static

◆ ftParts_803C0B98

char ftParts_803C0B98[] = "cant set fighter rot z!\n"
static

◆ ftParts_803C0BB4

char ftParts_803C0BB4[] = "cant get fighter rot x!\n"
static

◆ ftParts_803C0BD0

char ftParts_803C0BD0 = "cant get fighter rot y!\n"
static

◆ ftParts_803C0BEC

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

◆ mtx

Mtx mtx

◆ has_z_scale

u8 has_z_scale

◆ unk_31

char unk_31[7]

◆ [struct]

struct { ... } ft_jobj_scale

◆ ftParts_804D3A30

char ftParts_804D3A30[] = "jobj.h"
static

◆ ftParts_804D3A38

char ftParts_804D3A38[] = "jobj"
static

◆ ftParts_804D3A40

char ftParts_804D3A40[] = "ft_jobj"
static

◆ ftParts_804D3A48

char ftParts_804D3A48[] = "jp->mtx"
static

◆ ftParts_804D3A50

char ftParts_804D3A50[] = "ft_pobj"
static

◆ ftParts_804D3A58

char ftParts_804D3A58[] = "0"
static

◆ ftParts_804D3A5C

char ftParts_804D3A5C[] = "rotate"
static