mirror of
https://gitlab.com/dosowisko.net/libsuperderpy.git
synced 2025-03-05 09:41:27 +01:00
fix console blinking on loading states
This commit is contained in:
parent
d70792b078
commit
b3a3898bb1
6 changed files with 16 additions and 3 deletions
|
@ -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) {
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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);
|
||||
|
|
10
src/main.c
10
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!");
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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) {
|
||||
|
|
Loading…
Add table
Reference in a new issue