; für DevPac 2.0
; 7.9.90/bp
; Komplett initialisiertes Menu für Trails
; Die ObjektDatei heißt nachher obj/TrailsAsm.obj. Dadurch
; findet der Linker sie ohne Extra-Angabe durch "-l...".
;
; Durch den Hunk-Namen __MERGED sind diese daten residentfähig.
; Wir dürfen dann aber nur Relokationen innerhalb dieses Hunks
; erzeugen!
;
; Wir arbeiten hier OHNE Includes, um halbwegs kompatibel zu bleiben!
;
	IDNT	TrailsAsm
	SECTION	__MERGED,DATA	; wir wollen doch residentfähig sein!
	XDEF	TrailsAsm_MenuStrip
	XDEF	TrailsAsm_InfoRequest

jam1	EQU	0
jam2	EQU	1
checkWidth EQU 19
menuEnabled EQU 1 ; BITSET{menuEnabled}
iflags 	EQU 2+16+64; MenuItemFlagSet{itemText,itemEnabled,ighComp}
checkIt EQU 1
checked EQU 256

TrailsAsm_MenuStrip:
	DC.L	Menu0
Menu0:
	DC.L	Menu1
	DC.W	10,0,112,0
	DC.W	menuEnabled
	DC.L	Menu0Name
	DC.L	Menu0Item0
	DC.W	0,0,0,0
Menu0Name:
	DC.B	"Actions",0
	EVEN

Menu1:
	DC.L	Menu2
	DC.W	10+112,0,80,0
	DC.W	menuEnabled
	DC.L	Menu1Name
	DC.L	Menu1Item0
	DC.W	0,0,0,0
Menu1Name:
	DC.B	"Symetry",0
	EVEN

Menu2:
	DC.L	Menu3
	DC.W	10+112+80,0,84,0
	DC.W	menuEnabled
	DC.L	Menu2Name
	DC.L	Menu2Item0
	DC.W	0,0,0,0
Menu2Name:
	DC.B	"Length",0
	EVEN

Menu3:
	DC.L	0
	DC.W	10+112+80+84,0,100,0
	DC.W	menuEnabled
	DC.L	Menu3Name
	DC.L	Menu3Item0
	DC.W	0,0,0,0
Menu3Name:
	DC.B	"Size",0
	EVEN

ActionText0:
	DC.B	0,1
	DC.B	jam2,0
	DC.W	0,0
	DC.L	0
	DC.L	ActionMsg0
	DC.L	0
ActionMsg0:
	DC.B	"Hide Title Bar",0
	EVEN

Menu0Item0:
	DC.L	Menu0Item1
	DC.W	0,0,112,9
	DC.W	iflags
	DC.L	0 ; mutualExclude
	DC.L	ActionText0
	DC.L	0 ; selectFill
	DC.B	0,0 ; command,pad
	DC.L	0,0

ActionText1:
	DC.B	0,1
	DC.B	jam2,0
	DC.W	0,0
	DC.L	0
	DC.L	ActionMsg1
	DC.L	0
ActionMsg1:
	DC.B	"Show Title Bar",0
	EVEN

Menu0Item1:
	DC.L	Menu0Item2
	DC.W	0,10,112,9
	DC.W	iflags
	DC.L	0 ; mutualExclude
	DC.L	ActionText1
	DC.L	0 ; selectFill
	DC.B	0,0 ; command,pad
	DC.L	0,0

ActionText2:
	DC.B	0,1
	DC.B	jam2,0
	DC.W	0,0
	DC.L	0
	DC.L	ActionMsg2
	DC.L	0
ActionMsg2:
	DC.B	"About Trails",0
	EVEN

Menu0Item2:
	DC.L	Menu0Item3
	DC.W	0,20,112,9
	DC.W	iflags
	DC.L	0 ; mutualExclude
	DC.L	ActionText2
	DC.L	0 ; selectFill
	DC.B	0,0 ; command,pad
	DC.L	0,0

ActionText3:
	DC.B	0,1
	DC.B	jam2,0
	DC.W	0,0
	DC.L	0
	DC.L	ActionMsg3
	DC.L	0
ActionMsg3:
	DC.B	"Clear",0
	EVEN

