Super Mario 64 Source
A Super Mario 64 decompilation, brought to you by a bunch of clever folks.
Functions | Variables
area.c File Reference
#include <ultra64.h>
#include "area.h"
#include "sm64.h"
#include "behavior_data.h"
#include "game.h"
#include "display.h"
#include "object_list_processor.h"
#include "engine/surface_load.h"
#include "ingame_menu.h"
#include "screen_transition.h"
#include "mario.h"
#include "mario_actions_cutscene.h"
#include "print.h"
#include "hud.h"
#include "audio/external.h"
#include "rendering_graph_node.h"
#include "level_update.h"
#include "engine/geo_layout.h"
#include "save_file.h"

Functions

void func_8027A220 (Vp *a, Vp *b, u8 c, u8 d, u8 e)
 
void set_warp_transition_rgb (u8 red, u8 green, u8 blue)
 
void print_intro_text (void)
 
u32 get_mario_spawn_type (struct Object *o)
 
struct ObjectWarpNodearea_get_warp_node (u8 id)
 
struct ObjectWarpNodefunc_8027A478 (struct Object *o)
 
void func_8027A4C4 (void)
 
void clear_areas (void)
 
void func_8027A7C4 (void)
 
void load_area (s32 index)
 
void func_8027A998 (void)
 
void load_mario_area (void)
 
void func_8027AA88 (void)
 
void change_area (s32 index)
 
void area_update_objects (void)
 
void play_transition (s16 transType, s16 time, u8 red, u8 green, u8 blue)
 
void play_transition_after_delay (s16 transType, s16 time, u8 red, u8 green, u8 blue, s16 delay)
 
void render_game (void)
 

Variables

struct SpawnInfo gPlayerSpawnInfos [1]
 
struct GraphNodeD_8033A160 [0x100]
 
struct Area gAreaData [8]
 
struct WarpTransition gWarpTransition
 
s16 gCurrCourseNum
 
s16 gCurrActNum
 
s16 gCurrAreaIndex
 
s16 gSavedCourseNum
 
s16 D_8033A75E
 
s16 D_8033A760
 
struct SpawnInfogMarioSpawnInfo = &gPlayerSpawnInfos[0]
 
struct GraphNode ** gLoadedGraphNodes = D_8033A160
 
struct AreagAreas = gAreaData
 
struct AreagCurrentArea = NULL
 
struct CreditsEntrygCurrCreditsEntry = NULL
 
VpD_8032CE74 = NULL
 
VpD_8032CE78 = NULL
 
s16 gWarpTransDelay = 0
 
u32 gFBSetColor = 0
 
u32 gWarpTransFBSetColor = 0
 
u8 gWarpTransRed = 0
 
u8 gWarpTransGreen = 0
 
u8 gWarpTransBlue = 0
 
s16 gCurrSaveFileNum = 1
 
s16 gCurrLevelNum = 1
 
voidD_8032CE9C []
 
u8 D_8032CEEC []
 
Vp D_8032CF00
 

Function Documentation

◆ area_get_warp_node()

struct ObjectWarpNode* area_get_warp_node ( u8  id)

◆ area_update_objects()

void area_update_objects ( void  )

◆ change_area()

void change_area ( s32  index)

◆ clear_areas()

void clear_areas ( void  )

◆ func_8027A220()

void func_8027A220 ( Vp a,
Vp b,
u8  c,
u8  d,
u8  e 
)

◆ func_8027A478()

struct ObjectWarpNode* func_8027A478 ( struct Object o)

◆ func_8027A4C4()

void func_8027A4C4 ( void  )

◆ func_8027A7C4()

void func_8027A7C4 ( void  )

◆ func_8027A998()

void func_8027A998 ( void  )

◆ func_8027AA88()

void func_8027AA88 ( void  )

◆ get_mario_spawn_type()

u32 get_mario_spawn_type ( struct Object o)

◆ load_area()

void load_area ( s32  index)

◆ load_mario_area()

void load_mario_area ( void  )

◆ play_transition()

void play_transition ( s16  transType,
s16  time,
u8  red,
u8  green,
u8  blue 
)

◆ play_transition_after_delay()

void play_transition_after_delay ( s16  transType,
s16  time,
u8  red,
u8  green,
u8  blue,
s16  delay 
)

◆ print_intro_text()

void print_intro_text ( void  )

◆ render_game()

void render_game ( void  )

◆ set_warp_transition_rgb()

void set_warp_transition_rgb ( u8  red,
u8  green,
u8  blue 
)

Variable Documentation

