Super Mario 64 Source
A Super Mario 64 decompilation, brought to you by a bunch of clever folks.
Typedefs | Functions | Variables
geo_layout.c File Reference
#include <ultra64.h>
#include "sm64.h"
#include "geo_layout.h"
#include "math_util.h"
#include "game/memory.h"
#include "graph_node.h"

Typedefs

typedef void(* GeoLayoutCommandProc) (void)
 

Functions

void geo_layout_cmd_branch_and_link (void)
 
void geo_layout_cmd_end (void)
 
void geo_layout_cmd_branch (void)
 
void geo_layout_cmd_return (void)
 
void geo_layout_cmd_open_node (void)
 
void geo_layout_cmd_close_node (void)
 
void geo_layout_cmd_assign_as_view (void)
 
void geo_layout_cmd_update_node_flags (void)
 
void geo_layout_cmd_node_root (void)
 
void geo_layout_cmd_node_ortho_projection (void)
 
void geo_layout_cmd_node_perspective (void)
 
void geo_layout_cmd_node_start (void)
 
void geo_layout_cmd_nop3 (void)
 
void geo_layout_cmd_node_master_list (void)
 
void geo_layout_cmd_node_level_of_detail (void)
 
void geo_layout_cmd_node_switch_case (void)
 
void geo_layout_cmd_node_camera (void)
 
void geo_layout_cmd_node_translation_rotation (void)
 
void geo_layout_cmd_node_translation (void)
 
void geo_layout_cmd_node_rotation (void)
 
void geo_layout_cmd_node_scale (void)
 
void geo_layout_cmd_nop2 (void)
 
void geo_layout_cmd_node_animated_part (void)
 
void geo_layout_cmd_node_billboard (void)
 
void geo_layout_cmd_node_display_list (void)
 
void geo_layout_cmd_node_shadow (void)
 
void geo_layout_cmd_node_object_parent (void)
 
void geo_layout_cmd_node_generated (void)
 
void geo_layout_cmd_node_background (void)
 
void geo_layout_cmd_nop (void)
 
void geo_layout_cmd_copy_view (void)
 
void geo_layout_cmd_node_held_obj (void)
 
void geo_layout_cmd_node_culling_radius (void)
 
struct GraphNodeprocess_geo_layout (struct AllocOnlyPool *pool, void *segptr)
 

Variables

GeoLayoutCommandProc GeoLayoutJumpTable []
 
struct AllocOnlyPoolgGraphNodePool
 
struct GraphNodegCurRootGraphNode
 
UNUSED s32 D_8038BCA8
 
struct GraphNode ** gGeoViews
 
u16 gGeoNumViews
 
u32 gGeoLayoutStack [16]
 
struct GraphNodegCurGraphNodeList [32]
 
s16 gCurGraphNodeIndex
 
s16 gGeoLayoutStackIndex
 
UNUSED s16 D_8038BD7C
 
s16 gGeoLayoutReturnIndex
 
u8gGeoLayoutCommand
 
struct GraphNode gObjParentGraphNode
 
u32 unused_8038B894 [3] = { 0 }
 

Typedef Documentation

◆ GeoLayoutCommandProc

typedef void(* GeoLayoutCommandProc) (void)

Function Documentation

◆ geo_layout_cmd_assign_as_view()

void geo_layout_cmd_assign_as_view ( void  )

◆ geo_layout_cmd_branch()

void geo_layout_cmd_branch ( void  )

◆ geo_layout_cmd_branch_and_link()

void geo_layout_cmd_branch_and_link ( void  )

◆ geo_layout_cmd_close_node()

void geo_layout_cmd_close_node ( void  )

◆ geo_layout_cmd_copy_view()

void geo_layout_cmd_copy_view ( void  )

◆ geo_layout_cmd_end()

void geo_layout_cmd_end ( void  )

◆ geo_layout_cmd_node_animated_part()

void geo_layout_cmd_node_animated_part ( void  )

◆ geo_layout_cmd_node_background()

