SSBM Decomp
Loading...
Searching...
No Matches
jobj.h File Reference
#include <platform.h>
#include "baselib/forward.h"
#include <dolphin/mtx/forward.h>
#include "baselib/aobj.h"
#include "baselib/class.h"
#include "baselib/debug.h"
#include "baselib/list.h"
#include "baselib/object.h"
#include "baselib/pobj.h"
#include <dolphin/mtx.h>

Go to the source code of this file.

Data Structures

struct  HSD_JObj
 
struct  HSD_Joint
 
struct  HSD_JObjInfo
 

Macros

#define JOBJ_PTCL_ACTIVE   0x7FFFFFFF
 
#define JOBJ_PTCL_OFFSET_MASK   0xFFFFFF
 
#define JOBJ_PTCL_OFFSET_SHIFT   6
 
#define JOBJ_PTCL_BANK_MASK   0x3F
 
#define HSD_A_J_ROTX   1
 
#define HSD_A_J_ROTY   2
 
#define HSD_A_J_ROTZ   3
 
#define HSD_A_J_PATH   4
 
#define HSD_A_J_TRAX   5
 
#define HSD_A_J_TRAY   6
 
#define HSD_A_J_TRAZ   7
 
#define HSD_A_J_SCAX   8
 
#define HSD_A_J_SCAY   9
 
#define HSD_A_J_SCAZ   10
 
#define HSD_A_J_NODE   11
 
#define HSD_A_J_BRANCH   12
 
#define HSD_A_J_SETBYTE0   20
 
#define HSD_A_J_SETBYTE1   21
 
#define HSD_A_J_SETBYTE2   22
 
#define HSD_A_J_SETBYTE3   23
 
#define HSD_A_J_SETBYTE4   24
 
#define HSD_A_J_SETBYTE5   25
 
#define HSD_A_J_SETBYTE6   26
 
#define HSD_A_J_SETBYTE7   27
 
#define HSD_A_J_SETBYTE8   28
 
#define HSD_A_J_SETBYTE9   29
 
#define HSD_A_J_SETFLOAT0   30
 
#define HSD_A_J_SETFLOAT1   31
 
#define HSD_A_J_SETFLOAT2   32
 
#define HSD_A_J_SETFLOAT3   33
 
#define HSD_A_J_SETFLOAT4   34
 
#define HSD_A_J_SETFLOAT5   35
 
#define HSD_A_J_SETFLOAT6   36
 
#define HSD_A_J_SETFLOAT7   37
 
#define HSD_A_J_SETFLOAT8   38
 
#define HSD_A_J_SETFLOAT9   39
 
#define JOBJ_BILLBOARD_FIELD   0xE00
 
#define JOBJ_BILLBOARD   0x200
 
#define JOBJ_VBILLBOARD   0x400
 
#define JOBJ_HBILLBOARD   0x600
 
#define JOBJ_RBILLBOARD   0x800
 
#define JOBJ_PBILLBOARD   0x2000
 
#define JOBJ_SKELETON   (1 << 0)
 
#define JOBJ_SKELETON_ROOT   (1 << 1)
 
#define JOBJ_ENVELOPE_MODEL   (1 << 2)
 
#define JOBJ_CLASSICAL_SCALE   (1 << 3)
 
#define JOBJ_HIDDEN   (1 << 4)
 
#define JOBJ_PTCL   (1 << 5)
 
#define JOBJ_MTX_DIRTY   (1 << 6)
 
#define JOBJ_LIGHTING   (1 << 7)
 
#define JOBJ_TEXGEN   (1 << 8)
 
#define JOBJ_INSTANCE   (1 << 12)
 
#define JOBJ_SPLINE   (1 << 14)
 
#define JOBJ_FLIP_IK   (1 << 15)
 
#define JOBJ_SPECULAR   (1 << 16)
 
#define JOBJ_USE_QUATERNION   (1 << 17)
 
#define JOBJ_UNK_B18   (1 << 18)
 
#define JOBJ_UNK_B19   (1 << 19)
 
#define JOBJ_UNK_B20   (1 << 20)
 
#define JOBJ_NULL_OBJ   (0 << 21)
 
#define JOBJ_JOINT1   (1 << 21)
 
#define JOBJ_JOINT2   (2 << 21)
 
#define JOBJ_JOINT   (3 << 21)
 
#define JOBJ_EFFECTOR   (3 << 21)
 
#define JOBJ_USER_DEF_MTX   (1 << 23)
 
#define JOBJ_MTX_INDEP_PARENT   (1 << 24)
 
#define JOBJ_MTX_INDEP_SRT   (1 << 25)
 
#define JOBJ_UNK_B26   (1 << 26)
 
#define JOBJ_UNK_B27   (1 << 27)
 
#define JOBJ_ROOT_OPA   (1 << 28)
 
