Paper Mario DX
Paper Mario (N64) modding
 
Loading...
Searching...
No Matches
main.c File Reference

Go to the source code of this file.

Enumerations

enum  { RESET_STATE_NONE = 0 , RESET_STATE_INIT = 1 , RESET_STATE_FADE = 2 }
 

Functions

u8 nuBootStack[0x2000] ALIGNED (8)
 
unsigned char D_800B32E0[0x800] ALIGNED (16)
 
void gfxRetrace_Callback (s32)
 
void gfxPreNMI_Callback (void)
 
void appendGfx_reset_tile_pattern (void)
 
void gfx_draw_frame (void)
 
void gfx_init_state (void)
 
void create_audio_system (void)
 
void load_engine_data (void)
 
void gfx_task_end_callback (void *unk)
 
void boot_main (void *data)
 

Variables

u8 nuYieldBuf [NU_GFX_YIELD_BUF_SIZE]
 
OSThread __osThreadSave
 
s16 D_80074010 = 8
 
s32 ResetGameState
 
u16 * ResetSavedFrameImg
 
s16 D_80073E08
 
s16 D_80073E0A
 
IMG_BIN ResetTilesImg []
 
DisplayContext DisplayContexts [2]
 
u16 * ResetFrameBufferArray
 
u16 * nuGfxZBuffer
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
RESET_STATE_NONE 
RESET_STATE_INIT 
RESET_STATE_FADE 

Definition at line 26 of file main.c.

26 {
30};
@ RESET_STATE_FADE
Definition main.c:29
@ RESET_STATE_NONE
Definition main.c:27
@ RESET_STATE_INIT
Definition main.c:28

Function Documentation

◆ ALIGNED() [1/2]

u8 nuBootStack[0x2000] ALIGNED ( 8 )

◆ ALIGNED() [2/2]

unsigned char D_800B32E0[0x800] ALIGNED ( 16 )

◆ gfxRetrace_Callback()

void gfxRetrace_Callback ( s32 gfxTaskNum)

Definition at line 98 of file main.c.

98 {
102 nuGfxTaskAllEndWait();
103 if (gfxTaskNum == 0) {
104 u16* fb = (u16*) osViGetCurrentFramebuffer();
105 u16** bufferSet = &ResetFrameBufferArray;
106
107 bufferSet[2] = fb;
108 bufferSet[1] = fb;
109 bufferSet[0] = fb;
111 nuGfxSetCfb(&ResetFrameBufferArray, 3);
112 osViSwapBuffer(ResetFrameBufferArray);
114 }
115 }
118 }
119 } else {
120 D_80073E0A ^= 1;
121 if (D_80073E0A == 0) {
123 D_80073E08 = 1;
124
125 if (gfxTaskNum < 3) {
126 D_80073E08 = 0;
129 }
130 }
131 }
132}
void gfx_task_background(void)
Definition main_loop.c:169
void step_game_loop(void)
Definition main_loop.c:54
s16 D_80073E0A
Definition main_pre.c:7
s16 D_80073E08
Definition main_pre.c:6
void gfx_draw_frame(void)
Definition main_loop.c:187
s32 ResetGameState
Definition main_pre.c:4
void appendGfx_reset_tile_pattern(void)
Definition main.c:135
u16 * ResetSavedFrameImg
Definition main_pre.c:5
u16 * ResetFrameBufferArray
Definition main.c:45
@ PROFILER_RSP_GFX
Definition profiling.h:98
#define profiler_rsp_started(which)
Definition profiling.h:160

Referenced by boot_main().

◆ gfxPreNMI_Callback()

void gfxPreNMI_Callback ( void )

Definition at line 206 of file main.c.

206 {
208 nuContRmbForceStop();
209}

Referenced by boot_main().

◆ appendGfx_reset_tile_pattern()

void appendGfx_reset_tile_pattern ( void )

Definition at line 135 of file main.c.

