13#define ROBJ_TYPE_MASK 0x70000000
14#define REFTYPE_EXP 0x00000000
15#define REFTYPE_JOBJ 0x10000000
16#define REFTYPE_LIMIT 0x20000000
17#define REFTYPE_BYTECODE 0x30000000
18#define REFTYPE_IKHINT 0x40000000
139 if ((robj->
flags & 0x80000000) != 0) {
Annotations describing how archive data is laid out, for the parts a C declaration cannot express: ho...
unsigned int u32
Definition types.h:13
float f32
Definition types.h:18
unsigned char u8
Definition types.h:5
void HSD_RObjAnimAll(HSD_RObj *robj)
Definition robj.c:105
HSD_ObjAllocData * HSD_RvalueObjGetAllocData(void)
Definition robj.c:38
void HSD_RObjAnim(HSD_RObj *robj)
Definition robj.c:96
void HSD_RObjResolveRefs(HSD_RObj *, HSD_RObjDesc *)
Definition robj.c:569
void HSD_RObjRemoveAnimAll(HSD_RObj *robj)
Definition robj.c:141
void HSD_RObjRemoveAnimByFlags(HSD_RObj *robj, u32 flags)
Definition robj.c:118
HSD_RObj * HSD_RObjGetByType(HSD_RObj *robj, u32 type, u32 subtype)
Definition robj.c:50
void HSD_RObjRemoveAnimAllByFlags(HSD_RObj *robj, u32 flags)
Definition robj.c:130
void HSD_RObjSetFlags(HSD_RObj *robj, u32 flags)
Definition robj.c:43
HSD_RObj * HSD_RObjAlloc(void)
Definition robj.c:671
static bool RObjHasLimitReftype(HSD_RObj *robj)
Definition robj.h:145
void HSD_RObjSetConstraintObj(HSD_RObj *robj, void *obj)
Definition robj.c:909
void HSD_RObjFree(HSD_RObj *robj)
Definition robj.c:679
void HSD_RObjAddAnim(HSD_RObj *robj, HSD_RObjAnimJoint *anim)
Definition robj.c:173
void HSD_RObjResolveRefsAll(HSD_RObj *, HSD_RObjDesc *)
Definition robj.c:586
#define REFTYPE_IKHINT
Definition robj.h:18
void HSD_RObjUpdateAll(HSD_RObj *robj, void *obj, HSD_ObjUpdateFunc)
Definition robj.c:544
static bool RObjHasFlags(HSD_RObj *robj)
Definition robj.h:129
#define ROBJ_TYPE_MASK
Definition robj.h:13
void HSD_RObjReqAnimByFlags(HSD_RObj *robj, f32 startframe, u32 flags)
Definition robj.c:146
#define REFTYPE_JOBJ
Definition robj.h:15
HSD_RObj * HSD_RObjLoadDesc(HSD_RObjDesc *)
Definition robj.c:597
void HSD_RObjInitAllocData(void)
Definition robj.c:27
void HSD_RObjReqAnimAll(HSD_RObj *robj, f32 startframe)
Definition robj.c:168
#define REFTYPE_EXP
Definition robj.h:14
void HSD_RObjAddAnimAll(HSD_RObj *robj, HSD_RObjAnimJoint *anim)
Definition robj.c:185
HSD_ObjAllocData * HSD_RObjGetAllocData(void)
Definition robj.c:33
HSD_Rvalue * HSD_RvalueAlloc(void)
Definition robj.c:813
#define REFTYPE_BYTECODE
Definition robj.h:17
int HSD_RObjGetGlobalPosition(HSD_RObj *robj, int, Vec3 *translate)
Definition robj.c:209
void HSD_RObjRemove(HSD_RObj *)
Definition robj.c:643
void HSD_RvalueRemove(HSD_Rvalue *rvalue)
Definition robj.c:821
#define REFTYPE_LIMIT
Definition robj.h:16
void _HSD_RObjForgetMemory(void *low, void *high)
Definition robj.c:933
void HSD_RvalueResolveRefs(HSD_Rvalue *rvalue, HSD_RvalueList *list)
Definition robj.c:887
void HSD_RvalueRemoveAll(HSD_Rvalue *rvalue)
Definition robj.c:829
static bool RObjHasFlags2(HSD_RObj *robj)
Definition robj.h:137
void HSD_RObjRemoveAll(HSD_RObj *)
Definition robj.c:661
void HSD_RvalueResolveRefsAll(HSD_Rvalue *rvalue, HSD_RvalueList *list)
Definition robj.c:897
void HSD_RObjReqAnimAllByFlags(HSD_RObj *robj, f32 startframe, u32 flags)
Definition robj.c:157
u8 * bytecode
Definition robj.h:57
HSD_RvalueList * rvalue
Definition robj.h:58
f32(* func)(void *)
Definition robj.h:52
HSD_RvalueList * rvalue
Definition robj.h:53
union HSD_Exp::HSD_Exp_expr expr
HSD_Rvalue * rvalue
Definition robj.h:46
u32 nb_args
Definition robj.h:47
u8 is_bytecode
Definition robj.h:48
f32 rotate_x
Definition robj.h:38
f32 bone_length
Definition robj.h:37
f32 bone_length
Definition robj.h:32
f32 rotate_x
Definition robj.h:33
HSD_AObjDesc * aobjdesc
Definition robj.h:90
HSD_RObjAnimJoint * next
Definition robj.h:89
HSD_RObjDesc * next
Definition robj.h:74
u32 flags
Definition robj.h:75
union HSD_RObjDesc::HSD_RObjDesc_u u
union HSD_RObj::HSD_RObj_u u
HSD_AObj * aobj
Definition robj.h:70
HSD_RObj * next
Definition robj.h:62
u32 flags
Definition robj.h:63
HSD_Joint * joint
Definition robj.h:28
u32 flags
Definition robj.h:27
HSD_JObj * jobj
Definition robj.h:23
HSD_Rvalue * next
Definition robj.h:21
u32 flags
Definition robj.h:22
void(* HSD_ObjUpdateFunc)(void *obj, enum_t type, HSD_ObjData *fval)
Definition forward.h:111
f32(* func)(void *)
Definition robj.h:43
u8 * bytecode
Definition robj.h:44
HSD_ExpDesc *exp DAT_IF((flags &ROBJ_TYPE_MASK)==REFTYPE_EXP)
HSD_ByteCodeExpDesc *bcexp DAT_IF((flags &ROBJ_TYPE_MASK)==REFTYPE_BYTECODE)
HSD_Joint *joint DAT_IF((flags &ROBJ_TYPE_MASK)==REFTYPE_JOBJ)
HSD_IKHintDesc *ik_hint DAT_IF((flags &ROBJ_TYPE_MASK)==REFTYPE_IKHINT)
f32 limit DAT_IF((flags &ROBJ_TYPE_MASK)==REFTYPE_LIMIT)
HSD_JObj * jobj
Definition robj.h:65
HSD_Exp exp
Definition robj.h:66
f32 limit
Definition robj.h:67
HSD_IKHint ik_hint
Definition robj.h:68