gbasys

view src/error.c @ 11:2b31bd7e96b4

added panicf
author John Tsiombikas <nuclear@member.fsf.org>
date Mon, 01 Feb 2016 02:36:25 +0200
parents 72c6429ae953
children
line source
1 /*
2 gbasys - a gameboy advance hardware abstraction library
3 Copyright (C) 2004-2016 John Tsiombikas <nuclear@member.fsf.org>
5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18 #include <stdio.h>
19 #include <stdarg.h>
20 #include "gfx.h"
22 void panic(const char *str) {
23 set_video_mode(VMODE_LFB_240x160_16, 0);
24 clear_buffer(front_buffer, RGB(140, 30, 20));
26 set_text_color(0xffff, RGB(140, 30, 20));
27 draw_string(" Don't Panic! ", 0, 0, front_buffer);
28 draw_string("_________________________", 0, 8, front_buffer);
29 if(str) draw_string(str, 0, 32, front_buffer);
31 for(;;);
32 }
34 void panicf(const char *fmt, ...)
35 {
36 static char buf[64];
37 va_list ap;
39 va_start(ap, fmt);
40 vsnprintf(buf, sizeof buf - 1, fmt, ap);
41 va_end(ap);
43 panic(buf);
44 }