
	*-------------------------------*

	even
	
MY_OK	= -1
MY_CANCEL	= -2
FANCY_OFF	= -1
FANCY_ON	= 0

_OpenMyReqs:
	Lea	IntName,A1
	Moveq	#0,D0
	CALLEXEC	OpenLibrary
	Move.l	D0,_IntuitionBase
	Beq	.error

	Lea	GfxName,A1
	Moveq	#0,D0
	CALLEXEC	OpenLibrary
	Move.l	D0,_GfxBase
	Beq	.error

	Lea	DFontName,a1
	Moveq	#0,D0
	CALLEXEC	OpenLibrary
	Move.l	D0,_DiskfontBase

	move.l	#0,TitleFontHandle
	move.l	#0,BodyFontHandle
	cmp.w	#FANCY_ON,My_Fancy
	bne	.no_fancy

	cmp.l	#0,_DiskfontBase
	beq	.no_fancy
	
	lea	My_TitleFont,a0
	CALLDISKFONT OpenDiskFont
	move.l	d0,TitleFontHandle
	lea	My_BodyFont,a0
	CALLDISKFONT OpenDiskFont
	move.l	d0,BodyFontHandle

.no_fancy	moveq	#-1,d0
	rts

.error	moveq	#0,d0
	rts
	
	
_CloseMyReqs:
	Move.l	_IntuitionBase,A1
	CALLEXEC	CloseLibrary

	Move.l	_DiskfontBase,A1
	cmp.l	#0,a1
	beq	.nolib
	CALLEXEC	CloseLibrary

.nolib	Move.l	_GfxBase,A1
	CALLEXEC	CloseLibrary

	move.l	TitleFontHandle,a1
	cmp.l	#0,a1
	beq	.nofont1
	CALLGRAF	CloseFont
	move.l	TitleFontHandle,a1
	CALLGRAF	RemFont
.nofont1	move.l	BodyFontHandle,a1
	cmp.l	#0,a1
	beq	.nofont2
	CALLGRAF	CloseFont
	move.l	BodyFontHandle,a1
	CALLGRAF	RemFont

.nofont2	rts

_SetOkMsg:

	move.l	(a0)+,IMy_Text_My_Text_4+0
	move.w	(a0)+,IMy_Text_My_Text_4+4

	move.l	(a0)+,IMy_Text_My_Text_5+0
	move.w	(a0),IMy_Text_My_Text_5+4

	rts

	*-------------------------------*

finish_alert:
	Move.l	_MyReqWinBase,A0
	CALLINT	CloseWindow
	rts

setup_alert:
	lea	MyReqWindow,a0

	move.l	_IntuitionBase,a6
	move.l	ib_ActiveScreen(a6),nw_Screen(a0)
		
	move.b	(a2)+,d7

	cmp.b	#3,d7
	beq	.info_alert
	
	cmp.b	#0,d7
	beq	.not_mini
	
	move.w	#70,nw_Height(a0)
	move.w	#260,My_Width

	lea	IMy_Text_1,a0
	bsr	doline
	lea	IMy_Text_2,a0
	bsr	doline
	lea	IMy_Text_3,a0
	bsr	doline

	move.l	#GADGETUP+VANILLAKEY,My_Wanted
	move.l	#My_Gadget_4,My_Gadget_3

	cmp.b	#2,d7
	bne	.not_yn

	move.l	#My_Gadget2_4,My_Gadget_3
	
.not_yn	move.l	_MyReqWinBase,-(a7)
	Move.l	_MyReqWinRPort,-(a7)
	Move.l	_MyReqWinUserPort,-(a7)
	Lea	MyReqWindow,a0
	bsr	IWait
	Move.l	(a7)+,_MyReqWinUserPort
	Move.l	(a7)+,_MyReqWinRPort
	move.l	(a7)+,_MyReqWinBase
	
	rts	
	
.not_mini	move.w	#47,nw_Height(a0)

	move.l	#GADGETUP,My_Wanted

	move.w	#260,My_Width
	lea	IMy_Text_1,a0
	bsr	doline
	lea	IMy_Text_2,a0
	bsr	doline
	lea	IMy_Text_3,a0
	bsr	doline
	
	Lea	MyReqWindow,a0
	CALLINT	OpenWindow
	Move.l	D0,_MyReqWinBase
	Move.l	D0,A0
	Move.l	wd_RPort(A0),_MyReqWinRPort
	Move.l	wd_UserPort(a0),_MyReqWinUserPort
	rts

