#include "util.h" #include #include #include #ifdef __3DS__ #include <3ds.h> static void panic_begin(void) { consoleInit(GFX_TOP, NULL); } static noreturn void panic(void) { printf("\nPress Start to exit.\n"); while (aptMainLoop()) { hidScanInput(); u32 keys = hidKeysDown(); if (keys & KEY_START) break; gfxFlushBuffers(); gfxSwapBuffers(); gspWaitForVBlank(); } gfxExit(); exit(1); } #else static void panic_begin(void) {} static noreturn void panic(void) { abort(); } #endif noreturn void assume__failed(const char *file, int line, const char *expr) { panic_begin(); fprintf(stderr, "%s:%d: assertion failed: %s\n", file, line, expr); panic(); } noreturn void todo__impl(const char *file, int line, const char *fmt, ...) { panic_begin(); printf("%s:%d: TODO: ", file, line); va_list ap; va_start(ap, fmt); vprintf(fmt, ap); va_end(ap); panic(); }