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 <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;
84typedef struct HSD_Spline HSD_Spline;
85typedef struct HSD_TExpDag HSD_TExpDag;
86typedef struct HSD_TExpRes HSD_TExpRes;
87typedef struct HSD_Text HSD_Text;
88typedef struct HSD_TObj HSD_TObj;
89typedef struct HSD_ViewingRect HSD_ViewingRect;
90typedef struct HSD_VtxDescList HSD_VtxDescList;
91typedef struct HSD_WObj HSD_WObj;
92typedef struct HSD_WObjAnim HSD_WObjAnim;
93typedef struct HSD_WObjDesc HSD_WObjDesc;
94typedef struct HSD_WObjInfo HSD_WObjInfo;
95typedef struct PadLibData PadLibData;
96typedef struct RumbleCommand RumbleCommand;
97typedef struct RumbleInfo RumbleInfo;
100typedef struct TextKerning TextKerning;
101typedef union HSD_CObjDesc HSD_CObjDesc;
102typedef union HSD_ObjData HSD_ObjData;
103typedef union HSD_Rumble HSD_Rumble;
104typedef union HSD_TExp HSD_TExp;
105
106typedef void (*GObj_RenderFunc)(HSD_GObj* gobj, int code);
107typedef void (*HSD_ObjUpdateFunc)(void* obj, enum_t type, HSD_ObjData* fval);
108typedef void (*HSD_DevComCallback)(void*, int, void*, bool cancelflag);
109typedef void (*HSD_GObjEvent)(HSD_GObj* gobj);
110typedef void (*HSD_UserDataEvent)(void* user_data);
112typedef void (*HSD_GObjInteraction)(HSD_GObj* gobj0, HSD_GObj* gobj1);
113typedef void (*HSD_MObjSetupFunc)(HSD_MObj* mobj, u32 rendermode);
114
115#define HSD_A_S_W0 2
116#define HSD_DEFAULT_MAX_SHAPE_VERTICES 2000
117#define HSD_DEFAULT_MAX_SHAPE_NORMALS 2000
118
119#define POBJ_ANIM (1 << 3)
120#define POBJ_SKIN (0 << 12)
121#define POBJ_SHAPEANIM (1 << 12)
122#define POBJ_ENVELOPE (2 << 12)
123
124#define pobj_type(o) (o->flags & 0x3000)
125
126#define POBJ_CULLFRONT (1 << 14)
127#define POBJ_CULLBACK (1 << 15)
128
129#define SHAPESET_AVERAGE 1
130#define SHAPESET_ADDITIVE 1 << 1
131
141
148
149#define HSD_A_L_LITC_R 9
150#define HSD_A_L_LITC_G 10
151#define HSD_A_L_LITC_B 11
152#define HSD_A_L_VIS 12
153#define HSD_A_L_A0 13
154#define HSD_A_L_A1 14
155#define HSD_A_L_A2 15
156#define HSD_A_L_K0 16
157#define HSD_A_L_K1 17
158#define HSD_A_L_K2 18
159#define HSD_A_L_CUTOFF 19
160#define HSD_A_L_REFDIST 20
161#define HSD_A_L_REFBRIGHT 21
162#define HSD_A_L_LITC_A 22
163
164#define LOBJ_AMBIENT (0 << 0)
165#define LOBJ_INFINITE (1 << 0)
166#define LOBJ_POINT (2 << 0)
167#define LOBJ_SPOT (3 << 0)
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 3
177
178#define LOBJ_LIGHT_ATTN_NONE 0
179#define LOBJ_LIGHT_ATTN 1
180
181#endif
int enum_t
The underlying type of an enum, used as a placeholder.
Definition platform.h:9
void * obj
Definition pobj.c:43
int bool
A signed integer used to contain boolean values.
Definition stdbool.h:8
Definition gobj.h:49
Definition aobj.h:51
Definition aobj.h:41
Definition aobj.h:58
Definition archive.h:29
Definition archive.h:10
Definition archive.h:24
Definition archive.h:20
Definition archive.h:34
Definition robj.h:55
Definition cobj.h:134
Definition cobj.h:39
Definition cobj.h:139
Definition cobj.h:78
Definition cobj.h:92
Definition cobj.h:110
Definition dobj.h:26
Definition dobj.h:33
Definition dobj.h:17
Definition devcom.h:13
Definition pobj.h:70
Definition pobj.h:64
Definition robj.h:50
Definition robj.h:40
Definition fobj.h:33
Definition fog.h:31
Definition fog.h:41
Definition fog.h:13
Definition fog.h:45
Definition fog.h:37
Definition fog.h:21
Definition gobjproc.h:8
was using this to try and fix some matches, unsuccessfully
Definition gobj.h:26
Definition psstructs.h:258
Definition hash.h:12
Definition hash.h:28
Definition robj.h:35
Definition robj.h:30
Definition tobj.h:205
Definition jobj.h:107
Definition jobj.h:130
Definition lobj.h:104
Definition lobj.h:57
Definition lobj.h:97
Definition lobj.h:48
Definition lobj.h:80
Definition lobj.h:26
Definition lobj.h:18
Definition lobj.h:40
Definition lobj.h:32
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:40
Definition pobj.h:113
Definition pobj.h:24
Definition controller.h:22
Definition rumble.h:34
Definition controller.h:26
Definition psstructs.h:117
Definition robj.h:85
Definition robj.h:72
Definition robj.h:60
Definition rumble.h:10
Definition robj.h:25
Definition robj.h:19
Definition axdriver.h:21
Definition sobjlib.h:11
Definition shadow.h:16
Definition dobj.h:39
Definition pobj.h:107
Definition pobj.h:102
Definition pobj.h:91
Definition pobj.h:75
Definition spline.h:11
Definition texpdag.h:11
Definition texp.h:84
Definition tobj.h:134
Definition sislib.h:37
Definition shadow.h:29
Definition pobj.h:54
Definition wobj.h:33
Definition wobj.h:22
Definition wobj.h:28
Definition wobj.h:14
Definition psstructs.h:88
Definition controller.h:53
Definition rumble.h:18
Definition rumble.h:28
Definition sislib.h:20
Definition sislib.h:87
Definition sislib.h:31
void(* HSD_DevComCallback)(void *, int, void *, bool cancelflag)
Definition forward.h:108
void(* HSD_GObjInteraction)(HSD_GObj *gobj0, HSD_GObj *gobj1)
Definition forward.h:112
void(* HSD_GObjEvent)(HSD_GObj *gobj)
Definition forward.h:109
void(* HSD_MObjSetupFunc)(HSD_MObj *mobj, u32 rendermode)
Definition forward.h:113
void(* HSD_ObjUpdateFunc)(void *obj, enum_t type, HSD_ObjData *fval)
Definition forward.h:107
PObjSetupFlag
Definition forward.h:132
@ SETUP_HIGHLIGHT
Definition forward.h:135
@ SETUP_JOINT1
Definition forward.h:138
@ SETUP_REFLECTION
Definition forward.h:134
@ SETUP_JOINT0
Definition forward.h:137
@ SETUP_NORMAL
Definition forward.h:133
@ SETUP_NONE
Definition forward.h:139
@ SETUP_NORMAL_PROJECTION
Definition forward.h:136
HSD_TrspMask
Definition forward.h:142
@ HSD_TRSP_OPA
Definition forward.h:143
@ HSD_TRSP_XLU
Definition forward.h:144
@ HSD_TRSP_ALL
Definition forward.h:146
@ HSD_TRSP_TEXEDGE
Definition forward.h:145
bool(* HSD_GObjPredicate)(HSD_GObj *gobj)
Definition forward.h:111
void(* GObj_RenderFunc)(HSD_GObj *gobj, int code)
Definition forward.h:106
void(* HSD_UserDataEvent)(void *user_data)
Definition forward.h:110
Definition cobj.h:126
Definition fobj.h:65
Definition rumble.h:23
Definition texp.h:168
HSD_TExpType type
Definition texp.h:169