.info_alert
	lea	MyAlertWindow,a0

	move.l	_IntuitionBase,a6
	move.l	ib_ActiveScreen(a6),nw_Screen(a0)

	move.w	#286,My_Width
	lea	AlertIText1,a0
	bsr	doline
	lea	AlertIText2,a0
	bsr	doline
	lea	AlertIText3,a0
	bsr	doline
	lea	AlertIText4,a0
	bsr	doline
	lea	AlertIText5,a0
	bsr	doline
	lea	AlertIText6,a0
	bsr	doline
	lea	AlertIText7,a0
	bsr	doline
	lea	AlertIText8,a0
	bsr	doline
	lea	AlertIText9,a0
	bsr	doline
	lea	AlertIText10,a0
	bsr	doline

	move.l	_MyReqWinBase,-(a7)
	Move.l	_MyReqWinRPort,-(a7)
	Move.l	_MyReqWinUserPort,-(a7)

	Lea	MyAlertWindow,a0
	bsr	IWait

	Move.l	(a7)+,_MyReqWinUserPort
	Move.l	(a7)+,_MyReqWinRPort
	move.l	(a7)+,_MyReqWinBase

	rts	

IWait:	CALLINT	OpenWindow
	Move.l	D0,_MyReqWinBase
	Move.l	D0,A0
	Move.l	wd_RPort(A0),_MyReqWinRPort
	Move.l	wd_UserPort(a0),_MyReqWinUserPort
	
mr_WaitLoop	Move.l	_MyReqWinUserPort,A0
	CALLEXEC	WaitPort
	Move.l	_MyReqWinUserPort,A0
	CALLEXEC	GetMsg
	Move.l	D0,A1
	Move.l	im_Class(A1),D2		;D2=IDCMP Flags Directly
	Move.w	im_Code(A1),D3		;D3=Data ie key why class=Rawkey
	Move.w	im_Qualifier(A1),D4		;D4=things like CTRL SHIFT
	Move.w	im_MouseX(a1),D5		;D5=MouseX Coordinate
	Move.w	im_MouseY(a1),D6		;D5=MouseY Coordinate
	Move.l	im_IAddress(A1),D7		;D7=Addres of Intuition Obj ie Gadget
	Movem.l	D0-D7/A0-A6,-(A7)	
	CALLEXEC	ReplyMsg
	Movem.l	(a7)+,D0-D7/A0-A6
	cmp.l	#VANILLAKEY,D2
	bne	.not_key
	cmp.b	KeyAccept_OK,d3
	bne	.not_ok
	move.l	#MY_OK,d7
	Move.l	_MyReqWinBase,A0
	CALLINT	CloseWindow
	rts

.not_ok	cmp.b	KeyAccept_Cancel,d3
	bne	.not_key
	move.l	#MY_CANCEL,d7
	Move.l	_MyReqWinBase,A0
	CALLINT	CloseWindow
	rts
	
.not_key	Cmp.l	#GADGETUP,D2
	bne	mr_WaitLoop

	move.l	d7,a0
	move.l	gg_UserData(a0),d3

ReqExit	move.l	d3,d7
	Move.l	_MyReqWinBase,A0
	CALLINT	CloseWindow

	rts


doline:	move.l	it_IText(a0),a1
	move.w	#0,d0
	
	cmp.b	#0,(a2)
	beq	.blank
.loop	add.w	#1,d0
	move.b	(a2)+,(a1)+
	cmp.b	#0,(a2)
	bne	.loop

.blank	move.b	(a2)+,(a1)+
	asl.w	#3,d0

	move.l	a0,-(a7)
	CALLINT	IntuiTextLength
	move.l	(a7)+,a0

	move.w	My_Width,d1
	sub.w	d0,d1
	divs	#2,d1
	move.w	d1,it_LeftEdge(a0)
	
	rts
	
	*-------------------------------*

_MyReqWinVPort	Dc.l	0
_MyReqWinBase	Dc.l	0
_MyReqWinRPort	Dc.l	0
_MyReqWinUserPort	Dc.l	0
My_Width:		dc.w	260

_IntuitionBase	Dc.l	0
_DiskfontBase	dc.l	0
_GfxBase		dc.l	0

IntName		INTNAME
GfxName		GRAFNAME
DFontName		DISKFONTNAME

		even

**************************************************

MyReqWindow:
	dc.w	183,45
	dc.w	273,47
	dc.b	0,1
My_Wanted:	dc.l	GADGETUP+VANILLAKEY
	dc.l	ACTIVATE+RMBTRAP+NOCAREREFRESH
	dc.l	My_Gadget_List1
	dc.l	0
	dc.l	0
	dc.l	0
	dc.l	0
	dc.w	5,5
	dc.w	-1,-1
	dc.w	CUSTOMSCREEN
