1#ifndef SYSDOLPHIN_BASELIB_LOBJ_H
2#define SYSDOLPHIN_BASELIB_LOBJ_H
115#define HSD_LOBJ(o) ((HSD_LObj*) (o))
116#define HSD_LOBJ_INFO(i) ((HSD_LObjInfo*) (i))
117#define HSD_LOBJ_METHOD(o) HSD_LOBJ_INFO(HSD_OBJECT_METHOD((o)))
GXLightID
Definition GXEnum.h:438
Annotations describing how archive data is laid out, for the parts a C declaration cannot express: ho...
static HSD_WObjDesc interest
Definition if_2FF2.c:25
f32 Mtx[3][4]
Definition mtx.h:50
signed int s32
Definition types.h:12
unsigned int u32
Definition types.h:13
float f32
Definition types.h:18
unsigned short int u16
Definition types.h:7
unsigned char u8
Definition types.h:5
void HSD_LObjGetColor(HSD_LObj *lobj, GXColor *color)
Definition lobj.c:800
void HSD_LObjSetAttn(HSD_LObj *lobj, f32 a0, f32 a1, f32 a2, f32 k0, f32 k1, f32 k2)
Definition lobj.c:845
void HSD_LObj_803668EC(HSD_LObj *lobj)
Definition lobj.c:696
void HSD_LObjSetColor(HSD_LObj *lobj, GXColor color)
Definition lobj.c:795
static u8 HSD_LObjGetPriority(HSD_LObj *lobj)
Definition lobj.h:119
void LObjUpdateFunc(void *obj, enum_t type, HSD_ObjData *val)
Definition lobj.c:128
void HSD_LObjAnim(HSD_LObj *lobj)
Definition lobj.c:198
void HSD_LObjClearFlags(HSD_LObj *lobj, u32 flags)
Definition lobj.c:44
void HSD_LObjSetCurrentAll(HSD_LObj *lobj)
Definition lobj.c:671
void HSD_LObjReqAnimAll(HSD_LObj *lobj, f32 startframe)
Definition lobj.c:231
void HSD_LObjDeleteCurrentAll(HSD_LObj *lobj)
Definition lobj.c:659
void HSD_LObjSetDistAttn(HSD_LObj *lobj, f32 ref_dist, f32 ref_br, s32 dist_func)
Definition lobj.c:813
void HSD_LObjSetSpot(HSD_LObj *lobj, f32 cutoff, s32 point_func)
Definition lobj.c:805
static void HSD_LObjSetNext(HSD_LObj *lobj, HSD_LObj *next)
Definition lobj.h:200
void HSD_LObjSetPosition(HSD_LObj *lobj, Vec3 *position)
Definition lobj.c:854
s32 HSD_LObjGetLightMaskSpecular(void)
Definition lobj.c:67
void HSD_LObjSetFlags(HSD_LObj *lobj, u32 flags)
Definition lobj.c:36
void HSD_LObjAddAnim(HSD_LObj *lobj, HSD_LightAnim *lanim)
Definition lobj.c:1017
void HSD_LObjSetPositionWObj(HSD_LObj *lobj, HSD_WObj *wobj)
Definition lobj.c:928
HSD_LObj * HSD_LObjGetActiveByIndex(s32 idx)
Definition lobj.c:108
s32 HSD_LObjGetNbActive(void)
Definition lobj.c:93
HSD_WObj * HSD_LObjGetPositionWObj(HSD_LObj *lobj)
Definition lobj.c:912
u32 HSD_LObjGetFlags(HSD_LObj *lobj)
Definition lobj.c:31
void HSD_LObjRemoveAll(HSD_LObj *lobj)
Definition lobj.c:781
void HSD_LObjSetInterest(HSD_LObj *lobj, Vec3 *interest)
Definition lobj.c:873
void HSD_LObjDeleteCurrent(HSD_LObj *lobj)
Definition lobj.c:626
void HSD_LObjReqAnim(HSD_LObj *lobj, f32 startframe)
Definition lobj.c:220
void HSD_LObjSetDefaultClass(HSD_LObjInfo *info)
Definition lobj.c:892
void HSD_LObjClearActive(void)
Definition lobj.c:117
void HSD_LObjSetAttnA(HSD_LObj *lobj, f32 a0, f32 a1, f32 a2)
Definition lobj.c:823
bool HSD_LObjGetPosition(HSD_LObj *, Vec3 *)
Definition lobj.c:864
HSD_LObjInfo * HSD_LObjGetDefaultClass(void)
Definition lobj.c:900
void HSD_LObjUnrefThis(HSD_LObj *lobj)
Definition lobj.c:619
HSD_LObj * HSD_LObjLoadDesc(HSD_LightDesc *ldesc)
Definition lobj.c:994
u32 HSD_LightID2Index(GXLightID)
Definition lobj.c:717
void HSD_LObjSetInterestWObj(HSD_LObj *lobj, HSD_WObj *wobj)
Definition lobj.c:938
void HSD_LObjSetAttnK(HSD_LObj *lobj, f32 k0, f32 k1, f32 k2)
Definition lobj.c:834
GXLightID HSD_LObjGetLightMaskDiffuse(void)
Definition lobj.c:52
void HSD_LObjAddCurrent(HSD_LObj *lobj)
Definition lobj.c:595
static HSD_LObj * HSD_LObjGetNext(HSD_LObj *lobj)
Definition lobj.h:191
void HSD_LObjSetupInit(HSD_CObj *arg0)
Definition lobj.c:476
u32 HSD_LObjGetType(HSD_LObj *lobj)
Definition lobj.c:72
HSD_LObj * HSD_LObjGetCurrentByType(u16 type)
Definition lobj.c:703
HSD_LObj * HSD_LObjGetActiveByID(GXLightID id)
Definition lobj.c:98
s32 HSD_LObjGetLightMaskAlpha(void)
Definition lobj.c:62
s32 HSD_Index2LightID(u32)
Definition lobj.c:755
void HSD_LObjGetLightVector(HSD_LObj *lobj, Vec3 *dir)
Definition lobj.c:247
s32 HSD_LObjGetLightMaskAttnFunc(void)
Definition lobj.c:57
bool HSD_LObjGetInterest(HSD_LObj *, Vec3 *)
Definition lobj.c:883
void HSD_LObjAddAnimAll(HSD_LObj *lobj, HSD_LightAnim *lanim)
Definition lobj.c:1033
void HSD_LObjAnimAll(HSD_LObj *lobj)
Definition lobj.c:207
void HSD_LObjSetup(HSD_LObj *lobj, GXColor color, f32 shininess)
Definition lobj.c:262
void HSD_LObjSetActive(HSD_LObj *lobj)
Definition lobj.c:77
HSD_LObj * HSD_LObjAlloc(void)
Definition lobj.c:905
HSD_WObj * HSD_LObjGetInterestWObj(HSD_LObj *lobj)
Definition lobj.c:920
void HSD_LObjSetupSpecularInit(Mtx pmtx)
Definition lobj.c:301
#define HSD_ASSERT(line, cond)
Definition mnvibration.c:6
static u32 next
Definition rand.c:4
#define NULL
Definition stddef.h:19
HSD_ObjInfo parent
Definition lobj.h:111
int(* load)(HSD_LObj *lobj, HSD_LightDesc *ldesc)
Definition lobj.h:112
u16 priority
Definition lobj.h:60
u16 flags
Definition lobj.h:59
GXColor color
Definition lobj.h:62
union HSD_LObj::HSD_LObj_u u
HSD_WObj * interest
Definition lobj.h:65
HSD_Obj parent
Definition lobj.h:58
HSD_WObj * position
Definition lobj.h:64
GXLightID id
Definition lobj.h:74
Vec3 lvec
Definition lobj.h:72
HSD_LObj * next
Definition lobj.h:61
GXLightObj spec_lightobj
Definition lobj.h:77
HSD_AObj * aobj
Definition lobj.h:73
GXColor hw_color
Definition lobj.h:63
GXLightObj lightobj
Definition lobj.h:75
GXLightID spec_id
Definition lobj.h:76
f32 shininess
Definition lobj.h:71
HSD_AObjDesc * aobjdesc
Definition lobj.h:105
HSD_LightAnim * next
Definition lobj.h:104
HSD_WObjAnim * position_anim
Definition lobj.h:106
HSD_WObjAnim * interest_anim
Definition lobj.h:107
f32 a0
Definition lobj.h:49
f32 k2
Definition lobj.h:54
f32 k1
Definition lobj.h:53
f32 a2
Definition lobj.h:51
f32 k0
Definition lobj.h:52
f32 a1
Definition lobj.h:50
HSD_WObjDesc * position
Definition lobj.h:86
u16 flags
Definition lobj.h:83
HSD_WObjDesc * interest
Definition lobj.h:87
GXColor color
Definition lobj.h:85
u16 attnflags
Definition lobj.h:84
union HSD_LightDesc::HSD_LightDesc_u u
char * class_name
Definition lobj.h:81
HSD_LightDesc * next
Definition lobj.h:82
f32 ref_br
Definition lobj.h:27
u32 dist_func
Definition lobj.h:29
f32 ref_dist
Definition lobj.h:28
f32 cutoff
Definition lobj.h:19
f32 ref_dist
Definition lobj.h:22
u32 point_func
Definition lobj.h:20
f32 ref_br
Definition lobj.h:21
u32 dist_func
Definition lobj.h:23
u32 spot_func
Definition lobj.h:42
f32 ref_br
Definition lobj.h:43
f32 ref_dist
Definition lobj.h:44
u32 dist_func
Definition lobj.h:45
f32 cutoff
Definition lobj.h:41
u32 spot_func
Definition lobj.h:34
f32 ref_br
Definition lobj.h:35
f32 ref_dist
Definition lobj.h:36
u32 dist_func
Definition lobj.h:37
f32 cutoff
Definition lobj.h:33
#define LOBJ_POINT
Definition forward.h:170
#define LOBJ_TYPE_MASK
Definition forward.h:181
#define LOBJ_INFINITE
Definition forward.h:169
#define LOBJ_SPOT
Definition forward.h:171
#define LOBJ_LIGHT_ATTN
Definition forward.h:184
HSD_LightSpot spot
Definition lobj.h:68
HSD_LightAttn attn
Definition lobj.h:69
HSD_LightPoint point
Definition lobj.h:67
HSD_LightPointDesc *point DAT_IF((flags &LOBJ_TYPE_MASK)==LOBJ_POINT &&!(attnflags &LOBJ_LIGHT_ATTN))
f32 *shininess DAT_IF((flags &LOBJ_TYPE_MASK)==LOBJ_INFINITE)
HSD_LightSpotDesc *spot DAT_IF((flags &LOBJ_TYPE_MASK)==LOBJ_SPOT &&attnflags==0)
HSD_LightAttn *attn DAT_IF(((flags &LOBJ_TYPE_MASK)==LOBJ_POINT &&(attnflags &LOBJ_LIGHT_ATTN))||((flags &LOBJ_TYPE_MASK)==LOBJ_SPOT &&attnflags !=0))