Super Mario 64 Source
A Super Mario 64 decompilation, brought to you by a bunch of clever folks.
Data Structures | Typedefs | Functions | Variables
objects.h File Reference
#include <ultra64.h>
#include "gd_types.h"

Go to the source code of this file.

Data Structures

struct  DebugCounters
 

Typedefs

typedef void(* applyproc_t) (void *)
 

Functions

void func_8017BCB0 (void)
 
void func_8017BD20 (void *)
 
void func_8017BE60 (struct GdPlaneF *)
 
void func_8017BED0 (struct ObjGroup *, struct GdObj *)
 
const charget_obj_name_str (enum ObjTypeFlag)
 
struct GdObjmake_object (enum ObjTypeFlag)
 
struct ObjZonemake_zone (struct ObjGroup *, struct GdPlaneF *, struct ObjGroup *)
 
struct ObjUnk200000Unknown8017C7A0 (struct ObjVertex *, struct ObjFace *)
 
struct Linksmake_link_to_obj (struct Links *, struct GdObj *)
 
struct VtxLinkmake_vtx_link (struct VtxLink *, Vtx *)
 
struct ObjValPtrsmake_valptrs (struct GdObj *, s32, enum ValPtrType, s32)
 
void reset_plane (struct ObjPlane *)
 
struct ObjPlanemake_plane (s32, struct ObjFace *)
 
struct ObjCameramake_camera (s32, struct GdObj *)
 
struct ObjMaterialmake_material (UNUSED s32, char *, s32)
 
struct ObjLightmake_light (s32, char *, s32)
 
struct ObjViewmake_view (const char *, s32, s32, s32, s32, s32, s32, struct ObjGroup *)
 
struct ObjAnimatormake_animator (void)
 
struct ObjWeightmake_weight (UNUSED s32, s32, struct ObjVertex *, f32)
 
struct ObjGroupmake_group_of_type (enum ObjTypeFlag, struct GdObj *, struct GdObj *)
 
void sprint_obj_id (char *, struct GdObj *)
 
struct ObjGroupmake_group (s32 count,...)
 
void addto_group (struct ObjGroup *, struct GdObj *)
 
void addto_groupfirst (struct ObjGroup *, struct GdObj *)
 
s32 group_contains_obj (struct ObjGroup *, struct GdObj *)
 
void show_details (enum ObjTypeFlag)
 
s32 Unknown8017E1E8 (void)
 
s32 func_8017E20C (void)
 
void gd_loadtexture (struct GdObj *)
 
void func_8017E2B8 (void)
 
struct GdObjUnknownRecursive8017E2F0 (struct GdObj *, enum ObjTypeFlag)
 
s32 apply_to_obj_types_in_group (s32, applyproc_t, struct ObjGroup *)
 
void func_8017E584 (struct ObjNet *, struct GdVec3f *, struct GdVec3f *)
 
void func_8017E838 (struct ObjNet *, struct GdVec3f *, struct GdVec3f *)
 
void func_8017E9EC (struct ObjNet *)
 
s32 Unknown8017EA94 (struct GdVec3f *, Mat4f)
 
s32 Unknown8017EB24 (struct GdObj *, struct GdObj *)
 
s32 Unknown8017ED00 (struct GdObj *, struct GdPlaneF *)
 
s32 Unknown8017EDCC (struct GdVec3f *, struct GdPlaneF *)
 
s32 gd_plane_point_within (struct GdPlaneF *, struct GdPlaneF *)
 
s32 func_8017F054 (struct GdObj *, struct GdObj *)
 
s32 UnknownRecursive8017F210 (struct GdObj *, struct GdObj *)
 
void func_8017F404 (f32, struct GdObj *, struct GdObj *)
 
void func_8017F424 (struct GdTriangleF *, struct GdTriangleF *, f32)
 
void move_animator (struct ObjAnimator *)
 
void drag_picked_object (struct GdObj *)
 
void move_animators (struct ObjGroup *)
 
void find_and_drag_picked_object (struct ObjGroup *)
 
void move_camera (struct ObjCamera *)
 
void move_cameras_in_grp (struct ObjGroup *)
 
void Unknown8018100C (struct ObjLight *)
 
void move_lights_in_grp (struct ObjGroup *)
 
void proc_view_movement (struct ObjView *)
 
void reset_nets_and_gadgets (struct ObjGroup *)
 
void null_obj_lists (void)
 

Variables

struct GdPlaneF D_801B9DA0
 
struct ObjCamerasCurrentMoveCamera
 