#define JOBJ_ROOT_XLU   (1 << 29)
 
#define JOBJ_ROOT_TEXEDGE   (1 << 30)
 
#define JOBJ_ROOT_MASK   (JOBJ_ROOT_OPA | JOBJ_ROOT_TEXEDGE | JOBJ_ROOT_XLU)
 
#define union_type_ptcl(o)   ((o)->flags & JOBJ_PTCL ? true : false)
 
#define union_type_spline(o)   ((o)->flags & JOBJ_SPLINE ? true : false)
 
#define union_type_dobj(o)    ((o)->flags & (JOBJ_PTCL | JOBJ_SPLINE) ? false : true)
 
#define HSD_JOBJ_INFO(i)   ((HSD_JObjInfo*) (i))
 
#define HSD_JOBJ_METHOD(o)   HSD_JOBJ_INFO((o)->object.parent.class_info)
 
#define HSD_JObjSetMtxDirty(jobj)
 

Typedefs

typedef void(* HSD_JObjWalkTreeCallback) (HSD_JObj *, f32 **, s32)
 
typedef void(* DPCtlCallback) (int, int lo, int hi, HSD_JObj *jobj)
 

Functions

void HSD_JObjSetDefaultClass (HSD_ClassInfo *info)
 
void HSD_JObjCheckDepend (HSD_JObj *jobj)
 
u32 HSD_JObjGetFlags (HSD_JObj *jobj)
 
void HSD_JObjReqAnimAll (HSD_JObj *, f32)
 
void HSD_JObjResetRST (HSD_JObj *jobj, HSD_Joint *joint)
 
void HSD_JObjSetupMatrixSub (HSD_JObj *)
 
void HSD_JObjSetMtxDirtySub (HSD_JObj *)
 
void HSD_JObjUnref (HSD_JObj *jobj)
 
HSD_JObjHSD_JObjRemove (HSD_JObj *jobj)
 
void HSD_JObjRemoveAll (HSD_JObj *)
 
struct HSD_DObjHSD_JObjGetDObj (HSD_JObj *jobj)
 
HSD_JObjHSD_JObjLoadJoint (HSD_Joint *)
 
void HSD_JObjAddAnimAll (HSD_JObj *, HSD_AnimJoint *, HSD_MatAnimJoint *, HSD_ShapeAnimJoint *)
 
void HSD_JObjAnimAll (HSD_JObj *)
 
void HSD_JObjSetFlags (HSD_JObj *, u32 flags)
 
void HSD_JObjSetFlagsAll (HSD_JObj *, u32 flags)
 
void HSD_JObjClearFlags (HSD_JObj *, u32 flags)
 
void HSD_JObjClearFlagsAll (HSD_JObj *, u32 flags)
 
HSD_JObjHSD_JObjAlloc (void)
 
void HSD_JObjSetCurrent (HSD_JObj *jobj)
 
HSD_JObjHSD_JObjGetCurrent (void)
 
void HSD_JObjResolveRefsAll (HSD_JObj *, HSD_Joint *)
 
void HSD_JObjDispAll (HSD_JObj *jobj, Mtx vmtx, u32 flags, u32 rendermode)
 
void HSD_JObjRemoveAnim (HSD_JObj *jobj)
 
void HSD_JObjAddNext (HSD_JObj *jobj, HSD_JObj *next)
 
void HSD_JObjRemoveAnimAll (HSD_JObj *jobj)
 
void HSD_JObjWalkTree (HSD_JObj *jobj, HSD_JObjWalkTreeCallback cb, f32 **cb_args)
 
void HSD_JObjPrependRObj (HSD_JObj *jobj, HSD_RObj *robj)
 
void HSD_JObjDeleteRObj (HSD_JObj *jobj, HSD_RObj *robj)
 
static HSD_JObjHSD_JObjGetChild (HSD_JObj *jobj)
 
static HSD_JObjHSD_JObjGetNext (HSD_JObj *jobj)
 
static HSD_JObjHSD_JObjGetParent (HSD_JObj *jobj)
 
static HSD_RObjHSD_JObjGetRObj (HSD_JObj *jobj)
 
static bool HSD_JObjMtxIsDirty (HSD_JObj *jobj)
 
void HSD_JObjSetupMatrix (HSD_JObj *jobj)
 
static void HSD_JObjSetRotation (HSD_JObj *jobj, Quaternion *rotate)
 
static void HSD_JObjSetRotationX (HSD_JObj *jobj, f32 x)
 
static void HSD_JObjSetRotationY (HSD_JObj *jobj, f32 y)
 
static void HSD_JObjSetRotationZ (HSD_JObj *jobj, f32 z)
 
static void HSD_JObjGetRotation (HSD_JObj *jobj, Quaternion *quat)
 
static f32 HSD_JObjGetRotationX (HSD_JObj *jobj)
 
