
	SECTION	ReadFileToolTypes,CODE
	
ReadFileToolTypes:
	
	;Check if we need to change the Directory first
		MOVE.L	DirectoryLock,D1
		BEQ	RFTT_NoDirChng
		MOVE.L	DosBase,A6
		JSR	_LVOCurrentDir(A6)
		MOVE.L	D0,DirectoryLock
		
	;Load the Disk Object file
RFTT_NoDirChng:	MOVE.L	IconBase,A6
		MOVE.L	MenuFileName,A0
		JSR	_LVOGetDiskObject(A6)
		
	;Check we managed to load the icon file
		MOVE.L	D0,DiskObjectBase2
		BEQ	RFTT_NoIcon
	
	;Fetch Pointer to the Tool Types Array
		MOVE.L	D0,A0
		MOVE.L	do_ToolTypes(A0),ToolTypeArray
		
	;Check for "WindowY=Top"
		LEA	TT_WindowY,A1
		LEA	TV_Top,A0
		LEA	RFTT_Result,A2
		JSR	ScanToolType
		TST.B	RFTT_Result
		BEQ	RFTT_Skip1
		
	;Found "WindowY=Top" so overide the default settings
		MOVE.B	#1,WindowY_Top
		MOVE.B	#0,WindowY_Middle
		MOVE.B	#0,WindowY_Bottom
		
	;Check for "WindowY=Middle"
RFTT_Skip1:	LEA	TT_WindowY,A1
		LEA	TV_Middle,A0
		LEA	RFTT_Result,A2
		JSR	ScanToolType
		TST.B	RFTT_Result
		BEQ	RFTT_Skip2
		
	;Found "WindowY=Middle" so overide the default settings
		MOVE.B	#0,WindowY_Top
		MOVE.B	#1,WindowY_Middle
		MOVE.B	#0,WindowY_Bottom
		
	;Check for "WindowY=Bottom"
RFTT_Skip2:	LEA	TT_WindowY,A1
		LEA	TV_Bottom,A0
		LEA	RFTT_Result,A2
		JSR	ScanToolType
		TST.B	RFTT_Result
		BEQ	RFTT_Skip3
		
	;Found "WindowY=Bottom" so overide the default settings
		MOVE.B	#0,WindowY_Top
		MOVE.B	#0,WindowY_Middle
		MOVE.B	#1,WindowY_Bottom

	;Check for "WindowX=Left"
RFTT_Skip3:	LEA	TT_WindowX,A1
		LEA	TV_Left,A0
		LEA	RFTT_Result,A2
		JSR	ScanToolType
		TST.B	RFTT_Result
		BEQ	RFTT_Skip4
		
	;Found "WindowX=Left" so overide the default settings
		MOVE.B	#1,WindowX_Left
		MOVE.B	#0,WindowX_Middle
		MOVE.B	#0,WindowX_Right

	;Check for "WindowX=Middle"
RFTT_Skip4:	LEA	TT_WindowX,A1
		LEA	TV_Middle,A0
		LEA	RFTT_Result,A2
		JSR	ScanToolType
		TST.B	RFTT_Result
		BEQ	RFTT_Skip5
		
	;Found "WindowX=Middle" so overide the default settings
		MOVE.B	#0,WindowX_Left
		MOVE.B	#1,WindowX_Middle
		MOVE.B	#0,WindowX_Right

	;Check for "WindowX=Right"
RFTT_Skip5:	LEA	TT_WindowX,A1
		LEA	TV_Right,A0
		LEA	RFTT_Result,A2
		JSR	ScanToolType
		TST.B	RFTT_Result
		BEQ	RFTT_Skip6
		
	;Found "WindowX=Left" so overide the default settings
		MOVE.B	#0,WindowX_Left
		MOVE.B	#0,WindowX_Middle
		MOVE.B	#1,WindowX_Right


	;Check for "HideX=Screen"
RFTT_Skip6:	LEA	TT_HideX,A1
		LEA	TV_Screen,A0
		LEA	RFTT_Result,A2
		JSR	ScanToolType
		TST.B	RFTT_Result
		BEQ	RFTT_Skip7
		
	;Found "HideX=Screen" so overide the default settings
		MOVE.B	#0,HideX_Window
		MOVE.B	#1,HideX_Screen

	;Check for "HideX=Window"
RFTT_Skip7:	LEA	TT_HideX,A1
		LEA	TV_Window,A0
		LEA	RFTT_Result,A2
		JSR	ScanToolType
		TST.B	RFTT_Result
		BEQ	RFTT_Skip8

	;Found "HideX=Window" so overide the default settings
		MOVE.B	#1,HideX_Window
		MOVE.B	#0,HideX_Screen

	;Check for "HideX=Left"
RFTT_Skip8:	LEA	TT_HideX,A1
		LEA	TV_Left,A0
		LEA	RFTT_Result,A2
		JSR	ScanToolType
		TST.B	RFTT_Result
		BEQ	RFTT_Skip9
		
	;Found "HideX=Left" so overide the default settings
		MOVE.B	#1,HideX_Left
		MOVE.B	#0,HideX_Middle
		MOVE.B	#0,HideX_Right
		
	;Check for "HideX=Middle"
RFTT_Skip9:	LEA	TT_HideX,A1
		LEA	TV_Middle,A0
		LEA	RFTT_Result,A2
		JSR	ScanToolType
		TST.B	RFTT_Result
		BEQ	RFTT_Skip10
		
	;Found "HideX=Middle" so overide the default settings
		MOVE.B	#0,HideX_Left
		MOVE.B	#1,HideX_Middle
		MOVE.B	#0,HideX_Right

	;Check for "HideX=Right"
