SSBM Decomp
Loading...
Searching...
No Matches
robj.c File Reference
#include "robj.h"
#include "aobj.h"
#include "class.h"
#include "debug.h"
#include "fobj.h"
#include "id.h"
#include "jobj.h"
#include "list.h"
#include "memory.h"
#include "mtx.h"
#include "object.h"
#include "util.h"
#include <placeholder.h>
#include <__mem.h>
#include <math.h>
#include <math_ppc.h>
#include <dolphin/mtx.h>
#include <dolphin/os.h>

Functions

void HSD_RObjInitAllocData (void)
HSD_ObjAllocDataHSD_RObjGetAllocData (void)
HSD_ObjAllocDataHSD_RvalueObjGetAllocData (void)
void HSD_RObjSetFlags (HSD_RObj *robj, u32 flags)
HSD_RObjHSD_RObjGetByType (HSD_RObj *robj, u32 type, u32 subtype)
static void RObjUpdateFunc (void *obj, enum_t type, HSD_ObjData *val)
void HSD_RObjAnim (HSD_RObj *robj)
void HSD_RObjAnimAll (HSD_RObj *robj)
void HSD_RObjRemoveAnimByFlags (HSD_RObj *robj, u32 flags)
void HSD_RObjRemoveAnimAllByFlags (HSD_RObj *robj, u32 flags)
void HSD_RObjRemoveAnimAll (HSD_RObj *robj)
void HSD_RObjReqAnimByFlags (HSD_RObj *robj, f32 startframe, u32 flags)
void HSD_RObjReqAnimAllByFlags (HSD_RObj *robj, f32 startframe, u32 flags)
void HSD_RObjReqAnimAll (HSD_RObj *robj, f32 startframe)
void HSD_RObjAddAnim (HSD_RObj *robj, HSD_RObjAnimJoint *anim)
void HSD_RObjAddAnimAll (HSD_RObj *robj, HSD_RObjAnimJoint *anim)
static u32 HSD_RObjGetConstraintType (HSD_RObj *robj)
int HSD_RObjGetGlobalPosition (HSD_RObj *robj, int type, Vec3 *p)
static void set_dirup_matrix (Vec3 *dir_ptr, Vec3 *uv_ptr, Vec3 *scale_ptr, void *obj, HSD_ObjUpdateFunc update_func)
static void resolveCnsDirUp (HSD_RObj *robj, void *obj, HSD_ObjUpdateFunc update_func)
static HSD_JObjjobj_parent (HSD_JObj *jobj)
static HSD_RObjinlined_HSD_RObjGetByType (HSD_RObj *robj, u32 type, u32 subtype)
f32 HSD_MtxColMagFloat (MtxPtr mtx, int col)
static void resolveCnsOrientation (HSD_RObj *robj, void *obj, void(*update_func)(void *, int, HSD_ObjData *))
static void resolveLimits (HSD_RObj *robj, void *obj, HSD_ObjUpdateFunc update_func)
static void expEvaluate (HSD_Exp *exp, u32 type, void *obj, HSD_ObjUpdateFunc update_func)
void HSD_RObjUpdateAll (HSD_RObj *robj, void *obj, HSD_ObjUpdateFunc update_func)
void HSD_RObjResolveRefs (HSD_RObj *robj, HSD_RObjDesc *desc)
void HSD_RObjResolveRefsAll (HSD_RObj *robj, HSD_RObjDesc *desc)
static void bcexpLoadDesc (HSD_Exp *exp, HSD_ByteCodeExpDesc *desc)
static void expLoadDesc (HSD_Exp *exp, HSD_ExpDesc *desc)
HSD_RObjHSD_RObjLoadDesc (HSD_RObjDesc *robjdesc)
void HSD_RObjRemove (HSD_RObj *robj)
void HSD_RObjRemoveAll (HSD_RObj *robj)
HSD_RObjHSD_RObjAlloc (void)
void HSD_RObjFree (HSD_RObj *robj)
float HSD_ByteCodeEval (u8 *, f32 *, s32)
static f32 dummy_func (void *unused)
HSD_RvalueHSD_RvalueAlloc (void)
void HSD_RvalueRemove (HSD_Rvalue *rvalue)
void HSD_RvalueRemoveAll (HSD_Rvalue *rvalue)
static HSD_RvalueloadRvalue (HSD_RvalueList *list)
void HSD_RvalueResolveRefs (HSD_Rvalue *rvalue, HSD_RvalueList *list)
void HSD_RvalueResolveRefsAll (HSD_Rvalue *rvalue, HSD_RvalueList *list)
void HSD_RObjSetConstraintObj (HSD_RObj *robj, void *o)
void _HSD_RObjForgetMemory (void *low, void *high)