Menu0Item3:
	DC.L	Menu0Item4
	DC.W	0,30,112,9
	DC.W	iflags
	DC.L	0 ; mutualExclude
	DC.L	ActionText3
	DC.L	0 ; selectFill
	DC.B	0,0 ; command,pad
	DC.L	0,0

ActionText4:
	DC.B	0,1
	DC.B	jam2,0
	DC.W	0,0
	DC.L	0
	DC.L	ActionMsg4
	DC.L	0
ActionMsg4:
	DC.B	"Quit",0
	EVEN

Menu0Item4:
	DC.L	0
	DC.W	0,40,112,9
	DC.W	iflags
	DC.L	0 ; mutualExclude
	DC.L	ActionText4
	DC.L	0 ; selectFill
	DC.B	0,0 ; command,pad
	DC.L	0,0

; Symetry:
SymetryText0:
	DC.B	0,1
	DC.B	jam2,0
	DC.W	checkWidth,0
	DC.L	0
	DC.L	SymetryMsg0
	DC.L	0
SymetryMsg0:
	DC.B	"1 Fold",0
	EVEN

Menu1Item0:
	DC.L	Menu1Item1
	DC.W	0,0,80,9
	DC.W	iflags+checkIt
	DC.L	%11111110 ; mutualExclude
	DC.L	SymetryText0
	DC.L	0 ; selectFill
	DC.B	0,0 ; command,pad
	DC.L	0,0

SymetryText1:
	DC.B	0,1
	DC.B	jam2,0
	DC.W	checkWidth,0
	DC.L	0
	DC.L	SymetryMsg1
	DC.L	0
SymetryMsg1:
	DC.B	"2 Fold",0
	EVEN

Menu1Item1:
	DC.L	Menu1Item2
	DC.W	0,10,80,9
	DC.W	iflags+checkIt+checked
	DC.L	%11111101 ; mutualExclude
	DC.L	SymetryText1
	DC.L	0 ; selectFill
	DC.B	0,0 ; command,pad
	DC.L	0,0

SymetryText2:
	DC.B	0,1
	DC.B	jam2,0
	DC.W	checkWidth,0
	DC.L	0
	DC.L	SymetryMsg2
	DC.L	0
SymetryMsg2:
	DC.B	"4 Fold",0
	EVEN

Menu1Item2:
	DC.L	0
	DC.W	0,20,80,9
	DC.W	iflags+checkIt
	DC.L	%11111011 ; mutualExclude
	DC.L	SymetryText2
	DC.L	0 ; selectFill
	DC.B	0,0 ; command,pad
	DC.L	0,0

; Size Items:
SizeText0:
	DC.B	0,1
	DC.B	jam2,0
	DC.W	checkWidth,0
	DC.L	0
	DC.L	SizeMsg0
	DC.L	0
SizeMsg0:
	DC.B	"16",0
	EVEN

Menu2Item0:
	DC.L	Menu2Item1
	DC.W	0,0,84,9
	DC.W	iflags+checkIt
	DC.L	%11111110 ; mutualExclude
	DC.L	SizeText0
	DC.L	0 ; selectFill
	DC.B	0,0 ; command,pad
	DC.L	0,0

SizeText1:
	DC.B	0,1
	DC.B	jam2,0
	DC.W	checkWidth,0
	DC.L	0
	DC.L	SizeMsg1
	DC.L	0
SizeMsg1:
	DC.B	"32",0
	EVEN

Menu2Item1:
	DC.L	Menu2Item2
	DC.W	0,10,84,9
	DC.W	iflags+checkIt
	DC.L	%11111101 ; mutualExclude
	DC.L	SizeText1
	DC.L	0 ; selectFill
	DC.B	0,0 ; command,pad
	DC.L	0,0

SizeText2:
	DC.B	0,1
	DC.B	jam2,0
	DC.W	checkWidth,0
	DC.L	0
	DC.L	SizeMsg2
	DC.L	0
SizeMsg2:
	DC.B	"64",0
	EVEN

