/* AmiGo menus */ /* By Todd R. Johnson */ #include #define gameWidth 56 #define optionWidth 136 + CHECKWIDTH #define levelWidth 8 + CHECKWIDTH #define levelLoc optionWidth - 5 #define moveWidth 112 #define infoWidth 112 + CHECKWIDTH struct IntuiText groupInfoText = { 4, 0, /* FrontPen, BackPen */ JAM1, /* DrawMode */ CHECKWIDTH, 0, /* LeftEdge, TopEdge */ NULL, /* TextAttr */ "Group Info", /* IText */ NULL, /* NextText */ }; struct MenuItem groupInfoItem = { NULL, /* NextItem */ 0, 16, /* LeftEdge, TopEdge */ infoWidth, 8, /* Width, Height */ MENUTOGGLE | CHECKIT | ITEMTEXT | ITEMENABLED | HIGHCOMP, /* Flags */ 0, /* MutualExclude */ (APTR)&groupInfoText, /* ItemFill */ NULL, /* SelectFill */ NULL, /* Command */ NULL, /* SubItem */ NULL, /* NextSelect */ }; struct IntuiText moveReasonText = { 4, 0, /* FrontPen, BackPen */ JAM1, /* DrawMode */ CHECKWIDTH, 0, /* LeftEdge, TopEdge */ NULL, /* TextAttr */ "Move Reason", /* IText */ NULL, /* NextText */ }; struct MenuItem moveReasonItem = { &groupInfoItem, /* NextItem */ 0, 8, /* LeftEdge, TopEdge */ infoWidth, 8, /* Width, Height */ MENUTOGGLE | CHECKIT | ITEMTEXT | ITEMENABLED | HIGHCOMP, /* Flags */ 0, /* MutualExclude */ (APTR)&moveReasonText, /* ItemFill */ NULL, /* SelectFill */ NULL, /* Command */ NULL, /* SubItem */ NULL, /* NextSelect */ }; struct IntuiText showLookAheadText = { 4, 0, /* FrontPen, BackPen */ JAM1, /* DrawMode */ CHECKWIDTH, 0, /* LeftEdge, TopEdge */ NULL, /* TextAttr */ "Show Lookahead", /* IText */ NULL, /* NextText */ }; struct MenuItem showLookAheadItem = { &moveReasonItem, /* NextItem */ 0, 0, /* LeftEdge, TopEdge */ infoWidth, 8, /* Width, Height */ MENUTOGGLE | CHECKIT | ITEMTEXT | ITEMENABLED | HIGHCOMP, /* Flags */ 0, /* MutualExclude */ (APTR)&showLookAheadText, /* ItemFill */ NULL, /* SelectFill */ NULL, /* Command */ NULL, /* SubItem */ NULL, /* NextSelect */ }; struct Menu info = { NULL, /* NextMenu */ 135, /* LeftEdge */ 0, /* TopEdge */ 40, /* Width */ 8, /* Height */ MENUENABLED, /* Flags */ "Info", /* Menu name */ &showLookAheadItem, /* FirstItem */ }; /* Move */ struct IntuiText scoreGameText = { 4, 0, /* FrontPen, BackPen */ JAM1, /* DrawMode */ 0, 0, /* LeftEdge, TopEdge */ NULL, /* TextAttr */ "Score Game", /* IText */ NULL, /* NextText */ }; struct MenuItem scoreGameItem = { NULL, /* NextItem */ 0, 16, /* LeftEdge, TopEdge */ moveWidth, 8, /* Width, Height */ ITEMTEXT | HIGHCOMP, /* Flags */ NULL, /* MutualExclude */ (APTR)&scoreGameText, /* ItemFill */ NULL, /* SelectFill */ NULL, /* Command */ NULL, /* SubItem */ NULL, /* NextSelect */ }; struct IntuiText takeBackText = { 4, 0, /* FrontPen, BackPen */ JAM1, /* DrawMode */ 0, 0, /* LeftEdge, TopEdge */ NULL, /* TextAttr */ "Take Back Move", /* IText */ NULL, /* NextText */ }; struct MenuItem takeBackItem = { &scoreGameItem, /* NextItem */ 0, 8, /* LeftEdge, TopEdge */ moveWidth, 8, /* Width, Height */ ITEMTEXT | HIGHCOMP, /* Flags */ NULL, /* MutualExclude */ (APTR)&takeBackText, /* ItemFill */ NULL, /* SelectFill */ NULL, /* Command */ NULL, /* SubItem */ NULL, /* NextSelect */ }; struct IntuiText passText = { 4, 0, /* FrontPen, BackPen */ JAM1, /* DrawMode */ 0, 0, /* LeftEdge, TopEdge */ NULL, /* TextAttr */ "Pass", /* IText */ NULL, /* NextText */ }; struct MenuItem passItem = { &takeBackItem, /* NextItem */ 0, 0, /* LeftEdge, TopEdge */ moveWidth, 8, /* Width, Height */ ITEMTEXT | HIGHCOMP, /* Flags */ NULL, /* MutualExclude */ (APTR)&passText, /* ItemFill */ NULL, /* SelectFill */ NULL, /* Command */ NULL, /* SubItem */ NULL, /* NextSelect */ }; struct Menu move = { &info, /* NextMenu */ 94, /* LeftEdge */ 0, /* TopEdge */ 40, /* Width */ 8, /* Height */ MENUENABLED, /* Flags */ "Move", /* Menu name */ &passItem, /* FirstItem */ }; /* Option */ struct IntuiText whiteToPlayText = { 4, 0, /* FrontPen, BackPen */ JAM1, /* DrawMode */ CHECKWIDTH, 0, /* LeftEdge, TopEdge */ NULL, /* TextAttr */ "White to play", /* IText */ NULL, /* NextText */ }; struct MenuItem whiteToPlayItem = { NULL, /* NextItem */ 0, 56, /* LeftEdge, TopEdge */ optionWidth, 8, /* Width, Height */ CHECKIT | ITEMENABLED | ITEMTEXT | HIGHCOMP, /* Flags */ 64, /* MutualExclude */ (APTR)&whiteToPlayText, /* ItemFill */ NULL, /* SelectFill */ NULL, /* Command */ NULL, /* SubItem */ NULL, /* NextSelect */ }; struct IntuiText blackToPlayText = { 4, 0, /* FrontPen, BackPen */ JAM1, /* DrawMode */ CHECKWIDTH, 0, /* LeftEdge, TopEdge */ NULL, /* TextAttr */ "Black to play", /* IText */ NULL, /* NextText */ }; struct MenuItem blackToPlayItem = { &whiteToPlayItem, /* NextItem */ 0, 48, /* LeftEdge, TopEdge */ optionWidth, 8, /* Width, Height */ CHECKIT | CHECKED | ITEMENABLED | ITEMTEXT | HIGHCOMP, /* Flags */ 128, /* MutualExclude */ (APTR)&blackToPlayText, /* ItemFill */ NULL, /* SelectFill */ NULL, /* Command */ NULL, /* SubItem */ NULL, /* NextSelect */ }; struct IntuiText amigaPlaysWhiteText = { 4, 0, /* FrontPen, BackPen */ JAM1, /* DrawMode */ CHECKWIDTH, 0, /* LeftEdge, TopEdge */ NULL, /* TextAttr */ "Amiga plays white", /* IText */ NULL, /* NextText */ }; struct MenuItem amigaPlaysWhiteItem = { &blackToPlayItem, /* NextItem */ 0, 40, /* LeftEdge, TopEdge */ optionWidth, 8, /* Width, Height */ CHECKIT | ITEMENABLED | ITEMTEXT | HIGHCOMP, /* Flags */ 16, /* MutualExclude */ (APTR)&amigaPlaysWhiteText, /* ItemFill */ NULL, /* SelectFill */ NULL, /* Command */ NULL, /* SubItem */ NULL, /* NextSelect */ }; struct IntuiText amigaPlaysBlackText = { 4, 0, /* FrontPen, BackPen */ JAM1, /* DrawMode */ CHECKWIDTH, 0, /* LeftEdge, TopEdge */ NULL, /* TextAttr */ "Amiga plays black", /* IText */ NULL, /* NextText */ }; struct MenuItem amigaPlaysBlackItem = { &amigaPlaysWhiteItem, /* NextItem */ 0, 32, /* LeftEdge, TopEdge */ optionWidth, 8, /* Width, Height */ CHECKIT | CHECKED | ITEMENABLED | ITEMTEXT | HIGHCOMP, /* Flags */ 32, /* MutualExclude */ (APTR)&amigaPlaysBlackText, /* ItemFill */ NULL, /* SelectFill */ NULL, /* Command */ NULL, /* SubItem */ NULL, /* NextSelect */ }; struct IntuiText AvsHText = { 4, 0, /* FrontPen, BackPen */ JAM1, /* DrawMode */ CHECKWIDTH, 0, /* LeftEdge, TopEdge */ NULL, /* TextAttr */ "Amiga vs. Human", /* IText */ NULL, /* NextText */ }; struct MenuItem AvsHItem = { &amigaPlaysBlackItem, /* NextItem */ 0, 24, /* LeftEdge, TopEdge */ optionWidth, 8, /* Width, Height */ CHECKIT | CHECKED | ITEMENABLED | ITEMTEXT | HIGHCOMP, /* Flags */ 6, /* MutualExclude */ (APTR)&AvsHText, /* ItemFill */ NULL, /* SelectFill */ NULL, /* Command */ NULL, /* SubItem */ NULL, /* NextSelect */ }; struct IntuiText AvsAText = { 4, 0, /* FrontPen, BackPen */ JAM1, /* DrawMode */ CHECKWIDTH, 0, /* LeftEdge, TopEdge */ NULL, /* TextAttr */ "Amiga vs. Amiga", /* IText */ NULL, /* NextText */ }; struct MenuItem AvsAItem = { &AvsHItem, /* NextItem */ 0, 16, /* LeftEdge, TopEdge */ optionWidth, 8, /* Width, Height */ CHECKIT | ITEMENABLED | ITEMTEXT | HIGHCOMP, /* Flags */ 10, /* MutualExclude */ (APTR)&AvsAText, /* ItemFill */ NULL, /* SelectFill */ NULL, /* Command */ NULL, /* SubItem */ NULL, /* NextSelect */ }; struct IntuiText HvsHText = { 4, 0, /* FrontPen, BackPen */ JAM1, /* DrawMode */ CHECKWIDTH, 0, /* LeftEdge, TopEdge */ NULL, /* TextAttr */ "Human vs. Human", /* IText */ NULL, /* NextText */ }; struct MenuItem HvsHItem = { &AvsAItem, /* NextItem */ 0, 8, /* LeftEdge, TopEdge */ optionWidth, 8, /* Width, Height */ CHECKIT | ITEMENABLED | ITEMTEXT | HIGHCOMP, /* Flags */ 12, /* MutualExclude */ (APTR)&HvsHText, /* ItemFill */ NULL, /* SelectFill */ NULL, /* Command */ NULL, /* SubItem */ NULL, /* NextSelect */ }; struct IntuiText level7Text = { 4, 0, /* FrontPen, BackPen */ JAM1, /* DrawMode */ CHECKWIDTH, 0, /* LeftEdge, TopEdge */ NULL, /* TextAttr */ "7", /* IText */ NULL, /* NextText */ }; struct MenuItem level7Item = { NULL, /* NextItem */ levelLoc, 48, /* LeftEdge, TopEdge */ levelWidth, 8, /* Width, Height */ CHECKIT | CHECKED | ITEMTEXT | ITEMENABLED | HIGHCOMP, /* Flags */ 63, /* MutualExclude */ (APTR)&level7Text, /* ItemFill */ NULL, /* SelectFill */ NULL, /* Command */ NULL, /* SubItem */ NULL, /* NextSelect */ }; struct IntuiText level6Text = { 4, 0, /* FrontPen, BackPen */ JAM1, /* DrawMode */ CHECKWIDTH, 0, /* LeftEdge, TopEdge */ NULL, /* TextAttr */ "6", /* IText */ NULL, /* NextText */ }; struct MenuItem level6Item = { &level7Item, /* NextItem */ levelLoc, 40, /* LeftEdge, TopEdge */ levelWidth, 8, /* Width, Height */ CHECKIT | ITEMTEXT | ITEMENABLED | HIGHCOMP, /* Flags */ 95, /* MutualExclude */ (APTR)&level6Text, /* ItemFill */ NULL, /* SelectFill */ NULL, /* Command */ NULL, /* SubItem */ NULL, /* NextSelect */ }; struct IntuiText level5Text = { 4, 0, /* FrontPen, BackPen */ JAM1, /* DrawMode */ CHECKWIDTH, 0, /* LeftEdge, TopEdge */ NULL, /* TextAttr */ "5", /* IText */ NULL, /* NextText */ }; struct MenuItem level5Item = { &level6Item, /* NextItem */ levelLoc, 32, /* LeftEdge, TopEdge */ levelWidth, 8, /* Width, Height */ CHECKIT | ITEMTEXT | ITEMENABLED | HIGHCOMP, /* Flags */ 111, /* MutualExclude */ (APTR)&level5Text, /* ItemFill */ NULL, /* SelectFill */ NULL, /* Command */ NULL, /* SubItem */ NULL, /* NextSelect */ }; struct IntuiText level4Text = { 4, 0, /* FrontPen, BackPen */ JAM1, /* DrawMode */ CHECKWIDTH, 0, /* LeftEdge, TopEdge */ NULL, /* TextAttr */ "4", /* IText */ NULL, /* NextText */ }; struct MenuItem level4Item = { &level5Item, /* NextItem */ levelLoc, 24, /* LeftEdge, TopEdge */ levelWidth, 8, /* Width, Height */ CHECKIT | ITEMTEXT | ITEMENABLED | HIGHCOMP, /* Flags */ 119, /* MutualExclude */ (APTR)&level4Text, /* ItemFill */ NULL, /* SelectFill */ NULL, /* Command */ NULL, /* SubItem */ NULL, /* NextSelect */ }; struct IntuiText level3Text = { 4, 0, /* FrontPen, BackPen */ JAM1, /* DrawMode */ CHECKWIDTH, 0, /* LeftEdge, TopEdge */ NULL, /* TextAttr */ "3", /* IText */ NULL, /* NextText */ }; struct MenuItem level3Item = { &level4Item, /* NextItem */ levelLoc, 16, /* LeftEdge, TopEdge */ levelWidth, 8, /* Width, Height */ CHECKIT | ITEMTEXT | ITEMENABLED | HIGHCOMP, /* Flags */ 123, /* MutualExclude */ (APTR)&level3Text, /* ItemFill */ NULL, /* SelectFill */ NULL, /* Command */ NULL, /* SubItem */ NULL, /* NextSelect */ }; struct IntuiText level2Text = { 4, 0, /* FrontPen, BackPen */ JAM1, /* DrawMode */ CHECKWIDTH, 0, /* LeftEdge, TopEdge */ NULL, /* TextAttr */ "2", /* IText */ NULL, /* NextText */ }; struct MenuItem level2Item = { &level3Item, /* NextItem */ levelLoc, 8, /* LeftEdge, TopEdge */ levelWidth, 8, /* Width, Height */ CHECKIT | ITEMTEXT | ITEMENABLED | HIGHCOMP, /* Flags */ 125, /* MutualExclude */ (APTR)&level2Text, /* ItemFill */ NULL, /* SelectFill */ NULL, /* Command */ NULL, /* SubItem */ NULL, /* NextSelect */ }; struct IntuiText level1Text = { 4, 0, /* FrontPen, BackPen */ JAM1, /* DrawMode */ CHECKWIDTH, 0, /* LeftEdge, TopEdge */ NULL, /* TextAttr */ "1", /* IText */ NULL, /* NextText */ }; struct MenuItem level1Item = { &level2Item, /* NextItem */ levelLoc, 0, /* LeftEdge, TopEdge */ levelWidth, 8, /* Width, Height */ CHECKIT | ITEMTEXT | ITEMENABLED | HIGHCOMP, /* Flags */ 126, /* MutualExclude */ (APTR)&level1Text, /* ItemFill */ NULL, /* SelectFill */ NULL, /* Command */ NULL, /* SubItem */ NULL, /* NextSelect */ }; struct IntuiText playLevelText = { 4, 0, /* FrontPen, BackPen */ JAM1, /* DrawMode */ 0, 0, /* LeftEdge, TopEdge */ NULL, /* TextAttr */ "Set Play Level", /* IText */ NULL, /* NextText */ }; struct MenuItem playLevelItem = { &HvsHItem, /* NextItem */ 0, 0, /* LeftEdge, TopEdge */ optionWidth, 8, /* Width, Height */ ITEMTEXT | ITEMENABLED | HIGHCOMP, /* Flags */ NULL, /* MutualExclude */ (APTR)&playLevelText, /* ItemFill */ NULL, /* SelectFill */ NULL, /* Command */ &level1Item, /* SubItem */ NULL, /* NextSelect */ }; struct Menu option = { &move, /* NextMenu */ 37, /* LeftEdge */ 0, /* TopEdge */ 56, /* Width */ 8, /* Height */ MENUENABLED, /* Flags */ "Option", /* Menu name */ &playLevelItem, /* FirstItem */ }; /* Game */ struct IntuiText quitText = { 4, 0, /* FrontPen, BackPen */ JAM1, /* DrawMode */ 0, 0, /* LeftEdge, TopEdge */ NULL, /* TextAttr */ "Quit", /* IText */ NULL, /* NextText */ }; struct MenuItem quitItem = { NULL, /* NextItem */ 0, 40, /* LeftEdge, TopEdge */ gameWidth, 8, /* Width, Height */ ITEMTEXT | ITEMENABLED | HIGHCOMP, /* Flags */ NULL, /* MutualExclude */ (APTR)&quitText, /* ItemFill */ NULL, /* SelectFill */ NULL, /* Command */ NULL, /* SubItem */ NULL, /* NextSelect */ }; struct IntuiText restartText = { 4, 0, /* FrontPen, BackPen */ JAM1, /* DrawMode */ 0, 0, /* LeftEdge, TopEdge */ NULL, /* TextAttr */ "Restart", /* IText */ NULL, /* NextText */ }; struct MenuItem restartItem = { &quitItem, /* NextItem */ 0, 32, /* LeftEdge, TopEdge */ gameWidth, 8, /* Width, Height */ ITEMTEXT | HIGHCOMP, /* Flags */ NULL, /* MutualExclude */ (APTR)&restartText, /* ItemFill */ NULL, /* SelectFill */ NULL, /* Command */ NULL, /* SubItem */ NULL, /* NextSelect */ }; struct IntuiText loadText = { 4, 0, /* FrontPen, BackPen */ JAM1, /* DrawMode */ 0, 0, /* LeftEdge, TopEdge */ NULL, /* TextAttr */ "Load", /* IText */ NULL, /* NextText */ }; struct MenuItem loadItem = { &restartItem, /* NextItem */ 0, 24, /* LeftEdge, TopEdge */ gameWidth, 8, /* Width, Height */ ITEMTEXT | HIGHCOMP, /* Flags */ NULL, /* MutualExclude */ (APTR)&loadText, /* ItemFill */ NULL, /* SelectFill */ NULL, /* Command */ NULL, /* SubItem */ NULL, /* NextSelect */ }; struct IntuiText saveAsText = { 4, 0, /* FrontPen, BackPen */ JAM1, /* DrawMode */ 0, 0, /* LeftEdge, TopEdge */ NULL, /* TextAttr */ "SaveAs", /* IText */ NULL, /* NextText */ }; struct MenuItem saveAsItem = { &loadItem, /* NextItem */ 0, 16, /* LeftEdge, TopEdge */ gameWidth, 8, /* Width, Height */ ITEMTEXT | HIGHCOMP, /* Flags */ NULL, /* MutualExclude */ (APTR)&saveAsText, /* ItemFill */ NULL, /* SelectFill */ NULL, /* Command */ NULL, /* SubItem */ NULL, /* NextSelect */ }; struct IntuiText saveText = { 4, 0, /* FrontPen, BackPen */ JAM1, /* DrawMode */ 0, 0, /* LeftEdge, TopEdge */ NULL, /* TextAttr */ "Save", /* IText */ NULL, /* NextText */ }; struct MenuItem saveItem = { &saveAsItem, /* NextItem */ 0, 8, /* LeftEdge, TopEdge */ gameWidth, 8, /* Width, Height */ ITEMTEXT | HIGHCOMP, /* Flags */ NULL, /* MutualExclude */ (APTR)&saveText, /* ItemFill */ NULL, /* SelectFill */ NULL, /* Command */ NULL, /* SubItem */ NULL, /* NextSelect */ }; struct IntuiText playText = { 4, 0, /* FrontPen, BackPen */ JAM1, /* DrawMode */ 0, 0, /* LeftEdge, TopEdge */ NULL, /* TextAttr */ "Play", /* IText */ NULL, /* NextText */ }; struct MenuItem playItem = { &saveItem, /* NextItem */ 0, 0, /* LeftEdge, TopEdge */ gameWidth, 8, /* Width, Height */ ITEMTEXT | ITEMENABLED | HIGHCOMP, /* Flags */ NULL, /* MutualExclude */ (APTR)&playText, /* ItemFill */ NULL, /* SelectFill */ NULL, /* Command */ NULL, /* SubItem */ NULL, /* NextSelect */ }; struct Menu game = { &option, /* NextMenu */ 0, /* LeftEdge */ 0, /* TopEdge */ 40, /* Width */ 8, /* Height */ MENUENABLED, /* Flags */ "Game", /* Menu name */ &playItem, /* FirstItem */ };