My_Gadget_List1:
My_Gadget_1:
	dc.l	My_Gadget_2
	dc.w	7,5
	dc.w	258,9
	dc.w	GADGHBOX+GADGHIMAGE
	dc.w	0
	dc.w	BOOLGADGET
	dc.l	My_Border_1a
	dc.l	0
	dc.l	IMy_Text_1
	dc.l	0
	dc.l	0
	dc.w	0
	dc.l	0

My_Border_1a:	
	dc.w	-1,-1
	dc.b	2,0,RP_JAM1
	dc.b	10
	dc.l	My_Border_Vectors1a
	dc.l	My_Border_1b

My_Border_1b:
	dc.w	-1,-1
	dc.b	1,0,RP_JAM1
	dc.b	10
	dc.l	My_Border_Vectors1b
	dc.l	0

My_Border_Vectors1a:
	dc.w	0,0
	dc.w	259,0
	dc.w	259,11
	dc.w	260,11
	dc.w	260,0
	dc.w	260,11
	dc.w	-1,11
	dc.w	-1,0
	dc.w	-2,0
	dc.w	-2,11
My_Border_Vectors1b:
	dc.w	259,10
	dc.w	1,10
	dc.w	1,-1
	dc.w	1,10
	dc.w	0,10
	dc.w	0,-1
	dc.w	261,-1
	dc.w	261,10
	dc.w	262,-1
	dc.w	262,10

IMy_Text_1:	dc.b	1,0,RP_JAM2,0
	dc.w	5,1
	dc.l	My_BodyFont
	dc.l	IMy_Text_My_Text_1
	dc.l	0
My_Gadget_2:
	dc.l	My_Gadget_3
	dc.w	7,19
	dc.w	258,9
	dc.w	GADGHBOX+GADGHIMAGE
	dc.w	0
	dc.w	BOOLGADGET
	dc.l	My_Border_1a
	dc.l	0
	dc.l	IMy_Text_2
	dc.l	0
	dc.l	0
	dc.w	0
	dc.l	0

IMy_Text_2:
	dc.b	1,0,RP_JAM2,0
	dc.w	5,1
	dc.l	My_BodyFont
	dc.l	IMy_Text_My_Text_2
	dc.l	0
My_Gadget_3:
	dc.l	My_Gadget_4
	dc.w	7,34
	dc.w	258,9
	dc.w	GADGHBOX+GADGHIMAGE
	dc.w	0
	dc.w	BOOLGADGET
	dc.l	My_Border_1a
	dc.l	0
	dc.l	IMy_Text_3
	dc.l	0
	dc.l	0
	dc.w	0
	dc.l	0
IMy_Text_3:
	dc.b	1,0,RP_JAM2,0
	dc.w	5,1
	dc.l	My_BodyFont
	dc.l	IMy_Text_My_Text_3
	dc.l	0
My_Gadget_4:
	dc.l	0
	dc.w	102,50
	dc.w	65,15
	dc.w	0
	dc.w	RELVERIFY
	dc.w	BOOLGADGET
	dc.l	My_Border_4a
	dc.l	0
	dc.l	IMy_Text_4
	dc.l	0
	dc.l	0
	dc.w	0
	dc.l	0
My_Border_4a:	dc.w	-1,-1
	dc.b	2,0,RP_JAM1
	dc.b	5
	dc.l	My_Border_Vectors4a
	dc.l	My_Border_4b
My_Border_4b:	dc.w	-1,-1
	dc.b	1,0,RP_JAM1
	dc.b	5
	dc.l	My_Border_Vectors4b
	dc.l	0

My_Border_Vectors4a:
	dc.w	0,0
	dc.w	66,0
	dc.w	66,16
	dc.w	67,16
	dc.w	67,0
My_Border_Vectors4b:
	dc.w	67,16
	dc.w	0,16
	dc.w	0,0
	dc.w	-1,0
	dc.w	-1,16
IMy_Text_4:
	dc.b	1,0,RP_JAM1,0
	dc.w	2,4
	dc.l	MY_TOPAZ60
	dc.l	IMy_Text_My_Text_4
	dc.l	0
MY_TOPAZ60:
	dc.l	MY_TopazName
	dc.w	TOPAZ_SIXTY
	dc.b	0,0
MY_TopazName:
	dc.b	'topaz.font',0
	cnop 0,2