135 {
136 s16 t;
137 s16 i;
138 s16 j;
139 u16* frozenFrame;
140
141 gMatrixListPos = 0;
144 frozenFrame = ResetSavedFrameImg;
146
147 gDPSetDepthImage(gMainGfxPos++, OS_K0_TO_PHYSICAL(nuGfxZBuffer));
148 gDPSetColorImage(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, osVirtualToPhysical(frozenFrame));
149 gDPSetScissor(gMainGfxPos++, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
150 gSPTexture(gMainGfxPos++, -1, -1, 0, G_TX_RENDERTILE, G_ON);
151 gDPSetCycleType(gMainGfxPos++, G_CYC_1CYCLE);
152 gDPSetTexturePersp(gMainGfxPos++, G_TP_NONE);
153 gDPSetTextureLUT(gMainGfxPos++, G_TT_NONE);
154 gDPSetRenderMode(gMainGfxPos++, G_RM_OPA_SURF, G_RM_OPA_SURF2);
155 gDPSetTextureFilter(gMainGfxPos++, G_TF_POINT);
156 gDPSetCombineMode(gMainGfxPos++, PM_CC_RESET_TILES, PM_CC_RESET_TILES);
157 gDPSetAlphaCompare(gMainGfxPos++, G_AC_THRESHOLD);
158 gDPSetBlendColor(gMainGfxPos++, 0, 0, 0, 127);
159 gDPLoadTextureTile_4b(gMainGfxPos++, ResetTilesImg, G_IM_FMT_I, 128, 8, 0, 0, 127, 7, 0, G_TX_NOMIRROR | G_TX_WRAP,
160 G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
161
162 for (i = 0; i < 20; i++) {
163 for (j = 0; j < 15; j++) {
164 s32 s4 = i + 14;
165 t = (33 - (s4 - j)) / 2 + 15 - D_80074010;
166 if (t >= 16) {
167 continue;
168 }
169 if (t < 0) {
170 continue;
171 }
172 gSPTextureRectangle(gMainGfxPos++, ((i * 8) + 160) * 4,
173 ((j * 8)) * 4,
174 ((i * 8) + 168) * 4,
175 ((j * 8) + 8) * 4,
176 G_TX_RENDERTILE,
177 (t * 8) * 32, 0, 0x0400, 0x0400);
178 gSPTextureRectangle(gMainGfxPos++, ((i * 8) + 160) * 4,
179 (232 - (j * 8)) * 4,
180 ((i * 8) + 168) * 4,
181 (240 - (j * 8)) * 4,
182 G_TX_RENDERTILE,
183 (t * 8) * 32, 7 * 32, 0x0400, -0x0400);
184 gSPTextureRectangle(gMainGfxPos++, (152 - (i * 8)) * 4,
185 ((j * 8)) * 4,
186 (160 - (i * 8)) * 4,
187 ((j * 8) + 8) * 4,
188 G_TX_RENDERTILE,
189 (t * 8 + 7) * 32, 0, -0x0400, 0x0400);
190 gSPTextureRectangle(gMainGfxPos++, (152 - (i * 8)) * 4,
191 (232 - (j * 8)) * 4,
192 (160 - (i * 8)) * 4,
193 (240 - (j * 8)) * 4,
194 G_TX_RENDERTILE,
195 (t * 8 + 7) * 32, 7 * 32, -0x0400, -0x0400);
196 }
197 }
198
199 D_80074010++;
200 gDPFullSync(gMainGfxPos++);
201 gSPEndDisplayList(gMainGfxPos++);
202 nuGfxTaskStart(gDisplayContext->mainGfx, (u32)(gMainGfxPos - gDisplayContext->mainGfx) * 8, NU_GFX_UCODE_F3DEX, NU_SC_TASK_LODABLE);
204}
Gfx mainGfx[0x2080]
DisplayContext DisplayContexts[2]
Definition main_loop.c:16
void gfx_init_state(void)
u16 * nuGfxZBuffer
Definition main.c:46
s16 D_80074010
Definition main.c:14
IMG_BIN ResetTilesImg[]
#define SCREEN_WIDTH
Definition macros.h:105
#define SCREEN_HEIGHT
Definition macros.h:106
#define PM_CC_RESET_TILES
Definition macros.h:413
Gfx * gMainGfxPos
Definition cam_main.c:15
u16 gMatrixListPos
Definition main_loop.c:45
s32 gCurrentDisplayContextIndex
Definition main_loop.c:47
DisplayContext * gDisplayContext
Definition cam_main.c:16

Referenced by gfxRetrace_Callback().

◆ gfx_draw_frame()

void gfx_draw_frame ( void )

Definition at line 187 of file main_loop.c.

187 {
188 profiler_gfx_started();
189
190 gMatrixListPos = 0;
192
195 return;
196 }
197
198 gSPMatrix(gMainGfxPos++, &MasterIdentityMtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
199
201
203
205 render_frame(FALSE);
206 }
207
210
217
220 }
221
223
225 render_frame(TRUE);
226 }
227
230 ) {
232 }
233
237
240 ) {
242 }
243
245
248 }
249
252 }
253
255
257 switch (SoftResetState) {
258 case 0:
259 case 1:
261 break;
262 }
263 }
264
266
267 profiler_gfx_completed();
269
270 #if DX_DEBUG_MENU
271 dx_debug_console_main();
272 #endif
273
275
276 gDPFullSync(gMainGfxPos++);
277 gSPEndDisplayList(gMainGfxPos++);
278
279 nuGfxTaskStart(gDisplayContext->mainGfx, (u32)(gMainGfxPos - gDisplayContext->mainGfx) * 8, NU_GFX_UCODE_F3DEX2,
280 NU_SC_TASK_LODABLE | NU_SC_SWAPBUFFER);
283}
u16 * nuGfxCfb_ptr
Definition cam_main.c:14
#define ASSERT(condition)
@ OVERLAY_SCREEN_MARIO
Definition enums.h:2395
@ DEBUG_SCRIPTS_NONE
Definition enums.h:4275
@ GLOBAL_OVERRIDES_MESSAGES_OVER_FRONTUI
Definition enums.h:4323
@ GLOBAL_OVERRIDES_SOFT_RESET
Definition enums.h:4324
@ GLOBAL_OVERRIDES_MESSAGES_OVER_CURTAINS
Definition enums.h:4338
@ GLOBAL_OVERRIDES_DISABLE_RENDER_WORLD
Definition enums.h:4321
@ GLOBAL_OVERRIDES_WINDOWS_OVER_CURTAINS
Definition enums.h:4335
@ GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME
Definition enums.h:4322
void render_workers_frontUI(void)
Definition worker.c:150
void render_screen_overlay_backUI(void)
void func_802C3EE4(void)
void render_messages(void)
Definition msg.c:568
void render_workers_backUI(void)
Definition worker.c:163
void player_render_interact_prompts(void)
Definition 77480.c:1028
void render_curtains(void)
Definition curtains.c:223
void crash_screen_set_draw_info(u16 *frameBufPtr, s16 width, s16 height)
void render_frame(s32 flag)
Definition cam_main.c:91
void render_window_root(void)
Definition windows.c:347
void render_screen_overlay_frontUI(void)
void render_effects_UI(void)
Definition effects.c:136
void render_game_mode_backUI(void)
Definition game_modes.c:172
void render_game_mode_frontUI(void)
Definition game_modes.c:180
void render_hud_elements_frontUI(void)
void render_hud_elements_backUI(void)
s16 SoftResetOverlayAlpha
Definition main_loop.c:33
s32 gOverrideFlags
Definition main_loop.c:11
GameStatus * gGameStatusPtr
Definition main_loop.c:32
s16 SoftResetState
Definition main_loop.c:34
u16 gMatrixListPos
Definition main_loop.c:45
s32 gCurrentDisplayContextIndex
Definition main_loop.c:47
Mtx MasterIdentityMtx
Definition main_loop.c:37
void _render_transition_stencil(u8, f32, ScreenOverlay *)
#define GFX_PROFILER_SWITCH(complete, begin)
Definition profiling.h:212
@ PROFILER_TIME_SUB_GFX_HUD_ELEMENTS
Definition profiling.h:67
@ PROFILER_TIME_SUB_GFX_BACK_UI
Definition profiling.h:67
@ PROFILER_TIME_SUB_GFX_FRONT_UI
Definition profiling.h:67
@ PROFILER_TIME_SUB_GFX_UPDATE
Definition profiling.h:67
#define profiler_print_times()
Definition profiling.h:158
#define GFX_PROFILER_COMPLETE(which)
Definition profiling.h:217
#define ARRAY_COUNT(arr)
Definition macros.h:40
void spr_render_init(void)
Definition sprite.c:814

