#include <allegro5/allegro.h>
#include <allegro5/allegro_image.h>
#include <allegro5/allegro_native_dialog.h>

bool Menu = true;

ALLEGRO_DISPLAY *Screen;
ALLEGRO_EVENT_QUEUE *EventQueue;
ALLEGRO_EVENT Event;

void MainMenu();

int main()
{
    al_init();
    al_init_image_addon();
    al_install_keyboard();
    
    Screen = al_create_display(640, 480);

    EventQueue = al_create_event_queue();
    
    al_register_event_source(EventQueue, al_get_display_event_source(Screen));
    al_register_event_source(EventQueue, al_get_keyboard_event_source());

    MainMenu();

    return 0;
}

void MainMenu()
{
    ALLEGRO_BITMAP *Image = NULL;
    Image = al_load_bitmap("MainMenu.png");
    while(Menu)
    {
         al_draw_bitmap(Image, 0, 0, 0);
         al_flip_display();

         al_wait_for_event(EventQueue, &Event);

         if(Event.type == ALLEGRO_EVENT_DISPLAY_CLOSE)
         {
              Menu = false;
         }
         if(Event.type == ALLEGRO_EVENT_KEY_DOWN)
         {
              if(Event.keyboard.keycode == ALLEGRO_KEY_ESCAPE)
              {
                   Menu = false;
              }
              else if(Event.keyboard.keycode == ALLEGRO_KEY_1 || Event.keyboard.keycode == ALLEGRO_KEY_PAD_1)
              {
                   al_show_native_message_box(al_get_current_display(), 
                                 "Main Menu", 
                                 "New Game", 
                                 "Starting a New Game",
                                 NULL, NULL);
              }
              else if(Event.keyboard.keycode == ALLEGRO_KEY_2 || Event.keyboard.keycode == ALLEGRO_KEY_PAD_2)
              {
                   al_show_native_message_box(al_get_current_display(), 
                                 "Main Menu", 
                                 "Load Game", 
                                 "Starting a Old Game",
                                 NULL, NULL);
              }
              else if(Event.keyboard.keycode == ALLEGRO_KEY_3 || Event.keyboard.keycode == ALLEGRO_KEY_PAD_3)
              {
                   al_show_native_message_box(al_get_current_display(), 
                                 "Main Menu", 
                                 "Options", 
                                 "Showing Game Options",
                                 NULL, NULL);
              }
              else if(Event.keyboard.keycode == ALLEGRO_KEY_4 || Event.keyboard.keycode == ALLEGRO_KEY_PAD_4)
              {
                   al_show_native_message_box(al_get_current_display(), 
                                 "Main Menu", 
                                 "Credits", 
                                 "Showing Game Credits",
                                 NULL, NULL);
              }
              else if(Event.keyboard.keycode == ALLEGRO_KEY_5 || Event.keyboard.keycode == ALLEGRO_KEY_PAD_5)
              {
                   Menu = false;
              }
         }
    }
}