MY_TOPAZ80:
	dc.l	MY_TopazName
	dc.w	TOPAZ_EIGHTY
	dc.b	0,0

IMy_Text_My_Text_1:	dcb.b	32,0
IMy_Text_My_Text_2:	dcb.b	32,0
IMy_Text_My_Text_3:	dcb.b	32,0
		even
IMy_Text_My_Text_4:	dc.b	'  OK  ',0
		even
IMy_Text_My_Text_5:	dc.b	'CANCEL',0
		even

KeyAccept_OK:	dc.b	13
KeyAccept_Cancel:	dc.b	27

		even

My_Gadget2_4:	
	dc.l	My_Gadget2_5
	dc.w	34,50
	dc.w	65,15
	dc.w	0
	dc.w	RELVERIFY
	dc.w	BOOLGADGET
	dc.l	My_Border_4a
	dc.l	0
	dc.l	MyI_Text4
	dc.l	0
	dc.l	0
	dc.w	0
	dc.l	MY_OK

MyI_Text4:	dc.b	1,0,RP_JAM1,0
	dc.w	2,4
	dc.l	MY_TOPAZ60
	dc.l	IMy_Text_My_Text_4
	dc.l	0
	cnop 0,2

My_Gadget2_5:
	dc.l	0
	dc.w	169,50
	dc.w	65,15
	dc.w	0
	dc.w	RELVERIFY
	dc.w	BOOLGADGET
	dc.l	My_Border_4a
	dc.l	0
	dc.l	MyI_Text5
	dc.l	0
	dc.l	0
	dc.w	0
	dc.l	MY_CANCEL

MyI_Text5:	dc.b	1,0,RP_JAM1,0
	dc.w	2,4
	dc.l	MY_TOPAZ60
	dc.l	IMy_Text_My_Text_5
	dc.l	0
	cnop 0,2

	***************************************

MyAlertWindow:
	dc.w	169,35
	dc.w	300,130
	dc.b	0,1
	dc.l	VANILLAKEY+GADGETUP
	dc.l	ACTIVATE+RMBTRAP+NOCAREREFRESH
	dc.l	AlertGadgetList
	dc.l	0
	dc.l	0
	dc.l	0
	dc.l	0
	dc.w	5,5
	dc.w	-1,-1
	dc.w	CUSTOMSCREEN
AlertGadgetList:
	dc.l	AlertGadget2
	dc.w	7,4
	dc.w	286,10
	dc.w	0
	dc.w	0
	dc.w	BOOLGADGET
	dc.l	0
	dc.l	0
	dc.l	AlertIText1
	dc.l	0
	dc.l	0
	dc.w	0
	dc.l	0
AlertIText1:
	dc.b	1,0,RP_JAM1,0
	dc.w	4,1
	dc.l	My_TitleFont
	dc.l	AlertITextText1
	dc.l	0
AlertGadget2:
	dc.l	AlertGadget3
	dc.w	7,14
	dc.w	286,10
	dc.w	0
	dc.w	0
	dc.w	BOOLGADGET
	dc.l	0
	dc.l	0
	dc.l	AlertIText2
	dc.l	0
	dc.l	0
	dc.w	0
	dc.l	0
AlertIText2:
	dc.b	1,0,RP_JAM2,0
	dc.w	4,1
	dc.l	My_BodyFont
	dc.l	AlertITextText2
	dc.l	0
AlertGadget3:
	dc.l	AlertGadget4
	dc.w	7,24
	dc.w	286,10
	dc.w	0
	dc.w	0
	dc.w	BOOLGADGET
	dc.l	0
	dc.l	0
	dc.l	AlertIText3
	dc.l	0
	dc.l	0
	dc.w	0
	dc.l	0
AlertIText3:
	dc.b	1,0,RP_JAM1,0
	dc.w	4,1
	dc.l	My_BodyFont
	dc.l	AlertITextText3
	dc.l	0
AlertGadget4:
	dc.l	AlertGadget5
	dc.w	7,34
	dc.w	286,10
	dc.w	0
	dc.w	0
	dc.w	BOOLGADGET
	dc.l	0
	dc.l	0
	dc.l	AlertIText4
	dc.l	0
	dc.l	0
	dc.w	0
	dc.l	0
AlertIText4:
	dc.b	1,0,RP_JAM1,0
	dc.w	4,1
	dc.l	My_BodyFont
	dc.l	AlertITextText4
	dc.l	0
AlertGadget5:
	dc.l	AlertGadget6
	dc.w	7,44
	dc.w	286,10
	dc.w	0
	dc.w	0
	dc.w	BOOLGADGET
	dc.l	0
	dc.l	0
	dc.l	AlertIText5
	dc.l	0
	dc.l	0
	dc.w	0
	dc.l	0