struct ObjViewsCurrentMoveView
 
struct DebugCounters gGdCounter
 
Mat4f D_801B9DC8
 
struct GdVec3f D_801B9E08
 
struct ObjGroupsCurrentMoveGrp
 
struct GdVec3f D_801B9E18
 
struct GdVec3f D_801B9E28
 
f32 D_801B9E34
 
Mat4fD_801B9E38
 
struct ObjParticleD_801B9E3C
 
s32 D_801B9E40
 
s32 D_801B9E44
 
Mat4fD_801B9E48
 
struct ObjCameragGdCameraList
 
voidD_801B9E50
 
struct ObjGroupgGdGroupList
 
s32 gGdObjCount
 
s32 gGdGroupCount
 
s32 gGdPlaneCount
 
s32 gGdCameraCount
 
struct Unk801B9E68 sGdViewInfo
 
voidD_801B9E80
 
struct ObjJointgGdJointList
 
struct ObjBonegGdBoneList
 
struct GdObjgGdObjectList
 
struct ObjGroupgGdViewsGroup
 

Typedef Documentation

◆ applyproc_t

typedef void(* applyproc_t) (void *)

Function Documentation

◆ addto_group()

void addto_group ( struct ObjGroup ,
struct GdObj  
)

◆ addto_groupfirst()

void addto_groupfirst ( struct ObjGroup ,
struct GdObj  
)

◆ apply_to_obj_types_in_group()

s32 apply_to_obj_types_in_group ( s32  ,
applyproc_t  ,
struct ObjGroup  
)
Bug:
When group pointer is NULL, garbage is returned, not the count of fn calls

◆ drag_picked_object()

void drag_picked_object ( struct GdObj )

◆ find_and_drag_picked_object()

void find_and_drag_picked_object ( struct ObjGroup )

◆ func_8017BCB0()

void func_8017BCB0 ( void  )

◆ func_8017BD20()

void func_8017BD20 ( void )

◆ func_8017BE60()

void func_8017BE60 ( struct GdPlaneF )

◆ func_8017BED0()

void func_8017BED0 ( struct ObjGroup ,
struct GdObj  
)

◆ func_8017E20C()

s32 func_8017E20C ( void  )

◆ func_8017E2B8()

void func_8017E2B8 ( void  )

◆ func_8017E584()

void func_8017E584 ( struct ObjNet ,
struct GdVec3f ,
struct GdVec3f  
)

◆ func_8017E838()

void func_8017E838 ( struct ObjNet ,
struct GdVec3f ,
struct GdVec3f  
)

◆ func_8017E9EC()

void func_8017E9EC ( struct ObjNet )

◆ func_8017F054()

s32 func_8017F054 ( struct GdObj ,
struct GdObj  
)

◆ func_8017F404()

void func_8017F404 ( f32  ,
struct GdObj ,
struct GdObj  
)

◆ func_8017F424()

void func_8017F424 ( struct GdTriangleF ,
struct GdTriangleF ,
f32   
)

◆ gd_loadtexture()

void gd_loadtexture ( struct GdObj )

◆ gd_plane_point_within()

s32 gd_plane_point_within ( struct GdPlaneF ,
struct GdPlaneF  
)

◆ get_obj_name_str()

const char* get_obj_name_str ( enum  ObjTypeFlag)

◆ group_contains_obj()

s32 group_contains_obj ( struct ObjGroup ,
struct GdObj  
)

◆ make_animator()

struct ObjAnimator* make_animator ( void  )

◆ make_camera()

struct ObjCamera* make_camera ( s32  ,
struct GdObj  
)

◆ make_group()

struct ObjGroup* make_group ( s32  count,
  ... 
)

◆ make_group_of_type()

struct ObjGroup* make_group_of_type ( enum  ObjTypeFlag,
struct GdObj ,
struct GdObj  
)

◆ make_light()

struct ObjLight* make_light ( s32  ,
char ,
s32   
)

◆ make_link_to_obj()

struct Links* make_link_to_obj ( struct Links ,
struct GdObj  
)

◆ make_material()

struct ObjMaterial* make_material ( UNUSED  s32,
char ,
s32   
)

◆ make_object()

struct GdObj* make_object ( enum  ObjTypeFlag)

◆ make_plane()

struct ObjPlane* make_plane ( s32  ,
struct ObjFace  
)

◆ make_valptrs()

struct ObjValPtrs* make_valptrs ( struct GdObj ,
s32  ,
enum  ValPtrType,
s32   
)

◆ make_view()

