mirror of
https://gitlab.com/dosowisko.net/libsuperderpy.git
synced 2025-02-01 19:16:44 +01:00
performance fixes on menu fades
This commit is contained in:
parent
329e867714
commit
b96edbfbce
2 changed files with 19 additions and 21 deletions
|
@ -67,7 +67,7 @@ struct Menu {
|
||||||
ALLEGRO_FONT *font_selected;
|
ALLEGRO_FONT *font_selected;
|
||||||
int selected;
|
int selected;
|
||||||
bool options;
|
bool options;
|
||||||
bool draw_while_fading;
|
//bool draw_while_fading;
|
||||||
bool loaded;
|
bool loaded;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
38
src/menu.c
38
src/menu.c
|
@ -166,16 +166,12 @@ void Menu_Stop(struct Game* game) {
|
||||||
game->menu.menu_fade_bitmap = al_create_bitmap(al_get_display_width(game->display), al_get_display_height(game->display));
|
game->menu.menu_fade_bitmap = al_create_bitmap(al_get_display_width(game->display), al_get_display_height(game->display));
|
||||||
|
|
||||||
ALLEGRO_EVENT ev;
|
ALLEGRO_EVENT ev;
|
||||||
int fadeloop;
|
float fadeloop;
|
||||||
for(fadeloop=255; fadeloop>=0; fadeloop-=tps(game, 600)){
|
for(fadeloop=0; fadeloop<256; fadeloop+=tps(game, 600)){
|
||||||
if ((game->menu.draw_while_fading) || (fadeloop==255)) {
|
//if ((game->menu.draw_while_fading) || (fadeloop==255)) {
|
||||||
Menu_Draw(game);
|
|
||||||
al_set_target_bitmap(game->menu.menu_fade_bitmap);
|
|
||||||
al_draw_bitmap(al_get_backbuffer(game->display), 0, 0, 0);
|
|
||||||
al_set_target_bitmap(al_get_backbuffer(game->display));
|
|
||||||
}
|
|
||||||
al_wait_for_event(game->event_queue, &ev);
|
al_wait_for_event(game->event_queue, &ev);
|
||||||
al_draw_tinted_bitmap(game->menu.menu_fade_bitmap,al_map_rgba_f(fadeloop/255.0,fadeloop/255.0,fadeloop/255.0,1),0,0,0);
|
Menu_Draw(game);
|
||||||
|
al_draw_tinted_bitmap(game->menu.menu_fade_bitmap,al_map_rgba_f(1,1,1,fadeloop/255.0),0,0,0);
|
||||||
DrawConsole(game);
|
DrawConsole(game);
|
||||||
al_flip_display();
|
al_flip_display();
|
||||||
}
|
}
|
||||||
|
@ -208,7 +204,7 @@ void play_samples(struct Game *game) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void Menu_Load(struct Game *game) {
|
void Menu_Load(struct Game *game) {
|
||||||
game->menu.draw_while_fading = atoi(GetConfigOptionDefault("[MuffinAttack]", "menu_draw_while_fading", "1"));
|
//game->menu.draw_while_fading = atoi(GetConfigOptionDefault("[MuffinAttack]", "menu_draw_while_fading", "1"));
|
||||||
game->menu.cloud_position = 100;
|
game->menu.cloud_position = 100;
|
||||||
game->menu.cloud2_position = 100;
|
game->menu.cloud2_position = 100;
|
||||||
game->menu.options = false;
|
game->menu.options = false;
|
||||||
|
@ -216,18 +212,20 @@ void Menu_Load(struct Game *game) {
|
||||||
|
|
||||||
play_samples(game);
|
play_samples(game);
|
||||||
game->menu.menu_fade_bitmap = al_create_bitmap(al_get_display_width(game->display), al_get_display_height(game->display));
|
game->menu.menu_fade_bitmap = al_create_bitmap(al_get_display_width(game->display), al_get_display_height(game->display));
|
||||||
|
al_set_target_bitmap(game->menu.menu_fade_bitmap);
|
||||||
|
al_clear_to_color(al_map_rgb(0,0,0));
|
||||||
|
al_set_target_bitmap(al_get_backbuffer(game->display));
|
||||||
ALLEGRO_EVENT ev;
|
ALLEGRO_EVENT ev;
|
||||||
int fadeloop;
|
float fadeloop;
|
||||||
for(fadeloop=0; fadeloop<256; fadeloop+=tps(game, 600)){
|
for(fadeloop=255; fadeloop>=0; fadeloop-=tps(game, 600)){
|
||||||
if ((game->menu.draw_while_fading) || (fadeloop==0)) {
|
//if ((game->menu.draw_while_fading) || (fadeloop==0)) {
|
||||||
Menu_Draw(game);
|
// al_set_target_bitmap(game->menu.menu_fade_bitmap);
|
||||||
al_set_target_bitmap(game->menu.menu_fade_bitmap);
|
// al_draw_bitmap(al_get_backbuffer(game->display), 0, 0, 0);
|
||||||
al_draw_bitmap(al_get_backbuffer(game->display), 0, 0, 0);
|
// al_set_target_bitmap(al_get_backbuffer(game->display));
|
||||||
al_set_target_bitmap(al_get_backbuffer(game->display));
|
//}
|
||||||
}
|
|
||||||
al_wait_for_event(game->event_queue, &ev);
|
al_wait_for_event(game->event_queue, &ev);
|
||||||
al_draw_tinted_bitmap(game->menu.menu_fade_bitmap,al_map_rgba_f(fadeloop/255.0,fadeloop/255.0,fadeloop/255.0,1),0,0,0);
|
Menu_Draw(game);
|
||||||
|
al_draw_tinted_bitmap(game->menu.menu_fade_bitmap,al_map_rgba_f(1,1,1,fadeloop/255.0),0,0,0);
|
||||||
DrawConsole(game);
|
DrawConsole(game);
|
||||||
al_flip_display();
|
al_flip_display();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue