Mario Kart 64
Loading...
Searching...
No Matches
code_800029B0.h
Go to the documentation of this file.
1#ifndef CODE_800029B0_H
2#define CODE_800029B0_H
3
4#include <macros.h>
5#include <ultra64.h>
6#include <types.h>
7#include <actor_types.h>
8
9/* Function Prototypes */
10
11void func_800029B0(void);
12void setup_race(void);
13void func_80002DAC(void);
14void clear_nmi_buffer(void);
15void func_80003040(void);
16
17extern s16 gCurrentCourseId; // D_800DC5A0
19extern u16 D_800DC5A8;
20extern s32 D_800DC5AC;
21extern u16 D_800DC5B0;
22extern u16 D_800DC5B4;
23extern u16 D_800DC5B8;
24extern u16 D_800DC5BC;
27extern u16 D_800DC5C8;
28extern u16 D_800DC5CC;
29extern s32 D_800DC5D0;
30extern s32 D_800DC5D4;
31extern s32 D_800DC5D8;
32extern s32 D_800DC5DC;
33extern s32 D_800DC5E0;
34// This is tracking which credit "state" we're in, decides which credits are shown (and probably other stuff)
35extern u16 D_800DC5E4;
37
38extern struct UnkStruct_800DC5EC D_8015F480[4];
39extern struct UnkStruct_800DC5EC *D_800DC5EC;
40extern struct UnkStruct_800DC5EC *D_800DC5F0;
41extern struct UnkStruct_800DC5EC *D_800DC5F4;
42extern struct UnkStruct_800DC5EC *D_800DC5F8;
43extern u16 gIsGamePaused;
44extern u8 *pAppNmiBuffer;
45extern s32 gIsMirrorMode; // D_800DC604
47extern s16 gPlaceItemBoxes;
48
50extern u16 *D_8015F584;
51extern u16 D_8015F588;
52extern u16 D_8015F58A;
53extern u32 D_8015F58C;
54
55extern Vec3f D_8015F590;
56extern s32 D_8015F59C;
57extern s32 D_8015F5A0;
58extern s32 D_8015F5A4;
59
60extern Vtx *vtxBuffer[];
61extern s16 gCourseMaxX;
62extern s16 gCourseMinX;
63
64extern s16 gCourseMaxY;
65extern s16 gCourseMinY;
66
67extern s16 gCourseMaxZ;
68extern s16 gCourseMinZ;
69extern s16 D_8015F6F4;
70extern s16 D_8015F6F6;
71extern u16 D_8015F6F8;
72extern s16 D_8015F6FA;
73extern s16 D_8015F6FC;
75
76extern u16 D_8015F700;
77extern u16 D_8015F702;
78extern f32 D_8015F704;
79extern Vec3f D_8015F708;
80extern UNUSED u32 D_8015F718[3];
81extern size_t gFreeMemorySize;
82extern uintptr_t gNextFreeMemoryAddress;
83extern uintptr_t gHeapEndPtr;
84
85extern u32 D_8015F730;
86extern uintptr_t gFreeMemoryResetAnchor;
87extern Vec3f D_8015F738;
88extern Vec3f D_8015F748;
89extern Vec3f D_8015F758;
90extern Vec3f D_8015F768;
91extern Vec3f D_8015F778;
92
94extern s32 D_8015F788;
95
96extern s32 D_8015F790[];
97extern u16 D_8015F890;
98extern u16 D_8015F892;
99extern u16 D_8015F894;
101
102extern u8 *gNmiUnknown1;
103extern u8 *gNmiUnknown2;
104extern u8 *gNmiUnknown3;
105extern u8 *gNmiUnknown4;
106extern u8 *gNmiUnknown5;
107extern u8 *gNmiUnknown6;
108
109extern Vec3f D_8015F8D0;
110extern s32 D_8015F8DC;
111
112extern s32 D_8015F8E0;
113extern f32 D_8015F8E4;
114extern f32 D_8015F8E8;
115extern s16 gPlayerPositionLUT[]; // Player index at each position
117
118extern UNUSED u8 D_80162578[];
119extern s16 gDebugPathCount;
121extern s32 D_801625EC;
122extern s32 D_801625F0;
123extern s32 D_801625F4;
124extern s32 D_801625F8;
125extern f32 D_801625FC;
126
127#endif
s16 gCourseMaxY
Definition code_800029B0.c:90
s32 D_800DC5D0
Definition code_800029B0.c:42
u8 * gNmiUnknown2
Definition code_800029B0.c:133
s16 gCurrentCourseId
Definition code_800029B0.c:30
void clear_nmi_buffer(void)
Definition code_800029B0.c:288
s16 gCourseMinZ
Definition code_800029B0.c:94
u32 D_8015F58C
Definition code_800029B0.c:78
s32 D_800DC5DC
Definition code_800029B0.c:45
s16 gCourseMaxZ
Definition code_800029B0.c:93
u8 * pAppNmiBuffer
Definition code_800029B0.c:61
u16 gIsGamePaused
Definition code_800029B0.c:60
f32 D_8015F704
Definition code_800029B0.c:109
Vec3f D_8015F708
Definition code_800029B0.c:110
u16 D_800DC5E4
Definition code_800029B0.c:50
s16 gCourseMinX
Definition code_800029B0.c:88
UNUSED u8 D_80162578[]
Definition code_800029B0.c:151
u16 gIsInQuitToMenuTransition
Definition code_800029B0.c:38
s32 D_800DC5AC
Definition code_800029B0.c:33
s16 D_8015F6F6
Definition code_800029B0.c:97
f32 D_8015F8E4
Definition code_800029B0.c:143
Vec3f D_8015F738
Definition code_800029B0.c:117
Vtx * vtxBuffer[]
Definition code_800029B0.c:85
s32 D_8015F5A4
Definition code_800029B0.c:83
f32 D_801625FC
Definition code_800029B0.c:159
uintptr_t gFreeMemoryResetAnchor
Definition code_800029B0.c:116
s16 sIsController1Unplugged
Definition code_800029B0.c:154
struct UnkStruct_800DC5EC * D_800DC5F8
Definition code_800029B0.c:59
s32 D_8015F8DC
Definition code_800029B0.c:140
f32 gCourseDirection
Definition code_800029B0.c:123
u16 D_800DC5CC
Definition code_800029B0.c:41
Vec3f D_8015F758
Definition code_800029B0.c:119
mk64_surface_map_ram * gSurfaceMap
Definition code_800029B0.c:74
u16 gQuitToMenuTransitionCounter
Definition code_800029B0.c:39
u16 D_8015F894
Definition code_800029B0.c:128
s16 D_8015F6F4
Definition code_800029B0.c:96
u16 D_8015F890
Definition code_800029B0.c:126
u16 gNumPermanentActors
Definition code_800029B0.c:146
struct UnkStruct_800DC5EC D_8015F480[4]
Definition code_800029B0.c:55
s32 D_8015F788
Definition code_800029B0.c:124
s32 D_8015F59C
Definition code_800029B0.c:81
s32 D_8015F8E0
Definition code_800029B0.c:142
u16 D_8015F702
Definition code_800029B0.c:108
u8 * gNmiUnknown3
Definition code_800029B0.c:134
u16 D_8015F588
Definition code_800029B0.c:76
f32 D_8015F8E8
Definition code_800029B0.c:144
s16 D_8015F6FC
Definition code_800029B0.c:100
s32 D_801625EC
Definition code_800029B0.c:155
s16 gCurrentlyLoadedCourseId
Definition code_800029B0.c:31
u16 D_800DC5B0
Definition code_800029B0.c:34
s32 D_8015F5A0
Definition code_800029B0.c:82
s32 D_800DC5D4
Definition code_800029B0.c:43
s32 D_8015F790[]
Definition code_800029B0.c:125
s16 gCreditsCourseId
Definition code_800029B0.c:70
s16 gPlayerPositionLUT[]
Definition code_800029B0.c:145
s32 D_801625F0
Definition code_800029B0.c:156
void func_800029B0(void)
Definition code_800029B0.c:161
Vec3f D_8015F778
Definition code_800029B0.c:121
u16 D_8015F892
Definition code_800029B0.c:127
struct UnkStruct_800DC5EC * D_800DC5F4
Definition code_800029B0.c:58
u16 * D_8015F584
Definition code_800029B0.c:75
s32 gPlayerWinningIndex
Definition code_800029B0.c:53
s32 D_801625F4
Definition code_800029B0.c:157
u8 * gNmiUnknown4
Definition code_800029B0.c:135
u16 D_800DC5A8
Definition code_800029B0.c:32
s32 D_801625F8
Definition code_800029B0.c:158
u16 D_800DC5C8
Definition code_800029B0.c:40
s32 D_800DC5E0
Definition code_800029B0.c:47
s16 gCourseMinY
Definition code_800029B0.c:91
void func_80002DAC(void)
Definition code_800029B0.c:248
size_t gFreeMemorySize
Definition code_800029B0.c:112
u16 gNumSpawnedShells
Definition code_800029B0.c:105
u32 D_8015F730
Definition code_800029B0.c:115
s32 D_800DC5D8
Definition code_800029B0.c:44
s32 gIsMirrorMode
Definition code_800029B0.c:63
s16 gPlaceItemBoxes
Definition code_800029B0.c:71
uintptr_t gHeapEndPtr
Definition code_800029B0.c:114
struct UnkStruct_800DC5EC * D_800DC5F0
Definition code_800029B0.c:57
f32 gTimePlayerLastTouchedFinishLine[]
Definition code_800029B0.c:130
u8 * gNmiUnknown5
Definition code_800029B0.c:136
void setup_race(void)
Definition code_800029B0.c:175
uintptr_t gNextFreeMemoryAddress
Definition code_800029B0.c:113
struct UnkStruct_800DC5EC * D_800DC5EC
Definition code_800029B0.c:56
s16 gCourseMaxX
Definition code_800029B0.c:87
u16 D_800DC5B4
Definition code_800029B0.c:35
u8 * gNmiUnknown1
Definition code_800029B0.c:132
Vec3f D_8015F768
Definition code_800029B0.c:120
Vec3f D_8015F8D0
Definition code_800029B0.c:139
u16 D_8015F700
Definition code_800029B0.c:107
u16 D_800DC5BC
Definition code_800029B0.c:37
s16 D_8015F6FA
Definition code_800029B0.c:99
u16 D_800DC5B8
Definition code_800029B0.c:36
UNUSED u32 D_8015F718[3]
Definition code_800029B0.c:111
void func_80003040(void)
Definition code_800029B0.c:295
Vec3f D_8015F590
Definition code_800029B0.c:80
u16 D_8015F58A
Definition code_800029B0.c:77
u16 D_8015F6F8
Definition code_800029B0.c:98
u8 * gNmiUnknown6
Definition code_800029B0.c:137
s16 gDebugPathCount
Definition code_800029B0.c:153
Vec3f D_8015F748
Definition code_800029B0.c:118
f32 Vec3f[3]
Definition common_structs.h:6
#define UNUSED
Definition macros.h:24
Definition types.h:54
Definition common_structs.h:176
signed int s32
Definition ultratypes.h:15
unsigned int u32
Definition ultratypes.h:16
signed short int s16
Definition ultratypes.h:13
float f32
Definition ultratypes.h:33
unsigned short int u16
Definition ultratypes.h:14
unsigned char u8
Definition ultratypes.h:12