#include #include #include #include struct Screen *stdscreen; /* Used in file requester - same as s*/ #include #define DEPTH 5L /* number of pixel planes */ #define NMAP 32 /* 2 to the DEPTH power */ #define SH 256 /* screen height */ #define SW 320 /* screen width */ #define WH (SH-10) /* window height */ #define WW SW /* window width */ #define MAXFILENAME 64 /* maximum number of chars in requester */ struct NewScreen ns = { /*****************/ 0 , /* LeftEdge */ 0 , /* TopEdge */ SW , /* Width */ SH , /* Height */ DEPTH , /* Depth */ 2 , /* DetailPen */ 1 , /* BlockPen */ 0 , /* ViewModes */ CUSTOMSCREEN, /* Type */ NULL , /* *Font */ (UBYTE *)"Let's Get Ziviliced!",/* *DefaultTitle */ NULL , /* *Gadgets */ NULL /* *CustomBitMap */ }; /*****************/ #define NUM_PAIRS 5 SHORT TypePairs[] = { 0, 0, 71, 0, 71, 11, 0, 11, 0, 0 }; struct Border TypeOnBorder = { 0,0,1,0,JAM1,NUM_PAIRS,TypePairs,NULL}; struct Border TypeOffBorder = { 0,0,0,0,JAM1,NUM_PAIRS,TypePairs,NULL}; SHORT ColPairs[] = { 0, 0, 12, 0, 12, 6, 0, 6, 0, 0 }; struct Border ColBorder = { 0,0,2,0,JAM1,NUM_PAIRS,ColPairs,NULL}; struct IntuiText ReadyText = {3,2,JAM2, 4, 1, NULL,(UBYTE *) "READY", NULL }; SHORT Pairs1[] = { 0, 0, 51, 0, 51, 11, 0, 11, 0, 0 }; struct Border ReadyBorder = { -1, -1, 1, 0, JAM1, NUM_PAIRS, Pairs1, NULL }; struct IntuiText WPDSText[]= { {1,0,JAM2,0,0,NULL,(UBYTE *)"Woods: ",NULL}, {1,0,JAM2,0,0,NULL,(UBYTE *)"Plains:",NULL}, {1,0,JAM2,0,0,NULL,(UBYTE *)"Desert:",NULL}, {1,0,JAM2,0,0,NULL,(UBYTE *)"End Edit",NULL} }; #define BOOL_GAD1 5 struct Gadget ReadyGadget = { NULL, 260, 10, 50, 10, GADGHNONE, NULL, BOOLGADGET, (APTR)&ReadyBorder, NULL, &ReadyText, NULL, NULL, BOOL_GAD1, NULL }; struct IntuiText YesText = { 4,1,JAM2,7,4,NULL,(UBYTE *)"Do it!",NULL}; struct IntuiText NoText = { 10,1,JAM2,7,4,NULL,(UBYTE *)"Cancel",NULL}; struct IntuiText ClearText = { 2,1,JAM2,40,10,NULL,(UBYTE *)"Really clear?",NULL}; struct IntuiText QuitText = { 2,1,JAM2,10,10,NULL,(UBYTE *)"Sure you wanna quit?",NULL}; struct NewWindow nw = { /*****************/ 0 , /* LeftEdge */ 10 , /* TopEdge */ WW , /* Width */ WH , /* Height */ -1 , /* DetailPen */ -1 , /* BlockPen */ CLOSEWINDOW /* IDCMP---Flags */ | MENUPICK | MOUSEBUTTONS | GADGETDOWN | MOUSEMOVE, WINDOWCLOSE /* F */ | BACKDROP /* l */ | BORDERLESS /* a */ | NOCAREREFRESH /* g */ | ACTIVATE , /* s */ &ReadyGadget, /* *FirstGadget */ NULL , /* *CheckMark */ (UBYTE *)"The Map", /* *Title */ NULL , /* *Screen */ /* to be filled in */ NULL , /* *BitMap */ 0 , /* MinWidth */ 0 , /* MinHeight */ 0 , /* MaxWidth */ 0 , /* MaxHeight */ CUSTOMSCREEN /* Type */ }; /*****phew!!!*****/ /*******************************************************/ /* Menu structures Copyrighted by Custom Services 1986 */ /* Made with the Menubuilder program - a good help */ /*******************************************************/ struct IntuiText IText[] = { { 0, 1, JAM2, 0, 0, NULL, (UBYTE *)"Clear"}, { 0, 1, JAM2, 0, 0, NULL, (UBYTE *)"Open"}, { 0, 1, JAM2, 0, 0, NULL, (UBYTE *)"Save"}, { 0, 1, JAM2, 0, 0, NULL, (UBYTE *)"About"}, { 0, 1, JAM2, 0, 0, NULL, (UBYTE *)"Quit"}, { 0, 1, JAM2, 0, 0, NULL, (UBYTE *)"Pixels"}, { 0, 1, JAM2, 0, 0, NULL, (UBYTE *)"Sink"}, { 0, 1, JAM2, 0, 0, NULL, (UBYTE *)"Lift"}, { 0, 1, JAM2, 0, 0, NULL, (UBYTE *)"Compress"}, { 0, 1, JAM2, 0, 0, NULL, (UBYTE *)"Scroll"}, { 0, 1, JAM2, 0, 0, NULL, (UBYTE *)"Up"}, { 0, 1, JAM2, 0, 0, NULL, (UBYTE *)"Down"}, { 0, 1, JAM2, 0, 0, NULL, (UBYTE *)"Left"}, { 0, 1, JAM2, 0, 0, NULL, (UBYTE *)"Right"}, { 0, 1, JAM2, CHECKWIDTH, 0, NULL, (UBYTE *)"Grow "}, { 0, 1, JAM2, CHECKWIDTH, 0, NULL, (UBYTE *)"Vegetation"}, { 0, 1, JAM2, CHECKWIDTH, 0, NULL, (UBYTE *)"Parameters"}, { 0, 1, JAM2, CHECKWIDTH, 0, NULL, (UBYTE *)"Levelling"}, { 0, 1, JAM2, CHECKWIDTH, 0, NULL, (UBYTE *)"3D-Map"}, { 0, 1, JAM2, 0, 0, NULL, (UBYTE *)"Terrain"}, /* These */ { 0, 1, JAM2, 0, 0, NULL, (UBYTE *)"Growth"}, /* Out!! */ { 0, 1, JAM2, 0, 0, NULL, (UBYTE *)"Both"}, { 0, 1, JAM2, 0, 0, NULL, (UBYTE *)"Height"}, { 0, 1, JAM2, 0, 0, NULL, (UBYTE *)"Growth"}, { 0, 1, JAM2, 0, 0, NULL, (UBYTE *)"Written by Lars Clausen."}, { 0, 1, JAM2, 0, 0, NULL, (UBYTE *)"Intuition assistance:"}, { 0, 1, JAM2, 0, 0, NULL, (UBYTE *)" Henrik Clausen."}, { 0, 1, JAM2, 0, 0, NULL, (UBYTE *)"Scenery generator for"}, { 0, 1, JAM2, 0, 0, NULL, (UBYTE *)" Let's Get Ziviliced,"}, { 0, 1, JAM2, 0, 0, NULL, (UBYTE *)"Play-by-Mail game by:"}, { 0, 1, JAM2, 0, 0, NULL, (UBYTE *)" Malik Hyldtoft."} }; #define EXTRA 20 #define FLAGSA ITEMTEXT | ITEMENABLED | HIGHBOX #define FLAGSB ITEMTEXT | ITEMENABLED | COMMSEQ | HIGHBOX #define FLAGSC CHECKIT | ITEMTEXT | MENUTOGGLE | ITEMENABLED | CHECKED | HIGHBOX #define FLAGSD ITEMTEXT | HIGHBOX #define FLAGSAU ITEMTEXT | HIGHBOX #define FLAGSBU ITEMTEXT | COMMSEQ | HIGHBOX #define FLAGSCU CHECKIT | ITEMTEXT | MENUTOGGLE | CHECKED | HIGHBOX struct MenuItem M1I7[] = { {&M1I7[ 1], 64, 2, 194, 10,FLAGSA,0,(APTR)&IText[24],NULL,NULL}, {&M1I7[ 2], 64, 12, 194, 10,FLAGSA,0,(APTR)&IText[25],NULL,NULL}, {&M1I7[ 3], 64, 22, 194, 10,FLAGSA,0,(APTR)&IText[26],NULL,NULL}, {&M1I7[ 4], 64, 32, 194, 10,FLAGSA,0,(APTR)&IText[27],NULL,NULL}, {&M1I7[ 5], 64, 42, 194, 10,FLAGSA,0,(APTR)&IText[28],NULL,NULL}, {&M1I7[ 6], 64, 52, 194, 10,FLAGSA,0,(APTR)&IText[29],NULL,NULL}, {NULL , 64, 62, 194, 10,FLAGSA,0,(APTR)&IText[30],NULL,NULL}, }; struct MenuItem M1I4[] = { {&M1I4[ 1], 64, 2, 84, 10,FLAGSB,0,(APTR)&IText[10],NULL,'U',NULL}, {&M1I4[ 2], 64, 12, 84, 10,FLAGSB,0,(APTR)&IText[11],NULL,'D',NULL}, {&M1I4[ 3], 64, 22, 84, 10,FLAGSB,0,(APTR)&IText[12],NULL,'L',NULL}, {NULL , 64, 32, 84, 10,FLAGSB,0,(APTR)&IText[13],NULL,'R',NULL} }; /* struct MenuItem M2I2[] = { /* These out {&M2I2[ 1],84,2,60,10,FLAGSA,0,(APTR)&IText[19],NULL,NULL,NULL}, {NULL , 84,12,60,10,FLAGSA,0,(APTR)&IText[20],NULL,NULL,NULL} }; */ struct MenuItem M3I3[] = { {&M3I3[ 1],80,2,80,10,FLAGSB,0,(APTR)&IText[21],NULL,'B',NULL}, {&M3I3[ 2],80,12,80,10,FLAGSB,0,(APTR)&IText[22],NULL,'H',NULL}, {NULL ,80,22,80,10,FLAGSB,0,(APTR)&IText[23],NULL,'G',NULL}; struct MenuItem M0[] = { {&M0[ 1], 0, 0, 80, 10,FLAGSB,0,(APTR)&IText[ 0],NULL,'C',NULL}, {&M0[ 2], 0, 12, 80, 10,FLAGSB,0,(APTR)&IText[ 1],NULL,'O',NULL}, {&M0[ 3], 0, 24, 80, 10,FLAGSB,0,(APTR)&IText[ 2],NULL,'S',NULL}, {&M0[ 4], 0, 36, 80, 10,FLAGSA,0,(APTR)&IText[ 3],NULL,NULL,&M1I7[0]}, {NULL , 0, 48, 80, 10,FLAGSB,0,(APTR)&IText[ 4],NULL,'Q',NULL} }; struct MenuItem M1[] = { {&M1[ 1], 0, 0, 74, 10,FLAGSB,0,(APTR)&IText[ 5],NULL,'E',NULL}, {&M1[ 2], 0, 12, 74, 10,FLAGSA,0,(APTR)&IText[ 6],NULL,NULL,NULL}, {&M1[ 3], 0, 24, 74, 10,FLAGSA,0,(APTR)&IText[ 7],NULL,NULL,NULL}, {&M1[ 4], 0, 36, 74, 10,FLAGSA,0,(APTR)&IText[ 8],NULL,NULL,NULL}, {NULL, 0, 46, 74, 10,FLAGSA,0,(APTR)&IText[ 9],NULL,NULL,&M1I4[0]}, }; struct MenuItem M2[] = { {&M2[ 1], 0, 0, 110+EXTRA, 10,FLAGSA,0,(APTR)&IText[14],NULL,NULL,&M3I3[0]}, {&M2[ 2], 0, 12, 110+EXTRA, 10,FLAGSC | COMMSEQ,0,(APTR)&IText[15],NULL,'V',NULL}, {&M2[ 3], 0, 24, 110+EXTRA, 10,FLAGSA,0,(APTR)&IText[16],NULL,NULL,NULL}, {&M2[ 4], 0, 36, 110+EXTRA, 10,FLAGSD,0,(APTR)&IText[17],NULL,NULL,NULL}, {NULL , 0, 48, 110+EXTRA, 10,FLAGSD,0,(APTR)&IText[18],NULL,NULL,NULL} }; struct Menu TheMenu[] = { {&TheMenu[ 1], 2, 0, 80, 10,MENUENABLED," Project ",&M0[0]}, {&TheMenu[ 2], 80, 0, 64, 10,MENUENABLED," Edit ",&M1[0]}, { NULL, 150, 0,100, 10,MENUENABLED," New Map ",&M2[0]} }; struct Menu *MyMenu = &TheMenu[0]; USHORT ExitData[] = { 0xffff,0x8000, 0xffff,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0xc000,0x8000, 0x8000,0x8000, 0xffff,0x8000, 0x0,0x0, 0x0,0x8000, 0x1,0x8000, 0x1,0x8000, 0x1,0x8000, 0xfe1,0x8000, 0x661,0x8000, 0x601,0x8000, 0x781,0x8000, 0x601,0x8000, 0x661,0x8000, 0xfe1,0x8000, 0x1,0x8000, 0x1,0x8000, 0x1,0x8000, 0x1,0x8000, 0x1,0x8000, 0x631,0x8000, 0x361,0x8000, 0x1c1,0x8000, 0x361,0x8000, 0x631,0x8000, 0x1,0x8000, 0x1,0x8000, 0x1,0x8000, 0x181,0x8000, 0x1,0x8000, 0x381,0x8000, 0x181,0x8000, 0x181,0x8000, 0x181,0x8000, 0x3c1,0x8000, 0x1,0x8000, 0x1,0x8000, 0x1,0x8000, 0x81,0x8000, 0x181,0x8000, 0x3e1,0x8000, 0x181,0x8000, 0x181,0x8000, 0x1a1,0x8000, 0xc1,0x8000, 0x1,0x8000, 0x1,0x8000, 0x1,0x8000, 0x7fff,0x8000, 0xffff,0x8000, 0x0,0x0, 0x0,0x8000, 0x3ffe,0x8000, 0x3ffe,0x8000, 0x3ffe,0x8000, 0x301e,0x8000, 0x399e,0x8000, 0x39fe,0x8000, 0x387e,0x8000, 0x39fe,0x8000, 0x399e,0x8000, 0x301e,0x8000, 0x3ffe,0x8000, 0x3ffe,0x8000, 0x3ffe,0x8000, 0x3ffe,0x8000, 0x3ffe,0x8000, 0x39ce,0x8000, 0x3c9e,0x8000, 0x3e3e,0x8000, 0x3c9e,0x8000, 0x39ce,0x8000, 0x3ffe,0x8000, 0x3ffe,0x8000, 0x3ffe,0x8000, 0x3e7e,0x8000, 0x3ffe,0x8000, 0x3c7e,0x8000, 0x3e7e,0x8000, 0x3e7e,0x8000, 0x3e7e,0x8000, 0x3c3e,0x8000, 0x3ffe,0x8000, 0x3ffe,0x8000, 0x3ffe,0x8000, 0x3f7e,0x8000, 0x3e7e,0x8000, 0x3c1e,0x8000, 0x3e7e,0x8000, 0x3e7e,0x8000, 0x3e5e,0x8000, 0x3f3e,0x8000, 0x3ffe,0x8000, 0x3ffe,0x8000, 0x3ffe,0x8000, 0x0,0x8000, 0xffff,0x8000, 0xffff,0x8000, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x8000,0x0, 0x0,0x0, 0xffff,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0x8000,0x8000, 0xffff,0x8000}; struct Image ExitImage = { 0, 0, 25, 47, 5, (USHORT *)&ExitData[0], 0x1f, 0x0, NULL }; struct Gadget ExitGadget = { NULL, 296, 120, 25, 47, GADGHNONE | GADGIMAGE, GADGIMMEDIATE, BOOLGADGET, (APTR)&ExitImage, NULL, NULL, 0x0, 0x0, 0, 0x4 }; USHORT DesertData[] = { 0xffff,0x8000,0x8000,0x8000,0x8000,0x8780,0x8780,0x8780,0x8000,0x8000, 0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000, 0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000, 0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000, 0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000, 0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000, 0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000, 0x8000,0x0, 0x0,0x1,0x1,0x1,0x1,0x301,0x301,0x301,0x1,0x1,0x1,0xf81,0x6c1,0x661,0x661, 0x661,0x6c1,0xf81,0x1,0x1,0x1,0x1,0x1,0x3c1,0x661,0x7e1,0x601,0x3c1,0x1, 0x1,0x1,0x1,0x1,0x3e1,0x601,0x3c1,0x61,0x7c1,0x1,0x1,0x1,0x1,0x1,0x3c1, 0x661,0x7e1,0x601,0x3c1,0x1,0x1,0x1,0x1,0x1,0xec1,0x761,0x661,0x601,0xf01, 0x1,0x1,0x1,0x81,0x181,0x3e1,0x181,0x181,0x1a1,0xc1,0x1,0x1,0x1,0xffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x780, 0x780, 0x780, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x707e, 0x793e, 0x799e, 0x799e, 0x799e, 0x793e, 0x707e, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7c3e, 0x799e, 0x781e, 0x79fe, 0x7c3e, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7c1e, 0x79fe, 0x7c3e, 0x7f9e, 0x783e, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7c3e, 0x799e, 0x781e, 0x79fe, 0x7c3e, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7ffe, 0x713e, 0x789e, 0x799e, 0x79fe, 0x70fe, 0x7ffe, 0x7ffe, 0x7ffe, 0x7f7e, 0x7e7e, 0x7c1e, 0x7e7e, 0x7e7e, 0x7e5e, 0x7f3e, 0x7ffe, 0x7ffe, 0x7ffe, 0x0}; struct Image DesertImage = { 0, 0, 16, 72, 4, (USHORT *)&DesertData[0], 0x0F, 0x0, NULL }; struct Gadget DesertGadget = { NULL, 296, 29, 16, 72, GADGHCOMP | GADGIMAGE, RELVERIFY | GADGIMMEDIATE | TOGGLESELECT, BOOLGADGET, (APTR)&DesertImage, NULL, NULL, 0x0, 0x0, 0, 0x3 }; USHORT PlainsData[] = { 0xfffc, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xe078, 0xf338, 0xf338, 0xf078, 0xf3f8, 0xf3f8, 0xe1f8, 0xfff8, 0xfff8, 0xfff8, 0xf8f8, 0xfcf8, 0xfcf8, 0xfcf8, 0xfcf8, 0xfcf8, 0xf878, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xf878, 0xff38, 0xfc38, 0xf338, 0xf898, 0xfff8, 0xfff8, 0xfff8, 0xfcf8, 0xfff8, 0xf8f8, 0xfcf8, 0xfcf8, 0xfcf8, 0xf878, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xf078, 0xf338, 0xf338, 0xf338, 0xf338, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xf838, 0xf3f8, 0xf878, 0xff38, 0xf078, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0x0, 0x0, 0x4, 0x4, 0x4, 0x4, 0x304, 0x4, 0x4, 0x4, 0x4, 0x1f84, 0xcc4, 0xcc4, 0xf84, 0xc04, 0xc04, 0x1e04, 0x4, 0x4, 0x4, 0x704, 0x304, 0x304, 0x304, 0x304, 0x304, 0x784, 0x4, 0x4, 0x4, 0x4, 0x4, 0x784, 0xc4, 0x3c4, 0xcc4, 0x764, 0x4, 0x4, 0x4, 0x304, 0x4, 0x704, 0x304, 0x304, 0x304, 0x784, 0x4, 0x4, 0x4, 0x4, 0x4, 0xf84, 0xcc4, 0xcc4, 0xcc4, 0xcc4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x7c4, 0xc04, 0x784, 0xc4, 0xf84, 0x4, 0x4, 0x4, 0x4, 0x4, 0xfffc, 0x0, 0x0, 0x0, 0x0, 0x780, 0x780, 0x780, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7ff8, 0x7ff8, 0x7ff8, 0x7ff8, 0x7ff8, 0x7ff8, 0x7ff8, 0x7ff8, 0x7ff8, 0x6078, 0x7338, 0x7338, 0x7078, 0x73f8, 0x73f8, 0x61f8, 0x7ff8, 0x7ff8, 0x7ff8, 0x78f8, 0x7cf8, 0x7cf8, 0x7cf8, 0x7cf8, 0x7cf8, 0x7878, 0x7ff8, 0x7ff8, 0x7ff8, 0x7ff8, 0x7ff8, 0x7878, 0x7f38, 0x7c38, 0x7338, 0x7898, 0x7ff8, 0x7ff8, 0x7ff8, 0x7cf8, 0x7ff8, 0x78f8, 0x7cf8, 0x7cf8, 0x7cf8, 0x7878, 0x7ff8, 0x7ff8, 0x7ff8, 0x7ff8, 0x7ff8, 0x7078, 0x7338, 0x7338, 0x7338, 0x7338, 0x7ff8, 0x7ff8, 0x7ff8, 0x7ff8, 0x7ff8, 0x7838, 0x73f8, 0x7878, 0x7f38, 0x7078, 0x7ff8, 0x7ff8, 0x7ff8, 0x7ff8, 0x7ff8, 0x0}; struct Image PlainsImage = { 0, 0, 14, 73, 4, (USHORT *)&PlainsData[0], 0x0F, 0x0, NULL }; struct Gadget PlainsGadget = { NULL, 259, 100, 14, 73, GADGHCOMP | GADGIMAGE, RELVERIFY | GADGIMMEDIATE | TOGGLESELECT, BOOLGADGET, (APTR)&PlainsImage, NULL, NULL, 0x0, 0x0, 0, 0x2 }; USHORT WoodsData[] = { 0xfffc, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xf878, 0xf878, 0xf878, 0xfff8, 0xfff8, 0xfff8, 0xe738, 0xe738, 0xe738, 0xe538, 0xe038, 0xe238, 0xe738, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xf878, 0xf338, 0xf338, 0xf338, 0xf878, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xf878, 0xf338, 0xf338, 0xf338, 0xf878, 0xfff8, 0xfff8, 0xfff8, 0xfe38, 0xff38, 0xf938, 0xf238, 0xf338, 0xf338, 0xf898, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xf838, 0xf3f8, 0xf878, 0xff38, 0xf078, 0xfff8, 0xfff8, 0xfff8, 0x0, 0x0, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x18c4, 0x18c4, 0x18c4, 0x1ac4, 0x1fc4, 0x1dc4, 0x18c4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x784, 0xcc4, 0xcc4, 0xcc4, 0x784, 0x4, 0x4, 0x4, 0x4, 0x4, 0x784, 0xcc4, 0xcc4, 0xcc4, 0x784, 0x4, 0x4, 0x4, 0x1c4, 0xc4, 0x6c4, 0xdc4, 0xcc4, 0xcc4, 0x764, 0x4, 0x4, 0x4, 0x4, 0x4, 0x7c4, 0xc04, 0x784, 0xc4, 0xf84, 0x4, 0x4, 0x4, 0xfffc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x780, 0x780, 0x780, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7ff8, 0x7ff8, 0x7ff8, 0x7ff8, 0x7ff8, 0x7ff8, 0x7ff8, 0x7ff8, 0x7ff8, 0x7ff8, 0x7ff8, 0x6738, 0x6738, 0x6738, 0x6538, 0x6038, 0x6238, 0x6738, 0x7ff8, 0x7ff8, 0x7ff8, 0x7ff8, 0x7ff8, 0x7878, 0x7338, 0x7338, 0x7338, 0x7878, 0x7ff8, 0x7ff8, 0x7ff8, 0x7ff8, 0x7ff8, 0x7878, 0x7338, 0x7338, 0x7338, 0x7878, 0x7ff8, 0x7ff8, 0x7ff8, 0x7e38, 0x7f38, 0x7938, 0x7238, 0x7338, 0x7338, 0x7898, 0x7ff8, 0x7ff8, 0x7ff8, 0x7ff8, 0x7ff8, 0x7838, 0x73f8, 0x7878, 0x7f38, 0x7078, 0x7ff8, 0x7ff8, 0x7ff8, 0x0}; struct Image WoodsImage = { 0, 0, 14, 63, 4, (USHORT *)&WoodsData[0], 0x0F, 0x0, NULL }; struct Gadget WoodsGadget = { NULL, 259, 29, 14, 63, GADGHCOMP | GADGIMAGE, RELVERIFY | GADGIMMEDIATE | TOGGLESELECT, BOOLGADGET, (APTR)&WoodsImage, NULL, NULL, 0x0, 0x0, 0, 0x1 }; struct Gadget MapGad = { NULL, 0, 10, 256, 190, GADGHNONE, RELVERIFY | GADGIMMEDIATE | FOLLOWMOUSE, BOOLGADGET, NULL, NULL, NULL, 0x0, 0x0, 0, 0x5}; /* Gadgets and other data for the DMRequester for the parameters */ SHORT DMCancelPairs[] = {0,0, 69,0, 69,11, 0,11, 0,0}; struct Border DMCancelBorder = {-2,-2,2,0,JAM1,NUM_PAIRS,(SHORT *)&DMCancelPairs,NULL}; struct IntuiText DMCancelText = {2,2,JAM1, 4, 1, NULL,(UBYTE *) "Cancel!", NULL }; struct Gadget DMCancel = { NULL, /* NextGadget */ 78, 118, 70, 10, /* Position,size */ GADGHCOMP, GADGIMMEDIATE | ENDGADGET, REQGADGET | BOOLGADGET, (APTR)&DMCancelBorder,NULL, &DMCancelText, 0, NULL, 0, /* GadgetID */ NULL }; SHORT DMOKPairs[] = {0,0, 39,0, 39,11, 0,11, 0,0}; struct Border DMOKBorder = {-2,-2,2,0,JAM1,NUM_PAIRS,(SHORT *)&DMOKPairs,NULL}; struct IntuiText DMOKText = {2,2,JAM1, 4, 1, NULL,(UBYTE *) "USE", NULL }; struct Gadget DMOK = { &DMCancel, /* NextGadget */ 18, 118, 40, 10, /* Position,size */ GADGHCOMP, GADGIMMEDIATE | ENDGADGET, REQGADGET | BOOLGADGET, (APTR)&DMOKBorder,NULL, &DMOKText, 0, NULL, 0, /* GadgetID */ NULL }; SHORT IntPairs[] = {0,0, 35,0, 35,11, 0,11, 0,0}; struct Border IntBorder = {-2,-2,2,0,JAM1,NUM_PAIRS,(SHORT *)&IntPairs,NULL}; /* These are the initial values of parameters */ char DMBuffer[12][6] = {"64","32","16","6","3","1","64","32","16","6","3","1"}; char UndoBuffer[6]; /* We'll need a lot of these: */ struct StringInfo IntGadgetStuff[12] = { { (UBYTE *)DMBuffer[0],(UBYTE *)UndoBuffer,0,5,0,/* Bufferpos,MaxChars,DispCount */ NULL,NULL,NULL,NULL,NULL,NULL, /* Kept by Intuition (nice fellow!) */ 64, /* LongInt, to be initialized */ NULL }, { (UBYTE *)DMBuffer[1],(UBYTE *)UndoBuffer, 0,5,0, NULL,NULL,NULL,NULL,NULL,NULL, 32, NULL }, { (UBYTE *)DMBuffer[2],(UBYTE *)UndoBuffer, 0,5,0, NULL,NULL,NULL,NULL,NULL,NULL, 16, NULL }, { (UBYTE *)DMBuffer[3],(UBYTE *)UndoBuffer, 0,5,0, NULL,NULL,NULL,NULL,NULL,NULL, 6, NULL }, { (UBYTE *)DMBuffer[4],(UBYTE *)UndoBuffer, 0,5,0, NULL,NULL,NULL,NULL,NULL,NULL, 3, NULL }, { (UBYTE *)DMBuffer[5],(UBYTE *)UndoBuffer, 0,5,0, NULL,NULL,NULL,NULL,NULL,NULL, 1, NULL }, { (UBYTE *)DMBuffer[6],(UBYTE *)UndoBuffer, 0,5,0, NULL,NULL,NULL,NULL,NULL,NULL, 64, NULL }, { (UBYTE *)DMBuffer[7],(UBYTE *)UndoBuffer, 0,5,0, NULL,NULL,NULL,NULL,NULL,NULL, 32, NULL }, { (UBYTE *)DMBuffer[8],(UBYTE *)UndoBuffer, 0,5,0, NULL,NULL,NULL,NULL,NULL,NULL, 16, NULL }, { (UBYTE *)DMBuffer[9],(UBYTE *)UndoBuffer, 0,5,0, NULL,NULL,NULL,NULL,NULL,NULL, 6, NULL }, { (UBYTE *)DMBuffer[10],(UBYTE *)UndoBuffer, 0,5,0, NULL,NULL,NULL,NULL,NULL,NULL, 3, NULL }, { (UBYTE *)DMBuffer[11],(UBYTE *)UndoBuffer, 0,5,0, NULL,NULL,NULL,NULL,NULL,NULL, 1, NULL } }; /* And, of course, these: */ struct Gadget DMIntGadget[12] = { { &DMOK, /* &NextGadget */ 20,30,40,10, /* Position,size */ GADGHCOMP, NULL, /* Highlight,Activation */ REQGADGET | STRGADGET | LONGINT | STRINGRIGHT, /* Flags */ (APTR)&IntBorder, /* Rendering */ NULL, NULL, 0, /* */ (APTR)&IntGadgetStuff[0],/* &SpecialInfo */ 0, NULL /* GadgetId,UserInfo */ }, { &DMIntGadget[0], 20,44,40,10, GADGHCOMP, NULL, REQGADGET | STRGADGET | LONGINT | STRINGRIGHT, (APTR)&IntBorder, NULL, NULL, 0, (APTR)&IntGadgetStuff[1], 0, NULL }, { &DMIntGadget[1], 20,58,40,10, GADGHCOMP, NULL, REQGADGET | STRGADGET | LONGINT | STRINGRIGHT, (APTR)&IntBorder, NULL, NULL, 0, (APTR)&IntGadgetStuff[2], 0, NULL }, { &DMIntGadget[2], 20,72,40,10, GADGHCOMP, NULL, REQGADGET | STRGADGET | LONGINT | STRINGRIGHT, (APTR)&IntBorder, NULL, NULL, 0, (APTR)&IntGadgetStuff[3], 0, NULL }, { &DMIntGadget[3], 20,86,40,10, GADGHCOMP, NULL, REQGADGET | STRGADGET | LONGINT | STRINGRIGHT, (APTR)&IntBorder, NULL, NULL, 0, (APTR)&IntGadgetStuff[4], 0, NULL }, { &DMIntGadget[4], 20,100,40,10, GADGHCOMP, NULL, REQGADGET | STRGADGET | LONGINT | STRINGRIGHT, (APTR)&IntBorder, NULL, NULL, 0, (APTR)&IntGadgetStuff[5], 0, NULL }, { &DMIntGadget[5], 95,30,40,10, GADGHCOMP, NULL, REQGADGET | STRGADGET | LONGINT | STRINGRIGHT, (APTR)&IntBorder, NULL, NULL, 0, (APTR)&IntGadgetStuff[6], 0, NULL }, { &DMIntGadget[6], 95,44,40,10, GADGHCOMP, NULL, REQGADGET | STRGADGET | LONGINT | STRINGRIGHT, (APTR)&IntBorder, NULL, NULL, 0, (APTR)&IntGadgetStuff[7], 0, NULL }, { &DMIntGadget[7], 95,58,40,10, GADGHCOMP, NULL, REQGADGET | STRGADGET | LONGINT | STRINGRIGHT, (APTR)&IntBorder, NULL, NULL, 0, (APTR)&IntGadgetStuff[8], 0, NULL }, { &DMIntGadget[8], 95,72,40,10, GADGHCOMP, NULL, REQGADGET | STRGADGET | LONGINT | STRINGRIGHT, (APTR)&IntBorder, NULL, NULL, 0, (APTR)&IntGadgetStuff[9], 0, NULL }, { &DMIntGadget[9], 95,86,40,10, GADGHCOMP, NULL, REQGADGET | STRGADGET | LONGINT | STRINGRIGHT, (APTR)&IntBorder, NULL, NULL, 0, (APTR)&IntGadgetStuff[10], 0, NULL }, { &DMIntGadget[10], 95,100,40,10, GADGHCOMP, NULL, REQGADGET | STRGADGET | LONGINT | STRINGRIGHT, (APTR)&IntBorder, NULL, NULL, 0, (APTR)&IntGadgetStuff[11], 0, NULL } }; SHORT DMReqPairs[] = {0,0, 149,0, 149,129, 0,129, 0,0, 0,12, 149,12}; struct Border DMReqBorder = {0,0,2,0,JAM1,7,(SHORT *)&DMReqPairs,NULL}; struct IntuiText MoreDMReqText = { 2, 1, JAM1, 12, 17, NULL, (UBYTE *)"Heigth: Growth:",NULL}; struct IntuiText DMReqText = { 2, 1, JAM1, 3, 4, NULL, (UBYTE *)"Current Parameters",&MoreDMReqText}; /* The following is probably wiped out by InitReq... */ struct Requester DMReq = { NULL, /* &OldRequest */ 20,20, /* leftedge, topedge */ 200,100, /* Width, Height */ 1,1, /* Pointer offset */ &DMIntGadget[11],/* &GadgetList */ &DMReqBorder, /* Rendering */ &DMReqText, /* 'Current Parameters' */ POINTREL, /* Flags */ 16, /* Pen for backfill */ NULL, /* ReqLayer */ /* Some more initializers live here, but we're not interested */ };