Referenced by gfxRetrace_Callback().

◆ gfx_init_state()

void gfx_init_state ( void )

Definition at line 34 of file background_gfx.c.

34 {
35 gSPSegment(gMainGfxPos++, 0x00, 0x0);
36 gSPDisplayList(gMainGfxPos++, OS_K0_TO_PHYSICAL(D_80074230));
37 gSPDisplayList(gMainGfxPos++, OS_K0_TO_PHYSICAL(D_80074210));
38}
Gfx D_80074230[]
Gfx D_80074210[]

Referenced by appendGfx_reset_tile_pattern().

◆ create_audio_system()

void create_audio_system ( void )

Definition at line 39 of file 25f00_len_940.c.

39 {
40 u32 i;
41 u32 outputRate, frameSize;
42 ALConfig config;
43
44 nuAuTaskStop = NU_AU_TASK_RUN;
45 nuAuPreNMI = 0;
47 config.num_pvoice = 24;
48 config.num_bus = 4;
49 outputRate = osAiSetFrequency(32000);
50 frameSize = (nusched.retraceCount * outputRate + 59) / 60;
51 config.outputRate = outputRate;
52 config.unk_0C = 0;
53 config.heap = &nuAuHeap;
54 config.dmaNew = nuAuDmaNew;
55 AlFrameSize = ((frameSize / AUDIO_SAMPLES) + 1) * AUDIO_SAMPLES;
57
58 for (i = 0; i < ARRAY_COUNT(AlCmdListBuffers); i++) {
60 }
61
62 for (i = 0; i < ARRAY_COUNT(nuAuTasks); i++) {
63 nuAuTasks[i].next = NULL;
64 nuAuTasks[i].msg = 0;
65 nuAuTasks[i].list.t.type = M_AUDTASK;
66#if VERSION_IQUE
67 nuAuTasks[i].list.t.ucode_boot = (u64*) rspbootTextStart;
68 nuAuTasks[i].list.t.ucode_boot_size = (u32) rspbootTextEnd - (u32) rspbootTextStart;
69#else
70 nuAuTasks[i].list.t.ucode_boot = (u64*) rspbootUcodeBuffer;
71 nuAuTasks[i].list.t.ucode_boot_size = 0x100;
72#endif
73 nuAuTasks[i].list.t.ucode = n_aspMain_text_bin;
74 nuAuTasks[i].list.t.ucode_data = n_aspMain_data_bin;
75 nuAuTasks[i].list.t.ucode_data_size = SP_UCODE_DATA_SIZE;
76 nuAuTasks[i].list.t.dram_stack = NULL;
77 nuAuTasks[i].list.t.dram_stack_size = 0;
78 nuAuTasks[i].list.t.output_buff = NULL;
79 nuAuTasks[i].list.t.output_buff_size = 0;
80 nuAuTasks[i].list.t.yield_data_ptr = NULL;
81 nuAuTasks[i].list.t.yield_data_size = 0;
82 }
83
84 for (i = 0; i < ARRAY_COUNT(D_800A3628); i++) {
85 D_800A3628[i] = alHeapAlloc(config.heap, 1, AlFrameSize * 4);
86 }
87
88 nuAuDmaBufList[0].node.next = nuAuDmaBufList[0].node.prev = NULL;
89 for (i = 0; i < ARRAY_COUNT(nuAuDmaBufList) - 1; i++) {
90 alLink(&nuAuDmaBufList[i+1].node, &nuAuDmaBufList[i].node);
91 nuAuDmaBufList[i].ptr = alHeapAlloc(config.heap, 1, 0x500);
92 }
93 nuAuDmaBufList[i].ptr = alHeapAlloc(config.heap, 1, 0x500);
94
95 osCreateMesgQueue(&nuAuDmaMesgQ, nuAuDmaMesgBuf, 50);
97 au_driver_init(&auSynDriver, &config);
99 osCreateThread(&nuAuMgrThread, NU_MAIN_THREAD_ID, nuAuMgr, NULL, &AuStack[NU_AU_STACK_SIZE / sizeof(u64)], NU_AU_MGR_THREAD_PRI); //why main thread?
100 osStartThread(&nuAuMgrThread);
101}
BSS OSThread nuAuMgrThread
u8 AuHeapBase[AUDIO_HEAP_SIZE]
u8 nuAuPreNMI
u64 n_aspMain_data_bin[]
AuSynDriver auSynDriver
BSS NUDMABuffer nuAuDmaBufList[50]
ALHeap nuAuHeap
void alLink(ALLink *element, ALLink *after)
BSS NUScTask nuAuTasks[3]
BSS s32 AlFrameSize
void nuAuPreNMIProc(NUScMsg mesg_type, u32 frameCounter)
BSS OSMesg nuAuDmaMesgBuf[50]
BSS u8 * D_800A3628[3]
void nuAuMgr(void *arg)
BSS u64 AuStack[NU_AU_STACK_SIZE/sizeof(u64)]
u64 n_aspMain_text_bin[]
BSS s32 AlMinFrameSize
u8 nuAuTaskStop
ALDMAproc nuAuDmaNew(NUDMAState **state)
NUAuPreNMIFunc nuAuPreNMIFunc
BSS Acmd * AlCmdListBuffers[3]
BSS OSMesgQueue nuAuDmaMesgQ
void au_engine_init(s32 outputRate)
void au_driver_init(AuSynDriver *driver, ALConfig *config)
Definition 31650.c:25
void alHeapInit(ALHeap *hp, u8 *base, s32 len)
Definition 31650.c:725
void * alHeapAlloc(ALHeap *heap, s32 count, s32 size)
Definition 31650.c:743
ALHeap * heap
Definition audio.h:1186
s32 num_pvoice
Definition audio.h:1180
#define AUDIO_HEAP_SIZE
Definition audio.h:42
void * dmaNew
Definition audio.h:1185
u8 unk_0C
Definition audio.h:1183
#define AUDIO_SAMPLES
Definition audio.h:44
s32 outputRate
Definition audio.h:1182
#define AUDIO_COMMAND_LIST_BUFFER_SIZE
Definition audio.h:45
s32 num_bus
Definition audio.h:1181