static f32 HSD_JObjGetRotationY (HSD_JObj *jobj)
 
static f32 HSD_JObjGetRotationZ (HSD_JObj *jobj)
 
static void HSD_JObjSetScale (HSD_JObj *jobj, Vec3 *scale)
 
static void HSD_JObjSetScaleX (HSD_JObj *jobj, f32 x)
 
static void HSD_JObjSetScaleY (HSD_JObj *jobj, f32 y)
 
static void HSD_JObjSetScaleZ (HSD_JObj *jobj, f32 z)
 
static void HSD_JObjGetScale (HSD_JObj *jobj, Vec3 *scale)
 
static f32 HSD_JObjGetScaleX (HSD_JObj *jobj)
 
static f32 HSD_JObjGetScaleY (HSD_JObj *jobj)
 
static f32 HSD_JObjGetScaleZ (HSD_JObj *jobj)
 
static void HSD_JObjSetTranslate (HSD_JObj *jobj, Vec3 *translate)
 
static void HSD_JObjSetTranslateX (HSD_JObj *jobj, f32 x)
 
static void HSD_JObjSetTranslateY (HSD_JObj *jobj, f32 y)
 
static void HSD_JObjSetTranslateZ (HSD_JObj *jobj, f32 z)
 
static void HSD_JObjGetTranslation (HSD_JObj *jobj, Vec3 *translate)
 
static f32 HSD_JObjGetTranslationX (HSD_JObj *jobj)
 
static f32 HSD_JObjGetTranslationY (HSD_JObj *jobj)
 
static float HSD_JObjGetTranslationZ (HSD_JObj *jobj)
 
static void HSD_JObjAddRotationX (HSD_JObj *jobj, float x)
 
static void HSD_JObjAddRotationY (HSD_JObj *jobj, float y)
 
static void HSD_JObjAddRotationZ (HSD_JObj *jobj, float z)
 
static void HSD_JObjAddScaleX (HSD_JObj *jobj, float x)
 
static void HSD_JObjAddScaleY (HSD_JObj *jobj, float y)
 
static void HSD_JObjAddScaleZ (HSD_JObj *jobj, float z)
 
static void HSD_JObjAddTranslationY (HSD_JObj *jobj, float y)
 
static void HSD_JObjAddTranslationZ (HSD_JObj *jobj, float z)
 
void lbColl_JObjSetupMatrix (HSD_JObj *)
 
static MtxPtr HSD_JObjGetMtxPtr (HSD_JObj *jobj)
 
static void HSD_JObjCopyMtx (HSD_JObj *jobj, Mtx mtx)
 
static void HSD_JObjRef (HSD_JObj *jobj)
 
static void HSD_JObjRefThis (HSD_JObj *jobj)
 
void HSD_JObjResolveRefs (HSD_JObj *jobj, HSD_Joint *joint)
 
void HSD_JObjUnrefThis (HSD_JObj *jobj)
 
void HSD_JObjMakeMatrix (HSD_JObj *jobj)
 
void RecalcParentTrspBits (HSD_JObj *jobj)
 
void HSD_JObjAddChild (HSD_JObj *jobj, HSD_JObj *child)
 
HSD_JObjHSD_JObjReparent (HSD_JObj *jobj, HSD_JObj *parent)
 
void HSD_JObjAddDObj (HSD_JObj *jobj, HSD_DObj *dobj)
 
HSD_JObjjobj_get_effector_checked (HSD_JObj *eff)
 
void resolveIKJoint1 (HSD_JObj *jobj)
 
void resolveIKJoint2 (HSD_JObj *jobj)
 
void HSD_JObjRemoveAnimByFlags (HSD_JObj *jobj, u32 flags)
 
void HSD_JObjSetDPtclCallback (DPCtlCallback cb)
 
int JObjInit (HSD_Class *o)
 
void JObjReleaseChild (HSD_JObj *jobj)
 
void JObjRelease (HSD_Class *o)
 
void HSD_JObjRemoveAnimAllByFlags (HSD_JObj *jobj, u32 flags)
 
void JObjAmnesia (HSD_ClassInfo *info)
 
void HSD_JObjReqAnimByFlags (HSD_JObj *jobj, u32 flags, f32 frame)
 
void HSD_JObjReqAnimAllByFlags (HSD_JObj *jobj, u32 flags, f32 frame)
 
void HSD_JObjReqAnim (HSD_JObj *jobj, f32 frame)
 
void JObjSortAnim (HSD_AObj *aobj)
 
void JObjResetRST (HSD_JObj *jobj, HSD_Joint *joint)
 
void JObjUpdateFunc (void *obj, enum_t type, HSD_ObjData *val)
 
void HSD_JObjAnim (HSD_JObj *jobj)
 
void JObjAnimAll (HSD_JObj *jobj)
 
