Super Mario 64 Source
A Super Mario 64 decompilation, brought to you by a bunch of clever folks.
dynlist_proc.h
Go to the documentation of this file.
1 #ifndef GD_DYNLIST_PROCESSOR_H
2 #define GD_DYNLIST_PROCESSOR_H
3 
4 #include <ultra64.h>
5 #include "gd_types.h"
6 
7 // types
11 typedef void *DynId;
15 #define DynIdAsStr(id) ((char *)(id))
16 #define DynIdAsInt(id) ((u32)(id))
17 #define AsDynId(unk) ((DynId)(unk))
18 
22 enum DParmPtr {
25 };
26 
28 enum DParmF {
33 };
34 
36 enum DObjTypes {
38  D_NET = 1,
39  D_JOINT = 2,
41  D_CAMERA = 4,
42  D_VERTEX = 5,
43  D_FACE = 6,
44  D_PLANE = 7,
45  D_BONE = 8,
47  D_SHAPE = 10,
48  D_GADGET = 11,
49  D_LABEL = 12,
50  D_VIEW = 13,
51  D_ANIMATOR = 14,
52  D_DATA_GRP = 15,
53  D_PARTICLE = 16,
54  D_LIGHT = 17,
55  D_GROUP = 18
56 };
57 
58 // functions
59 extern void push_dynobj_stash(void);
60 extern void pop_dynobj_stash(void);
61 extern void reset_dynlist(void);
62 extern struct GdObj *proc_dynlist(struct DynList *dylist);
63 extern void d_copystr_to_idbuf(char *);
64 extern struct GdObj *d_makeobj(enum DObjTypes type, DynId id);
65 extern void d_set_shapeptrptr(struct ObjShape **);
66 extern struct GdObj *d_use_obj(DynId);
67 extern void set_cur_dynobj(); //set_cur_dynobj(struct GdObj *);
68 extern void d_start_group(DynId);
69 extern void d_end_group(DynId);
70 extern void dynid_is_int(s32);
71 extern void d_set_init_pos(f32, f32, f32);
72 extern void d_get_init_pos(struct GdVec3f*);
73 extern void d_get_init_rot(struct GdVec3f*);
74 extern void d_set_rel_pos(f32, f32, f32);
75 extern void d_get_rel_pos(struct GdVec3f*);
76 extern struct ObjGroup* d_get_att_objgroup(void);
77 extern void d_get_scale(struct GdVec3f*);
78 extern void d_set_world_pos(f32, f32, f32);
79 extern void d_get_world_pos(struct GdVec3f *);
80 extern void d_set_scale(f32, f32, f32);
81 extern void d_add_valptr(DynId, u32, s32, u32);
82 extern void d_add_valproc(union ObjVarVal * (*)(union ObjVarVal *, union ObjVarVal));
83 extern void d_set_flags(s32);
84 extern void d_set_parm_f(enum DParmF, f32);
85 extern void d_set_parm_ptr(enum DParmPtr, void *);
86 extern void d_set_obj_draw_flag(enum ObjDrawingFlags);
87 extern void d_set_type(s32);
88 extern void d_set_colour_num(s32);
89 extern void d_set_diffuse(f32, f32, f32);
90 extern struct GdPlaneF* d_get_plane(void);
91 extern void d_get_matrix(Mat4f*);
92 extern Mat4f* d_get_rot_mtx_ptr(void);
93 extern void d_set_idn_mtx(Mat4f*);
94 extern Mat4f* d_get_matrix_ptr(void);
95 extern Mat4f* d_get_idn_mtx_ptr(void);
96 extern f32 d_calc_world_dist_btwn(struct GdObj *, struct GdObj *);
97 
98 #endif /* GD_DYNLIST_PROCESSOR_H */
Definition: dynlist_proc.h:50
void d_set_rel_pos(f32, f32, f32)
Set the position of the current dynamic object.
Definition: dynlist_proc.c:1615
struct GdObj * d_use_obj(DynId)
Set the current active dynamic object to object id.
Definition: dynlist_proc.c:1336
Definition: gd_types.h:33
void d_set_init_pos(f32, f32, f32)
Set the initial position of the current dynamic object to (x, y, z).
Definition: dynlist_proc.c:1414
Definition: gd_types.h:12
Out of while attempting to print an unavailable message The error message file is inaccessible or has other problems Unknown Signal s An unknown signal has been caught Nested signals line but accepted as written The constant is too large to fit in a bit data type
Definition: err.english.cc:364
void d_set_shapeptrptr(struct ObjShape **)
Set the shape pointer of the current active dynamic object to the pointer pointed to by shpPtrptr...
Definition: dynlist_proc.c:1261
Definition: dynlist_proc.h:49
void d_set_parm_ptr(enum DParmPtr, void *)
Set various pointer parameters for the current dynamic object.
Definition: dynlist_proc.c:2534
void reset_dynlist(void)
Reset dynlist related variables to a starting state.
Definition: dynlist_proc.c:146
void d_set_parm_f(enum DParmF, f32)
Set variable float parameters on the current dynamic object.
Definition: dynlist_proc.c:2479
Definition: dynlist_proc.h:55
Set the left range for an ObjGadget
Definition: dynlist_proc.h:30
Definition: gd_types.h:251
void d_set_flags(s32)
Set the object specific flags of the current dynamic object.
Definition: dynlist_proc.c:2407
parameter is a char *
Definition: dynlist_proc.h:24
void d_set_world_pos(f32, f32, f32)
Set the world position of the current dynamic object.
Definition: dynlist_proc.c:1951
struct ObjGroup * d_get_att_objgroup(void)
Return a pointer to the attached object group of the current dynamic object.
Definition: dynlist_proc.c:1743
void d_end_group(DynId)
Add all dynamic objects created between the start of dynamic ObjGroup id and this call...
Definition: dynlist_proc.c:1368
Definition: dynlist_proc.h:44
Set the right range for an ObjGadget
Definition: dynlist_proc.h:31
DParmPtr
parameters types for d_set_parm_ptr()
Definition: dynlist_proc.h:22
void push_dynobj_stash(void)
Store the active dynamic GdObj into a one object stash.
Definition: dynlist_proc.c:130
void set_cur_dynobj()
void pop_dynobj_stash(void)
Set the stashed GdObj as the active dynamic GdObj.
Definition: dynlist_proc.c:138
Definition: gd_types.h:439
Definition: dynlist_proc.h:42
void d_get_rel_pos(struct GdVec3f *)
Store the current dynamic object&#39;s position into dst.
Definition: dynlist_proc.c:1708
float f32
Definition: ultratypes.h:29
void d_get_init_pos(struct GdVec3f *)
Get the initial position of the current dynamic object and store in dst.
Definition: dynlist_proc.c:1551
void d_get_scale(struct GdVec3f *)
Store the current dynamic object&#39;s scale into dst.
Definition: dynlist_proc.c:1785
Mat4f * d_get_rot_mtx_ptr(void)
Get a pointer to the current dynamic object&#39;s rotation matrix.
Definition: dynlist_proc.c:2909
void d_set_diffuse(f32, f32, f32)
Set the diffuse color of the current dynamic ObjMaterial or ObjLight.
Definition: dynlist_proc.c:2764
void dynid_is_int(s32)
Set if DynId should be treated as integer values, or as char * string pointers.
Definition: dynlist_proc.c:1406
f32 d_calc_world_dist_btwn(struct GdObj *, struct GdObj *)
Use the dynamic object system to calculate the distance between two GdObjs.
Definition: dynlist_proc.c:3008
void d_add_valptr(DynId, u32, s32, u32)
Create a new ObjValPtr to dynamic object objId and attach that valptr to the current dynamic object...
Definition: dynlist_proc.c:2259
struct GdPlaneF * d_get_plane(void)
Get a pointer to a GdPlaneF in the current dynamic object.
Definition: dynlist_proc.c:2807
The base of structure of all of Goddard&#39;s objects.
Definition: gd_types.h:87
Definition: dynlist_proc.h:40
void d_add_valproc(union ObjVarVal *(*)(union ObjVarVal *, union ObjVarVal))
Definition: dynlist_proc.h:39
void d_set_type(s32)
Set an object specific type field for the current dynamic object.
Definition: dynlist_proc.c:2589
Definition: dynlist_proc.h:53
parameter is an ObjVertex to add to an ObjFace
Definition: dynlist_proc.h:23
Definition: dynlist_proc.h:47
void d_set_obj_draw_flag(enum ObjDrawingFlags)
Set the generic drawing flags for the current dynamic object.
Definition: dynlist_proc.c:2579
void d_copystr_to_idbuf(char *)
Copy input str into a buffer that will be concatenated to a dynamic GdObj&#39;s name string when creating...
Definition: dynlist_proc.c:346
struct GdObj * d_makeobj(enum DObjTypes type, DynId id)
Create a new GdObj of type and add that object to the dynamic object list with id.
Definition: dynlist_proc.c:602
Definition: dynlist_proc.h:43
void d_set_colour_num(s32)
Set the colour of the current dynamic object.
Definition: dynlist_proc.c:2653
Set the float variable value union in an ObjGadget
Definition: dynlist_proc.h:32
void * DynId
Definition: dynlist_proc.h:11
This is test documentation comment for ObjGroup.
Definition: gd_types.h:124
Definition: dynlist_proc.h:46
Definition: gd_types.h:7
void d_set_idn_mtx(Mat4f *)
Copy src into the identity matrix of the current dynamic object.
Definition: dynlist_proc.c:2928
ObjDrawingFlags
Flags for the drawFlags field of an GdObj.
Definition: gd_types.h:73
Definition: dynlist_proc.h:41
Definition: dynlist_proc.h:54
DObjTypes
d_makeobj() object types
Definition: dynlist_proc.h:36
Mat4f * d_get_matrix_ptr(void)
Get a pointer to the current dynamic object&#39;s matrix.
Definition: dynlist_proc.c:2956
Mat4f * d_get_idn_mtx_ptr(void)
Get a pointer to the current dynamic object&#39;s identity matrix.
Definition: dynlist_proc.c:2983
Set the alpha value for an ObjShape or ObjVertex
Definition: dynlist_proc.h:29
void d_set_scale(f32, f32, f32)
Scale the current dynamic object by factor (x, y, z).
Definition: dynlist_proc.c:2144
Definition: dynlist_proc.h:51
Definition: dynlist_proc.h:48
signed int s32
Definition: ultratypes.h:15
An ObjGroup that links to raw vertex or face data.
Definition: dynlist_proc.h:52
struct GdObj * proc_dynlist(struct DynList *dylist)
Parse a DynList array into active GdObjs.
Definition: dynlist_proc.c:163
f32 Mat4f[4][4]
Definition: gd_types.h:20
void d_get_world_pos(struct GdVec3f *)
Copy the world position of the current dynamic object into dst.
Definition: dynlist_proc.c:2046
void d_get_init_rot(struct GdVec3f *)
Get the initial rotation of the current dynamic object and store in dst.
Definition: dynlist_proc.c:1583
void d_get_matrix(Mat4f *)
Copy the matrix from the current dynamic object into dst.
Definition: dynlist_proc.c:2829
DParmF
parameters for d_set_parm_f()
Definition: dynlist_proc.h:28
unsigned int u32
Definition: ultratypes.h:16
Definition: dynlist_proc.h:45
Definition: dynlist_proc.h:38
void d_start_group(DynId)
Start a dynamic ObjGroup identified with id.
Definition: dynlist_proc.c:1360
Definition: dynlist_proc.h:37