RFTT_Skip10:	LEA	TT_HideX,A1
		LEA	TV_Right,A0
		LEA	RFTT_Result,A2
		JSR	ScanToolType
		TST.B	RFTT_Result
		BEQ	RFTT_Skip11
		
	;Found "HideX=Right" so overide the default settings
		MOVE.B	#0,HideX_Left
		MOVE.B	#0,HideX_Middle
		MOVE.B	#1,HideX_Right

	;Check for "HideY=Screen"
RFTT_Skip11:	LEA	TT_HideY,A1
		LEA	TV_Screen,A0
		LEA	RFTT_Result,A2
		JSR	ScanToolType
		TST.B	RFTT_Result
		BEQ	RFTT_Skip12
		
	;Found "HideY=Screen" so overide the default settings
		MOVE.B	#0,HideY_Window
		MOVE.B	#1,HideY_Screen

	;Check for "HideY=Window"
RFTT_Skip12:	LEA	TT_HideY,A1
		LEA	TV_Window,A0
		LEA	RFTT_Result,A2
		JSR	ScanToolType
		TST.B	RFTT_Result
		BEQ	RFTT_Skip13

	;Found "HideY=Window" so overide the default settings
		MOVE.B	#1,HideY_Window
		MOVE.B	#0,HideY_Screen

	;Check for "HideY=Top"
RFTT_Skip13:	LEA	TT_HideY,A1
		LEA	TV_Top,A0
		LEA	RFTT_Result,A2
		JSR	ScanToolType
		TST.B	RFTT_Result
		BEQ	RFTT_Skip14
		
	;Found "HideX=Left" so overide the default settings
		MOVE.B	#1,HideY_Top
		MOVE.B	#0,HideY_Middle
		MOVE.B	#0,HideY_Bottom
		
	;Check for "HideY=Middle"
RFTT_Skip14:	LEA	TT_HideY,A1
		LEA	TV_Middle,A0
		LEA	RFTT_Result,A2
		JSR	ScanToolType
		TST.B	RFTT_Result
		BEQ	RFTT_Skip15
		
	;Found "HideY=Middle" so overide the default settings
		MOVE.B	#0,HideY_Top
		MOVE.B	#1,HideY_Middle
		MOVE.B	#0,HideY_Bottom

	;Check for "HideY=Bottom"
RFTT_Skip15:	LEA	TT_HideY,A1
		LEA	TV_Bottom,A0
		LEA	RFTT_Result,A2
		JSR	ScanToolType
		TST.B	RFTT_Result
		BEQ	RFTT_Skip16
		
	;Found "HideY=Bottom" so overide the default settings
		MOVE.B	#0,HideY_Top
		MOVE.B	#0,HideY_Middle
		MOVE.B	#1,HideY_Bottom

	;Check for a "FontName=<name>" Tool Type
RFTT_Skip16:	MOVE.L	IconBase,A6
		MOVE.L	ToolTypeArray,A0
		LEA	TT_FontName,A1
		JSR	_LVOFindToolType(A6)
		TST.L	D0
		BEQ	RFTT_Skip17

	;Move the font name into our TextAttr structure.
		MOVE.L	D0,TopazFont

	;Check for a "FontSize=<size>" Tool Type
RFTT_Skip17:	MOVE.L	IconBase,A6
		MOVE.L	ToolTypeArray,A0
		LEA	TT_FontSize,A1
		JSR	_LVOFindToolType(A6)
		TST.L	D0
		BEQ	RFTT_Skip18

	;Convert the Tool Type Value into a Number
		MOVE.L	D0,A0
		JSR	StringToNumber

	;Check there was a number there.
		TST.W	D0
		BEQ	RFTT_Skip18
		MOVE.W	D0,TopazFont+ta_YSize

	;Check for a "Columns=<number>" Tool Type
RFTT_Skip18:	MOVE.L	IconBase,A6
		MOVE.L	ToolTypeArray,A0
		LEA	TT_Columns,A1
		JSR	_LVOFindToolType(A6)
		TST.L	D0
		BEQ	RFTT_Skip19

	;Convert the Tool Type Value into a Number
		MOVE.L	D0,A0
		JSR	StringToNumber

	;Check there was a number there.
		TST.W	D0
		BEQ	RFTT_Skip19
		MOVE.W	D0,GadColumns

	;Check for a "WindowWidth=<number>" Tool Type
RFTT_Skip19:	MOVE.L	IconBase,A6
		MOVE.L	ToolTypeArray,A0
		LEA	TT_WindowWidth,A1
		JSR	_LVOFindToolType(A6)
		TST.L	D0
		BEQ	RFTT_Skip20

	;Convert the Tool Type Value into a Number
		MOVE.L	D0,A0
		JSR	StringToNumber

	;Check there was a number there.
		TST.W	D0
		BEQ	RFTT_Skip20
		MOVE.W	D0,WindowWidth

	;Check for a "Console=<console-name>" Tool Type
RFTT_Skip20:	MOVE.L	IconBase,A6
		MOVE.L	ToolTypeArray,A0
		LEA	TT_Console,A1
		JSR	_LVOFindToolType(A6)
		TST.L	D0
		BEQ	RFTT_Skip21

	;Move the font name into our TextAttr structure.
		MOVE.L	D0,ConsoleName


RFTT_Skip21:
	
	;Restore the Current Directory if changed
RFTT_NoIcon:	MOVE.L	DosBase,A6
		MOVE.L	DirectoryLock,D1
		BEQ	RFTT_SkipDirRestore
		JSR	_LVOCurrentDir(A6)
		MOVE.L	D0,DirectoryLock

RFTT_SkipDirRestore:		
		RTS
	
	SECTION	ReadFileToolTypes,DATA
	
DiskObjectBase2:DC.L	0	;pointer to project file's DiskObj struct
RFTT_Result:	DC.B	0	;Result from ToolType scan