Referenced by create_audio_system_obfuscated().

◆ load_engine_data()

void load_engine_data ( void )

Definition at line 285 of file main_loop.c.

285 {
286 s32 i;
287
288 DMA_COPY_SEGMENT(engine4);
289 DMA_COPY_SEGMENT(engine1);
290 DMA_COPY_SEGMENT(evt);
291 DMA_COPY_SEGMENT(entity);
292 DMA_COPY_SEGMENT(engine2);
293 DMA_COPY_SEGMENT(font_width);
294
295 gOverrideFlags = 0;
326 clear_npcs();
329 clear_entity_data(FALSE);
341 poll_rumble();
342
343 for (i = 0; i < ARRAY_COUNT(gGameStatusPtr->unk_50); i++) {
344 gGameStatusPtr->unk_50[i] = 3;
345 gGameStatusPtr->unk_48[i] = 12;
346 }
347
350}
Vec2b altViewportOffset
@ INTRO_PART_NONE
Definition enums.h:3556
@ TIME_FREEZE_NONE
Definition enums.h:3464
@ PLAYER_SPRITES_MARIO_WORLD
Definition enums.h:6346
void clear_script_list(void)
void clear_item_entity_data(void)
void create_cameras(void)
Definition cam_main.c:255
void clear_animator_list(void)
Definition animator.c:222
void clear_saved_variables(void)
Definition vars_access.c:5
void clear_screen_overlays(void)
void initialize_curtains(void)
Definition curtains.c:212
void clear_render_tasks(void)
Definition model.c:4536
void clear_model_data(void)
Definition model.c:2364
void clear_trigger_data(void)
Definition trigger.c:13
void clear_character_set(void)
Definition msg.c:192
void clear_sprite_shading_data(void)
void clear_entity_data(b32)
Definition entity.c:787
void func_80028838(void)
Definition input.c:23
void clear_printers(void)
Definition msg.c:196
void clear_player_status(void)
Definition 77480.c:807
void clear_effect_data(void)
Definition effects.c:37
HeapNode * general_heap_create(void)
Definition heap.c:6
void clear_worker_list(void)
Definition worker.c:10
void reset_ambient_sounds(void)
Definition ambience.c:28
void clear_windows(void)
Definition windows.c:135
void clear_player_data(void)
Definition inventory.c:49
void bgm_reset_sequence_players(void)
void clear_entity_models(void)
void reset_background_settings(void)
Definition background.c:33
void poll_rumble(void)
Definition rumble.c:10
void fio_init_flash(void)
Definition fio.c:232
void clear_game_mode(void)
Definition game_modes.c:150
void set_game_mode(s32 modeID)
Definition game_modes.c:127
@ GAME_MODE_STARTUP
Definition game_modes.h:7
void hud_element_clear_cache(void)
s8 gGameStepDelayCount
Definition main_loop.c:19
s32 gTimeFreezeMode
Definition main_loop.c:12
void clear_npcs(void)
Definition npc.c:60
void init_encounter_status(void)
Definition npc.c:2191
void sfx_clear_sounds(void)
Definition sfx.c:304
#define DMA_COPY_SEGMENT(segment)
Definition macros.h:525
void spr_init_sprites(s32 playerSpriteSet)
Definition sprite.c:764

