From b3a3898bb182faad965e6fdaee8982640d148231 Mon Sep 17 00:00:00 2001 From: Sebastian Krzyszkowiak Date: Sun, 19 Feb 2012 22:20:05 +0100 Subject: [PATCH] fix console blinking on loading states --- src/about.c | 2 +- src/intro.c | 1 + src/loading.c | 3 +-- src/main.c | 10 ++++++++++ src/map.c | 1 + src/menu.c | 2 ++ 6 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/about.c b/src/about.c index 07fb1cc..8c85510 100644 --- a/src/about.c +++ b/src/about.c @@ -4,7 +4,6 @@ #include "about.h" void About_Draw(struct Game *game) { - al_clear_to_color(al_map_rgb(0,0,0)); al_draw_scaled_bitmap(game->about.image,0,0,al_get_bitmap_width(game->about.image),al_get_bitmap_height(game->about.image),0,0,al_get_display_width(game->display), al_get_display_height(game->display),0); al_draw_text(game->font, al_map_rgb(255,255,255), al_get_display_width(game->display)/2, al_get_display_height(game->display)/2, ALLEGRO_ALIGN_CENTRE, "Not implemented yet!"); } @@ -19,6 +18,7 @@ void About_Load(struct Game *game) { al_flip_display(); } al_destroy_bitmap(game->about.fade_bitmap); + About_Draw(game); } int About_Keydown(struct Game *game, ALLEGRO_EVENT *ev) { //if (ev->keyboard.keycode == ALLEGRO_KEY_ESCAPE) { diff --git a/src/intro.c b/src/intro.c index fddec17..d3d5107 100644 --- a/src/intro.c +++ b/src/intro.c @@ -39,6 +39,7 @@ void Intro_Load(struct Game *game) { DrawConsole(game); al_flip_display(); } + Intro_Draw(game); } int Intro_Keydown(struct Game *game, ALLEGRO_EVENT *ev) { if (ev->keyboard.keycode == ALLEGRO_KEY_ESCAPE) { diff --git a/src/loading.c b/src/loading.c index 9187af4..22919ed 100644 --- a/src/loading.c +++ b/src/loading.c @@ -12,8 +12,6 @@ void Loading_Draw(struct Game *game) { } al_draw_bitmap(game->loading.loading_bitmap,0,0,0); - DrawConsole(game); - al_flip_display(); PreloadGameState(game); @@ -24,6 +22,7 @@ void Loading_Draw(struct Game *game) { al_flip_display(); } al_clear_to_color(al_map_rgb(0,0,0)); + DrawConsole(game); al_flip_display(); //al_rest(0.2); LoadGameState(game); diff --git a/src/main.c b/src/main.c index 46d2fe0..51fb218 100644 --- a/src/main.c +++ b/src/main.c @@ -33,22 +33,32 @@ void DrawConsole(struct Game *game) { void PreloadGameState(struct Game *game) { if (game->loadstate==GAMESTATE_MENU) { PrintConsole(game, "Preload GAMESTATE_MENU..."); + DrawConsole(game); + al_flip_display(); Menu_Preload(game); } else if (game->loadstate==GAMESTATE_LOADING) { PrintConsole(game, "Preload GAMESTATE_LOADING..."); + DrawConsole(game); + al_flip_display(); Loading_Preload(game); } else if (game->loadstate==GAMESTATE_ABOUT) { PrintConsole(game, "Preload GAMESTATE_ABOUT..."); + DrawConsole(game); + al_flip_display(); About_Preload(game); } else if (game->loadstate==GAMESTATE_INTRO) { PrintConsole(game, "Preload GAMESTATE_INTRO..."); + DrawConsole(game); + al_flip_display(); Intro_Preload(game); } else if (game->loadstate==GAMESTATE_MAP) { PrintConsole(game, "Preload GAMESTATE_MAP..."); + DrawConsole(game); + al_flip_display(); Map_Preload(game); } else { PrintConsole(game, "ERROR: Attempted to preload unknown gamestate!"); diff --git a/src/map.c b/src/map.c index ae651a9..503be6b 100644 --- a/src/map.c +++ b/src/map.c @@ -16,6 +16,7 @@ void Map_Load(struct Game *game) { DrawConsole(game); al_flip_display(); } + Map_Draw(game); } int Map_Keydown(struct Game *game, ALLEGRO_EVENT *ev) { //if (ev->keyboard.keycode == ALLEGRO_KEY_ESCAPE) { diff --git a/src/menu.c b/src/menu.c index 3aa77fc..3252a90 100644 --- a/src/menu.c +++ b/src/menu.c @@ -16,6 +16,7 @@ void Menu_Draw(struct Game *game) { al_draw_scaled_bitmap(game->menu.rain, 0, 0, al_get_bitmap_width(game->menu.rain), al_get_bitmap_height(game->menu.rain), fmod(minus*game->menu.cloud_position,3)*x*5+al_get_bitmap_width(game->menu.pinkcloud_bitmap)/2.7, al_get_bitmap_height(game->menu.pinkcloud_bitmap)*(0.88+(fmod(-1.8*(game->menu.cloud_position+80), 6))/20.0), al_get_bitmap_width(game->menu.pinkcloud_bitmap)*0.5, al_get_bitmap_height(game->menu.pinkcloud_bitmap)*0.1, 0); al_draw_scaled_bitmap(game->menu.rain, 0, 0, al_get_bitmap_width(game->menu.rain), al_get_bitmap_height(game->menu.rain), fmod(minus*game->menu.cloud_position,3)*x*3+al_get_bitmap_width(game->menu.pinkcloud_bitmap)/3.1, al_get_bitmap_height(game->menu.pinkcloud_bitmap)*(0.78+(fmod(-2.8*(game->menu.cloud_position+80), 4))/18.0), al_get_bitmap_width(game->menu.pinkcloud_bitmap)*0.5, al_get_bitmap_height(game->menu.pinkcloud_bitmap)*0.1, 0); al_draw_scaled_bitmap(game->menu.rain, 0, 0, al_get_bitmap_width(game->menu.rain), al_get_bitmap_height(game->menu.rain), fmod(minus*game->menu.cloud_position,3)*x*6+al_get_bitmap_width(game->menu.pinkcloud_bitmap)/2.1, al_get_bitmap_height(game->menu.pinkcloud_bitmap)*(0.87+(fmod(-4.9*(game->menu.cloud_position+80), 8))/26.0), al_get_bitmap_width(game->menu.pinkcloud_bitmap)*0.4, al_get_bitmap_height(game->menu.pinkcloud_bitmap)*0.08, 0); + //al_draw_scaled_bitmap(game->menu.rain, 0, 0, al_get_bitmap_width(game->menu.rain), al_get_bitmap_height(game->menu.rain), fmod(minus*game->menu.cloud_position,3)*x*6+al_get_bitmap_width(game->menu.pinkcloud_bitmap)/2.4, al_get_bitmap_height(game->menu.pinkcloud_bitmap)*(0.9+(fmod(-5*(game->menu.cloud_position+86), 8))/20.0), al_get_bitmap_width(game->menu.pinkcloud_bitmap)*0.35, al_get_bitmap_height(game->menu.pinkcloud_bitmap)*0.07, 0); al_draw_scaled_bitmap(game->menu.pinkcloud,0, 0, al_get_bitmap_width(game->menu.pinkcloud), al_get_bitmap_height(game->menu.pinkcloud), 0, 0, al_get_bitmap_width(game->menu.pinkcloud_bitmap), al_get_bitmap_height(game->menu.pinkcloud_bitmap)*0.8122,0); al_set_target_bitmap(al_get_backbuffer(game->display)); @@ -183,6 +184,7 @@ void Menu_Load(struct Game *game) { al_flip_display(); } al_destroy_bitmap(game->menu.menu_fade_bitmap); + Menu_Draw(game); } int Menu_Keydown(struct Game *game, ALLEGRO_EVENT *ev) {