diff --git a/src/SDL_assert.c b/src/SDL_assert.c index c60737f243..9d022dd37e 100644 --- a/src/SDL_assert.c +++ b/src/SDL_assert.c @@ -283,7 +283,7 @@ static SDL_AssertState SDLCALL SDL_PromptAssertion(const SDL_AssertData *data, v break; } } -#elif defined(HAVE_STDIO_H) +#elif defined(HAVE_STDIO_H) && !defined(SDL_PLATFORM_3DS) // this is a little hacky. for (;;) { char buf[32]; @@ -310,6 +310,8 @@ static SDL_AssertState SDLCALL SDL_PromptAssertion(const SDL_AssertData *data, v break; } } +#else + SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_WARNING, "Assertion Failed", message, window); #endif // HAVE_STDIO_H } diff --git a/src/video/SDL_video.c b/src/video/SDL_video.c index b12f865b09..4b58b65235 100644 --- a/src/video/SDL_video.c +++ b/src/video/SDL_video.c @@ -59,6 +59,10 @@ #include #endif +#ifdef SDL_PLATFORM_3DS +#include <3ds.h> +#endif + #ifdef SDL_PLATFORM_LINUX #include #include @@ -5518,6 +5522,23 @@ bool SDL_ShowSimpleMessageBox(SDL_MessageBoxFlags flags, const char *title, cons }, title, message); return true; +#elif defined(SDL_PLATFORM_3DS) + errorConf errCnf; + bool hasGpuRight; + + // If the video subsystem has not been initialised, set up graphics temporarily + hasGpuRight = gspHasGpuRight(); + if (!hasGpuRight) + gfxInitDefault(); + + errorInit(&errCnf, ERROR_TEXT_WORD_WRAP, CFG_LANGUAGE_EN); + errorText(&errCnf, message); + errorDisp(&errCnf); + + if (!hasGpuRight) + gfxExit(); + + return true; #else SDL_MessageBoxData data; SDL_MessageBoxButtonData button;