9 unsigned long start_msec, time_msec, num_frames;
11 static void keyboard(int key, int pressed, void *cls);
12 static void mouse(int bn, int pressed, int x, int y, void *cls);
13 static void motion(int x, int y, void *cls);
16 static int xsz, ysz, depth;
23 fbgfx_save_video_mode();
24 fbgfx_get_video_mode(&xsz, &ysz, &depth);
26 if(!(vmem = fbgfx_set_video_mode(xsz, ysz, 16))) {
29 fbgfx_get_video_mode(&xsz, &ysz, &depth);
31 fprintf(stderr, "failed to set color depth: 16bpp\n");
34 if(fbev_init() == -1) {
37 fbev_keyboard(keyboard, 0);
38 fbev_mbutton(mouse, 0);
39 fbev_mmotion(motion, 0);
41 if(init_tunnel(xsz, ysz) == -1) {
45 start_msec = get_time_msec();
50 time_msec = get_time_msec() - start_msec;
56 time_msec = get_time_msec() - start_msec;
60 fbgfx_restore_video_mode();
61 if(num_frames && time_msec) {
62 printf("\ravg framerate: %.1f\n", (float)num_frames / ((float)time_msec / 1000.0));
67 static void keyboard(int key, int pressed, void *cls)
80 static void mouse(int bn, int pressed, int x, int y, void *cls)
84 static void motion(int x, int y, void *cls)