/*****************************************************
 *                  Menu Definitions                 *
 *                                                   *
 *             Created with Menu Creator             *
 *                        by                         *
 *                   David Pehrson                   *
 *                                                   *
 *         Copyright (C) 1986  David Pehrson         *
 *                 Mantis Development                *
 *                                                   *
 *****************************************************/

#include <exec/types.h>
#include <intuition/intuition.h>

char stTopaz[] = "topaz.font";

struct TextAttr taPlain =
{
   stTopaz, 8, FS_NORMAL, FPF_ROMFONT
};

struct TextAttr taBIU =
{
   stTopaz, 8, FSF_BOLD | FSF_ITALIC | FSF_UNDERLINED, FPF_ROMFONT
};

struct TextAttr taBU =
{
   stTopaz, 8, FSF_BOLD | FSF_UNDERLINED, FPF_ROMFONT
};

struct TextAttr taBI =
{
   stTopaz, 8, FSF_BOLD | FSF_ITALIC, FPF_ROMFONT
};

struct TextAttr taB =
{
   stTopaz, 8, FSF_BOLD, FPF_ROMFONT
};

struct TextAttr taIU =
{
   stTopaz, 8, FSF_ITALIC | FSF_UNDERLINED, FPF_ROMFONT
};

struct TextAttr taI =
{
   stTopaz, 8, FSF_ITALIC, FPF_ROMFONT
};

struct TextAttr taU =
{
   stTopaz, 8, FSF_UNDERLINED, FPF_ROMFONT
};

struct IntuiText SubText[] =
{
   { 0, 1, JAM1, 0, 1, &taPlain, "Player 1 starts", NULL },
   { 0, 1, JAM1, 0, 1, &taPlain, "Player 2 starts", NULL },
   { 0, 1, JAM1, 0, 1, &taPlain, "    6 by  6", NULL },
   { 0, 1, JAM1, 0, 1, &taPlain, "    8 by  8", NULL },
   { 0, 1, JAM1, 0, 1, &taPlain, "   10 by 10", NULL },
   { 0, 1, JAM1, 0, 1, &taPlain, "   12 by 12", NULL },
   { 0, 1, JAM1, 0, 1, &taPlain, "Function", NULL },
   { 0, 1, JAM1, 0, 1, &taPlain, "All", NULL },
};

struct IntuiText ItemText[] =
{
   { 0, 1, JAM1, 0, 1, &taPlain, "New game", NULL },
   { 0, 1, JAM1, 0, 1, &taPlain, "Board size", NULL },
   { 0, 1, JAM1, 0, 1, &taPlain, "Open", NULL },
   { 0, 1, JAM1, 0, 1, &taPlain, "Save Game", NULL },
   { 0, 1, JAM1, 0, 1, &taPlain, "Save defaults", NULL },
   { 0, 1, JAM1, 0, 1, &taPlain, "About", NULL },
   { 0, 1, JAM1, 0, 1, &taPlain, "Help", NULL },
   { 0, 1, JAM1, 0, 1, &taPlain, "Quit", NULL },
   { 1, 0, JAM2, 0, 1, &taPlain, "   Level 1 ", NULL },
   { 1, 0, JAM2, 0, 1, &taPlain, "   Level 2 ", NULL },
   { 1, 0, JAM2, 0, 1, &taPlain, "   Level 3 ", NULL },
   { 1, 0, JAM2, 0, 1, &taPlain, "   Level 4 ", NULL },
   { 1, 0, JAM2, 0, 1, &taPlain, "   Not good", NULL },
   { 1, 0, JAM2, 0, 1, &taPlain, "   Bad     ", NULL },
   { 1, 0, JAM2, 0, 1, &taPlain, "   Worse   ", NULL },
   { 1, 0, JAM2, 0, 1, &taPlain, "   Hopeless", NULL },
   { 1, 0, JAM2, 0, 1, &taPlain, "   Human   ", NULL },
   { 2, 0, JAM2, 0, 1, &taPlain, "   Level 1 ", NULL },
   { 2, 0, JAM2, 0, 1, &taPlain, "   Level 2 ", NULL },
   { 2, 0, JAM2, 0, 1, &taPlain, "   Level 3 ", NULL },
   { 2, 0, JAM2, 0, 1, &taPlain, "   Level 4 ", NULL },
   { 2, 0, JAM2, 0, 1, &taPlain, "   Not good", NULL },
   { 2, 0, JAM2, 0, 1, &taPlain, "   Bad     ", NULL },
   { 2, 0, JAM2, 0, 1, &taPlain, "   Worse   ", NULL },
   { 2, 0, JAM2, 0, 1, &taPlain, "   Hopeless", NULL },
   { 2, 0, JAM2, 0, 1, &taPlain, "   Human   ", NULL },
   { 0, 1, JAM1, 0, 1, &taPlain, "   Step through", NULL },
   { 0, 1, JAM1, 0, 1, &taPlain, "   Race through", NULL },
   { 0, 1, JAM1, 0, 1, &taPlain, "Show Moves", NULL },
   { 0, 1, JAM1, 0, 1, &taPlain, "Assist", NULL },
};

