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

Data Structures

struct  UnkBufThing
 

Functions

struct MemTrackernew_memtracker (const char *name)
 
struct MemTrackerget_memtracker (const char *tracker)
 
struct MemTrackerstart_memtracker (const char *name)
 
void print_most_recent_memtracker (void)
 
u32 stop_memtracker (const char *name)
 
void remove_all_memtrackers (void)
 
struct MemTrackerget_memtracker_by_id (s32 id)
 
void print_all_memtrackers (void)
 
void print_all_timers (void)
 
void deactivate_timing (void)
 
void activate_timing (void)
 
void remove_all_timers (void)
 
struct GdTimernew_timer (const char *name)
 
struct GdTimerget_timer (const char *timerName)
 
struct GdTimerget_timer_checked (const char *timerName)
 
struct GdTimerget_timernum (s32 id)
 
void split_timer_ptr (struct GdTimer *timer)
 
void split_all_timers (void)
 
void start_all_timers (void)
 
void start_timer (const char *name)
 
void restart_timer (const char *name)
 
void split_timer (const char *name)
 
void stop_timer (const char *name)
 
f32 get_scaled_timer_total (const char *name)
 
f32 get_timer_total (const char *name)
 
void fatal_print (const char *str)
 
void print_stack_trace (void)
 
void fatal_printf (const char *fmt,...)
 
void add_to_stacktrace (const char *routine)
 
void imout (void)
 
f32 func_8018D560 (void)
 
s32 gd_atoi (const char *str)
 
f64 gd_lazy_atof (const char *str, UNUSED u32 *unk)
 
charsprint_num_as_hex (char *str, s32 val)
 
charsprint_num (char *str, s32 val, s32 padnum)
 
s32 int_sci_notation (s32 base, s32 significand)
 
charsprint_val_withspecifiers (char *str, union PrintVal val, char *specifiers)
 
void gd_strcpy (char *dst, const char *src)
 
void ascii_to_uppercase (char *str)
 
chargd_strdup (const char *src)
 
u32 gd_strlen (const char *str)
 
chargd_strcat (char *dst, const char *src)
 
s32 gd_str_not_equal (const char *str1, const char *str2)
 
s32 gd_str_contains (const char *str1, const char *str2)
 
s32 gd_feof (struct GdFile *f)
 
void gd_set_feof (struct GdFile *f)
 
struct GdFilegd_fopen (const char *filename, const char *mode)
 
s32 gd_fread (s8 *buf, s32 bytes, UNUSED s32 count, struct GdFile *f)
 
void gd_fclose (UNUSED struct GdFile *f)
 
u32 gd_get_file_size (struct GdFile *f)
 
s32 is_newline (char c)
 
s32 gd_fread_line (char *buf, u32 size, struct GdFile *f)
 

Variables

static s32 sNumRoutinesInStack = 0
 
static s32 D_801A8284 [7]
 
static s32 sNumActiveMemTrackers = 0
 
static u32 sPrimarySeed = 0x12345678
 
static u32 sSecondarySeed = 0x58374895
 
static char sHexNumerals [17]
 
static s32 sPadNumPrint = 0
 
u8gGdStreamBuffer
 
static const charsRoutineNames [64]
 
static s32 sTimingActive
 
static struct GdTimer sTimers [GD_NUM_TIMERS]
 
static struct MemTracker sMemTrackers [GD_NUM_MEM_TRACKERS]
 
static struct MemTrackersActiveMemTrackers [16]
 

Function Documentation

◆ activate_timing()

void activate_timing ( void  )

◆ add_to_stacktrace()

void add_to_stacktrace ( const char routine)

◆ ascii_to_uppercase()

void ascii_to_uppercase ( char str)

◆ deactivate_timing()

void deactivate_timing ( void  )

◆ fatal_print()

void fatal_print ( const char str)

◆ fatal_printf()

void fatal_printf ( const char fmt,
  ... 
)

◆ func_8018D560()

f32 func_8018D560 ( void  )

◆ gd_atoi()

s32 gd_atoi ( const char str)

◆ gd_fclose()

void gd_fclose ( UNUSED struct GdFile f)

◆ gd_feof()

s32 gd_feof ( struct GdFile f)

◆ gd_fopen()

struct GdFile* gd_fopen ( const char filename,
const char mode 
)

◆ gd_fread()

s32 gd_fread ( s8 buf,
s32  bytes,
UNUSED s32  count,
struct GdFile f 
)