struct ObjView* make_view ( const char ,
s32  ,
s32  ,
s32  ,
s32  ,
s32  ,
s32  ,
struct ObjGroup  
)

◆ make_vtx_link()

struct VtxLink* make_vtx_link ( struct VtxLink ,
Vtx  
)

◆ make_weight()

struct ObjWeight* make_weight ( UNUSED  s32,
s32  ,
struct ObjVertex ,
f32   
)

◆ make_zone()

struct ObjZone* make_zone ( struct ObjGroup ,
struct GdPlaneF ,
struct ObjGroup  
)
Bug:
Created ObjZone is not returned

◆ move_animator()

void move_animator ( struct ObjAnimator )

◆ move_animators()

void move_animators ( struct ObjGroup )

◆ move_camera()

void move_camera ( struct ObjCamera )

◆ move_cameras_in_grp()

void move_cameras_in_grp ( struct ObjGroup )

◆ move_lights_in_grp()

void move_lights_in_grp ( struct ObjGroup )

◆ null_obj_lists()

void null_obj_lists ( void  )

◆ proc_view_movement()

void proc_view_movement ( struct ObjView )

◆ reset_nets_and_gadgets()

void reset_nets_and_gadgets ( struct ObjGroup )

◆ reset_plane()

void reset_plane ( struct ObjPlane )

◆ show_details()

void show_details ( enum  ObjTypeFlag)

◆ sprint_obj_id()

void sprint_obj_id ( char ,
struct GdObj  
)

◆ Unknown8017C7A0()

struct ObjUnk200000* Unknown8017C7A0 ( struct ObjVertex ,
struct ObjFace  
)

◆ Unknown8017E1E8()

s32 Unknown8017E1E8 ( void  )

◆ Unknown8017EA94()

s32 Unknown8017EA94 ( struct GdVec3f ,
Mat4f   
)

◆ Unknown8017EB24()

s32 Unknown8017EB24 ( struct GdObj ,
struct GdObj  
)

◆ Unknown8017ED00()

s32 Unknown8017ED00 ( struct GdObj ,
struct GdPlaneF  
)

◆ Unknown8017EDCC()

s32 Unknown8017EDCC ( struct GdVec3f ,
struct GdPlaneF  
)

◆ Unknown8018100C()

void Unknown8018100C ( struct ObjLight )

◆ UnknownRecursive8017E2F0()

struct GdObj* UnknownRecursive8017E2F0 ( struct GdObj ,
enum  ObjTypeFlag 
)
Bug:
Nothing is returned if a GdObj of type is not found

◆ UnknownRecursive8017F210()

s32 UnknownRecursive8017F210 ( struct GdObj ,
struct GdObj  
)

Variable Documentation

◆ D_801B9DA0

struct GdPlaneF D_801B9DA0

◆ D_801B9DC8

Mat4f D_801B9DC8

◆ D_801B9E08

struct GdVec3f D_801B9E08

◆ D_801B9E18

struct GdVec3f D_801B9E18

◆ D_801B9E28

struct GdVec3f D_801B9E28

◆ D_801B9E34

f32 D_801B9E34

◆ D_801B9E38

Mat4f* D_801B9E38

◆ D_801B9E3C

struct ObjParticle* D_801B9E3C

◆ D_801B9E40

s32 D_801B9E40

◆ D_801B9E44

s32 D_801B9E44

◆ D_801B9E48

Mat4f* D_801B9E48

◆ D_801B9E50

void* D_801B9E50

◆ D_801B9E80

void* D_801B9E80

◆ gGdBoneList

struct ObjBone* gGdBoneList

◆ gGdCameraCount

s32 gGdCameraCount

◆ gGdCameraList

struct ObjCamera* gGdCameraList

◆ gGdCounter

struct DebugCounters gGdCounter

◆ gGdGroupCount

s32 gGdGroupCount

◆ gGdGroupList

struct ObjGroup* gGdGroupList

◆ gGdJointList

struct ObjJoint* gGdJointList

◆ gGdObjCount

s32 gGdObjCount

◆ gGdObjectList

struct GdObj* gGdObjectList

◆ gGdPlaneCount

s32 gGdPlaneCount

◆ gGdViewsGroup

struct ObjGroup* gGdViewsGroup

◆ sCurrentMoveCamera

struct ObjCamera* sCurrentMoveCamera

◆ sCurrentMoveGrp

struct ObjGroup* sCurrentMoveGrp

◆ sCurrentMoveView

struct ObjView* sCurrentMoveView

◆ sGdViewInfo

struct Unk801B9E68 sGdViewInfo