7 #define MESG_SP_COMPLETE 100
8 #define MESG_DP_COMPLETE 101
9 #define MESG_VI_VBLANK 102
10 #define MESG_START_GFX_SPTASK 103
11 #define MESG_NMI_REQUEST 104
13 #define MTX_HUD_POOL_SIZE 800
16 #define MTX_HUD_POOL_SIZE_MAX MTX_HUD_POOL_SIZE
18 #define MTX_HUD_POOL_SIZE_MAX MTX_HUD_POOL_SIZE - 50
21 #define MTX_OBJECT_POOL_SIZE 128
26 #define MTX_SHADOW_POOL_SIZE 8 * 4
31 #define MTX_KART_POOL_SIZE 8 * 4
33 #define MTX_EFFECT_POOL_SIZE 660
37 #define MTX_EFFECT_POOL_SIZE_MAX MTX_EFFECT_POOL_SIZE
39 #define MTX_EFFECT_POOL_SIZE_MAX MTX_EFFECT_POOL_SIZE + 100
42 #define GFX_POOL_SIZE 7500
208 #ifndef STRANGE_MAIN_HEADER_H
f32 Mat4[4][4]
Definition: common_structs.h:13
unsigned long long int u64
Definition: llconv.c:2
#define ALIGNED8
Definition: macros.h:45
OSMesg gPIMesgBuf[]
Definition: main.c:165
Player * gPlayerOne
Definition: main.c:71
void init_segment_racing(void)
Definition: main.c:482
OSMesgQueue gDmaMesgQueue
Definition: main.c:92
void dispatch_audio_sptask(struct SPTask *)
Definition: main.c:373
struct SPTask * sNextDisplaySPTask
Definition: main.c:57
u64 rspbootTextEnd[]
Definition: main.h:234
OSMesg gDmaMesgBuf[]
Definition: main.c:95
OSMesg gSIEventMesgBuf[]
Definition: main.c:102
struct Controller * gControllerTwo
Definition: main.c:62
void interrupt_gfx_sptask(void)
Definition: main.c:909
Gfx * gDisplayListHead
Definition: main.c:134
void func_80002600(void)
Definition: main.c:1105
OSMesgQueue unused_gMsgQueue
Definition: main.h:146
OSMesgQueue gGameVblankQueue
Definition: main.h:146
s32 D_800DC544
Definition: main.c:184
Player * gPlayerTwoCopy
Definition: main.c:81
void thread4_audio(void *)
u32 gGfxSPTaskOutputBufferSize
Definition: gfx_output_buffer.c:6
s32 D_80150120
Definition: main.c:117
struct UnkStruct_8015F584 D_8014F110[]
Definition: main.c:109
f32 D_80150150
Definition: main.c:129
OSMesg gGfxMesgBuf[]
Definition: main.c:96
void func_8000262C(void)
Definition: main.c:1111
OSIoMesg gDmaIoMesg
Definition: main.c:100
u64 gspF3DLXTextEnd[]
Definition: main.h:236
void receive_new_tasks(void)
Definition: main.c:916
s32 padding[]
Definition: main.c:144
f32 D_80150118
Definition: main.c:113
void thread3_video(void *)
struct D_80150158 gD_80150158[]
Definition: main.c:132
Player * gPlayerSix
Definition: main.c:76
u16 wasSoftReset
Definition: main.c:114
f32 gCourseTimer
Definition: main.c:199
#define MTX_OBJECT_POOL_SIZE
Definition: main.h:21
s16 sNumVBlanks
Definition: main.c:196
void exec_display_list(struct SPTask *)
Definition: main.c:378
u16 sRenderingFramebuffer
Definition: main.c:192
void func_80002658(void)
Definition: main.c:1117
#define MTX_EFFECT_POOL_SIZE
Definition: main.h:33
#define MTX_KART_POOL_SIZE
Definition: main.h:31
s32 D_800DC540
Definition: main.c:183
u8 _data_segment2SegmentRomStart[]
struct SPTask * sNextAudioSPTask
Definition: main.c:56
s32 gGlobalTimer
Definition: main.c:186
OSMesgQueue gPIMesgQueue
Definition: main.c:166
u8 _data_segment2SegmentRomEnd[]
u64 gGfxSPTaskOutputBuffer[]
Definition: gfx_output_buffer.c:4
void handle_dp_complete(void)
Definition: main.c:1002
u8 _common_texturesSegmentRomEnd[]
s32 D_801502A0
Definition: main.c:136
OSMesg gMainReceivedMesg
Definition: main.c:99
void start_sptask(s32)
Definition: main.c:256
struct Controller * gControllerThree
Definition: main.c:63
void main_func(void)
Definition: main.c:207
u16 * gPhysicalFramebuffers[]
Definition: main.c:138
Mat4 D_801502C0
Definition: main.c:142
void read_controllers(void)
Definition: main.c:351
OSContStatus gControllerStatuses[]
Definition: main.c:104
struct Controller * gControllerFour
Definition: main.c:64
s32 D_800DC510
Definition: main.c:170
u32 D_801502B4
Definition: main.c:139
u16 D_80152308
Definition: main.c:147
s32 gGamestateNext
Definition: main.c:175
s32 gfxPool_padding
Definition: main.c:89
Player * gPlayerFour
Definition: main.c:74
Player * gPlayerOneCopy
Definition: main.c:80
void end_master_display_list(void)
Definition: main.c:405
struct Controller gControllers[]
Definition: main.c:60
void dma_copy(u8 *, u8 *, u32)
Definition: main.c:490
struct VblankHandler sSoundVblankHandler
Definition: main.c:91
void * clear_framebuffer(s32)
TODO: Why did void* work for matching.
Definition: main.c:413
void func_80000BEC(void)
Definition: main.c:369
s32 gPlayerCountSelection1
Definition: main.c:180
f32 D_80150148
Definition: main.c:127
OSMesgQueue gSPTaskMesgQueue
Definition: main.h:146
void handle_vblank(void)
Definition: main.c:963
void game_init_clear_framebuffer(void)
Definition: main.c:558
ALIGNED8 u8 gGameLoopThreadStack[]
Definition: main.c:157
u8 gGfxSPTaskYieldBuffer[]
Definition: main.c:163
void thread1_idle(void *)
Definition: main.c:222
Player * gPlayerFive
Definition: main.c:75
s32 gScreenModeSelection
Definition: main.c:178
OSMesg sSoundMesgBuf[]
Definition: main.c:94
OSMesgQueue gGfxVblankQueue
Definition: main.h:146
u16 D_8015011E
Definition: main.c:115
OSMesg gGameMesgBuf
Definition: main.h:149
s32 gMenuSelectionFromQuit
Definition: main.c:118
void func_800025D4(void)
Definition: main.c:1099
void setup_game_memory(void)
Definition: main.c:509
Player * gPlayerTwo
Definition: main.c:72
#define GFX_POOL_SIZE
Definition: main.h:42
u16 gNumActors
Definition: main.c:110
#define MTX_SHADOW_POOL_SIZE
Definition: main.h:26
struct SPTask * gGfxSPTask
Definition: main.c:135
Player gPlayers[]
Definition: main.c:70
void config_gfx_pool(void)
Definition: main.c:441
OSMesg gIntrMesgBuf[]
Definition: main.c:98
struct Controller * gControllerFive
Definition: main.c:65
s32 gGamestate
Definition: main.c:168
ALIGNED8 u8 gIdleThreadStack[]
Definition: main.c:151
u8 _data_802BA370SegmentRomStart[]
s32 D_801502A4
Definition: main.c:137
struct Controller * gControllerSeven
Definition: main.c:67
struct GfxPool * gGfxPool
Definition: main.c:87
void init_segment_ending_sequences(void)
Definition: main.c:474
OSThread gGameLoopThread
Definition: main.c:156
void display_and_vsync(void)
Definition: main.c:454
u16 gMatrixObjectCount
Definition: main.c:111
s32 D_800DC568
Definition: main.c:194
struct GfxPool gGfxPools[]
Definition: main.c:86
void update_controller(s32)
Definition: main.c:315
struct VblankHandler * gVblankHandler2
Definition: main.c:51
OSMesgQueue sSoundMesgQueue
Definition: main.c:93
Player * gPlayerSeven
Definition: main.c:77
void rendering_init(void)
Definition: main.c:428
OSThread gVideoThread
Definition: main.c:152
struct SPTask * sCurrentAudioSPTask
Definition: main.c:54
u64 gspF3DEXTextEnd[]
Definition: main.h:235
void create_gfx_task_structure(void)
Definition: main.c:271
s32 gTickSpeed
Definition: main.c:112
s32 D_800FD850[]
Definition: main.c:85
u8 _common_texturesSegmentRomStart[]
OSMesgQueue gIntrMesgQueue
Definition: main.h:146
void handle_sp_complete(void)
Definition: main.c:1012
#define MTX_HUD_POOL_SIZE
Definition: main.h:13
struct SPTask * sCurrentDisplaySPTask
Definition: main.c:55
Player * gPlayerEight
Definition: main.c:78
struct SPTask * gActiveSPTask
Definition: main.c:53
OSContPad gControllerPads[]
Definition: main.c:106
struct Controller * gControllerSix
Definition: main.c:66
u16 D_80152300[]
Definition: main.c:146
void update_gamestate(void)
Definition: main.c:1128
s32 gCCSelection
Definition: main.c:185
u16 gDemoMode
Definition: main.c:173
s32 D_800DC56C[]
Definition: main.c:195
struct VblankHandler gGameVblankHandler
Definition: main.c:90
u32 gGfxSPTaskStack[]
Definition: main.c:164
void thread5_game_loop(void *)
u16 gEnableDebugMode
Definition: main.c:174
void set_vblank_handler(s32, struct VblankHandler *, OSMesgQueue *, OSMesg *)
Definition: main.c:942
s32 gActiveScreenMode
Definition: main.c:177
void setup_mesg_queues(void)
Definition: main.c:247
struct Controller * gControllerEight
Definition: main.c:68
void game_state_handler(void)
Definition: main.c:865
OSMesg gSPTaskMesgBuf[]
Definition: main.h:151
ALIGNED8 u8 gAudioThreadStack[]
Definition: main.c:159
struct VblankHandler * gVblankHandler1
Definition: main.c:50
u16 creditsRenderMode
Definition: main.c:172
void init_controllers(void)
Definition: main.c:304
Player * gPlayerThree
Definition: main.c:73
OSMesgQueue gSIEventMesgQueue
Definition: main.c:101
f32 gVBlankTimer
Definition: main.c:198
OSThread gAudioThread
Definition: main.c:158
u16 sRenderedFramebuffer
Definition: main.c:191
uintptr_t gSegmentTable[]
Definition: main.c:133
struct Controller * gControllerOne
Definition: main.c:61
void start_gfx_sptask(void)
Definition: main.c:955
f32 gCameraZoom[]
Definition: main.c:121
f32 D_8015014C
Definition: main.c:128
OSThread gIdleThread
Definition: main.c:150
ALIGNED8 u8 gVideoThreadStack[]
Definition: main.c:153
void create_thread(OSThread *, OSId, void(*entry)(void *), void *, void *, OSPri)
Definition: main.c:201
u8 gControllerBits
Definition: main.c:107
s32 gModeSelection
Definition: main.c:182
void init_rcp(void)
Definition: main.c:394
void race_logic_loop(void)
Definition: main.c:563
s32 OSId
Definition: os_thread.h:22
s32 OSPri
Definition: os_thread.h:21
Mtx mtxHud[MTX_HUD_POOL_SIZE]
Definition: main.h:50
Mtx mtxLookAt[4]
Definition: main.h:49
Mtx mtxKart[MTX_KART_POOL_SIZE]
Definition: main.h:53
Mtx mtxObject[MTX_OBJECT_POOL_SIZE]
Definition: main.h:51
Mtx mtxEffect[MTX_EFFECT_POOL_SIZE]
Definition: main.h:54
Mtx mtxPersp[4]
Definition: main.h:46
struct SPTask spTask
Definition: main.h:57
Gfx gfxPool[GFX_POOL_SIZE]
Definition: main.h:56
Mtx mtxOrtho
Definition: main.h:47
Mtx mtxShadow[MTX_SHADOW_POOL_SIZE]
Definition: main.h:52
Mtx mtxUnk
Definition: main.h:48
Mtx mtxScreen
Definition: main.h:45
Mtx mtxArr[4]
Definition: main.h:55
Definition: os_thread.h:51
Definition: common_structs.h:247
u16 unk0
Definition: main.h:61
u16 unk2
Definition: main.h:62
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