Menu2Item2:
	DC.L	Menu2Item3
	DC.W	0,20,84,9
	DC.W	iflags+checkIt+checked
	DC.L	%11111011 ; mutualExclude
	DC.L	SizeText2
	DC.L	0 ; selectFill
	DC.B	0,0 ; command,pad
	DC.L	0,0

SizeText3:
	DC.B	0,1
	DC.B	jam2,0
	DC.W	checkWidth,0
	DC.L	0
	DC.L	SizeMsg3
	DC.L	0
SizeMsg3:
	DC.B	"128",0
	EVEN

Menu2Item3:
	DC.L	Menu2Item4
	DC.W	0,30,84,9
	DC.W	iflags+checkIt
	DC.L	%11110111 ; mutualExclude
	DC.L	SizeText3
	DC.L	0 ; selectFill
	DC.B	0,0 ; command,pad
	DC.L	0,0

SizeText4:
	DC.B	0,1
	DC.B	jam2,0
	DC.W	checkWidth,0
	DC.L	0
	DC.L	SizeMsg4
	DC.L	0
SizeMsg4:
	DC.B	"Infinite",0
	EVEN

Menu2Item4:
	DC.L	0
	DC.W	0,40,84,9
	DC.W	iflags+checkIt
	DC.L	%11101111 ; mutualExclude
	DC.L	SizeText4
	DC.L	0 ; selectFill
	DC.B	0,0 ; command,pad
	DC.L	0,0

; Square Items:
SquareText0:
	DC.B	0,1
	DC.B	jam2,0
	DC.W	checkWidth,0
	DC.L	0
	DC.L	SquareMsg0
	DC.L	0
SquareMsg0:
	DC.B	"2 by 2",0
	EVEN

Menu3Item0:
	DC.L	Menu3Item1
	DC.W	0,0,100,9
	DC.W	iflags+checkIt
	DC.L	%11111110 ; mutualExclude
	DC.L	SquareText0
	DC.L	0 ; selectFill
	DC.B	0,0 ; command,pad
	DC.L	0,0

SquareText1:
	DC.B	0,1
	DC.B	jam2,0
	DC.W	checkWidth,0
	DC.L	0
	DC.L	SquareMsg1
	DC.L	0
SquareMsg1:
	DC.B	"4 by 4",0
	EVEN

Menu3Item1:
	DC.L	Menu3Item2
	DC.W	0,10,100,9
	DC.W	iflags+checkIt+checked
	DC.L	%11111101 ; mutualExclude
	DC.L	SquareText1
	DC.L	0 ; selectFill
	DC.B	0,0 ; command,pad
	DC.L	0,0

SquareText2:
	DC.B	0,1
	DC.B	jam2,0
	DC.W	checkWidth,0
	DC.L	0
	DC.L	SquareMsg2
	DC.L	0
SquareMsg2:
	DC.B	"8 by 8",0
	EVEN

Menu3Item2:
	DC.L	Menu3Item3
	DC.W	0,20,100,9
	DC.W	iflags+checkIt
	DC.L	%11111011 ; mutualExclude
	DC.L	SquareText2
	DC.L	0 ; selectFill
	DC.B	0,0 ; command,pad
	DC.L	0,0

SquareText3:
	DC.B	0,1
	DC.B	jam2,0
	DC.W	checkWidth,0
	DC.L	0
	DC.L	SquareMsg3
	DC.L	0
SquareMsg3:
	DC.B	"16 by 16",0
	EVEN

Menu3Item3:
	DC.L	Menu3Item4
	DC.W	0,30,100,9
	DC.W	iflags+checkIt
	DC.L	%11110111 ; mutualExclude
	DC.L	SquareText3
	DC.L	0 ; selectFill
	DC.B	0,0 ; command,pad
	DC.L	0,0

SquareText4:
	DC.B	0,1
	DC.B	jam2,0
	DC.W	checkWidth,0
	DC.L	0
	DC.L	SquareMsg4
	DC.L	0
SquareMsg4:
	DC.B	"32 by 32",0
	EVEN

Menu3Item4:
	DC.L	0
	DC.W	0,40,100,9
	DC.W	iflags+checkIt
	DC.L	%11101111 ; mutualExclude
	DC.L	SquareText4
	DC.L	0 ; selectFill
	DC.B	0,0 ; command,pad
	DC.L	0,0

