summaryrefslogtreecommitdiff
path: root/src/debug/crash_screen_enhancement.h
blob: 3b3937ffab7f4eb3a0f74b111c54c5e4964dbfc6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#ifndef CRASH_SCREEN_ENHANCEMENT_H
#define CRASH_SCREEN_ENHANCEMENT_H

#include <libultraship.h>
#include <macros.h>

void crash_screen_draw(OSThread* thread);

// Add this to the top of main.c or crash_screen.c
// #define CRASH_SCREEN_ENHANCEMENT

/**
 * Example of how to force crash screen to run.
 * Make sure to include the header crash_screen_enhancement.h in main.h
 */

// void display_and_vsync(void) {
//     profiler_log_thread5_time(BEFORE_DISPLAY_LISTS);
//     osRecvMesg(&gGfxVblankQueue, &gMainReceivedMesg, OS_MESG_BLOCK);
//     exec_display_list(&gGfxPool->spTask);
//     profiler_log_thread5_time(AFTER_DISPLAY_LISTS);
//     osRecvMesg(&gGameVblankQueue, &gMainReceivedMesg, OS_MESG_BLOCK);
//     osViSwapBuffer((void *) PHYSICAL_TO_VIRTUAL(gPhysicalFramebuffers[sRenderedFramebuffer]));
//     profiler_log_thread5_time(THREAD5_END);
//     osRecvMesg(&gGameVblankQueue, &gMainReceivedMesg, OS_MESG_BLOCK);
//     crash_screen_set_framebuffer((uintptr_t *) gPhysicalFramebuffers[sRenderedFramebuffer]);

//     crash_screen_draw((u16 *) gPhysicalFramebuffers[sRenderedFramebuffer], &gGameLoopThread);
//     Add this line ^

//     if (++sRenderedFramebuffer == 3) {
//         sRenderedFramebuffer = 0;
//     }
//     if (++sRenderingFramebuffer == 3) {
//         sRenderingFramebuffer = 0;
//     }
//     gGlobalTimer++;
// }

#endif // CRASH_SCREEN_ENHANCEMENT_H