;$VER:Digital Almanac II Installer Script 1.8.8

(procedure P_INSTALL_EXE
	(
	(set #dest-cat-dir (tackon #dest-dir "Catalogs"))
	(set #dest-fonts-dir (tackon #dest-dir "Fonts"))
	(set #dest-icons-dir (tackon #dest-dir "Icons"))
	(set #dest-toolbar-dir (tackon #dest-dir "Toolbar"))
	(set #dest-install-dir (tackon #dest-dir "Installation"))
	(set #dest-pictures-dir (tackon #dest-dir "Pictures"))
	(set #dest-projects-dir (tackon #dest-dir "Projects"))
	(set #dest-user-dir (tackon #dest-dir "User"))
	(set #dest-bin-dir (tackon #dest-dir "Bin"))
	(set #dest-docks-dir (tackon #dest-dir "DockIcons"))
	(set #dest-misc-dir (tackon #dest-dir "Misc"))
	
	(set #langnum
		(askchoice
			(prompt #choose-lang)
			(choices "Deutsch" "English" "Français" "Italiano")
			(help @askchoice-help)
			(default #choose-lang-def)
		)
	)

	(set #langcat
		(select #langnum
		"Deutsch" "English" "Français" "Italiano"
		)
	)
	
	(set #langdoc
		(select #langnum
		"Deutsch" "English" "English" "English"
		)
	)
	
	(set #src-lang-dir (tackon "/Catalogs" #langcat))
	(set #src-docs-dir (tackon "/Docs" #langdoc))
	(set #dest-lang-dir (tackon #dest-cat-dir #langcat))
	
	(working #msg-install-exe)

	(makedir #dest-dir)

	(copyfiles
		(source "//Install_DigitalAlmanac.info")
		(dest #inst-dir)
		(newname (tackon #inst-dir "DigitalAlmanac.info"))
	)

	(if (patmatch "68020|68030" (database "cpu"))
		(set #daname "/DigitalAlmanac.020")
		(set #daname "/DigitalAlmanac.040")
	)

	(copyfiles
		(source #daname)
		(newname "DigitalAlmanac")
		(dest #dest-dir)
	)

	(copyfiles
		(source "/DigitalAlmanac.info")
		(dest #dest-dir)
	)

	(copyfiles
		(source (tackon #src-docs-dir "DigitalAlmanac.guide"))
		(dest #dest-dir)
		(infos)
	)
	
	(makedir #dest-cat-dir)
	(makedir #dest-lang-dir)
	(copyfiles
		(source (tackon #src-lang-dir "DigitalAlmanac.catalog"))
		(dest #dest-lang-dir)
	)
	
	(makedir #dest-fonts-dir)
	(copyfiles
		(source "/Fonts")
		(dest #dest-fonts-dir)
		(all)
	)
	
	(makedir #dest-icons-dir)
	(copyfiles
		(source "/Icons.info")
		(dest #dest-dir)
	)
	(copyfiles
		(source "/Icons")
		(dest #dest-icons-dir)
		(all)
	)

	(makedir #dest-misc-dir)
	(copyfiles
		(source "/Misc")
		(dest #dest-misc-dir)
		(all)
	)

	(makedir #dest-toolbar-dir)
	(copyfiles
		(source "/Toolbar")
		(dest #dest-toolbar-dir)
		(all)
	)

	(makedir #dest-install-dir)
	(copyfiles
		(source "/Installation.info")
		(dest #dest-dir)
	)
	(copyfiles
		(source "/Installation")
		(dest #dest-install-dir)
		(all)
	)
	
	(makedir #dest-pictures-dir)
	(copyfiles
		(source "/Pictures.info")
		(dest #dest-dir)
	)

	(makedir #dest-projects-dir)
	(copyfiles
		(source "/Projects.info")
		(dest #dest-dir)
	)

	(makedir #dest-bin-dir)
	(copyfiles
		(source "/Bin")
		(dest #dest-bin-dir)
		(all)
	)
	
	(makedir #dest-user-dir)

	(copylib
		(prompt "asyncio.library")
		(help @copylib-help)
		(source "/Libs/asyncio.library")
		(dest "LIBS:")
		(confirm "average")
	)

	(if (patmatch "68020|68030" (database "cpu"))
		(set #jpegname "jpeg.library_020881")
		(set #jpegname "jpeg.library_040881")
	)

	(copylib
		(prompt "jpeg.library")
		(help @copylib-help)
		(source (tackon "/Libs" #jpegname))
		(dest "LIBS:")
		(newname "jpeg.library")
		(confirm "average")
	)

	(copylib
		(prompt "NList.mcc")
		(help @copylib-help)
		(source "/Libs/MUI/NList.mcc")
		(dest "MUI:Libs/MUI")
		(confirm "average")
	)

	(copylib
		(prompt "NListview.mcc")
		(help @copylib-help)
		(source "/Libs/MUI/NListview.mcc")
		(dest "MUI:Libs/MUI")
		(confirm "average")
	)

	(copylib
		(prompt "NFloattext.mcc")
		(help @copylib-help)
		(source "/Libs/MUI/NFloattext.mcc")
		(dest "MUI:Libs/MUI")
		(confirm "average")
	)

	(copylib
		(prompt "NListviews.mcp")
		(help @copylib-help)
		(source "/Libs/MUI/NListviews.mcp")
		(dest "MUI:Libs/MUI")
		(confirm "average")
	)

	(copylib
		(prompt "HotkeyString.mcc")
		(help @copylib-help)
		(source "/Libs/MUI/HotkeyString.mcc")
		(dest "MUI:Libs/MUI")
		(confirm "average")
	)

	(copylib
		(prompt "TransferAnim.mcc")
		(help @copylib-help)
		(source "/Libs/MUI/TransferAnim.mcc")
		(dest "MUI:Libs/MUI")
		(confirm "average")
	)

	(copylib
		(prompt "TransferAnim.mcp")
		(help @copylib-help)
		(source "/Libs/MUI/TransferAnim.mcp")
		(dest "MUI:Libs/MUI")
		(confirm "average")
	)

	(copylib
		(prompt "imagepool.library")
		(help @copylib-help)
		(source "/Libs/imagepool.library")
		(dest "LIBS:")
		(confirm "average")
	)

	(makedir #dest-docks-dir)
	(copyfiles
		(source "/DockIcons.info")
		(dest #dest-dir)
	)
	(copyfiles
		(source "/DockIcons")
		(dest #dest-docks-dir)
		(all)
	)

	(set #dest-arexx-dir (tackon #dest-dir "ARexx"))
	(makedir #dest-arexx-dir)
	(copyfiles
		(source "/ARexx.info")
		(dest #dest-dir)
	)
	(copyfiles
		(source "/ARexx")
		(dest #dest-arexx-dir)
		(all)
	)

	(set #dest-developer-dir (tackon #dest-dir "Developer"))
	(makedir #dest-developer-dir)
	(copyfiles
		(source "/Developer.info")
		(dest #dest-dir)
	)
	(copyfiles
		(source "/Developer")
		(dest #dest-developer-dir)
		(all)
	)
	
	)
)

(procedure P_INSTALL_DATA
	(
	(set #arc-dir
		(askdir
			(prompt #ask-dir-data)
			(help @askdir-help)
			(default @default-dest)
			(disk)
		)
	)
	(working #msg-install-data)
	(set #arc (tackon #arc-dir "DAlmanac_Data.lha"))
	(run (cat #lha " e \"" #arc "\" \"" (tackon #dest-dir "") "\""))
	(set @default-dest #arc-dir)
	)
)

(procedure P_INSTALL_MAPS
	(
	(set #arc-dir
		(askdir
			(prompt #ask-dir-maps)
			(help @askdir-help)
			(default @default-dest)
			(disk)
		)
	)
	(working #msg-install-maps)
	(set #arc (tackon #arc-dir "DAlmanac_Maps.lha"))
	(run (cat #lha " e \"" #arc "\" \"" (tackon #dest-dir "") "\""))
	(set @default-dest #arc-dir)
	)
)

(procedure P_INSTALL_AST
	(
	(set #arc-dir
		(askdir
			(prompt #ask-dir-ast)
			(help @askdir-help)
			(default @default-dest)
			(disk)
		)
	)
	(working #msg-install-ast)
	(set #arc (tackon #arc-dir "DAlmanac_Ast.lha"))
	(run (cat #lha " e \"" #arc "\" \"" (tackon #dest-dir "") "\""))
	(set @default-dest #arc-dir)
	)
)

(procedure P_INSTALL_DS
	(
	(set #arc-dir
		(askdir
			(prompt #ask-dir-ds)
			(help @askdir-help)
			(default @default-dest)
			(disk)
		)
	)
	(working #msg-install-ds)
	(set #arc (tackon #arc-dir "DAlmanac_DS.lha"))
	(run (cat #lha " e \"" #arc "\" \"" (tackon #dest-dir "") "\""))
	(set @default-dest #arc-dir)
	)
)

(procedure P_INSTALL_EXTRA
	(
	(set #arc-dir
		(askdir
			(prompt #ask-dir-extra)
			(help @askdir-help)
			(default @default-dest)
			(disk)
		)
	)
	(working #msg-install-extra)
	(set #arc (tackon #arc-dir "DAlmanac_Extra.lha"))
	(run (cat #lha " e \"" #arc "\" \"" (tackon #dest-dir "") "\""))
	(set @default-dest #arc-dir)
	)
)

(procedure P_INSTALL_USER
	(
	(working #msg-install-user)
	(copyfiles
		(source "/User")
		(pattern "#?.data")
		(dest #dest-user-dir)
	)
	(if (= #langnum 0)
		(copyfiles
			(source "/User/ngcnames.data.deutsch")
			(dest #dest-user-dir)
			(newname "ngcnames.data")
		)
		(copyfiles
			(source "/User/ngcnames.data.english")
			(dest #dest-user-dir)
			(newname "ngcnames.data")
		)
	)

	(if (= #langnum 0)
		(copyfiles
			(source "/User/place.data.deutsch")
			(dest #dest-user-dir)
			(newname "place.data")
		)
		(copyfiles
			(source "/User/place.data.english")
			(dest #dest-user-dir)
			(newname "place.data")
		)
	)

	(copyfiles
		(source "/Projects")
		(dest #dest-projects-dir)
		(all)
	)
	)
)

(if (= @language "deutsch")
	(
	(set #choose-inst "Bitte wählen Sie die Archive aus, welche Sie installieren möchten.\nArchive mit '**' sind für eine Erstinstallation notwendig !!\n\
Die Benutzerdateien (Projekte, Ortsliste, Bahnelemente) sollten\n Sie nicht installieren, wenn Sie nur ein Update möchten !")
	(set #inst-exe "Installation des Hauptarchivs **")
	(set #inst-data "Installation der Hauptdaten **")
	(set #inst-maps "Installation der Oberflächentexturen")
	(set #inst-ast "Installation des Asteroidenkataloges")
	(set #inst-ds "Installation der Deep-Sky Objektkataloge")
	(set #inst-extra "Installation des großen Sternkataloges (Extra)")
	(set #inst-user "Vorkonfigurierte Benutzerdateien")
	(set #ask-dest1 "Wählen Sie ein Verzeichnis aus,\nwo Digital Almanac II installiert werden soll.\nEine Schublade 'DigitalAlmanac' wird automatisch erzeugt.")
	(set #ask-dest2 "In welchem Verzeichnis befindet sich der Ordner 'DigitalAlmanac' ?")
	(set #ask-dir-lha "In welchem verzeichnis befindet sich 'Lha' ?")
	(set #ask-dir-data "In welchem Verzeichnis befindet sich 'DAlmanac_Data.lha' ?")
	(set #ask-dir-maps "In welchem Verzeichnis befindet sich 'DAlmanac_Maps.lha' ?")
	(set #ask-dir-ast "In welchem Verzeichnis befindet sich 'DAlmanac_Ast.lha' ?")
	(set #ask-dir-ds "In welchem Verzeichnis befindet sich 'DAlmanac_DS.lha' ?")
	(set #ask-dir-extra "In welchem Verzeichnis befindet sich 'DAlmanac_Extra.lha' ?")
	(set #choose-lang "Wählen Sie eine Sprache für Digital Almanac II aus.")
	(set #choose-lang-def 0)
	(set #msg-install-exe "Installiere Digital Almanac II.")
	(set #msg-install-data "Installiere Daten.")
	(set #msg-install-maps "Installiere Oberflächentexturen.")
	(set #msg-install-ast "Installiere Asteroiden.")
	(set #msg-install-ds "Installiere Deep-Sky Objekte.")
	(set #msg-install-extra "Installiere großen Sternenkatalog.")
	(set #msg-install-user "Installiere Benutzerdateien.")
	(set #msg-nothing-chosen "Es wurde kein Archiv ausgewählt !!")
   (set #msg-ende "Bitte lesen Sie noch das Kapitel Installation im Guide, um noch einige notwendige MUI-Einstellungen durchzuführen. Diese müssen Sie manuell vornehmen.\n\n\
Vergessen Sie nicht in ihrem MUI-Einsteller das Flag Fenster/Refresh auf SMART zu stellen, da sonst Digital Almanac abstürzt !!")
	)
)
(if (= @language "english")
	(
	(set #choose-inst "Please choose the archives, you like to install.\nArchives marked with '**' are necessary for a first installation !!\n\
You should not install the user files (projects,\nlocation list, orbital elements), if you only update !")
	(set #inst-exe "Installation of the main exe archiv")
	(set #inst-data "Installation of the main basic datas")
	(set #inst-maps "Installation of the surface textures")
	(set #inst-ast "Installation of the asteroid catalog")
	(set #inst-ds "Installation of the deep-sky object catalogs")
	(set #inst-extra "Installation of the large star catalog (extra)")
	(set #inst-user "Preconfigured user files")
	(set #ask-dest1 "Choose directory to install Digital Almanac II.\nA drawer 'DigitalAlmanac' will automatically be created.")
	(set #ask-dest2 "What is the directory of the folder 'DigitalAlmanac' ?")
	(set #ask-dir-lha "In which drawer is 'Lha' ?")
	(set #ask-dir-data "In which drawer is 'DAlmanac_Data.lha' ?")
	(set #ask-dir-maps "In which drawer is 'DAlmanac_Maps.lha' ?")
	(set #ask-dir-ast "In which drawer is 'DAlmanac_Ast.lha' ?")
	(set #ask-dir-ds "In which drawer is 'DAlmanac_DS.lha' ?")
	(set #ask-dir-extra "In which drawer is 'DAlmanac_Extra.lha' ?")
	(set #choose-lang "Select language you want to use with Digital Almanac II.")
	(set #choose-lang-def 1)
	(set #msg-install-exe "Installing Digital Almanac II.")
	(set #msg-install-data "Installing datas.")
	(set #msg-install-maps "Installing surface textures.")
	(set #msg-install-ast "Installing asteroids.")
	(set #msg-install-ds "Installing deep-sky objects.")
	(set #msg-install-extra "Installing large star catalog.")
	(set #msg-install-user "Installing user files.")
	(set #msg-nothing-chosen "No archive has been chosen !!")
   (set #msg-ende "Please read the chapter Installation in the Guide to adjust some necessary MUI settings. These must be done manually.\n\n\
Don't forget to set the flag Windows/Refresh to SMART in your MUI pref !! Otherwise Digital Almanac will crash !")
	)
)

(set #install-arc
	(askoptions
		(prompt #choose-inst)
		(choices #inst-exe #inst-data #inst-maps #inst-ast #inst-ds #inst-extra #inst-user)
		(default 3)
		(help @askchoice-help)
	)
)

(if (= #install-arc 0)
(exit #msg-nothing-chosen)
)

(if (BITAND #install-arc 1)
	(set #inst-dir
		(askdir
			(prompt #ask-dest1)
			(help @askdir-help)
			(default @default-dest)
			(disk)
		)
	)
	(if (= 0 (exists "//DigitalAlmanac.info"))
		(set #inst-dir
			(askdir
				(prompt #ask-dest2)
				(help @askdir-help)
				(default @default-dest)
				(disk)
			)
		)
		(set #inst-dir "//")
	)
)

(set #dest-dir (tackon #inst-dir "DigitalAlmanac"))

(if (BITAND #install-arc 62)
	(
	(set #lha-dir
		(askdir
			(prompt #ask-dir-lha)
			(help @askdir-help)
			(default "C:")
			(disk)
		)
	)
	(set #lha (tackon #lha-dir "Lha"))
	)
)

(if (BITAND #install-arc 1)
	(P_INSTALL_EXE)
)

(if (BITAND #install-arc 2)
	(P_INSTALL_DATA)
)

(if (BITAND #install-arc 4)
	(P_INSTALL_MAPS)
)

(if (BITAND #install-arc 8)
	(P_INSTALL_AST)
)

(if (BITAND #install-arc 16)
	(P_INSTALL_DS)
)

(if (BITAND #install-arc 32)
	(P_INSTALL_EXTRA)
)

(if (BITAND #install-arc 64)
	(P_INSTALL_USER)
)

(set @default-dest #inst-dir)
(message #msg-ende)