Variables

HSD_ObjAllocData robj_alloc_data
HSD_ObjAllocData rvalue_alloc_data
static float * arg_buf
static u32 arg_buf_size
static int HSD_RObj_80406E74 [3] = { 0x32, 0x33, 0x34 }
static char HSD_RObj_80406F14 [] = "(ptr && nitems) || !ptr"

Function Documentation

◆ HSD_RObjInitAllocData()

void HSD_RObjInitAllocData ( void )

◆ HSD_RObjGetAllocData()

HSD_ObjAllocData * HSD_RObjGetAllocData ( void )

◆ HSD_RvalueObjGetAllocData()

HSD_ObjAllocData * HSD_RvalueObjGetAllocData ( void )

◆ HSD_RObjSetFlags()

void HSD_RObjSetFlags ( HSD_RObj * robj,
u32 flags )

◆ HSD_RObjGetByType()

HSD_RObj * HSD_RObjGetByType ( HSD_RObj * robj,
u32 type,
u32 subtype )

◆ RObjUpdateFunc()

void RObjUpdateFunc ( void * obj,
enum_t type,
HSD_ObjData * val )
static

◆ HSD_RObjAnim()

void HSD_RObjAnim ( HSD_RObj * robj)

◆ HSD_RObjAnimAll()

void HSD_RObjAnimAll ( HSD_RObj * robj)

◆ HSD_RObjRemoveAnimByFlags()

void HSD_RObjRemoveAnimByFlags ( HSD_RObj * robj,
u32 flags )

◆ HSD_RObjRemoveAnimAllByFlags()

void HSD_RObjRemoveAnimAllByFlags ( HSD_RObj * robj,
u32 flags )

◆ HSD_RObjRemoveAnimAll()

void HSD_RObjRemoveAnimAll ( HSD_RObj * robj)

◆ HSD_RObjReqAnimByFlags()

void HSD_RObjReqAnimByFlags ( HSD_RObj * robj,
f32 startframe,
u32 flags )

◆ HSD_RObjReqAnimAllByFlags()

void HSD_RObjReqAnimAllByFlags ( HSD_RObj * robj,
f32 startframe,
u32 flags )

◆ HSD_RObjReqAnimAll()

void HSD_RObjReqAnimAll ( HSD_RObj * robj,
f32 startframe )

◆ HSD_RObjAddAnim()

void HSD_RObjAddAnim ( HSD_RObj * robj,
HSD_RObjAnimJoint * anim )

◆ HSD_RObjAddAnimAll()

void HSD_RObjAddAnimAll ( HSD_RObj * robj,
HSD_RObjAnimJoint * anim )

◆ HSD_RObjGetConstraintType()

u32 HSD_RObjGetConstraintType ( HSD_RObj * robj)
static

◆ HSD_RObjGetGlobalPosition()

int HSD_RObjGetGlobalPosition ( HSD_RObj * robj,
int type,
Vec3 * p )

◆ set_dirup_matrix()

void set_dirup_matrix ( Vec3 * dir_ptr,
Vec3 * uv_ptr,
Vec3 * scale_ptr,
void * obj,
HSD_ObjUpdateFunc update_func )
static

◆ resolveCnsDirUp()

void resolveCnsDirUp ( HSD_RObj * robj,
void * obj,
HSD_ObjUpdateFunc update_func )
static

◆ jobj_parent()

HSD_JObj * jobj_parent ( HSD_JObj * jobj)
inlinestatic