Referenced by load_engine_data_obfuscated().

◆ gfx_task_end_callback()

void gfx_task_end_callback ( void * unk)

Definition at line 48 of file main.c.

48 {
50}
#define profiler_rsp_completed(which)
Definition profiling.h:161

Referenced by boot_main().

◆ boot_main()

void boot_main ( void * data)

Definition at line 52 of file main.c.

52 {
53#if VERSION_JP
54 if (osTvType == OS_TV_NTSC) {
55 nuGfxDisplayOff();
56 osViSetMode(&osViModeNtscLan1);
57 osViSetSpecialFeatures(OS_VI_GAMMA_OFF | OS_VI_GAMMA_DITHER_OFF | OS_VI_DIVOT_ON | OS_VI_DITHER_FILTER_ON);
58 nuGfxDisplayOff();
59 } else {
60 PANIC();
61 }
62#else // not VERSION_JP
63 if (osTvType == OS_TV_NTSC) {
64 osViSetMode(&osViModeNtscLan1);
65 osViSetSpecialFeatures(OS_VI_GAMMA_OFF | OS_VI_GAMMA_DITHER_OFF | OS_VI_DIVOT_ON | OS_VI_DITHER_FILTER_ON);
66 } else if (osTvType == OS_TV_MPAL) {
67 osViSetMode(&osViModeMpalLan1);
68 osViSetSpecialFeatures(OS_VI_GAMMA_OFF | OS_VI_GAMMA_DITHER_OFF | OS_VI_DIVOT_ON | OS_VI_DITHER_FILTER_ON);
69 } else {
70 PANIC();
71 }
72
73 nuGfxDisplayOff();
75#endif
76
77#if !VERSION_IQUE
79#endif
80 nuGfxInit();
81 gGameStatusPtr->contBitPattern = nuContInit();
82
83#if !VERSION_IQUE
85#endif
88
89 nuGfxFuncSet((NUGfxFunc) gfxRetrace_Callback);
90 nuGfxPreNMIFuncSet(gfxPreNMI_Callback);
91 nuGfxTaskEndFunc = gfx_task_end_callback;
92 gRandSeed += osGetCount();
93 nuGfxDisplayOn();
94
95 while (TRUE) {}
96}
void is_debug_init(void)
Definition is_debug.c:19
void load_obfuscation_shims(void)
void shim_create_audio_system_obfuscated(void)
void shim_load_engine_data_obfuscated(void)
void crash_screen_init(void)
void gfxPreNMI_Callback(void)
Definition main.c:206
void gfxRetrace_Callback(s32)
Definition main.c:98
void gfx_task_end_callback(void *unk)
Definition main.c:48
#define PANIC()
Definition macros.h:55
GameStatus * gGameStatusPtr
Definition main_loop.c:32
u32 gRandSeed
Definition 43F0.c:28