struct MenuItem SubItems[] =
{
   {
      &SubItems[1], 135, 0, 163, 10, ITEMENABLED | ITEMTEXT | COMMSEQ | HIGHCOMP,
      0, (APTR)&SubText[0], NULL, '1', NULL, NULL 
   },
   {
      NULL, 135, 10, 163, 10, ITEMENABLED | ITEMTEXT | COMMSEQ | HIGHCOMP,
      0, (APTR)&SubText[1], NULL, '2', NULL, NULL 
   },
   {
      &SubItems[3], 135, 0, 104, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP,
      14, (APTR)&SubText[2], NULL, NULL, NULL, NULL 
   },
   {
      &SubItems[4], 135, 10, 104, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP,
      13, (APTR)&SubText[3], NULL, NULL, NULL, NULL 
   },
   {
      &SubItems[5], 135, 20, 104, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP,
      11, (APTR)&SubText[4], NULL, NULL, NULL, NULL 
   },
   {
      NULL, 135, 30, 104, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP,
      7, (APTR)&SubText[5], NULL, NULL, NULL, NULL 
   },
   {
      &SubItems[7], 135, 0, 107, 10, ITEMENABLED | ITEMTEXT | COMMSEQ | HIGHCOMP,
      0, (APTR)&SubText[6], NULL, 'F', NULL, NULL 
   },
   {
      NULL, 135, 10, 107, 10, ITEMENABLED | ITEMTEXT | COMMSEQ | HIGHCOMP,
      0, (APTR)&SubText[7], NULL, 'H', NULL, NULL 
   },
};

