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 union HSD_CObjDesc HSD_CObjDesc;
100typedef union HSD_ObjData HSD_ObjData;
101typedef union HSD_Rumble HSD_Rumble;
102typedef union HSD_TExp HSD_TExp;
103
104#ifdef MUST_MATCH
105typedef u32 HSD_IDKey;
106#else
108#endif
109
110typedef void (*GObj_RenderFunc)(HSD_GObj* gobj, intptr_t code);
111typedef void (*HSD_ObjUpdateFunc)(void* obj, enum_t type, HSD_ObjData* fval);
112typedef void (*HSD_DevComCallback)(int, uintptr_t, void*, bool cancelflag);
113typedef void (*HSD_GObjEvent)(HSD_GObj* gobj);
114typedef void (*HSD_UserDataEvent)(void* user_data);
116typedef void (*HSD_GObjInteraction)(HSD_GObj* gobj0, HSD_GObj* gobj1);
117typedef void (*HSD_MObjSetupFunc)(HSD_MObj* mobj, u32 rendermode);
118
119#define HSD_A_S_W0 2
120#define HSD_DEFAULT_MAX_SHAPE_VERTICES 2000
121#define HSD_DEFAULT_MAX_SHAPE_NORMALS 2000
122
123#define POBJ_ANIM (1 << 3)
124#define POBJ_SKIN (0 << 12)
125#define POBJ_SHAPEANIM (1 << 12)
126#define POBJ_ENVELOPE (2 << 12)
127
128#define pobj_type(o) (o->flags & 0x3000)
129
130#define POBJ_CULLFRONT (1 << 14)
131#define POBJ_CULLBACK (1 << 15)
132
133#define SHAPESET_AVERAGE 1
134#define SHAPESET_ADDITIVE 1 << 1
135
145
152
153#define HSD_A_L_LITC_R 9
154#define HSD_A_L_LITC_G 10
155#define HSD_A_L_LITC_B 11
156#define HSD_A_L_VIS 12
157#define HSD_A_L_A0 13
158#define HSD_A_L_A1 14
159#define HSD_A_L_A2 15
160#define HSD_A_L_K0 16
161#define HSD_A_L_K1 17
162#define HSD_A_L_K2 18
163#define HSD_A_L_CUTOFF 19
164#define HSD_A_L_REFDIST 20
165#define HSD_A_L_REFBRIGHT 21
166#define HSD_A_L_LITC_A 22
167
168#define LOBJ_AMBIENT (0 << 0)
169#define LOBJ_INFINITE (1 << 0)
170#define LOBJ_POINT (2 << 0)
171#define LOBJ_SPOT (3 << 0)
172#define LOBJ_FLAGS_B1 (1 << 1)
173#define LOBJ_DIFFUSE (1 << 2)
174#define LOBJ_SPECULAR (1 << 3)
175#define LOBJ_ALPHA (1 << 4)
176#define LOBJ_HIDDEN (1 << 5)
177#define LOBJ_RAW_PARAM (1 << 6)
178#define LOBJ_DIFF_DIRTY (1 << 7)
179#define LOBJ_SPEC_DIRTY (1 << 8)
180
181#define LOBJ_TYPE_MASK (LOBJ_INFINITE | LOBJ_FLAGS_B1)
182
183#define LOBJ_LIGHT_ATTN_NONE 0
184#define LOBJ_LIGHT_ATTN 1
185
186#endif
unsigned int u32
Definition types.h:13
#define fval
int enum_t
The underlying type of an enum, used as a placeholder.
Definition platform.h:29
int bool
A signed integer used to contain boolean values.
Definition stdbool.h:6
__INTPTR_TYPE__ intptr_t
Definition stddef.h:12
__UINTPTR_TYPE__ uintptr_t
Definition stddef.h:13
Definition gobj.h:39
Definition aobj.h:52
Definition aobj.h:42
Definition aobj.h:63
Definition archive.h:32
Definition archive.h:12
Definition archive.h:27
Definition archive.h:23
Definition archive.h:37
Definition robj.h:56
Definition cobj.h:136
Definition cobj.h:39
Definition cobj.h:141
Definition cobj.h:78
Definition cobj.h:92
Definition cobj.h:110
Definition dobj.h:23
Definition dobj.h:30
Definition dobj.h:14
Definition devcom.c:9
Definition pobj.h:78
Definition pobj.h:72
Definition robj.h:51
Definition robj.h:41
Definition fobj.h:38
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:16
Definition psstructs.h:243
Definition hash.h:12
Definition hash.h:28
Definition robj.h:36
Definition robj.h:31
Definition tobj.h:210
Definition jobj.h:106
Definition jobj.h:129
Definition lobj.h:110
Definition lobj.h:57
Definition lobj.h:103
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:45
Definition pobj.h:121
Definition pobj.h:19
Definition controller.h:45
Definition rumble.h:33
Definition controller.h:49
Definition psstructs.h:129
Definition robj.h:88
Definition robj.h:73
Definition robj.h:61
Definition rumble.h:8
Definition robj.h:26
Definition robj.h:20
Definition axdriver.h:20
Definition sobjlib.h:27
Definition shadow.h:13
Definition dobj.h:36
Definition pobj.h:115
Definition pobj.h:110
Definition pobj.h:99
Definition pobj.h:83
Definition texpdag.h:10
Definition texp.h:84
Texture Object.
Definition tobj.h:134
Definition sislib.h:28
Definition shadow.h:26
Definition pobj.h:61
Definition wobj.h:31
Definition wobj.h:20
Definition wobj.h:26
Definition wobj.h:12
Definition psstructs.h:91
Definition controller.h:76
One command of a rumble script.
Definition rumble.h:17
Definition rumble.h:27
Definition sislib.h:14
Definition sislib.h:77
void(* HSD_GObjInteraction)(HSD_GObj *gobj0, HSD_GObj *gobj1)
Definition forward.h:116
void(* HSD_GObjEvent)(HSD_GObj *gobj)
Definition forward.h:113
void(* HSD_MObjSetupFunc)(HSD_MObj *mobj, u32 rendermode)
Definition forward.h:117
void(* HSD_ObjUpdateFunc)(void *obj, enum_t type, HSD_ObjData *fval)
Definition forward.h:111
void(* GObj_RenderFunc)(HSD_GObj *gobj, intptr_t code)
Definition forward.h:110
PObjSetupFlag
Definition forward.h:136
@ SETUP_HIGHLIGHT
Definition forward.h:139
@ SETUP_JOINT1
Definition forward.h:142
@ SETUP_REFLECTION
Definition forward.h:138
@ SETUP_JOINT0
Definition forward.h:141
@ SETUP_NORMAL
Definition forward.h:137
@ SETUP_NONE
Definition forward.h:143
@ SETUP_NORMAL_PROJECTION
Definition forward.h:140
HSD_TrspMask
Definition forward.h:146
@ HSD_TRSP_OPA
Definition forward.h:147
@ HSD_TRSP_XLU
Definition forward.h:148
@ HSD_TRSP_ALL
Definition forward.h:150
@ HSD_TRSP_TEXEDGE
Definition forward.h:149
void(* HSD_DevComCallback)(int, uintptr_t, void *, bool cancelflag)
Definition forward.h:112
bool(* HSD_GObjPredicate)(HSD_GObj *gobj)
Definition forward.h:115
uintptr_t HSD_IDKey
Definition forward.h:107
void(* HSD_UserDataEvent)(void *user_data)
Definition forward.h:114
Definition cobj.h:126
Definition fobj.h:70
Definition rumble.h:22
Definition texp.h:168
HSD_TExpType type
Definition texp.h:169