;/*Die Datenstruktur und die einstellbaren Flags wurden vom
;FileRequester-Aufruf der REQUESTER.Library übernommen, so daß
;eine Umstellung auf den RCT-FileRequester sehr einfach gemacht
;werden kann.*/

* Definitionen für RCT-FileRequester */

* DSIZE ist die Definition für die Größe des Pfadnamen-Arrays.		*/
* FCHARS steht für die Größe des Dateinamen-Arrays.						*/
* WILDLENGTH ist die länge des Stings für den Hide- und Showtext.	*/

* Durch folgende Flags kann das Aussehen und die Art des Requesters */
* verändert werden: 																*/

* FRQCACHINGM 	 Wenn das eingelesene Verzeichnis
*		 zwischengespeichert und beim nächsten Aufruf
*		 des Requesters wieder aufgerufen werden soll */
* FRQABSOLUTEXYM  in den Felder WindowLeftEdge, WindowTopEdge
*		 werden Koordianten angegeben anderenfalls wird
*		 der Requester zentiert */
* FRQCACHEPURGEM  Das zwischengespeicherte Verzeichnis wird
*		 neu geladen wenn sich das Datum des Verzeichnisses geändert hat */
* FRQNOHALFCACHEM Die eingelesenen Dateien werden nicht bis zum
*		 nächsten Aufruf zwischengespeichert, wenn sie nicht vollständig
*		 eingelesen werden konnten */
* FRQNOSORTM		 Die Dateinamen sollen unsortiert angezeigt
*						 werden */
* FRQNODRAGM		 Der Requester kann nciht verschoben oder in
*			 den Hinter-/Vordergrund geholt werden */
* FRQSAVINGM		 Im "OK-Gadget" wird der Text "SAVE" angezeigt */
* FRQLOADINGM 	 Im "OK-Gadget" wird der text "LOAD" angezeigt */
* FRQNODEPTHM 	 Das Fenster soll zwar verschiebbar aber nicht
*		 in der Vorder-/Hintergrund stellbar sein. */


;ifndef	DSIZE
;define	DSIZE 130
;define	FCHARS	30
;endif	/* ifndef DSIZE */

;define	WILDLENGTH		30

;define	FRQSHOWINFOB	  	0
;define	FRQEXTSELECTB	  	1
;define	FRQCACHINGB 	  	2
;define	FRQGETFONTSB	  	3
;define	FRQINFOGADGETB   	4
;define	FRQHIDEWILDSB	  	5
;define	FRQABSOLUTEXYB   	6
;define	FRQCACHEPURGEB   	7
;define	FRQNOHALFCACHEB  	8
;define	FRQNOSORTB		9
;define	FRQNODRAGB		10
;define	FRQSAVINGB		11
;define	FRQLOADINGB 	 	12
;define	FRQDIRONLYB 	 	13	
;define	FRQNODEPTHB 	 	14

;define	FRQSHOWINFOM		(1<<FRQSHOWINFOB)
;define	FRQEXTSELECTM		(1<<FRQEXTSELECTB)
;define	FRQCACHINGM 		(1<<FRQCACHINGB)
;define	FRQGETFONTSM		(1<<FRQGETFONTSB)
;define	FRQINFOGADGETM 		(1<<FRQINFOGADGETB)
;define	FRQHIDEWILDSM		(1<<FRQHIDEWILDSB)
;define	FRQABSOLUTEXYM 		(1<<FRQABSOLUTEXYB)
;define	FRQCACHEPURGEM 		(1<<FRQCACHEPURGEB)
;define	FRQNOHALFCACHEM		(1<<FRQNOHALFCACHEB)
;define	FRQNOSORTM		(1<<FRQNOSORTB)
;define	FRQNODRAGM		(1<<FRQNODRAGB)
;define	FRQSAVINGM		(1<<FRQSAVINGB)
;define	FRQLOADINGM 		(1<<FRQLOADINGB)
;define	FRQDIRONLYM 		(1<<FRQDIRONLYB)
;define	FRQNODEPTHM 		(1<<FRQNODEPTHB)





ALERT MACRO
	movem.l	d1-d7/a0-a6,-(sp)
	lea	.alerttxt\@,a0
	move.l	#\1,d0
	jsr	form_alert
	movem.l	(sp)+,d1-d7/a0-a6
	bra	.alertend\@
.alerttxt\@:
	dc.b	"\2"
	even
.alertend\@:
	endm


	include	"Maxon ASM 1.1:DEMOS/Startup.ASM"
	bra	main
	include "Maxon ASM 1.1:DEMOS/rctdef.asm"
main:
	bsr	openrct
	tst.l	d0
	beq	error

	alert	1,"[1][RCT-Form Alert|mit Bild!][Is ja toll|Weiter]"
	

	lea	filerdef,a0
	jsr	filer
	bsr	closerct
error:
	rts
filerdef:

	dc.w	0											 
	dc.l	filertitle											 
	dc.l	filerpath
	dc.l	filername
	dc.l	pathname
filerwindow:
	dc.l	0								
	dc.w	0,0,0,0
	dc.l	%001000000000000 ;Flags (Load ein)
											 
	dc.w	0,0,0,0,0,0,0,0,0,0,0,0,0
	ds.w	18
	ds.b	12

	dc.w	100,0	;left top
	dc.w	0,0
	dc.l	0

hide:
	dc.b	".info"	;Nicht anzeigen											 
	ds.b	32-5
show:
	dc.b	"#?"
	ds.b	32-2	;anzeigen Wildcards											 

  	dc.w	0 	;FileBufferPos;		 /* Werte für Stringgadgets */
  	dc.w	0	;FileDispPos;
  	dc.w	0	;DirBufferPos;
  	dc.w	0	;DirDispPos;
  	dc.w	0	;HideBufferPos;
  	dc.w	0	;HideDispPos;
  	dc.w	0	;ShowBufferPos;
  	dc.w	0	;ShowDispPos;


	dc.l	0,0,0,0,0
	dc.w	0,0,0,0
 

filertitle:
	dc.b	"RCT-Dateiauswahlfenster",0
	even
filerpath:
	dc.b	"SYS:"
	ds.b	130-4
	even
filername:
	ds.b	30
pathname:
	ds.b	160

	END