s32 JObjLoad (HSD_JObj *jobj, HSD_Joint *joint, HSD_JObj *parent)
 
void HSD_JObjAddAnim (HSD_JObj *, HSD_AnimJoint *an_joint, HSD_MatAnimJoint *mat_joint, HSD_ShapeAnimJoint *sh_joint)
 
void HSD_JObjWalkTree0 (HSD_JObj *jobj, HSD_JObjWalkTreeCallback cb, f32 **cb_args)
 

Variables

HSD_JObjInfo hsdJObj
 

Macro Definition Documentation

◆ JOBJ_PTCL_ACTIVE

#define JOBJ_PTCL_ACTIVE   0x7FFFFFFF

◆ JOBJ_PTCL_OFFSET_MASK

#define JOBJ_PTCL_OFFSET_MASK   0xFFFFFF

◆ JOBJ_PTCL_OFFSET_SHIFT

#define JOBJ_PTCL_OFFSET_SHIFT   6

◆ JOBJ_PTCL_BANK_MASK

#define JOBJ_PTCL_BANK_MASK   0x3F

◆ HSD_A_J_ROTX

#define HSD_A_J_ROTX   1

◆ HSD_A_J_ROTY

#define HSD_A_J_ROTY   2

◆ HSD_A_J_ROTZ

#define HSD_A_J_ROTZ   3

◆ HSD_A_J_PATH

#define HSD_A_J_PATH   4

◆ HSD_A_J_TRAX

#define HSD_A_J_TRAX   5

◆ HSD_A_J_TRAY

#define HSD_A_J_TRAY   6

◆ HSD_A_J_TRAZ

#define HSD_A_J_TRAZ   7

◆ HSD_A_J_SCAX

#define HSD_A_J_SCAX   8

◆ HSD_A_J_SCAY

#define HSD_A_J_SCAY   9

◆ HSD_A_J_SCAZ

#define HSD_A_J_SCAZ   10

◆ HSD_A_J_NODE

#define HSD_A_J_NODE   11

◆ HSD_A_J_BRANCH

#define HSD_A_J_BRANCH   12

◆ HSD_A_J_SETBYTE0

#define HSD_A_J_SETBYTE0   20

◆ HSD_A_J_SETBYTE1

#define HSD_A_J_SETBYTE1   21

◆ HSD_A_J_SETBYTE2

#define HSD_A_J_SETBYTE2   22

◆ HSD_A_J_SETBYTE3

#define HSD_A_J_SETBYTE3   23

◆ HSD_A_J_SETBYTE4

#define HSD_A_J_SETBYTE4   24

◆ HSD_A_J_SETBYTE5

#define HSD_A_J_SETBYTE5   25

◆ HSD_A_J_SETBYTE6

#define HSD_A_J_SETBYTE6   26

◆ HSD_A_J_SETBYTE7

#define HSD_A_J_SETBYTE7   27

◆ HSD_A_J_SETBYTE8

#define HSD_A_J_SETBYTE8   28

◆ HSD_A_J_SETBYTE9

#define HSD_A_J_SETBYTE9   29

◆ HSD_A_J_SETFLOAT0

#define HSD_A_J_SETFLOAT0   30

◆ HSD_A_J_SETFLOAT1

#define HSD_A_J_SETFLOAT1   31

◆ HSD_A_J_SETFLOAT2

#define HSD_A_J_SETFLOAT2   32

◆ HSD_A_J_SETFLOAT3

#define HSD_A_J_SETFLOAT3   33

◆ HSD_A_J_SETFLOAT4

#define HSD_A_J_SETFLOAT4   34

◆ HSD_A_J_SETFLOAT5

#define HSD_A_J_SETFLOAT5   35

◆ HSD_A_J_SETFLOAT6

#define HSD_A_J_SETFLOAT6   36

◆ HSD_A_J_SETFLOAT7

#define HSD_A_J_SETFLOAT7   37

◆ HSD_A_J_SETFLOAT8

#define HSD_A_J_SETFLOAT8   38

◆ HSD_A_J_SETFLOAT9

#define HSD_A_J_SETFLOAT9   39

◆ JOBJ_BILLBOARD_FIELD

#define JOBJ_BILLBOARD_FIELD   0xE00

◆ JOBJ_BILLBOARD

#define JOBJ_BILLBOARD   0x200

◆ JOBJ_VBILLBOARD

#define JOBJ_VBILLBOARD   0x400

◆ JOBJ_HBILLBOARD

#define JOBJ_HBILLBOARD   0x600

◆ JOBJ_RBILLBOARD

#define JOBJ_RBILLBOARD   0x800

◆ JOBJ_PBILLBOARD

#define JOBJ_PBILLBOARD   0x2000

◆ JOBJ_SKELETON

#define JOBJ_SKELETON   (1 << 0)

◆ JOBJ_SKELETON_ROOT