◆ inlined_HSD_RObjGetByType()

HSD_RObj * inlined_HSD_RObjGetByType ( HSD_RObj * robj,
u32 type,
u32 subtype )
inlinestatic

◆ HSD_MtxColMagFloat()

f32 HSD_MtxColMagFloat ( MtxPtr mtx,
int col )
inline

◆ resolveCnsOrientation()

void resolveCnsOrientation ( HSD_RObj * robj,
void * obj,
void(* update_func )(void *, int, HSD_ObjData *) )
static

◆ resolveLimits()

void resolveLimits ( HSD_RObj * robj,
void * obj,
HSD_ObjUpdateFunc update_func )
static

◆ expEvaluate()

void expEvaluate ( HSD_Exp * exp,
u32 type,
void * obj,
HSD_ObjUpdateFunc update_func )
static

<

Todo
should HSD_ObjData be 4 bytes larger?

◆ HSD_RObjUpdateAll()

void HSD_RObjUpdateAll ( HSD_RObj * robj,
void * obj,
HSD_ObjUpdateFunc update_func )

◆ HSD_RObjResolveRefs()

void HSD_RObjResolveRefs ( HSD_RObj * robj,
HSD_RObjDesc * desc )

◆ HSD_RObjResolveRefsAll()

void HSD_RObjResolveRefsAll ( HSD_RObj * robj,
HSD_RObjDesc * desc )

◆ bcexpLoadDesc()

void bcexpLoadDesc ( HSD_Exp * exp,
HSD_ByteCodeExpDesc * desc )
static

◆ expLoadDesc()

void expLoadDesc ( HSD_Exp * exp,
HSD_ExpDesc * desc )
static

◆ HSD_RObjLoadDesc()

HSD_RObj * HSD_RObjLoadDesc ( HSD_RObjDesc * robjdesc)

◆ HSD_RObjRemove()

void HSD_RObjRemove ( HSD_RObj * robj)

◆ HSD_RObjRemoveAll()

void HSD_RObjRemoveAll ( HSD_RObj * robj)

◆ HSD_RObjAlloc()

HSD_RObj * HSD_RObjAlloc ( void )

◆ HSD_RObjFree()

void HSD_RObjFree ( HSD_RObj * robj)

◆ HSD_ByteCodeEval()

float HSD_ByteCodeEval ( u8 * bytecode,
f32 * args,
s32 nb_args )
extern

◆ dummy_func()

f32 dummy_func ( void * unused)
static

◆ HSD_RvalueAlloc()

HSD_Rvalue * HSD_RvalueAlloc ( void )

◆ HSD_RvalueRemove()

void HSD_RvalueRemove ( HSD_Rvalue * rvalue)

◆ HSD_RvalueRemoveAll()

void HSD_RvalueRemoveAll ( HSD_Rvalue * rvalue)

◆ loadRvalue()

HSD_Rvalue * loadRvalue ( HSD_RvalueList * list)
static

◆ HSD_RvalueResolveRefs()

void HSD_RvalueResolveRefs ( HSD_Rvalue * rvalue,
HSD_RvalueList * list )

◆ HSD_RvalueResolveRefsAll()

void HSD_RvalueResolveRefsAll ( HSD_Rvalue * rvalue,
HSD_RvalueList * list )

◆ HSD_RObjSetConstraintObj()

void HSD_RObjSetConstraintObj ( HSD_RObj * robj,
void * o )

◆ _HSD_RObjForgetMemory()

void _HSD_RObjForgetMemory ( void * low,
void * high )

Variable Documentation

◆ robj_alloc_data

HSD_ObjAllocData robj_alloc_data

◆ rvalue_alloc_data

HSD_ObjAllocData rvalue_alloc_data

◆ arg_buf

float* arg_buf
static

◆ arg_buf_size

u32 arg_buf_size
static

◆ HSD_RObj_80406E74

int HSD_RObj_80406E74[3] = { 0x32, 0x33, 0x34 }
static

◆ HSD_RObj_80406F14

char HSD_RObj_80406F14[] = "(ptr && nitems) || !ptr"
static