;$VER:Digital Almanac II Installer Script 1.0

(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-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 "DockBrushes"))
	
	(set #langnum
		(askchoice
			(prompt #choose-lang)
			(choices "Deutsch" "English" "Français")
			(help @askchoice-help)
			(default #choose-lang-def)
		)
	)

	(set #goodies
		(askoptions
			(prompt #inst-goodies)
			(choices #inst-goodies1 #inst-goodies2 #inst-goodies3)
			(help @askoptions-help)
		)
	)

	
	(set #langcat
		(select #langnum
		"Deutsch" "English" "Français"
		)
	)
	
	(set #langdoc
		(select #langnum
		"Deutsch" "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"))
	)
	(copyfiles
		(source "/DigitalAlmanac")
		(dest #dest-dir)
		(infos)
	)
	(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-install-dir)
	(copyfiles
		(source "/Installation.info")
		(dest #dest-dir)
	)
	(copyfiles
		(source "/Installation")
		(dest #dest-install-dir)
		(all)
	)
	

	(if (BITAND #goodies 4)
		(
		(makedir #dest-docks-dir)
		(copyfiles
			(source "/DockBrushes.info")
			(dest #dest-dir)
		)
		(copyfiles
			(source "/DockBrushes")
			(dest #dest-docks-dir)
			(all)
		)
		)
	)
	
	(makedir #dest-pictures-dir)
	(copyfiles
		(source "/Pictures.info")
		(dest #dest-dir)
	)

	(makedir #dest-projects-dir)
	(copyfiles
		(source "/Projects.info")
		(dest #dest-dir)
	)
	(if (BITAND #goodies 1)
		(copyfiles
			(source "/Projects")
			(dest #dest-projects-dir)
			(all)
		)
	)

	(makedir #dest-bin-dir)
	(copyfiles
		(source "/Bin")
		(dest #dest-bin-dir)
		(all)
	)
	
	(makedir #dest-user-dir)
	(if (BITAND #goodies 2)
		(copyfiles
			(source "/User")
			(dest #dest-user-dir)
			(all)
		)
	)

	(copylib
		(prompt #msg-async-requires)
		(help @copylib-help)
		(source "/Libs/asyncio.library")
		(dest "LIBS:")
		(confirm)
	)
	
	)
)

(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)
	)
)

(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 !!")
	(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 #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 #inst-goodies "Welche anderen Dateien möchten Sie installieren ?\n\nFalls Sie ein Update machen wollen,\nsollten Sie mit '**' markierte Dateien nicht auswählen !!")
	(set #inst-goodies1 "Beispielprojektdateien (Projects) **")
	(set #inst-goodies2 "Benutzerdateien (User) **")
	(set #inst-goodies3 "Dockbrushes für Toolmanager")
	(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-async-requires "Digital Almanac II benötigt asyncio.library 39.x.")
	(set #msg-nothing-chosen "Es wurde kein Archiv ausgewählt !!")
	)
)
(if (= @language "english")
	(
	(set #choose-inst "Please choose the archives, you like to install.\nArchives marked with '**' are necessary for a first installation !!")
	(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 #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 #inst-goodies "What other files do you like to install ?\n\nIf you want to update\nyou should deselect options marked with '**' !!")
	(set #inst-goodies1 "Example project files (Projects) **")
	(set #inst-goodies2 "User files (User) **")
	(set #inst-goodies3 "Dockbrushes for Toolmanager")
	(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 "Installiere asteroids.")
	(set #msg-install-ds "Installiere deep-sky objects.")
	(set #msg-install-extra "Installiere large star catalog.")
	(set #msg-async-requires "Digital Almanac II requires asyncio.library 39.x.")
	(set #msg-nothing-chosen "No archive has been chosen !!")
	)
)

(set #install-arc
	(askoptions
		(prompt #choose-inst)
		(choices #inst-exe #inst-data #inst-maps #inst-ast #inst-ds #inst-extra)
		(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)
)

(set @default-dest #inst-dir)