struct MenuItem Items[] =
{
   {
      &Items[1], 0, 0, 147, 10, ITEMENABLED | ITEMTEXT | HIGHCOMP,
      0, (APTR)&ItemText[0], NULL, NULL, &SubItems[0], NULL 
   },
   {
      &Items[2], 0, 10, 147, 10, ITEMENABLED | ITEMTEXT | HIGHCOMP,
      0, (APTR)&ItemText[1], NULL, NULL, &SubItems[2], NULL 
   },
   {
      &Items[3], 0, 20, 147, 10, ITEMENABLED | ITEMTEXT | HIGHCOMP,
      0, (APTR)&ItemText[2], NULL, NULL, NULL, NULL 
   },
   {
      &Items[4], 0, 30, 147, 10, ITEMENABLED | ITEMTEXT | HIGHCOMP,
      0, (APTR)&ItemText[3], NULL, NULL, NULL, NULL 
   },
   {
      &Items[5], 0, 40, 147, 10, ITEMENABLED | ITEMTEXT | HIGHCOMP,
      0, (APTR)&ItemText[4], NULL, NULL, NULL, NULL 
   },
   {
      &Items[6], 0, 50, 147, 10, ITEMENABLED | ITEMTEXT | COMMSEQ | HIGHCOMP,
      0, (APTR)&ItemText[5], NULL, '?', NULL, NULL 
   },
   {
      &Items[7], 0, 60, 147, 10, ITEMENABLED | ITEMTEXT | HIGHCOMP,
      0, (APTR)&ItemText[6], NULL, NULL, &SubItems[6], NULL 
   },
   {
      NULL, 0, 70, 147, 10, ITEMENABLED | ITEMTEXT | HIGHCOMP,
      0, (APTR)&ItemText[7], NULL, NULL, NULL, NULL 
   },
   {
      &Items[9], 0, 0, 112, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP,
      510, (APTR)&ItemText[8], NULL, NULL, NULL, NULL 
   },
   {
      &Items[10], 0, 10, 112, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP,
      509, (APTR)&ItemText[9], NULL, NULL, NULL, NULL 
   },
   {
      &Items[11], 0, 20, 112, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP,
      507, (APTR)&ItemText[10], NULL, NULL, NULL, NULL 
   },
   {
      &Items[12], 0, 30, 112, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP,
      503, (APTR)&ItemText[11], NULL, NULL, NULL, NULL 
   },
   {
      &Items[13], 0, 40, 112, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP,
      495, (APTR)&ItemText[12], NULL, NULL, NULL, NULL 
   },
   {
      &Items[14], 0, 50, 112, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP,
      479, (APTR)&ItemText[13], NULL, NULL, NULL, NULL 
   },
   {
      &Items[15], 0, 60, 112, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP,
      447, (APTR)&ItemText[14], NULL, NULL, NULL, NULL 
   },
   {
      &Items[16], 0, 70, 112, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP,
      383, (APTR)&ItemText[15], NULL, NULL, NULL, NULL 
   },
   {
      NULL, 0, 80, 112, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP,
      255, (APTR)&ItemText[16], NULL, NULL, NULL, NULL 
   },
   {
      &Items[18], 0, 0, 104, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP,
      510, (APTR)&ItemText[17], NULL, NULL, NULL, NULL 
   },
   {
      &Items[19], 0, 10, 104, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP,
      509, (APTR)&ItemText[18], NULL, NULL, NULL, NULL 
   },
   {
      &Items[20], 0, 20, 104, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP,
      507, (APTR)&ItemText[19], NULL, NULL, NULL, NULL 
   },
   {
      &Items[21], 0, 30, 104, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP,
      503, (APTR)&ItemText[20], NULL, NULL, NULL, NULL 
   },
   {
      &Items[22], 0, 40, 104, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP,
      495, (APTR)&ItemText[21], NULL, NULL, NULL, NULL 
   },
   {
      &Items[23], 0, 50, 104, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP,
      479, (APTR)&ItemText[22], NULL, NULL, NULL, NULL 
   },
   {
      &Items[24], 0, 60, 104, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP,
      447, (APTR)&ItemText[23], NULL, NULL, NULL, NULL 
   },
   {
      &Items[25], 0, 70, 104, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP,
      383, (APTR)&ItemText[24], NULL, NULL, NULL, NULL 
   },
   {
      NULL, 0, 80, 104, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP,
      255, (APTR)&ItemText[25], NULL, NULL, NULL, NULL 
   },
   {
      &Items[27], 0, 0, 136, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP,
      2, (APTR)&ItemText[26], NULL, NULL, NULL, NULL 
   },
   {
      NULL, 0, 10, 136, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP,
      1, (APTR)&ItemText[27], NULL, NULL, NULL, NULL 
   },
   {
      &Items[29], 0, 0, 123, 10, ITEMENABLED | ITEMTEXT | COMMSEQ | HIGHCOMP,
      0, (APTR)&ItemText[28], NULL, 'W', NULL, NULL 
   },
   {
      NULL, 0, 10, 123, 10, ITEMENABLED | ITEMTEXT | COMMSEQ | HIGHCOMP,
      0, (APTR)&ItemText[29], NULL, 'A', NULL, NULL 
   },
};

struct Menu Titles[] =
{
   { &Titles[1], 3, 0, 70, 10, MENUENABLED, "Project", &Items[0] },
   { &Titles[2], 72, 0, 94, 10, MENUENABLED, "  Player 1", &Items[8] },
   { &Titles[3], 165, 0, 94, 10, MENUENABLED, "  Player 2", &Items[17] },
   { &Titles[4], 258, 0, 126, 10, MENUENABLED, "  Guru vs Guru", &Items[26] },
   { NULL, 383, 0, 70, 10, MENUENABLED, "  Other", &Items[28] },
};

