X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=fbgfx;a=blobdiff_plain;f=src%2Fmain.c;h=f0588c01f5ad12dc41223a3981ce6cd2bdc30d2c;hp=9e27509ce98aacbb6923fbf621786d2131d8c312;hb=21180fdf54f0c578af0959df088de308ce25ca61;hpb=047042f3d08b2eb272256f0e17b2391c85756f49 diff --git a/src/main.c b/src/main.c index 9e27509..f0588c0 100644 --- a/src/main.c +++ b/src/main.c @@ -20,19 +20,26 @@ static int quit; int main(void) { + int i, trybpp[] = {32, 24, 16, 0}; + fbgfx_save_video_mode(); - if(!(vmem = fbgfx_get_video_mode(&xsz, &ysz, &depth))) { - return 1; - } + fbgfx_get_video_mode(&xsz, &ysz, &depth); - /*if(!(vmem = fbgfx_set_video_mode(xsz, ysz, 16))) { - return 1; + for(i=0; trybpp[i]; i++) { + if(!(vmem = fbgfx_set_video_mode(xsz, ysz, trybpp[i]))) { + continue; + } + fbgfx_get_video_mode(&xsz, &ysz, &depth); + if(depth == trybpp[i]) { + break; + } + fprintf(stderr, "failed to set color depth: %dbpp\n", trybpp[i]); } - fbgfx_get_video_mode(&xsz, &ysz, &depth); - if(depth != 16) { - fprintf(stderr, "failed to set color depth: 16bpp\n"); + if(trybpp[i] == 0) { + fprintf(stderr, "no usable color depths found\n"); goto end; - }*/ + } + if(fbev_init() == -1) { goto end; }