![]() |
Super Mario 64 Source
A Super Mario 64 decompilation, brought to you by a bunch of clever folks.
|
Go to the source code of this file.
Enumerations | |
enum | DParmPtr { PARM_PTR_OBJ_VTX = 1, PARM_PTR_CHAR = 5 } |
parameters types for d_set_parm_ptr() More... | |
enum | DParmF { PARM_F_ALPHA = 1, PARM_F_RANGE_LEFT = 2, PARM_F_RANGE_RIGHT = 3, PARM_F_VARVAL = 6 } |
parameters for d_set_parm_f() More... | |
enum | DObjTypes { D_CAR_DYNAMICS = 0, D_NET = 1, D_JOINT = 2, D_ANOTHER_JOINT = 3, D_CAMERA = 4, D_VERTEX = 5, D_FACE = 6, D_PLANE = 7, D_BONE = 8, D_MATERIAL = 9, D_SHAPE = 10, D_GADGET = 11, D_LABEL = 12, D_VIEW = 13, D_ANIMATOR = 14, D_DATA_GRP = 15, D_PARTICLE = 16, D_LIGHT = 17, D_GROUP = 18 } |
d_makeobj() object types More... | |
Functions | |
void | push_dynobj_stash (void) |
Store the active dynamic GdObj into a one object stash. More... | |
void | pop_dynobj_stash (void) |
Set the stashed GdObj as the active dynamic GdObj . More... | |
void | reset_dynlist (void) |
Reset dynlist related variables to a starting state. More... | |
struct GdObj * | proc_dynlist (struct DynList *dylist) |
Parse a DynList array into active GdObj s. More... | |
void | d_copystr_to_idbuf (char *) |
Copy input str into a buffer that will be concatenated to a dynamic GdObj 's name string when creating a new dynamic object. More... | |
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 . More... | |
void | d_set_shapeptrptr (struct ObjShape **) |
Set the shape pointer of the current active dynamic object to the pointer pointed to by shpPtrptr . More... | |
struct GdObj * | d_use_obj (DynId) |
Set the current active dynamic object to object id . More... | |
void | set_cur_dynobj () |
void | d_start_group (DynId) |
Start a dynamic ObjGroup identified with id . More... | |
void | d_end_group (DynId) |
Add all dynamic objects created between the start of dynamic ObjGroup id and this call. More... | |
void | dynid_is_int (s32) |
Set if DynId should be treated as integer values, or as char * string pointers. More... | |
void | d_set_init_pos (f32, f32, f32) |
Set the initial position of the current dynamic object to (x, y, z) . More... | |
void | d_get_init_pos (struct GdVec3f *) |
Get the initial position of the current dynamic object and store in dst . More... | |
void | d_get_init_rot (struct GdVec3f *) |
Get the initial rotation of the current dynamic object and store in dst . More... | |
void | d_set_rel_pos (f32, f32, f32) |
Set the position of the current dynamic object. More... | |
void | d_get_rel_pos (struct GdVec3f *) |
Store the current dynamic object's position into dst . More... | |
struct ObjGroup * | d_get_att_objgroup (void) |
Return a pointer to the attached object group of the current dynamic object. More... | |
void | d_get_scale (struct GdVec3f *) |
Store the current dynamic object's scale into dst . More... | |
void | d_set_world_pos (f32, f32, f32) |
Set the world position of the current dynamic object. More... | |
void | d_get_world_pos (struct GdVec3f *) |
Copy the world position of the current dynamic object into dst . More... | |
void | d_set_scale (f32, f32, f32) |
Scale the current dynamic object by factor (x, y, z) . More... | |
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. More... | |
void | d_add_valproc (union ObjVarVal *(*)(union ObjVarVal *, union ObjVarVal)) |
void | d_set_flags (s32) |
Set the object specific flags of the current dynamic object. More... | |
void | d_set_parm_f (enum DParmF, f32) |
Set variable float parameters on the current dynamic object. More... | |
void | d_set_parm_ptr (enum DParmPtr, void *) |
Set various pointer parameters for the current dynamic object. More... | |
void | d_set_obj_draw_flag (enum ObjDrawingFlags) |
Set the generic drawing flags for the current dynamic object. More... | |
void | d_set_type (s32) |
Set an object specific type field for the current dynamic object. More... | |
void | d_set_colour_num (s32) |
Set the colour of the current dynamic object. More... | |
void | d_set_diffuse (f32, f32, f32) |
Set the diffuse color of the current dynamic ObjMaterial or ObjLight . More... | |
struct GdPlaneF * | d_get_plane (void) |
Get a pointer to a GdPlaneF in the current dynamic object. More... | |
void | d_get_matrix (Mat4f *) |
Copy the matrix from the current dynamic object into dst . More... | |
Mat4f * | d_get_rot_mtx_ptr (void) |
Get a pointer to the current dynamic object's rotation matrix. More... | |
void | d_set_idn_mtx (Mat4f *) |
Copy src into the identity matrix of the current dynamic object. More... | |
Mat4f * | d_get_matrix_ptr (void) |
Get a pointer to the current dynamic object's matrix. More... | |
Mat4f * | d_get_idn_mtx_ptr (void) |
Get a pointer to the current dynamic object's identity matrix. More... | |
f32 | d_calc_world_dist_btwn (struct GdObj *, struct GdObj *) |
Use the dynamic object system to calculate the distance between two GdObj s. More... | |
DynId Type | |
A new type for identification of | |
#define | DynIdAsStr(id) ((char *)(id)) |
Macros for casting between types of ids, as the id can be either a number or a string. More... | |
#define | DynIdAsInt(id) ((u32)(id)) |
#define | AsDynId(unk) ((DynId)(unk)) |
typedef void * | DynId |
#define AsDynId | ( | unk | ) | ((DynId)(unk)) |
#define DynIdAsInt | ( | id | ) | ((u32)(id)) |
#define DynIdAsStr | ( | id | ) | ((char *)(id)) |
Macros for casting between types of ids, as the id can be either a number or a string.
enum DObjTypes |
d_makeobj()
object types
Enumerator | |
---|---|
D_CAR_DYNAMICS | |
D_NET | |
D_JOINT | |
D_ANOTHER_JOINT | |
D_CAMERA | |
D_VERTEX | |
D_FACE | |
D_PLANE | |
D_BONE | |
D_MATERIAL | |
D_SHAPE | |
D_GADGET | |
D_LABEL | |
D_VIEW | |
D_ANIMATOR | |
D_DATA_GRP | An |
D_PARTICLE | |
D_LIGHT | |
D_GROUP |
enum DParmF |
enum DParmPtr |
parameters types for d_set_parm_ptr()
Enumerator | |
---|---|
PARM_PTR_OBJ_VTX | |
PARM_PTR_CHAR | parameter is a |
Create a new ObjValPtr
to dynamic object objId
and attach that valptr to the current dynamic object.
type | ValPtrType |
Use the dynamic object system to calculate the distance between two GdObj
s.
The objects don't have to be dynamic objects.
Copy input str
into a buffer that will be concatenated to a dynamic GdObj
's name string when creating a new dynamic object.
If input is NULL
, then a generic string is created based on the number of unnamed objects.
Add all dynamic objects created between the start of dynamic ObjGroup
id
and this call.
Return a pointer to the attached object group of the current dynamic object.
Get the initial position of the current dynamic object and store in dst
.
Get the initial rotation of the current dynamic object and store in dst
.
Get a pointer to a GdPlaneF
in the current dynamic object.
If the current object does not have a plane, a pointer to a global plane at (0,0) is returned.
Copy the world position of the current dynamic object into dst
.
Create a new GdObj
of type
and add that object to the dynamic object list with id
.
Created objects have default parameters, which are usually 0 or NULL.
D_DATA_GRP
object D_LABEL
, the call to make_label()
compiles incorrectly due to Goddard only declaring the functions, not prototyping the functions Set the colour of the current dynamic object.
The input color is an index for gd_get_colour()
Set the diffuse color of the current dynamic ObjMaterial
or ObjLight
.
Set the initial position of the current dynamic object to (x, y, z)
.
void d_set_obj_draw_flag | ( | enum | ObjDrawingFlags | ) |
Set the generic drawing flags for the current dynamic object.
Set variable float parameters on the current dynamic object.
These are mainly used for ObjGadget
s to set the drawing size range.
Set various pointer parameters for the current dynamic object.
Normally, this is used to set char *
pointer for various objects, but it can also set the vertices for an ObjFace
.
Set the position of the current dynamic object.
ObjCamera
. Scale the current dynamic object by factor (x, y, z)
.
ObjView
Set the shape pointer of the current active dynamic object to the pointer pointed to by shpPtrptr
.
Set the world position of the current dynamic object.
ObjView
Set if DynId
should be treated as integer values, or as char *
string pointers.
isIntBool | TRUE to interpret ids as integers |
void set_cur_dynobj | ( | ) |