/* AmiGo menus */
/* By Todd R. Johnson */
#include <intuition/intuition.h>

#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 */
};

