From 73a685f5a17852b6990c0810d0f1f0984c2c358f Mon Sep 17 00:00:00 2001 From: Ian C Date: Sat, 28 Oct 2006 23:28:31 +0000 Subject: Updates from work away --- arm9/source/gui.c | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) (limited to 'arm9/source/gui.c') diff --git a/arm9/source/gui.c b/arm9/source/gui.c index 91c7f8d..713ad02 100644 --- a/arm9/source/gui.c +++ b/arm9/source/gui.c @@ -116,3 +116,76 @@ int GUI_Menu(const char *opts[]) return sel; } + +void GUI_Alert(int fatal, const char *text) +{ + char line[80]; + int h; + const char *p; + char *d; + + h=40; + p=text; + + while(*p) + { + if (*p++=='\n') + { + h+=8; + } + } + + FB_FillBox(0,0,SCREEN_WIDTH,h,FB_RGB(0,0,0)); + FB_Box(1,1,SCREEN_WIDTH-2,h-2,FB_RGB(31,0,0)); + + p=text; + h=4; + d=line; + + while(*p) + { + if (*p=='\n') + { + *d++=0; + p++; + FB_Centre(line,h,FB_RGB(31,31,31),-1); + h+=8; + d=line; + } + else + { + *d++=*p++; + } + } + + if (d>line) + { + *d=0; + FB_Centre(line,h,FB_RGB(31,31,31),-1); + h+=8; + } + + if (!fatal) + { + FB_Centre("PRESS ANY BUTTON OR SCREEN",h+16,FB_RGB(31,31,0),-1); + + while(!keysDown()) + { + swiWaitForVBlank(); + } + + while(keysHeld()) + { + swiWaitForVBlank(); + } + } + else + { + FB_Centre("PLEASE RESET YOUR CONSOLE",h+16,FB_RGB(31,31,0),-1); + + while(1) + { + swiWaitForVBlank(); + } + } +} -- cgit v1.2.3