static char *textline [MAXLINES+4] = { "Players", " ", "Aces ", "Twos ", "Threes ", "Fours ", "Fives ", "Sixes ", " ", "Upper Total", "Bonus ", " ", "3 of a Kind", "4 of a Kind", "Full House ", "Sm Straight", "Lg Straight", "Yacht ", "Yarboro ", " ", "Lower Total", " ", "Grand Total", " One ", " Two ", " Three ", " Four "}; #define INDENT 20 #define INDENT2 16 /* ****************** Pre-initialized Intuition Structures************* */ struct TextAttr StdFont = { "topaz.font", /* Font Name */ TOPAZ_SIXTY, /* Font Height */ FS_NORMAL, /* Style */ FPF_ROMFONT, /* Preferences */ }; /************* Images structures ***************/ struct Image Blank = { 0,0, /* left, top */ BLANKW,BLANKH,1, /* width, height, depth */ NULL, /* image data */ 0x00,0x01, /* PlanePick, PlaneOnOff */ NULL, /* NextImage */ }; /* An array of six image structs, holding the images of each die face, from 1-6 */ struct Image DieImage []={ { DIEHOFF,DIEVOFF, /* left, top */ DIEW,DIEH,1, /* width, height, depth */ NULL, /* dummy image data--to be filled in after image data is moved to chip memory */ YELP-REDP,REDP, /* PlanePick, PlaneOnOff */ NULL /* NextImage */ }, {DIEHOFF,DIEVOFF,DIEW,DIEH,1,NULL,YELP-REDP,REDP,NULL}, /*die images 1-5 */ {DIEHOFF,DIEVOFF,DIEW,DIEH,1,NULL,YELP-REDP,REDP,NULL}, {DIEHOFF,DIEVOFF,DIEW,DIEH,1,NULL,YELP-REDP,REDP,NULL}, {DIEHOFF,DIEVOFF,DIEW,DIEH,1,NULL,YELP-REDP,REDP,NULL}, {DIEHOFF,DIEVOFF,DIEW,DIEH,1,NULL,YELP-REDP,REDP,NULL}, }; /*******Here come da Gadgets ********/ struct Gadget DieGadg [6] ={ { NULL, /* Next Gadget */ BLANKL,BLANKT, /* Left Edge, Top Edge */ BLANKW,BLANKH, /* Width, Height */ GADGHIMAGE + GADGIMAGE, /*Flags--highlight type, render type */ NULL, /* Activation flags */ BOOLGADGET, /* Gadget type */ (APTR)&DieImage[5], /* Image structure for drawing gadget */ (APTR)&Blank, /* Alternate image for highlighting */ NULL, /* Intuitext structure for gadget text */ NULL, /* Mutual exclude, non-functional */ NULL, /* Special info for proportional, string */ NULL, /* Gadget ID/* NULL, /* User Data */ }, {&DieGadg[0],BLANKL,BLANKS+BLANKT,BLANKW,BLANKH, /* DieGadg 1-4 */ GADGHIMAGE + GADGIMAGE,NULL,BOOLGADGET, (APTR)&DieImage[5],(APTR)&Blank,NULL,NULL,NULL,NULL,NULL}, {&DieGadg[1],BLANKL,(2*BLANKS)+BLANKT,BLANKW,BLANKH, GADGHIMAGE + GADGIMAGE,NULL,BOOLGADGET, (APTR)&DieImage[5],(APTR)&Blank,NULL,NULL,NULL,NULL,NULL}, {&DieGadg[2],BLANKL,(3*BLANKS)+BLANKT,BLANKW,BLANKH, GADGHIMAGE + GADGIMAGE,NULL,BOOLGADGET, (APTR)&DieImage[5],(APTR)&Blank,NULL,NULL,NULL,NULL,NULL}, {&DieGadg[3],BLANKL,(4*BLANKS)+BLANKT,BLANKW,BLANKH, GADGHIMAGE + GADGIMAGE,NULL,BOOLGADGET, (APTR)&DieImage[5],(APTR)&Blank,NULL,NULL,NULL,NULL,NULL}, }; struct IntuiText RollText = {YELP-REDP,REDP,JAM2,0,7,&StdFont," ROLL",NULL}; struct Gadget ButtonGadget = { &DieGadg[4], /* Next Gadget */ BLANKL,(5*BLANKS)+BLANKT, /* Left Edge, Top Edge */ BLANKW,BLANKH, /* Width, Height */ GADGHCOMP + GADGIMAGE+ GADGDISABLED, /*Flags--highlight type, render type */ RELVERIFY, /* Activation flags */ BOOLGADGET, /* Gadget type */ (APTR)&Blank, /* Image structure for drawing gadget */ NULL, /* Alternate image for highlighting */ &RollText, /* Intuitext structure for gadget text */ NULL, /* Mutual exclude, non-functional */ NULL, /* Special info for proportional, string */ NULL, /* Gadget ID/* NULL, /* User Data */ }; struct Gadget ScoreGadget ={ &ButtonGadget, /* Next Gadget */ VLINL+4,HLINT+(2*HLINS)-5, /* Left Edge, Top Edge */ VLINS-6,(17*HLINS), /* Width, Height */ GADGHNONE, /*Flags--highlight type, render type */ RELVERIFY, /* Activation flags */ BOOLGADGET, /* Gadget type */ NULL, /* Image structure for drawing gadget */ NULL, /* Alternate image for highlighting */ NULL, /* Intuitext structure for gadget text */ NULL, /* Mutual exclude, non-functional */ NULL, /* Special info for proportional, string */ NULL, /* Gadget ID/* NULL /* User Data */ }; /************* finally, the Menus and their ITexts *************/ struct IntuiText AboutText [11] = { {BLUP,BGRP,JAM2,INDENT,9,&StdFont, " ",NULL}, {BLUP,BGRP,JAM2,INDENT,18,&StdFont, " YachtC ",&AboutText[0]}, {BLUP,BGRP,JAM2,INDENT,27,&StdFont, " Copyright 1985 by Sheldon Leemon ",&AboutText[1]}, {BLUP,BGRP,JAM2,INDENT,36,&StdFont, " ",&AboutText[2]}, {BLUP,BGRP,JAM2,INDENT,45,&StdFont, " You may copy and distribute this program ",&AboutText[3]}, {BLUP,BGRP,JAM2,INDENT,54,&StdFont, " freely (i.e. for no money), but any kind ",&AboutText[4]}, {BLUP,BGRP,JAM2,INDENT,63,&StdFont, " of commercial exploitation is a no-no. ",&AboutText[5]}, {BLUP,BGRP,JAM2,INDENT,72,&StdFont, " **** Version 3.0 by Mark Schretlen **** ",&AboutText[6]}, {BLUP,BGRP,JAM2,INDENT,81,&StdFont, " of Calgary (Sound from Steve A.Bennett's ",&AboutText[7]}, {BLUP,BGRP,JAM2,INDENT,90,&StdFont, " scales source) Thankyou Sheldon & Steve. ",&AboutText[8]}, {BLUP,BGRP,JAM2,INDENT,98,&StdFont, " ",&AboutText[9]}, }; struct IntuiText InstructText [14] = { {BLUP,BGRP,JAM2,INDENT2,9,&StdFont, " ",NULL}, {BLUP,BGRP,JAM2,INDENT2,18,&StdFont, " Instructions ",&InstructText[0]}, {BLUP,BGRP,JAM2,INDENT2,27,&StdFont, " ",&InstructText[1]}, {BLUP,BGRP,JAM2,INDENT2,36,&StdFont, " To start game, select 1-4 Player game from ",&InstructText[2]}, {BLUP,BGRP,JAM2,INDENT2,45,&StdFont, " the Project menu. Each player gets up to ",&InstructText[3]}, {BLUP,BGRP,JAM2,INDENT2,54,&StdFont, " 3 rolls of the dice to make the best hand ",&InstructText[4]}, {BLUP,BGRP,JAM2,INDENT2,63,&StdFont, " possible. Click on the dice you wish to ",&InstructText[5]}, {BLUP,BGRP,JAM2,INDENT2,72,&StdFont, " change, then click on the button below the ",&InstructText[6]}, {BLUP,BGRP,JAM2,INDENT2,81,&StdFont, " dice to roll. If you are satisfied with ",&InstructText[7]}, {BLUP,BGRP,JAM2,INDENT2,90,&StdFont, " your hand, and wish to score, click on the ",&InstructText[8]}, {BLUP,BGRP,JAM2,INDENT2,99,&StdFont, " button without blanking any dice. All ",&InstructText[9]}, {BLUP,BGRP,JAM2,INDENT2,108,&StdFont, " possible scores will appear in red on the ",&InstructText[10]}, {BLUP,BGRP,JAM2,INDENT2,117,&StdFont, " scorepad. Click on the one you want. ",&InstructText[11]}, {BLUP,BGRP,JAM2,INDENT2,126,&StdFont, " ",&InstructText[12]}, }; struct IntuiText OKText = {BLUP,BGRP,JAM2,6,3,&StdFont," Proceed ",NULL}; struct IntuiText Menu0IText [] = { { BLUP,BGRP,JAM2, /* Front Pen, Back Pen, Draw Mode */ 0,0, /* Left Edge, Top Edge */ &StdFont, /* pointer to Text Font */ " Start 1-Player Game ", /* text of Menu Item */ NULL /* pointer to next IText */ }, {BLUP,BGRP,JAM2,0,0,&StdFont," Start 2-Player Game ",NULL }, {BLUP,BGRP,JAM2,0,0,&StdFont," Start 3-Player Game ",NULL }, {BLUP,BGRP,JAM2,0,0,&StdFont," Start 4-Player Game ",NULL }, }; struct IntuiText Menu1IText [] = { {BLUP,BGRP,JAM2,0,0,&StdFont," Instructions ",NULL }, {BLUP,BGRP,JAM2,0,0,&StdFont," About YachtC ",NULL }, }; struct MenuItem Menu0Item[4] = { { &Menu0Item[1], /* pointer to next Item */ 0,0,210,9, /* Left, Top, Width, Height */ ITEMTEXT | ITEMENABLED | HIGHCOMP, /* Flags */ 0, /* no mutual exclude */ (APTR)&Menu0IText[0], /* Render info */ NULL,NULL,NULL, /*Alt Image, Command (amiga) char, subitem*/ MENUNULL /* next select */ }, {&Menu0Item[2],0,9,210,9,ITEMTEXT | ITEMENABLED | HIGHCOMP, 0,(APTR)&Menu0IText[1],NULL,NULL,NULL,MENUNULL}, {&Menu0Item[3],0,18,210,9,ITEMTEXT | ITEMENABLED | HIGHCOMP, 0,(APTR)&Menu0IText[2],NULL,NULL,NULL,MENUNULL}, {NULL,0,27,210,9,ITEMTEXT | ITEMENABLED | HIGHCOMP, 0,(APTR)&Menu0IText[3],NULL,NULL,NULL,MENUNULL} }; struct MenuItem Menu1Item[2] = { {&Menu1Item[1],0,0,140,9,ITEMTEXT | ITEMENABLED | HIGHCOMP, 0,(APTR)&Menu1IText[0],NULL,NULL,NULL,MENUNULL}, {NULL,0,9,140,9,ITEMTEXT | ITEMENABLED | HIGHCOMP, 0,(APTR)&Menu1IText[1],NULL,NULL,NULL,MENUNULL} }; struct Menu BdMenu [2] = { { &BdMenu[1], /* ptr to next Menu */ 40,0,90,0, /* left,top,width,height--top and height ignored */ MENUENABLED, /* Flags */ " Start ", /* menu title */ &Menu0Item[0] /* First Item in list */ }, {NULL,160,0,130,0,MENUENABLED," Information ",&Menu1Item[0]} }; /* ********Pre-initialized NewScreen and NewWindow Structures*********** */ struct NewScreen NewBdScr = { 0,0, /* LeftEdge (always=0),TopEdge */ 640,200,3, /* Width, Height, Depth */ PURP,GRNP, /* DetailPen and BlockPen */ HIRES, /* special display modes */ CUSTOMSCREEN, /* Screen Type */ &StdFont, /* Pointer to Custom font structure*/ NULL, /* Pointer to title text */ NULL, /* Pointer to Screen Gadgets */ NULL, /* Pointer to CustomBitMap */ }; struct NewWindow NewBoardWindow = { 0,0, /* Left Edge, Top Edge */ 640,200, /* Width, Height */ BLUP,YELP, /* Block Pen, Detail Pen */ GADGETUP + CLOSEWINDOW + MENUPICK, /* IDCMP Flags */ SMART_REFRESH + ACTIVATE +WINDOWDEPTH + BORDERLESS + WINDOWCLOSE, /* Flags */ &ScoreGadget, /* Pointer to First Gadget */ NULL, /* Pointer to Check Mark Image */ " YachtC (V3.0) ", /* Title */ NULL, /* Pointer to Screen structure */ NULL, /* Pointer to custom Bit Map */ 0,0, /* Minimum Width, Height */ 0,0, /* Maximum Width, Height */ CUSTOMSCREEN /* Type of Screen it resides on */ }; struct NewWindow BackWindow = { 0,0, /* Left Edge, Top Edge */ 640,200, /* Width, Height */ BLUP,YELP, /* Block Pen, Detail Pen */ NULL, /* IDCMP Flags */ BACKDROP | BORDERLESS, /* Flags */ NULL, /* Pointer to First Gadget */ NULL, /* Pointer to Check Mark Image */ " ", /* Title */ NULL, /* Pointer to Screen structure */ NULL, /* Pointer to custom Bit Map */ 0,0, /* Minimum Width, Height */ 0,0, /* Maximum Width, Height */ CUSTOMSCREEN /* Type of Screen it resides on */ };