◆ gd_fread_line()

s32 gd_fread_line ( char buf,
u32  size,
struct GdFile f 
)

◆ gd_get_file_size()

u32 gd_get_file_size ( struct GdFile f)

◆ gd_lazy_atof()

f64 gd_lazy_atof ( const char str,
UNUSED u32 unk 
)

◆ gd_set_feof()

void gd_set_feof ( struct GdFile f)

◆ gd_str_contains()

s32 gd_str_contains ( const char str1,
const char str2 
)

◆ gd_str_not_equal()

s32 gd_str_not_equal ( const char str1,
const char str2 
)

◆ gd_strcat()

char* gd_strcat ( char dst,
const char src 
)

◆ gd_strcpy()

void gd_strcpy ( char dst,
const char src 
)

◆ gd_strdup()

char* gd_strdup ( const char src)

◆ gd_strlen()

u32 gd_strlen ( const char str)

◆ get_memtracker()

struct MemTracker* get_memtracker ( const char tracker)

◆ get_memtracker_by_id()

struct MemTracker* get_memtracker_by_id ( s32  id)

◆ get_scaled_timer_total()

f32 get_scaled_timer_total ( const char name)

◆ get_timer()

struct GdTimer* get_timer ( const char timerName)

◆ get_timer_checked()

struct GdTimer* get_timer_checked ( const char timerName)

◆ get_timer_total()

f32 get_timer_total ( const char name)

◆ get_timernum()

struct GdTimer* get_timernum ( s32  id)

◆ imout()

void imout ( void  )

◆ int_sci_notation()

s32 int_sci_notation ( s32  base,
s32  significand 
)

◆ is_newline()

s32 is_newline ( char  c)

◆ new_memtracker()

struct MemTracker* new_memtracker ( const char name)

◆ new_timer()

struct GdTimer* new_timer ( const char name)

◆ print_all_memtrackers()

void print_all_memtrackers ( void  )

◆ print_all_timers()

void print_all_timers ( void  )

◆ print_most_recent_memtracker()

void print_most_recent_memtracker ( void  )

◆ print_stack_trace()

void print_stack_trace ( void  )

◆ remove_all_memtrackers()

void remove_all_memtrackers ( void  )

◆ remove_all_timers()

void remove_all_timers ( void  )

◆ restart_timer()

void restart_timer ( const char name)

◆ split_all_timers()

void split_all_timers ( void  )

◆ split_timer()

void split_timer ( const char name)

◆ split_timer_ptr()

void split_timer_ptr ( struct GdTimer timer)

◆ sprint_num()

char* sprint_num ( char str,
s32  val,
s32  padnum 
)

◆ sprint_num_as_hex()

char* sprint_num_as_hex ( char str,
s32  val 
)

◆ sprint_val_withspecifiers()

char* sprint_val_withspecifiers ( char str,
union PrintVal  val,
char specifiers 
)

◆ start_all_timers()

void start_all_timers ( void  )

◆ start_memtracker()

struct MemTracker* start_memtracker ( const char name)

◆ start_timer()

void start_timer ( const char name)

◆ stop_memtracker()

u32 stop_memtracker ( const char name)

◆ stop_timer()

void stop_timer ( const char name)

Variable Documentation

◆ D_801A8284

s32 D_801A8284[7]
static
Initial value:
= {
2, 1, 3, 4, 5, 8, 9
}

◆ gGdStreamBuffer

u8* gGdStreamBuffer

◆ sActiveMemTrackers

struct MemTracker* sActiveMemTrackers[16]
static

◆ sHexNumerals

char sHexNumerals[17]
static
Initial value:
= {
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', '\0'
}

◆ sMemTrackers

struct MemTracker sMemTrackers[GD_NUM_MEM_TRACKERS]
static

◆ sNumActiveMemTrackers

s32 sNumActiveMemTrackers = 0
static

◆ sNumRoutinesInStack

s32 sNumRoutinesInStack = 0
static

◆ sPadNumPrint

s32 sPadNumPrint = 0
static

◆ sPrimarySeed

u32 sPrimarySeed = 0x12345678
static

◆ sRoutineNames

const char* sRoutineNames[64]
static

◆ sSecondarySeed

u32 sSecondarySeed = 0x58374895
static

◆ sTimers

struct GdTimer sTimers[GD_NUM_TIMERS]
static

◆ sTimingActive

s32 sTimingActive
static