; InfoRequester
InfoReqWidth EQU 300;
InfoReqHeight EQU 100
InfoGadWidth EQU 70
InfoGadHeight EQU 10

InfoGadText:
	DC.B	2,1
	DC.B	jam1,0
	DC.W	3,1
	DC.L	0
	DC.L	GadMsg
	DC.L	0
GadMsg:
	DC.B	"Continue",0
	EVEN

InfoGadPairs:
	DC.W	0,0,InfoGadWidth+1,0,InfoGadWidth+1,InfoGadHeight+1
	DC.W	0,InfoGadHeight+1,0,0

boolGadget EQU 1
reqGadget  EQU $1000

InfoGadBorder:
	DC.W	-1,-1
	DC.B	3,0
	DC.B	jam1,5
	DC.L	InfoGadPairs
	DC.L	0
InfoGad:
	DC.L	0
	DC.W	InfoReqWidth/2-InfoGadWidth/2,InfoReqHeight-(InfoGadHeight+5)
	DC.W	InfoGadWidth,InfoGadHeight
	DC.W	0 ; GadgetFlagSet{}
	DC.W	1+4 ; ActivationFlagSet{endGadget,relVerify}
	DC.W	boolGadget+reqGadget
	DC.L	InfoGadBorder
	DC.L	0
	DC.L	InfoGadText
	DC.L	0,0 ; mutual, secialInfo
	DC.W	0 ; id
	DC.L	0 ; userData

ReqText0:
	DC.B	2,1
	DC.B	jam2,0
	DC.W	26,10
	DC.L	0
	DC.L	ReqMsg0
	DC.L	ReqText1
ReqMsg0:
	DC.B	"Original Author of this program",0
	EVEN

ReqText1:
	DC.B	2,1
	DC.B	jam2,0
	DC.W	62,20
	DC.L	0
	DC.L	ReqMsg1
	DC.L	ReqText2
ReqMsg1:
	DC.B	"Richie Bielak, (c)1986",0
	EVEN

ReqText2:
	DC.B	2,1
	DC.B	jam2,0
	DC.W	14,33
	DC.L	0
	DC.L	ReqMsg2
	DC.L	ReqText3
ReqMsg2:
	DC.B	"This program can be freely copied,",0
	EVEN

ReqText3:
	DC.B	2,1
	DC.B	jam2,0
	DC.W	6,43
	DC.L	0
	DC.L	ReqMsg3
	DC.L	ReqText4
ReqMsg3:
	DC.B	"but please leave my name in, thanks!",0
	EVEN

ReqText4:
	DC.B	2,1
	DC.B	jam2,0
	DC.W	38,60
	DC.L	0
	DC.L	ReqMsg4
	DC.L	ReqText5
ReqMsg4:
	DC.B	"It was easily adapted to the",0
	EVEN

ReqText5:
	DC.B	2,1
	DC.B	jam2,0
	DC.W	26,70
	DC.L	0
	DC.L	ReqMsg5
	DC.L	0
ReqMsg5:
	DC.B	"AMIGA Modula-2 System by AMSoft",0
	EVEN

InfoReqPairs:
	DC.W	0,0,InfoReqWidth-3,0,InfoReqWidth-3,InfoReqHeight-3
	DC.W	0,InfoReqHeight-3,0,0

InfoReqBorder:
	DC.W	1,1
	DC.B	3,0
	DC.B	jam1,5
	DC.L	InfoReqPairs
	DC.L	0

; hier müßte InitRequester erfolgen!
TrailsAsm_InfoRequest:
	DC.L	0 ; olderRequest
	DC.W	20,30,InfoReqWidth,InfoReqHeight
	DC.W	0,0
	DC.L	InfoGad
	DC.L	InfoReqBorder
	DC.L	ReqText0
	DC.W	0 ; RequesterFlagSet{}
	DC.B	1,0 ; backFill, pad
	DC.L	0
	DC.L	0,0,0,0,0,0,0,0 ; pad1 32 Byte
	DC.L	0 ; imageBMap
	DC.L	0 ; rWindow
	DC.L	0,0,0,0,0,0,0,0,0 ; pad2 36 Byte

	END
