X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=fbgfx;a=blobdiff_plain;f=src%2Fmain.c;h=1cd495032b98a43e2de094c4368f969cd521bc4c;hp=f0588c01f5ad12dc41223a3981ce6cd2bdc30d2c;hb=70c067c2da05fb71f3d2de115cefbc225eff3667;hpb=21180fdf54f0c578af0959df088de308ce25ca61 diff --git a/src/main.c b/src/main.c index f0588c0..1cd4950 100644 --- a/src/main.c +++ b/src/main.c @@ -3,17 +3,16 @@ #include #include "fbgfx.h" #include "fbevents.h" -#include "tunnel.h" #include "timer.h" - -unsigned long start_msec, time_msec, num_frames; +#include "screen.h" +#include "screen.h" +#include "demo.h" static void keyboard(int key, int pressed, void *cls); static void mouse(int bn, int pressed, int x, int y, void *cls); static void motion(int x, int y, void *cls); -static void *vmem; -static int xsz, ysz, depth; +static long start_msec, num_frames; static int quit; @@ -23,20 +22,20 @@ int main(void) int i, trybpp[] = {32, 24, 16, 0}; fbgfx_save_video_mode(); - fbgfx_get_video_mode(&xsz, &ysz, &depth); + fbgfx_get_video_mode(&fb_width, &fb_height, &fb_depth); for(i=0; trybpp[i]; i++) { - if(!(vmem = fbgfx_set_video_mode(xsz, ysz, trybpp[i]))) { + if(!(fb_pixels = fbgfx_set_video_mode(fb_width, fb_height, trybpp[i]))) { continue; } - fbgfx_get_video_mode(&xsz, &ysz, &depth); - if(depth == trybpp[i]) { + fbgfx_get_video_mode(&fb_width, &fb_height, &fb_depth); + if(fb_depth == trybpp[i]) { break; } - fprintf(stderr, "failed to set color depth: %dbpp\n", trybpp[i]); + fprintf(stderr, "failed to set color fb_depth: %dbpp\n", trybpp[i]); } if(trybpp[i] == 0) { - fprintf(stderr, "no usable color depths found\n"); + fprintf(stderr, "no usable color fb_depths found\n"); goto end; } @@ -47,9 +46,11 @@ int main(void) fbev_mbutton(mouse, 0); fbev_mmotion(motion, 0); - if(init_tunnel(xsz, ysz, depth) == -1) { + if(scr_init() == -1) { goto end; } + scr_change(scr_lookup("console"), 0); + scr_change(scr_lookup("tunnel"), 2000); start_msec = get_time_msec(); for(;;) { @@ -58,13 +59,14 @@ int main(void) time_msec = get_time_msec() - start_msec; - draw_tunnel(vmem); + scr_update(); + scr_draw(); ++num_frames; } time_msec = get_time_msec() - start_msec; end: - destroy_tunnel(); + scr_shutdown(); fbev_shutdown(); fbgfx_restore_video_mode(); if(num_frames && time_msec) {