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