SSBM Decomp
Loading...
Searching...
No Matches
dobj.h
Go to the documentation of this file.
1#ifndef SYSDOLPHIN_BASELIB_DOBJ_H
2#define SYSDOLPHIN_BASELIB_DOBJ_H
3
4#include <platform.h>
5
6#include "baselib/class.h"
7#include "baselib/fobj.h"
8
9#include "baselib/forward.h" // IWYU pragma: export
10
11#include "baselib/mobj.h"
12
13#include <dolphin/mtx.h>
14
15#define DOBJ_HIDDEN 0x1
16
17struct HSD_DObj {
19 HSD_DObj* next; // 0x04
20 HSD_MObj* mobj; // 0x08
21 HSD_PObj* pobj; // 0x0C
22 HSD_AObj* aobj; // 0x10
23 u32 flags; // 0x14
24};
25
32
35 void (*disp)(HSD_DObj* dobj, Mtx vmtx, Mtx pmtx, u32 rendermode); // 0x3C
36 int (*load)(HSD_DObj* dobj, HSD_DObjDesc* desc); // 0x40
37};
38
43
44#define HSD_DOBJ(o) ((HSD_DObj*) (o))
45#define HSD_DOBJ_INFO(i) ((HSD_DObjInfo*) (i))
46#define HSD_DOBJ_METHOD(o) HSD_DOBJ_INFO(HSD_CLASS_METHOD(o))
47
49u32 HSD_DObjGetFlags(HSD_DObj* dobj);
50void HSD_DObjSetFlags(HSD_DObj* dobj, u32 flags);
51void HSD_DObjClearFlags(HSD_DObj* dobj, u32 flags);
52void HSD_DObjModifyFlags(HSD_DObj* dobj, u32 flags, u32 mask);
53void HSD_DObjRemoveAnimByFlags(HSD_DObj* dobj, u32 flags);
54void HSD_DObjRemoveAnimAllByFlags(HSD_DObj* dobj, u32 flags);
55void HSD_DObjAddAnim(HSD_DObj* dobj, HSD_MatAnim* mat_anim,
56 HSD_ShapeAnimDObj* sh_anim);
57void HSD_DObjAddAnimAll(HSD_DObj* dobj, HSD_MatAnim* matanim,
58 HSD_ShapeAnimDObj* shapeanimdobj);
59void HSD_DObjReqAnimByFlags(HSD_DObj* dobj, f32 startframe, u32 flags);
60void HSD_DObjReqAnimAllByFlags(HSD_DObj* dobj, f32 startframe, u32 flags);
61void HSD_DObjReqAnimAll(HSD_DObj* dobj, f32 startframe);
62void HSD_DObjAnim(HSD_DObj* dobj);
63void HSD_DObjAnimAll(HSD_DObj* dobj);
65void HSD_DObjRemoveAll(HSD_DObj* dobj);
69void HSD_DObjDisp(HSD_DObj* dobj, Mtx vmtx, Mtx pmtx, u32 rendermode);
70
71void HSD_DObjRemove(HSD_DObj* dobj);
73void forceStringAllocation(HSD_DObj* dobj, HSD_MObj* mobj);
74
75#endif
void HSD_DObjRemoveAll(HSD_DObj *dobj)
Definition dobj.c:236
HSD_DObj * HSD_DObjLoadDesc(HSD_DObjDesc *desc)
Definition dobj.c:207
void HSD_DObjReqAnimAll(HSD_DObj *dobj, f32 startframe)
Definition dobj.c:143
HSD_DObj * HSD_DObjAlloc(void)
Definition dobj.c:259
void HSD_DObjReqAnimByFlags(HSD_DObj *dobj, f32 startframe, u32 flags)
Definition dobj.c:120
void HSD_DObjAnimAll(HSD_DObj *dobj)
Definition dobj.c:166
void HSD_DObjDisp(HSD_DObj *dobj, Mtx vmtx, Mtx pmtx, u32 rendermode)
Definition dobj.c:304
u32 HSD_DObjGetFlags(HSD_DObj *dobj)
Definition dobj.c:25
void HSD_DObjClearFlags(HSD_DObj *dobj, u32 flags)
Definition dobj.c:40
void HSD_DObjSetFlags(HSD_DObj *dobj, u32 flags)
Definition dobj.c:33
void HSD_DObjRemoveAnimAllByFlags(HSD_DObj *dobj, u32 flags)
Definition dobj.c:70
void HSD_DObjRemoveAnimByFlags(HSD_DObj *dobj, u32 flags)
Definition dobj.c:56
void HSD_DObjAddAnim(HSD_DObj *dobj, HSD_MatAnim *mat_anim, HSD_ShapeAnimDObj *sh_anim)
Definition dobj.c:83
void HSD_DObjAnim(HSD_DObj *dobj)
Definition dobj.c:156
void HSD_DObjSetDefaultClass(HSD_ClassInfo *info)
Definition dobj.c:246
void HSD_DObjResolveRefs(HSD_DObj *dobj, HSD_DObjDesc *desc)
Definition dobj.c:269
void HSD_DObjModifyFlags(HSD_DObj *dobj, u32 flags, u32 mask)
Definition dobj.c:47
void HSD_DObjReqAnimAllByFlags(HSD_DObj *dobj, f32 startframe, u32 flags)
Definition dobj.c:130
void HSD_DObjAddAnimAll(HSD_DObj *dobj, HSD_MatAnim *matanim, HSD_ShapeAnimDObj *shapeanimdobj)
Definition dobj.c:102
void HSD_DObjSetCurrent(HSD_DObj *dobj)
Definition dobj.c:20
void forceStringAllocation(HSD_DObj *dobj, HSD_MObj *mobj)
Definition dobj.c:285
void HSD_DObjResolveRefsAll(HSD_DObj *dobj, HSD_DObjDesc *desc)
Definition dobj.c:277
void HSD_DObjRemove(HSD_DObj *dobj)
Definition dobj.c:231
int mask
Definition state.c:133
Definition aobj.h:41
Definition class.h:32
Definition class.h:14
Definition dobj.h:26
char * class_name
Definition dobj.h:27
HSD_MObjDesc * mobjdesc
Definition dobj.h:29
HSD_DObjDesc * next
Definition dobj.h:28
HSD_PObjDesc * pobjdesc
Definition dobj.h:30
Definition dobj.h:33
void(* disp)(HSD_DObj *dobj, Mtx vmtx, Mtx pmtx, u32 rendermode)
Definition dobj.h:35
HSD_ClassInfo parent
Definition dobj.h:34
int(* load)(HSD_DObj *dobj, HSD_DObjDesc *desc)
Definition dobj.h:36
Definition dobj.h:17
u32 flags
Definition dobj.h:23
HSD_Class parent
Definition dobj.h:18
HSD_MObj * mobj
Definition dobj.h:20
HSD_DObj * next
Definition dobj.h:19
HSD_PObj * pobj
Definition dobj.h:21
HSD_AObj * aobj
Definition dobj.h:22
Definition mobj.h:107
Definition mobj.h:73
Definition mobj.h:131
Definition pobj.h:40
Definition pobj.h:24
Definition dobj.h:39
HSD_ShapeAnimDObj * next
Definition dobj.h:40
HSD_ShapeAnim * shapeanim
Definition dobj.h:41
Definition pobj.h:102