#include <allegro.h>

MENU file_menu[] =
{
/* { "Text\tsc",      (callback),  (Submenu), (flags),  (dp)  )*/
   { "Pause",               NULL,       NULL,       0,  NULL  },
   { "New Game",            NULL,       NULL,       0,  NULL  },
   { "End Game",            NULL,       NULL,       0,  NULL  },
   { "Quit",                NULL,       NULL,       0,  NULL  },
   { NULL,                  NULL,       NULL,       0,  NULL  }
};

MENU edit_menu[] =
{
/* { "Text\tsc",      (callback),  (Submenu), (flags),  (dp)  )*/
   { "Game Options",        NULL,       NULL,       0,  NULL  },
   { "Control Options",     NULL,       NULL,       0,  NULL  },
   { NULL,                  NULL,       NULL,       0,  NULL  }
};

MENU help_menu[] =
{
/* { "Text\tsc",      (callback),  (Submenu), (flags),  (dp)  )*/
   { "About",               NULL,       NULL,       0,  NULL  },
   { NULL,                  NULL,       NULL,       0,  NULL  }
};

MENU game_menu[] =
{
/* { "Text\tsc",      (callback),  (Submenu), (flags),  (dp)  )*/
   { "Game",                NULL,   file_menu,      0,  NULL  },
   { "Options",             NULL,   edit_menu,      0,  NULL  },
   { "&Help",               NULL,   help_menu,      0,  NULL  },
   { NULL,                  NULL,        NULL,      0,  NULL  }
};

DIALOG game_dialog[] =
{
   /* (dialog proc)     (x)   (y)   (w)   (h) (fg)(bg) (key) (flags)     (d1) (d2)         (dp)     (dp2)  (dp3) */
   { d_menu_proc,        0,    0,    0,    0,   0,  0,    0,      0,       0,   0,   game_menu,     NULL,   NULL  },
   { NULL,               0,    0,    0,    0,   0,  0,    0,      0,       0,   0,        NULL,     NULL,   NULL  }
};


int main(int argc, char *argv[])
{
	if (allegro_init() != 0)
	{
		allegro_message("Unable to start allegro. :(");
		return 1;
	}

	if (install_keyboard() != 0)
	{
		allegro_message("Unable to install keyboard driver. :(");
		return 1;
	}

	if (install_mouse() == -1)
	{
		allegro_message("Unable to install mouse driver. :(");
		return 1;
	}

	if (install_timer() != 0)
	{
		allegro_message("Unable to install interupt timers. :(");
		return 1;
	}

	if (set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0) != 0)
	{
		if (set_gfx_mode(GFX_AUTODETECT, 640, 480, 0, 0) != 0)
		{
			allegro_message("Unable to setup a gfx mode: \"%s\". :(", allegro_error);
			return 1;
		}
	}

	gui_fg_color = makecol(255,255,255);
	gui_bg_color = makecol(128,128,128);

	game_dialog[0].w = SCREEN_W;

	do_dialog(game_dialog, -1);

	set_gfx_mode(GFX_TEXT, 0, 0, 0, 0);
}
END_OF_MAIN();
