fix console blinking on loading states

This commit is contained in:
Sebastian Krzyszkowiak 2012-02-19 22:20:05 +01:00
parent d70792b078
commit b3a3898bb1
6 changed files with 16 additions and 3 deletions

View file

@ -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) {

View file

@ -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) {

View file

@ -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);

View file

@ -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!");

View file

@ -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) {

View file

@ -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) {