#define JOBJ_SKELETON_ROOT   (1 << 1)

◆ JOBJ_ENVELOPE_MODEL

#define JOBJ_ENVELOPE_MODEL   (1 << 2)

◆ JOBJ_CLASSICAL_SCALE

#define JOBJ_CLASSICAL_SCALE   (1 << 3)

◆ JOBJ_HIDDEN

#define JOBJ_HIDDEN   (1 << 4)

◆ JOBJ_PTCL

#define JOBJ_PTCL   (1 << 5)

◆ JOBJ_MTX_DIRTY

#define JOBJ_MTX_DIRTY   (1 << 6)

◆ JOBJ_LIGHTING

#define JOBJ_LIGHTING   (1 << 7)

◆ JOBJ_TEXGEN

#define JOBJ_TEXGEN   (1 << 8)

◆ JOBJ_INSTANCE

#define JOBJ_INSTANCE   (1 << 12)

◆ JOBJ_SPLINE

#define JOBJ_SPLINE   (1 << 14)

◆ JOBJ_FLIP_IK

#define JOBJ_FLIP_IK   (1 << 15)

◆ JOBJ_SPECULAR

#define JOBJ_SPECULAR   (1 << 16)

◆ JOBJ_USE_QUATERNION

#define JOBJ_USE_QUATERNION   (1 << 17)

◆ JOBJ_UNK_B18

#define JOBJ_UNK_B18   (1 << 18)

◆ JOBJ_UNK_B19

#define JOBJ_UNK_B19   (1 << 19)

◆ JOBJ_UNK_B20

#define JOBJ_UNK_B20   (1 << 20)

◆ JOBJ_NULL_OBJ

#define JOBJ_NULL_OBJ   (0 << 21)

◆ JOBJ_JOINT1

#define JOBJ_JOINT1   (1 << 21)

◆ JOBJ_JOINT2

#define JOBJ_JOINT2   (2 << 21)

◆ JOBJ_JOINT

#define JOBJ_JOINT   (3 << 21)

◆ JOBJ_EFFECTOR

#define JOBJ_EFFECTOR   (3 << 21)

◆ JOBJ_USER_DEF_MTX

#define JOBJ_USER_DEF_MTX   (1 << 23)

◆ JOBJ_MTX_INDEP_PARENT

#define JOBJ_MTX_INDEP_PARENT   (1 << 24)

◆ JOBJ_MTX_INDEP_SRT

#define JOBJ_MTX_INDEP_SRT   (1 << 25)

◆ JOBJ_UNK_B26

#define JOBJ_UNK_B26   (1 << 26)

◆ JOBJ_UNK_B27

#define JOBJ_UNK_B27   (1 << 27)

◆ JOBJ_ROOT_OPA

#define JOBJ_ROOT_OPA   (1 << 28)

◆ JOBJ_ROOT_XLU

#define JOBJ_ROOT_XLU   (1 << 29)

◆ JOBJ_ROOT_TEXEDGE

#define JOBJ_ROOT_TEXEDGE   (1 << 30)

◆ JOBJ_ROOT_MASK

#define JOBJ_ROOT_MASK   (JOBJ_ROOT_OPA | JOBJ_ROOT_TEXEDGE | JOBJ_ROOT_XLU)

◆ union_type_ptcl

#define union_type_ptcl (   o)    ((o)->flags & JOBJ_PTCL ? true : false)

◆ union_type_spline

#define union_type_spline (   o)    ((o)->flags & JOBJ_SPLINE ? true : false)

◆ union_type_dobj

#define union_type_dobj (   o)     ((o)->flags & (JOBJ_PTCL | JOBJ_SPLINE) ? false : true)

◆ HSD_JOBJ_INFO

#define HSD_JOBJ_INFO (   i)    ((HSD_JObjInfo*) (i))

◆ HSD_JOBJ_METHOD

#define HSD_JOBJ_METHOD (   o)    HSD_JOBJ_INFO((o)->object.parent.class_info)

◆ HSD_JObjSetMtxDirty

#define HSD_JObjSetMtxDirty (   jobj)
Value:
{ \
if (jobj != NULL && !HSD_JObjMtxIsDirty(jobj)) { \
HSD_JObjSetMtxDirtySub(jobj); \
} \
}
static bool HSD_JObjMtxIsDirty(HSD_JObj *jobj)
Definition jobj.h:227
#define NULL
A null pointer.
Definition stddef.h:19

Typedef Documentation

◆ HSD_JObjWalkTreeCallback

typedef void(* HSD_JObjWalkTreeCallback) (HSD_JObj *, f32 **, s32)

◆ DPCtlCallback

typedef void(* DPCtlCallback) (int, int lo, int hi, HSD_JObj *jobj)

Function Documentation

◆ HSD_JObjSetDefaultClass()

void HSD_JObjSetDefaultClass ( HSD_ClassInfo info)

