diff --git a/src/menu.c b/src/menu.c index d36cb6a..1e29585 100644 --- a/src/menu.c +++ b/src/menu.c @@ -24,6 +24,11 @@ #include "menu.h" void Menu_Draw(struct Game *game) { + if (!game->menu.loaded) { + game->gamestate=GAMESTATE_LOADING; + game->loadstate=GAMESTATE_MENU; + return; + } al_set_target_bitmap(game->menu.pinkcloud_bitmap); al_clear_to_color(al_map_rgba(0,0,0,0)); @@ -190,9 +195,12 @@ void Menu_Unload(struct Game *game) { al_destroy_sample(game->menu.sample); al_destroy_sample(game->menu.rain_sample); al_destroy_sample(game->menu.click_sample); + game->menu.loaded = false; } void Menu_Load(struct Game *game) { + if (!game->menu.loaded) return; + game->menu.cloud_position = 100; game->menu.cloud2_position = 100; game->menu.options = false; diff --git a/src/pause.c b/src/pause.c index d4519ce..fdac645 100644 --- a/src/pause.c +++ b/src/pause.c @@ -75,6 +75,7 @@ void Pause_Preload(struct Game* game) { game->pause.bitmap = NULL; game->pause.derpy = LoadScaledBitmap("derpy_pause.png", al_get_display_width(game->display)*0.53, al_get_display_height(game->display)*0.604); PrintConsole(game,"Pause preloaded."); + if (!game->menu.loaded) Menu_Preload(game); } void Pause_Load(struct Game* game) {