SSBM Decomp
Loading...
Searching...
No Matches
forward.h
Go to the documentation of this file.
1#ifndef SYSDOLPHIN_BASELIB_FORWARD_H
2#define SYSDOLPHIN_BASELIB_FORWARD_H
3
4#include <Runtime/platform.h>
5
6typedef struct GObjFuncs GObjFuncs;
7typedef struct HSD_AnimJoint HSD_AnimJoint;
8typedef struct HSD_AObj HSD_AObj;
9typedef struct HSD_AObjDesc HSD_AObjDesc;
10typedef struct HSD_Archive HSD_Archive;
16typedef struct HSD_CameraAnim HSD_CameraAnim;
20typedef struct HSD_CObj HSD_CObj;
21typedef struct HSD_CObjInfo HSD_CObjInfo;
22typedef struct HSD_DevCom HSD_DevCom;
23typedef struct HSD_DObj HSD_DObj;
24typedef struct HSD_DObjDesc HSD_DObjDesc;
25typedef struct HSD_DObjInfo HSD_DObjInfo;
26typedef struct HSD_Envelope HSD_Envelope;
28typedef struct HSD_Exp HSD_Exp;
29typedef struct HSD_ExpDesc HSD_ExpDesc;
30typedef struct HSD_FObj HSD_FObj;
31typedef struct HSD_Fog HSD_Fog;
32typedef struct HSD_FogAdj HSD_FogAdj;
33typedef struct HSD_FogAdjDesc HSD_FogAdjDesc;
34typedef struct HSD_FogAdjInfo HSD_FogAdjInfo;
35typedef struct HSD_FogDesc HSD_FogDesc;
36typedef struct HSD_FogInfo HSD_FogInfo;
37typedef struct HSD_Generator HSD_Generator;
38typedef struct HSD_GObj HSD_GObj;
39typedef struct HSD_GObjProc HSD_GObjProc;
40typedef struct HSD_Hash HSD_Hash;
41typedef struct HSD_HashEntry HSD_HashEntry;
42typedef struct HSD_IKHint HSD_IKHint;
43typedef struct HSD_IKHintDesc HSD_IKHintDesc;
44typedef struct HSD_ImageDesc HSD_ImageDesc;
45typedef struct HSD_JObj HSD_JObj;
46typedef struct HSD_Joint HSD_Joint;
47typedef struct HSD_LightAnim HSD_LightAnim;
48typedef struct HSD_LightAttn HSD_LightAttn;
49typedef struct HSD_LightDesc HSD_LightDesc;
50typedef struct HSD_LightPoint HSD_LightPoint;
52typedef struct HSD_LightSpot HSD_LightSpot;
54typedef struct HSD_LObj HSD_LObj;
55typedef struct HSD_LObjInfo HSD_LObjInfo;
57typedef struct HSD_Material HSD_Material;
58typedef struct HSD_MObj HSD_MObj;
59typedef struct HSD_MObjInfo HSD_MObjInfo;
60typedef struct HSD_Obj HSD_Obj;
61typedef struct HSD_PadData HSD_PadData;
63typedef struct HSD_PadStatus HSD_PadStatus;
64typedef struct HSD_Particle HSD_Particle;
65typedef struct HSD_PEDesc HSD_PEDesc;
66typedef struct HSD_PObj HSD_PObj;
67typedef struct HSD_PObjDesc HSD_PObjDesc;
68typedef struct HSD_PObjInfo HSD_PObjInfo;
69typedef struct HSD_psAppSRT HSD_psAppSRT;
70typedef struct HSD_RObj HSD_RObj;
72typedef struct HSD_RObjDesc HSD_RObjDesc;
73typedef struct HSD_RumbleData HSD_RumbleData;
74typedef struct HSD_Rvalue HSD_Rvalue;
75typedef struct HSD_RvalueList HSD_RvalueList;
76typedef struct HSD_Shadow HSD_Shadow;
77typedef struct HSD_ShapeAnim HSD_ShapeAnim;
80typedef struct HSD_ShapeSet HSD_ShapeSet;
82typedef struct HSD_SM HSD_SM;
83typedef struct HSD_SObj HSD_SObj;
84typedef struct HSD_TExpDag HSD_TExpDag;
85typedef struct HSD_TExpRes HSD_TExpRes;
86typedef struct HSD_Text HSD_Text;
87typedef struct HSD_TObj HSD_TObj;
88typedef struct HSD_ViewingRect HSD_ViewingRect;
89typedef struct HSD_VtxDescList HSD_VtxDescList;
90typedef struct HSD_WObj HSD_WObj;
91typedef struct HSD_WObjAnim HSD_WObjAnim;
92typedef struct HSD_WObjDesc HSD_WObjDesc;
93typedef struct HSD_WObjInfo HSD_WObjInfo;
94typedef struct PadLibData PadLibData;
95typedef struct RumbleCommand RumbleCommand;
96typedef struct RumbleInfo RumbleInfo;
97typedef struct SisBlock SisBlock;
99typedef struct TextKerning TextKerning;
100typedef union HSD_CObjDesc HSD_CObjDesc;
101typedef union HSD_ObjData HSD_ObjData;
102typedef union HSD_Rumble HSD_Rumble;
103typedef union HSD_TExp HSD_TExp;
104
105typedef void (*GObj_RenderFunc)(HSD_GObj* gobj, int code);
107typedef void (*HSD_DevComCallback)(int, int, void*, bool cancelflag);
108typedef void (*HSD_GObjEvent)(HSD_GObj* gobj);
109typedef void (*HSD_UserDataEvent)(void* user_data);
111typedef void (*HSD_GObjInteraction)(HSD_GObj* gobj0, HSD_GObj* gobj1);
112typedef void (*HSD_MObjSetupFunc)(HSD_MObj* mobj, u32 rendermode);
113
114#define HSD_A_S_W0 2
115#define HSD_DEFAULT_MAX_SHAPE_VERTICES 2000
116#define HSD_DEFAULT_MAX_SHAPE_NORMALS 2000
117
118#define POBJ_ANIM (1 << 3)
119#define POBJ_SKIN (0 << 12)
120#define POBJ_SHAPEANIM (1 << 12)
121#define POBJ_ENVELOPE (2 << 12)
122
123#define pobj_type(o) (o->flags & 0x3000)
124
125#define POBJ_CULLFRONT (1 << 14)
126#define POBJ_CULLBACK (1 << 15)
127
128#define SHAPESET_AVERAGE 1
129#define SHAPESET_ADDITIVE 1 << 1
130
140
147
148#define HSD_A_L_LITC_R 9
149#define HSD_A_L_LITC_G 10
150#define HSD_A_L_LITC_B 11
151#define HSD_A_L_VIS 12
152#define HSD_A_L_A0 13
153#define HSD_A_L_A1 14
154#define HSD_A_L_A2 15
155#define HSD_A_L_K0 16
156#define HSD_A_L_K1 17
157#define HSD_A_L_K2 18
158#define HSD_A_L_CUTOFF 19
159#define HSD_A_L_REFDIST 20
160#define HSD_A_L_REFBRIGHT 21
161#define HSD_A_L_LITC_A 22
162
163#define LOBJ_AMBIENT (0 << 0)
164#define LOBJ_INFINITE (1 << 0)
165#define LOBJ_POINT (2 << 0)
166#define LOBJ_SPOT (3 << 0)
167#define LOBJ_FLAGS_B1 (1 << 1)
168#define LOBJ_DIFFUSE (1 << 2)
169#define LOBJ_SPECULAR (1 << 3)
170#define LOBJ_ALPHA (1 << 4)
171#define LOBJ_HIDDEN (1 << 5)
172#define LOBJ_RAW_PARAM (1 << 6)
173#define LOBJ_DIFF_DIRTY (1 << 7)
174#define LOBJ_SPEC_DIRTY (1 << 8)
175
176#define LOBJ_TYPE_MASK (LOBJ_INFINITE | LOBJ_FLAGS_B1)
177
178#define LOBJ_LIGHT_ATTN_NONE 0
179#define LOBJ_LIGHT_ATTN 1
180
181#endif
unsigned long u32
Definition types.h:9
HSD_GObj * gobj
Definition gm_19EF.c:73
#define fval
int enum_t
The underlying type of an enum, used as a placeholder.
Definition platform.h:28
void * obj
Definition pobj.c:38
int bool
A signed integer used to contain boolean values.
Definition stdbool.h:6
Definition gobj.h:36
Definition aobj.h:50
Definition aobj.h:40
Definition aobj.h:57
Definition archive.h:30
Definition archive.h:10
Definition archive.h:25
Definition archive.h:21
Definition archive.h:35
Definition robj.h:54
Definition cobj.h:133
Definition cobj.h:37
Definition cobj.h:138
Definition cobj.h:76
Definition cobj.h:90
Definition cobj.h:108
Definition dobj.h:23
Definition dobj.h:30
Definition dobj.h:14
Definition devcom.static.h:9
Definition pobj.h:68
Definition pobj.h:62
Definition robj.h:49
Definition robj.h:39
Definition fobj.h:32
Definition fog.h:30
Definition fog.h:40
Definition fog.h:12
Definition fog.h:44
Definition fog.h:36
Definition fog.h:20
Definition gobjproc.h:8
Definition gobj.h:13
Definition psstructs.h:243
Definition hash.h:12
Definition hash.h:28
Definition robj.h:34
Definition robj.h:29
Definition tobj.h:203
Definition jobj.h:104
Definition jobj.h:127
Definition lobj.h:102
Definition lobj.h:55
Definition lobj.h:95
Definition lobj.h:46
Definition lobj.h:78
Definition lobj.h:24
Definition lobj.h:16
Definition lobj.h:38
Definition lobj.h:30
Definition mobj.h:142
Definition mobj.h:71
Definition mobj.h:136
Definition mobj.h:82
Definition object.h:60
Definition mobj.h:90
Definition pobj.h:38
Definition pobj.h:111
Definition pobj.h:22
Definition controller.h:45
Definition rumble.h:32
Definition controller.h:49
Definition psstructs.h:129
Definition robj.h:84
Definition robj.h:71
Definition robj.h:59
Definition rumble.h:8
Definition robj.h:24
Definition robj.h:18
Definition axdriver.h:20
Definition sobjlib.h:27
Definition shadow.h:14
Definition dobj.h:36
Definition pobj.h:105
Definition pobj.h:100
Definition pobj.h:89
Definition pobj.h:73
Definition texpdag.h:12
Definition texp.h:84
Texture Object.
Definition tobj.h:132
Definition sislib.h:46
Definition shadow.h:27
Definition pobj.h:52
Definition wobj.h:31
Definition wobj.h:20
Definition wobj.h:26
Definition wobj.h:12
Definition psstructs.h:91
Definition controller.h:76
Definition rumble.h:16
Definition rumble.h:26
Definition sislib.h:30
Definition sislib.h:20
Definition sislib.h:95
void(* HSD_DevComCallback)(int, int, void *, bool cancelflag)
Definition forward.h:107
void(* HSD_GObjInteraction)(HSD_GObj *gobj0, HSD_GObj *gobj1)
Definition forward.h:111
void(* HSD_GObjEvent)(HSD_GObj *gobj)
Definition forward.h:108
void(* HSD_MObjSetupFunc)(HSD_MObj *mobj, u32 rendermode)
Definition forward.h:112
void(* HSD_ObjUpdateFunc)(void *obj, enum_t type, HSD_ObjData *fval)
Definition forward.h:106
PObjSetupFlag
Definition forward.h:131
@ SETUP_HIGHLIGHT
Definition forward.h:134
@ SETUP_JOINT1
Definition forward.h:137
@ SETUP_REFLECTION
Definition forward.h:133
@ SETUP_JOINT0
Definition forward.h:136
@ SETUP_NORMAL
Definition forward.h:132
@ SETUP_NONE
Definition forward.h:138
@ SETUP_NORMAL_PROJECTION
Definition forward.h:135
HSD_TrspMask
Definition forward.h:141
@ HSD_TRSP_OPA
Definition forward.h:142
@ HSD_TRSP_XLU
Definition forward.h:143
@ HSD_TRSP_ALL
Definition forward.h:145
@ HSD_TRSP_TEXEDGE
Definition forward.h:144
bool(* HSD_GObjPredicate)(HSD_GObj *gobj)
Definition forward.h:110
void(* GObj_RenderFunc)(HSD_GObj *gobj, int code)
Definition forward.h:105
void(* HSD_UserDataEvent)(void *user_data)
Definition forward.h:109
Definition cobj.h:124
Definition fobj.h:64
Definition rumble.h:21
Definition texp.h:168
HSD_TExpType type
Definition texp.h:169