◆ HSD_JObjCheckDepend()

void HSD_JObjCheckDepend ( HSD_JObj jobj)

◆ HSD_JObjGetFlags()

u32 HSD_JObjGetFlags ( HSD_JObj jobj)

◆ HSD_JObjReqAnimAll()

void HSD_JObjReqAnimAll ( HSD_JObj jobj,
f32  frame 
)

◆ HSD_JObjResetRST()

void HSD_JObjResetRST ( HSD_JObj jobj,
HSD_Joint joint 
)

◆ HSD_JObjSetupMatrixSub()

void HSD_JObjSetupMatrixSub ( HSD_JObj jobj)

◆ HSD_JObjSetMtxDirtySub()

void HSD_JObjSetMtxDirtySub ( HSD_JObj jobj)

◆ HSD_JObjUnref()

void HSD_JObjUnref ( HSD_JObj jobj)

◆ HSD_JObjRemove()

HSD_JObj * HSD_JObjRemove ( HSD_JObj jobj)

◆ HSD_JObjRemoveAll()

void HSD_JObjRemoveAll ( HSD_JObj jobj)
Todo:
Regswaps

◆ HSD_JObjGetDObj()

struct HSD_DObj * HSD_JObjGetDObj ( HSD_JObj jobj)

◆ HSD_JObjLoadJoint()

HSD_JObj * HSD_JObjLoadJoint ( HSD_Joint arg0)

◆ HSD_JObjAddAnimAll()

void HSD_JObjAddAnimAll ( HSD_JObj jobj,
HSD_AnimJoint ajoint,
HSD_MatAnimJoint mjoint,
HSD_ShapeAnimJoint sjoint 
)

◆ HSD_JObjAnimAll()

void HSD_JObjAnimAll ( HSD_JObj jobj)

◆ HSD_JObjSetFlags()

void HSD_JObjSetFlags ( HSD_JObj jobj,
u32  flags 
)

◆ HSD_JObjSetFlagsAll()

void HSD_JObjSetFlagsAll ( HSD_JObj jobj,
u32  flags 
)

◆ HSD_JObjClearFlags()

void HSD_JObjClearFlags ( HSD_JObj jobj,
u32  flags 
)

◆ HSD_JObjClearFlagsAll()

void HSD_JObjClearFlagsAll ( HSD_JObj jobj,
u32  flags 
)

◆ HSD_JObjAlloc()

HSD_JObj * HSD_JObjAlloc ( void  )

◆ HSD_JObjSetCurrent()

void HSD_JObjSetCurrent ( HSD_JObj jobj)

◆ HSD_JObjGetCurrent()

HSD_JObj * HSD_JObjGetCurrent ( void  )

◆ HSD_JObjResolveRefsAll()

void HSD_JObjResolveRefsAll ( HSD_JObj jobj,
HSD_Joint joint 
)

◆ HSD_JObjDispAll()

void HSD_JObjDispAll ( HSD_JObj jobj,
Mtx  vmtx,
u32  flags,
u32  rendermode 
)

◆ HSD_JObjRemoveAnim()

void HSD_JObjRemoveAnim ( HSD_JObj jobj)

◆ HSD_JObjAddNext()

void HSD_JObjAddNext ( HSD_JObj jobj,
HSD_JObj next 
)

◆ HSD_JObjRemoveAnimAll()

void HSD_JObjRemoveAnimAll ( HSD_JObj jobj)

◆ HSD_JObjWalkTree()

void HSD_JObjWalkTree ( HSD_JObj jobj,
HSD_JObjWalkTreeCallback  cb,
f32 **  cb_args 
)

◆ HSD_JObjPrependRObj()

void HSD_JObjPrependRObj ( HSD_JObj jobj,
HSD_RObj robj 
)

◆ HSD_JObjDeleteRObj()

void HSD_JObjDeleteRObj ( HSD_JObj jobj,
HSD_RObj robj 
)

◆ HSD_JObjGetChild()

static HSD_JObj * HSD_JObjGetChild ( HSD_JObj jobj)
inlinestatic

◆ HSD_JObjGetNext()

static HSD_JObj * HSD_JObjGetNext ( HSD_JObj jobj)
inlinestatic

◆ HSD_JObjGetParent()

static HSD_JObj * HSD_JObjGetParent ( HSD_JObj jobj)
inlinestatic

◆ HSD_JObjGetRObj()

static HSD_RObj * HSD_JObjGetRObj ( HSD_JObj jobj)
inlinestatic

◆ HSD_JObjMtxIsDirty()

static bool HSD_JObjMtxIsDirty ( HSD_JObj jobj)
inlinestatic

◆ HSD_JObjSetupMatrix()

void HSD_JObjSetupMatrix ( HSD_JObj jobj)
inline

◆ HSD_JObjSetRotation()