AlertIText5:
	dc.b	1,0,RP_JAM1,0
	dc.w	4,1
	dc.l	My_BodyFont
	dc.l	AlertITextText5
	dc.l	0
AlertGadget6:
	dc.l	AlertGadget7
	dc.w	7,54
	dc.w	286,10
	dc.w	0
	dc.w	0
	dc.w	BOOLGADGET
	dc.l	0
	dc.l	0
	dc.l	AlertIText6
	dc.l	0
	dc.l	0
	dc.w	0
	dc.l	0
AlertIText6:
	dc.b	1,0,RP_JAM1,0
	dc.w	4,1
	dc.l	My_BodyFont
	dc.l	AlertITextText6
	dc.l	0
AlertGadget7:
	dc.l	AlertGadget8
	dc.w	7,64
	dc.w	286,10
	dc.w	0
	dc.w	0
	dc.w	BOOLGADGET
	dc.l	0
	dc.l	0
	dc.l	AlertIText7
	dc.l	0
	dc.l	0
	dc.w	0
	dc.l	0
AlertIText7:
	dc.b	1,0,RP_JAM1,0
	dc.w	4,1
	dc.l	My_BodyFont
	dc.l	AlertITextText7
	dc.l	0
AlertGadget8:
	dc.l	AlertGadget9
	dc.w	7,74
	dc.w	286,10
	dc.w	0
	dc.w	0
	dc.w	BOOLGADGET
	dc.l	0
	dc.l	0
	dc.l	AlertIText8
	dc.l	0
	dc.l	0
	dc.w	0
	dc.l	0
AlertIText8:
	dc.b	1,0,RP_JAM1,0
	dc.w	4,1
	dc.l	My_BodyFont
	dc.l	AlertITextText8
	dc.l	0
AlertGadget9:
	dc.l	AlertGadget10
	dc.w	7,84
	dc.w	286,10
	dc.w	0
	dc.w	0
	dc.w	BOOLGADGET
	dc.l	0
	dc.l	0
	dc.l	AlertIText9
	dc.l	0
	dc.l	0
	dc.w	0
	dc.l	0
AlertIText9:
	dc.b	1,0,RP_JAM1,0
	dc.w	4,1
	dc.l	My_BodyFont
	dc.l	AlertITextText9
	dc.l	0
AlertGadget10:
	dc.l	My_OK_AlertGadget
	dc.w	7,94
	dc.w	286,10
	dc.w	0
	dc.w	0
	dc.w	BOOLGADGET
	dc.l	0
	dc.l	0
	dc.l	AlertIText10
	dc.l	0
	dc.l	0
	dc.w	0
	dc.l	0

AlertIText10:
	dc.b	1,0,RP_JAM1,0
	dc.w	4,1
	dc.l	My_BodyFont
	dc.l	AlertITextText10
	dc.l	0
	
AlertITextText1:	ds.b	35
AlertITextText2:	ds.b	35
AlertITextText3:	ds.b	35
AlertITextText4:	ds.b	35
AlertITextText5:	ds.b	35
AlertITextText6:	ds.b	35
AlertITextText7:	ds.b	35
AlertITextText8:	ds.b	35
AlertITextText9:	ds.b	35
AlertITextText10:	ds.b	35
	cnop 0,2

My_OK_AlertGadget:
	dc.l	0
	dc.w	119,110
	dc.w	65,15
	dc.w	0
	dc.w	RELVERIFY
	dc.w	BOOLGADGET
	dc.l	My_Border_4a
	dc.l	0
	dc.l	AlertIText11
	dc.l	0
	dc.l	0
	dc.w	0
	dc.l	0

AlertIText11:
	dc.b	1,0,RP_JAM1,0
	dc.w	3,4
	dc.l	MY_TOPAZ60
	dc.l	IMy_Text_My_Text_4
	dc.l	0

My_TitleFont:	
	dc.l	My_TitleFontName
	dc.w	16
	dc.b	0,0
My_TitleFontName:
	dc.b	'Garnet.font',0
	cnop 0,2
		

My_BodyFont:	
	dc.l	My_BodyFontName
	dc.w	8
	dc.b	0		; style 
	dc.b	0		; flags
My_BodyFontName:
	dc.b	'DPaint.font',0
	cnop 0,2

	
TitleFontHandle:	dc.l	0
BodyFontHandle:	dc.l	0
My_Fancy:		dc.l	0

	*-------------------------------*