Variable Documentation

◆ nuYieldBuf

u8 nuYieldBuf[NU_GFX_YIELD_BUF_SIZE]

Definition at line 6 of file main.c.

◆ __osThreadSave

OSThread __osThreadSave

Definition at line 7 of file main.c.

◆ D_80074010

s16 D_80074010 = 8

Definition at line 14 of file main.c.

Referenced by appendGfx_reset_tile_pattern().

◆ ResetGameState

s32 ResetGameState
extern

Definition at line 4 of file main_pre.c.

Referenced by gfxPreNMI_Callback(), and gfxRetrace_Callback().

◆ ResetSavedFrameImg

u16* ResetSavedFrameImg
extern

Definition at line 5 of file main_pre.c.

Referenced by appendGfx_reset_tile_pattern(), and gfxRetrace_Callback().

◆ D_80073E08

s16 D_80073E08
extern

Definition at line 6 of file main_pre.c.

Referenced by gfxRetrace_Callback().

◆ D_80073E0A

s16 D_80073E0A
extern

Definition at line 7 of file main_pre.c.

Referenced by gfxRetrace_Callback().

◆ ResetTilesImg

IMG_BIN ResetTilesImg[]
extern

◆ DisplayContexts

DisplayContext DisplayContexts[2]
extern

Definition at line 16 of file main_loop.c.

Referenced by appendGfx_reset_tile_pattern(), and gfx_task_background().

◆ ResetFrameBufferArray

u16* ResetFrameBufferArray

Definition at line 45 of file main.c.

Referenced by gfxRetrace_Callback().

◆ nuGfxZBuffer