static void HSD_JObjSetRotation ( HSD_JObj jobj,
Quaternion *  rotate 
)
inlinestatic

◆ HSD_JObjSetRotationX()

static void HSD_JObjSetRotationX ( HSD_JObj jobj,
f32  x 
)
inlinestatic

◆ HSD_JObjSetRotationY()

static void HSD_JObjSetRotationY ( HSD_JObj jobj,
f32  y 
)
inlinestatic

◆ HSD_JObjSetRotationZ()

static void HSD_JObjSetRotationZ ( HSD_JObj jobj,
f32  z 
)
inlinestatic

◆ HSD_JObjGetRotation()

static void HSD_JObjGetRotation ( HSD_JObj jobj,
Quaternion *  quat 
)
inlinestatic

◆ HSD_JObjGetRotationX()

static f32 HSD_JObjGetRotationX ( HSD_JObj jobj)
inlinestatic

◆ HSD_JObjGetRotationY()

static f32 HSD_JObjGetRotationY ( HSD_JObj jobj)
inlinestatic

◆ HSD_JObjGetRotationZ()

static f32 HSD_JObjGetRotationZ ( HSD_JObj jobj)
inlinestatic

◆ HSD_JObjSetScale()

static void HSD_JObjSetScale ( HSD_JObj jobj,
Vec3 scale 
)
inlinestatic

◆ HSD_JObjSetScaleX()

static void HSD_JObjSetScaleX ( HSD_JObj jobj,
f32  x 
)
inlinestatic

◆ HSD_JObjSetScaleY()

static void HSD_JObjSetScaleY ( HSD_JObj jobj,
f32  y 
)
inlinestatic

◆ HSD_JObjSetScaleZ()

static void HSD_JObjSetScaleZ ( HSD_JObj jobj,
f32  z 
)
inlinestatic

◆ HSD_JObjGetScale()

static void HSD_JObjGetScale ( HSD_JObj jobj,
Vec3 scale 
)
inlinestatic

◆ HSD_JObjGetScaleX()

static f32 HSD_JObjGetScaleX ( HSD_JObj jobj)
inlinestatic

◆ HSD_JObjGetScaleY()

static f32 HSD_JObjGetScaleY ( HSD_JObj jobj)
inlinestatic

◆ HSD_JObjGetScaleZ()

static f32 HSD_JObjGetScaleZ ( HSD_JObj jobj)
inlinestatic

◆ HSD_JObjSetTranslate()

static void HSD_JObjSetTranslate ( HSD_JObj jobj,
Vec3 translate 
)
inlinestatic

◆ HSD_JObjSetTranslateX()

static void HSD_JObjSetTranslateX ( HSD_JObj jobj,
f32  x 
)
inlinestatic

◆ HSD_JObjSetTranslateY()

static void HSD_JObjSetTranslateY ( HSD_JObj jobj,
f32  y 
)
inlinestatic

◆ HSD_JObjSetTranslateZ()

static void HSD_JObjSetTranslateZ ( HSD_JObj jobj,
f32  z 
)
inlinestatic

◆ HSD_JObjGetTranslation()

static void HSD_JObjGetTranslation ( HSD_JObj jobj,
Vec3 translate 
)
inlinestatic

◆ HSD_JObjGetTranslationX()

static f32 HSD_JObjGetTranslationX ( HSD_JObj jobj)
inlinestatic

◆ HSD_JObjGetTranslationY()

static f32 HSD_JObjGetTranslationY ( HSD_JObj jobj)
inlinestatic

◆ HSD_JObjGetTranslationZ()

static float HSD_JObjGetTranslationZ ( HSD_JObj jobj)
inlinestatic

◆ HSD_JObjAddRotationX()

static void HSD_JObjAddRotationX ( HSD_JObj jobj,
float  x 
)
inlinestatic

◆ HSD_JObjAddRotationY()

static void HSD_JObjAddRotationY ( HSD_JObj jobj,
float  y 
)
inlinestatic

◆ HSD_JObjAddRotationZ()

static void HSD_JObjAddRotationZ ( HSD_JObj jobj,
float  z 
)
inlinestatic

◆ HSD_JObjAddScaleX()

static void HSD_JObjAddScaleX ( HSD_JObj jobj,
float  x 
)
inlinestatic

◆ HSD_JObjAddScaleY()

static void HSD_JObjAddScaleY ( HSD_JObj jobj,
float  y 
)
inlinestatic

◆ HSD_JObjAddScaleZ()

static void HSD_JObjAddScaleZ ( HSD_JObj jobj,
float  z 
)
inlinestatic

◆ HSD_JObjAddTranslationY()

static void HSD_JObjAddTranslationY ( HSD_JObj jobj,
float  y 
)
inlinestatic

◆ HSD_JObjAddTranslationZ()

