void render(void) { al_hold_bitmap_drawing(true); switch(state) { case STATE_LOGO: { logo_render(); break; } case STATE_INTRO: { cinema_render(cinema); break; } case STATE_TITLE: { title_render(); break; } case STATE_GAME: { game_render(); break; } case STATE_ENDING: { cinema_render(ending_cinema); break; } } al_hold_bitmap_drawing(false); }
void redraw(void) { #line 67 All * a = global_a; #line 69 if (a->load_after_redraw) { if (! a->overview) { render_loading_screen(); } #line 72 if (a->load_after_redraw == 1) { a->load_after_redraw = 2; } #line 74 else if (a->load_after_redraw == 2) { // wait for logic code to advance #line 74 ; } #line 77 if (a->load_after_redraw > 2) { a->load_after_redraw++; double t = land_get_time(); while (1) { if (! blocks_preload(game->blocks)) { a->load_after_redraw = 0; #line 84 if (a->overview) { overview_render_next(game->overview); } #line 86 break; } #line 87 if (land_get_time() > t + 0.01) { break; } } } #line 90 if (! a->overview) { #line 90 return ; } } float w = land_display_width(); float h = land_display_height(); //float fh = land_font_height(a->font) #line 97 if (a->title) { title_render(); } #line 98 else { #line 100 render(game, w, h); } if (a->show_fps) { double f1, f2; get_fps(& f1, & f2); land_text_pos(w, 0); land_font_set(a->font); land_color(a->text.r, a->text.g, a->text.b, a->text.a); land_print_right("FPS: %4d +- %-4d", (int) f1, (int) f2); land_print_right("%4d / sec", (int)(1.0 / a->direct_speed_measure)); } }