◆ D_8032CE74

Vp* D_8032CE74 = NULL

◆ D_8032CE78

Vp* D_8032CE78 = NULL

◆ D_8032CE9C

void* D_8032CE9C[]
Initial value:
= {
}
u32 bhvWarps80[]
u32 bhvWarps74[]
u32 bhvWarps70[]
u32 bhvWarp[]
u32 bhvWarps94[]
u32 bhvStar[]
Definition: behavior_data.h:409
u32 bhvWarps64[]
u32 bhvWarps68[]
u32 bhvWarps90[]
u32 bhvFadingWarp[]
u32 bhvWarps6C[]
u32 bhvWarps7C[]
u32 bhvWarps88[]
u32 bhvWarps78[]
u32 bhvWarps60[]
u32 bhvExitPodiumWarp[]
u32 bhvWarpPipe[]
u32 bhvWarps8C[]
u32 bhvDoorWarp[]
u32 bhvWarps84[]

◆ D_8032CEEC

u8 D_8032CEEC[]
Initial value:
= {
}
#define MARIO_SPAWN_UNKNOWN_10
Definition: level_update.h:34
#define MARIO_SPAWN_UNKNOWN_11
Definition: level_update.h:35
#define MARIO_SPAWN_UNKNOWN_21
Definition: level_update.h:43
#define MARIO_SPAWN_UNKNOWN_23
Definition: level_update.h:45
#define MARIO_SPAWN_UNKNOWN_17
Definition: level_update.h:41
#define MARIO_SPAWN_UNKNOWN_12
Definition: level_update.h:36
#define MARIO_SPAWN_UNKNOWN_20
Definition: level_update.h:42
#define MARIO_SPAWN_UNKNOWN_16
Definition: level_update.h:40
#define MARIO_SPAWN_UNKNOWN_15
Definition: level_update.h:39
#define MARIO_SPAWN_UNKNOWN_03
Definition: level_update.h:32
#define MARIO_SPAWN_UNKNOWN_22
Definition: level_update.h:44
#define MARIO_SPAWN_UNKNOWN_14
Definition: level_update.h:38
#define MARIO_SPAWN_UNKNOWN_04
Definition: level_update.h:33
#define MARIO_SPAWN_UNKNOWN_24
Definition: level_update.h:46
#define MARIO_SPAWN_UNKNOWN_13
Definition: level_update.h:37
#define MARIO_SPAWN_UNKNOWN_02
Definition: level_update.h:31
#define MARIO_SPAWN_UNKNOWN_25
Definition: level_update.h:47
#define MARIO_SPAWN_UNKNOWN_01
Definition: level_update.h:30

◆ D_8032CF00

Vp D_8032CF00
Initial value:
= { {
{ 640, 480, 511, 0 },
{ 640, 480, 511, 0 },
} }

◆ D_8033A160

struct GraphNode* D_8033A160[0x100]

◆ D_8033A75E

s16 D_8033A75E

◆ D_8033A760

s16 D_8033A760

◆ gAreaData

struct Area gAreaData[8]

◆ gAreas

struct Area* gAreas = gAreaData

◆ gCurrActNum

s16 gCurrActNum

◆ gCurrAreaIndex

s16 gCurrAreaIndex

◆ gCurrCourseNum

s16 gCurrCourseNum

◆ gCurrCreditsEntry

struct CreditsEntry* gCurrCreditsEntry = NULL

◆ gCurrentArea

struct Area* gCurrentArea = NULL

◆ gCurrLevelNum

s16 gCurrLevelNum = 1

◆ gCurrSaveFileNum

s16 gCurrSaveFileNum = 1

◆ gFBSetColor

u32 gFBSetColor = 0

◆ gLoadedGraphNodes

struct GraphNode** gLoadedGraphNodes = D_8033A160

◆ gMarioSpawnInfo

struct SpawnInfo* gMarioSpawnInfo = &gPlayerSpawnInfos[0]

◆ gPlayerSpawnInfos

struct SpawnInfo gPlayerSpawnInfos[1]

◆ gSavedCourseNum

s16 gSavedCourseNum

◆ gWarpTransBlue

u8 gWarpTransBlue = 0

◆ gWarpTransDelay

s16 gWarpTransDelay = 0

◆ gWarpTransFBSetColor

u32 gWarpTransFBSetColor = 0

◆ gWarpTransGreen

u8 gWarpTransGreen = 0

◆ gWarpTransition

struct WarpTransition gWarpTransition

◆ gWarpTransRed

u8 gWarpTransRed = 0