static void HSD_JObjAddTranslationZ ( HSD_JObj jobj,
float  z 
)
inlinestatic

◆ lbColl_JObjSetupMatrix()

void lbColl_JObjSetupMatrix ( HSD_JObj jobj)
Todo:
This is inlined into lbcoll, and linker deduplication only kept that definition. Rename it back to HSD_JObjSetupMatrix once lbcoll is matched.
Todo:
This is an inlined copy of JObjSetupMatrix from lbColl_80007BCC which was too deeply nested to inline. Remove this when matching lbColl_80007BCC.

◆ HSD_JObjGetMtxPtr()

static MtxPtr HSD_JObjGetMtxPtr ( HSD_JObj jobj)
inlinestatic

◆ HSD_JObjCopyMtx()

static void HSD_JObjCopyMtx ( HSD_JObj jobj,
Mtx  mtx 
)
inlinestatic

◆ HSD_JObjRef()

static void HSD_JObjRef ( HSD_JObj jobj)
inlinestatic

◆ HSD_JObjRefThis()

void HSD_JObjRefThis ( HSD_JObj jobj)
inlinestatic

◆ HSD_JObjResolveRefs()

void HSD_JObjResolveRefs ( HSD_JObj jobj,
HSD_Joint joint 
)

◆ HSD_JObjUnrefThis()

void HSD_JObjUnrefThis ( HSD_JObj jobj)

◆ HSD_JObjMakeMatrix()

void HSD_JObjMakeMatrix ( HSD_JObj jobj)

◆ RecalcParentTrspBits()

void RecalcParentTrspBits ( HSD_JObj jobj)

◆ HSD_JObjAddChild()

void HSD_JObjAddChild ( HSD_JObj jobj,
HSD_JObj child 
)

◆ HSD_JObjReparent()

HSD_JObj * HSD_JObjReparent ( HSD_JObj jobj,
HSD_JObj parent 
)

◆ HSD_JObjAddDObj()

void HSD_JObjAddDObj ( HSD_JObj jobj,
HSD_DObj dobj 
)

◆ jobj_get_effector_checked()

HSD_JObj * jobj_get_effector_checked ( HSD_JObj eff)

◆ resolveIKJoint1()

void resolveIKJoint1 ( HSD_JObj jobj)
Todo:
Variables var_f27 and var_f28 are used uninitialized whenever 'if' condition is false.

◆ resolveIKJoint2()

void resolveIKJoint2 ( HSD_JObj jobj)

◆ HSD_JObjRemoveAnimByFlags()

void HSD_JObjRemoveAnimByFlags ( HSD_JObj jobj,
u32  flags 
)

◆ HSD_JObjSetDPtclCallback()

void HSD_JObjSetDPtclCallback ( DPCtlCallback  cb)

◆ JObjInit()

int JObjInit ( HSD_Class o)

◆ JObjReleaseChild()

void JObjReleaseChild ( HSD_JObj jobj)

◆ JObjRelease()

void JObjRelease ( HSD_Class o)

◆ HSD_JObjRemoveAnimAllByFlags()

void HSD_JObjRemoveAnimAllByFlags ( HSD_JObj jobj,
u32  flags 
)

◆ JObjAmnesia()

void JObjAmnesia ( HSD_ClassInfo info)

◆ HSD_JObjReqAnimByFlags()

void HSD_JObjReqAnimByFlags ( HSD_JObj jobj,
u32  flags,
f32  frame 
)

◆ HSD_JObjReqAnimAllByFlags()

void HSD_JObjReqAnimAllByFlags ( HSD_JObj jobj,
u32  flags,
f32  frame 
)

◆ HSD_JObjReqAnim()

void HSD_JObjReqAnim ( HSD_JObj jobj,
f32  frame 
)

◆ JObjSortAnim()

void JObjSortAnim ( HSD_AObj aobj)

◆ JObjResetRST()

void JObjResetRST ( HSD_JObj jobj,
HSD_Joint joint 
)

◆ JObjUpdateFunc()

void JObjUpdateFunc ( void *  obj,
enum_t  type,
HSD_ObjData val 
)

◆ HSD_JObjAnim()

void HSD_JObjAnim ( HSD_JObj jobj)

◆ JObjAnimAll()

void JObjAnimAll ( HSD_JObj jobj)

◆ JObjLoad()

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

◆ HSD_JObjAddAnim()

void HSD_JObjAddAnim ( HSD_JObj jobj,
HSD_AnimJoint an_joint,
HSD_MatAnimJoint mat_joint,
HSD_ShapeAnimJoint sh_joint 
)

◆ HSD_JObjWalkTree0()

void HSD_JObjWalkTree0 ( HSD_JObj jobj,
HSD_JObjWalkTreeCallback  cb,
f32 **  cb_args 
)

Variable Documentation

◆ hsdJObj

HSD_JObjInfo hsdJObj
extern