void geo_layout_cmd_node_background ( void  )

◆ geo_layout_cmd_node_billboard()

void geo_layout_cmd_node_billboard ( void  )

◆ geo_layout_cmd_node_camera()

void geo_layout_cmd_node_camera ( void  )

◆ geo_layout_cmd_node_culling_radius()

void geo_layout_cmd_node_culling_radius ( void  )

◆ geo_layout_cmd_node_display_list()

void geo_layout_cmd_node_display_list ( void  )

◆ geo_layout_cmd_node_generated()

void geo_layout_cmd_node_generated ( void  )

◆ geo_layout_cmd_node_held_obj()

void geo_layout_cmd_node_held_obj ( void  )

◆ geo_layout_cmd_node_level_of_detail()

void geo_layout_cmd_node_level_of_detail ( void  )

◆ geo_layout_cmd_node_master_list()

void geo_layout_cmd_node_master_list ( void  )

◆ geo_layout_cmd_node_object_parent()

void geo_layout_cmd_node_object_parent ( void  )

◆ geo_layout_cmd_node_ortho_projection()

void geo_layout_cmd_node_ortho_projection ( void  )

◆ geo_layout_cmd_node_perspective()

void geo_layout_cmd_node_perspective ( void  )

◆ geo_layout_cmd_node_root()

void geo_layout_cmd_node_root ( void  )

◆ geo_layout_cmd_node_rotation()

void geo_layout_cmd_node_rotation ( void  )

◆ geo_layout_cmd_node_scale()

void geo_layout_cmd_node_scale ( void  )

◆ geo_layout_cmd_node_shadow()

void geo_layout_cmd_node_shadow ( void  )

◆ geo_layout_cmd_node_start()

void geo_layout_cmd_node_start ( void  )

◆ geo_layout_cmd_node_switch_case()

void geo_layout_cmd_node_switch_case ( void  )

◆ geo_layout_cmd_node_translation()

void geo_layout_cmd_node_translation ( void  )

◆ geo_layout_cmd_node_translation_rotation()

void geo_layout_cmd_node_translation_rotation ( void  )

◆ geo_layout_cmd_nop()

void geo_layout_cmd_nop ( void  )

◆ geo_layout_cmd_nop2()

void geo_layout_cmd_nop2 ( void  )

◆ geo_layout_cmd_nop3()

void geo_layout_cmd_nop3 ( void  )

◆ geo_layout_cmd_open_node()

void geo_layout_cmd_open_node ( void  )

◆ geo_layout_cmd_return()

void geo_layout_cmd_return ( void  )

◆ geo_layout_cmd_update_node_flags()

void geo_layout_cmd_update_node_flags ( void  )

◆ process_geo_layout()

struct GraphNode* process_geo_layout ( struct AllocOnlyPool pool,
void segptr 
)

Variable Documentation

◆ D_8038BCA8

UNUSED s32 D_8038BCA8

◆ D_8038BD7C

UNUSED s16 D_8038BD7C

◆ gCurGraphNodeIndex

s16 gCurGraphNodeIndex

◆ gCurGraphNodeList

struct GraphNode* gCurGraphNodeList[32]

◆ gCurRootGraphNode

struct GraphNode* gCurRootGraphNode

◆ GeoLayoutJumpTable

GeoLayoutCommandProc GeoLayoutJumpTable[]

◆ gGeoLayoutCommand

u8* gGeoLayoutCommand

◆ gGeoLayoutReturnIndex

s16 gGeoLayoutReturnIndex

◆ gGeoLayoutStack

u32 gGeoLayoutStack[16]

◆ gGeoLayoutStackIndex

s16 gGeoLayoutStackIndex

◆ gGeoNumViews

u16 gGeoNumViews

◆ gGeoViews

struct GraphNode** gGeoViews

◆ gGraphNodePool

struct AllocOnlyPool* gGraphNodePool

◆ gObjParentGraphNode

struct GraphNode gObjParentGraphNode

◆ unused_8038B894

u32 unused_8038B894[3] = { 0 }