; $VER: Blacks Editor Installer 1.0 (03.03.96)
; Blacks Editor Install Script
; By Marco Negri
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

(set sourcedir "/")

(set dirname "BED")
(set execname "BED")
(set reqtoolsdir "ReqTools")
(set supportdir "Support")
(set rexxdir "Rexx")
(set icondir "Icons")
(set catalogdir "Catalogs")
(set localkitdir "LocalizationKit")

; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

(if (= @language "english")
	(
		(set old_os_exit "BED required minimum OS version: 37\nYour current version: %ld.%ld\n\nBlacks Editor cannot be installed")
		(set target_prompt "Select location to put Blacks Editor %ld.%ld:\nA directory named %s will be created")
		(set exist_dir_prompt "The directory selected is\n%s\nDo you wish to install Blacks Editor there ?")
		(set same_version_prompt "The same version of Blacks Editor is present\nVersion: %ld.%ld\nDo you want to re-install it ?")
		(set same_version_exit "Same version already present !")
		(set new_version_prompt "A newer version of Blacks Editor is present\nOld version: %ld.%ld\nNew Version: %ld.%ld\nInstallation aborted !")
		(set new_version_exit "Newer version already present !")
		(set old_version_prompt "An older version of Blacks Editor is present\nOld version: %ld.%ld\nNew Version: %ld.%ld\nDo you want to replace it ?")
		(set old_version_exit "Older version not replaced !")
		(set os37_reqtools_msg "Blacks Editor requires \"reqtools.library\" v38+ to run on your system\n\n(ReqTools is Copyright (c) Nico François and Magnus Holmgren)")
		(set os38_reqtools_msg "Blacks Editor can use ReqTools requesters if \"reqtools.library\" is installed\n\n(ReqTools is Copyright (c) Nico François and Magnus Holmgren)")
		(set defs_prompt "Select the definitions files to install:\n(Really important: Startup.dfn and Standard.dfn)")
		(set prefs_prompt "Select the preferences files to install:")
		(set rexx_msg "Some useful ARexx macros will be copied in\n%s")
		(set icon_msg "Some Icon templates will be copied in\n%s")
		(set catalogs_prompt "Select the catalogs you want to install:\n(English: built-in)")
		(set localkit_prompt "Do you want  to install the Localization Kit ?\n(Used to create your own localization catalogs)")
		(set startup_msg "The following lines will be added to your S:User-Startup\n")
		(set replace_button "Replace")
		(set abort_button "Abort")
		(set install_there_button "Install BED there")
		(set new_dir_button "Create a directory named %s")
	)
)

; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; Français translation by David Le Corfec & Claude Abraham
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

(if (= @language "français")
	(
		(set old_os_exit "Blacks Editor requiert l'OS version minimum : 37\nVotre version actuelle: %ld.%ld\n\nBlacks Editor ne peut pas être installé")
		(set target_prompt "Sélectionnez l'endroit où mettre Blacks Editor %ld.%ld:\nUn tiroir nommé %s sera créé")
		(set exist_dir_prompt "Le tiroir sélectionné est\n%s\nSouhaitez-vous installer Blacks Editor là ?")
		(set same_version_prompt "La même version de Blacks Editor est présente\nVersion: %ld.%ld\nVoulez-vous le réinstaller ?")
		(set same_version_exit "Même version déjà présente !")
		(set new_version_prompt "Une version plus récente de Blacks Editor est présente\nAncienne version: %ld.%ld\nNouvelle version: %ld.%ld\nInstallation arrêtée !")
		(set new_version_exit "Version plus récente déjà présente !")
		(set old_version_prompt "Une ancienne version de Blacks Editor est présente\nAncienne version: %ld.%ld\nNouvelle version: %ld.%ld\nVoulez-vous la remplacer ?")
		(set old_version_exit "Version plus ancienne non remplacée !")
		(set os37_reqtool_msg "Blacks Editor requiert la \"reqtools.library\" v38+ pour tourner sur votre sytème\n\n(ReqTools est Copyright © by Nico François et Magnus Holmgren)")
		(set os38_reqtools_msg "Blacks Editor peut utiliser les boîtes de dialogue de ReqTools si la \"reqtools.library\" est installée\n\n(ReqTools est Copyright © by Nico François et Magnus Holmgren)")
		(set defs_prompt "Sélectionner les fichiers de définitions à installer:\n(Réellement important: Startup.dfn et Standard.dfn)")
		(set prefs_prompt "Sélectionner les fichiers de préférences à installer:")
		(set rexx_msg "Quelques macros ARexx utiles seront copiées dans\n%s")
		(set icon_msg "Quelques modèles d'icônes seront copiés dans\n%s")
		(set catalogs_prompt "Sélectionner les catalogues que vous voulez installer:\n(Anglais: déjà inclus)")
		(set localkit_prompt "Voulez-vous installer le Kit de localisation ?\n(Utilisé pour créer vos propres catalogues de localisation")
		(set startup_msg "Les lignes suivantes seront ajoutées à votre S:User-Startup\n")
		(set replace_button "Remplacer")
		(set abort_button "Arrêter")
		(set install_there_button "Installer BED ici")
		(set new_dir_button "Créer un tiroir nommé %s")
	)
)

; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; Spanish translation by Jorge Acereda Macia
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

(if (= @language "español")
	(
		(set old_os_exit "Versión mínima necesaria para BED: 37\nSu versión es: %ld.%ld\n\nNo se puede instalar Blacks Editor")
		(set target_prompt "Seleccione dónde se debe instalar el Blacks Editor %ld.%ld:\nSe creará un directorio llamado %s")
		(set exist_dir_prompt "El directorio seleccionado es\n%s\n¿Desea instalar Blacks Editor ahí?")
		(set same_version_prompt "Ya existe una instalación de la misma versión de Blacks Editor\nVersión: %ld.%ld\n¿Desea reinstalarlo?")
		(set same_version_exit "¡Ya existe una versión idéntica!")
		(set new_version_prompt "Ya existe una versión más nueva de Blacks Editor\nVieja versión: %ld.%ld\nNueva versión: %ld.%ld\n¡Instalación interrumpida!")
		(set new_version_exit "¡Ya existe una versión más nueva!")
		(set old_version_prompt "Ya existe una versión anterior\nVieja versión: %ld.%ld\nNueva versión: %ld.%ld\n¿Desea reemplazarla?")
		(set old_version_exit "¡No se ha reemplazado la vieja versión!")
		(set os37_reqtools_msg "Blacks Editor necesita \"reqtools.library\" v38+ para ejecutarse en su sistema\n\n(ReqTools es Copyright (c) de Nico François y Magnus Holmgren)")
		(set os38_reqtools_msg "Blacks Editor puede usar requesters ReqTools si esta instalada la \"reqtools.library\"\n\n(ReqTools es Copyright (c) de Nico François y Magnus Holmgren)")
		(set defs_prompt "Seleccione los ficheros de definición a instalar:\n(Muy importantes: Startup.dfn y Standard.dfn)")
		(set prefs_prompt "Seleccione los ficheros de preferencias a instalar:")
		(set rexx_msg "Se copiarán algunas macros ARexx útiles en\n%s")
		(set icon_msg "Se copiarán algunas plantillas de iconos en\n%s")
		(set catalogs_prompt "Seleccione los catálogos a instalar:\n(Ingles: ya incluido)")
		(set localkit_prompt "¿Desea instalar el kit de localización?\n(Usado para crear sus propios catálogos de localización)")
		(set startup_msg "Se añadirán las siguientes lineas a su S:User-Startup\n")
		(set replace_button "Reemplazar")
		(set abort_button "Abortar")
		(set install_there_button "Instalar BED ahí")
		(set new_dir_button "Crear un directorio llamado %s")
	)
)

; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; Italian translation by Marco Negri
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

(if (= @language "italiano")
	(
		(set old_os_exit "Versione OS minima richiesta da BED: 37\nVersione corrente: %ld.%ld\n\nBlacks Editor non può essere installato")
		(set target_prompt "Scegli il posto dove installare Blacks Editor %ld.%ld:\nSarà creata una directory chiamata %s")
		(set exist_dir_prompt "La directory selezionata è\n%s\nVuoi installare Blacks Editor quì ?")
		(set same_version_prompt "E' presente la stessa versione di Blacks Editor\nVersione: %ld.%ld\nVuoi re-installare tutto ?")
		(set same_version_exit "E' già presente la stessa versione di Blacks Editor!")
		(set new_version_prompt "E' presente una versione più aggiornata di Blacks Editor\nVecchia versione: %ld.%ld\nNuova versione: %ld.%ld\nInstallazione cancellata !")
		(set new_version_exit "E' già presente una versione più aggiornata di Blacks Editor!")
		(set old_version_prompt "E' presente una vecchia versione di Blacks Editor\nVecchia versione: %ld.%ld\nNuova versione %ld.%ld\nVuoi sostituirla ?")
		(set old_version_exit "La vecchia versione di Blacks Editor non è stata sostituita")
		(set os37_reqtools_msg "Blacks Editor richiede la \"reqtools.library\" v38+ per funzionare su questo sistema\n\n(ReqTools è Copyright (c) Nico François e Magnus Holmgren)")
		(set os38_reqtools_msg "Blacks Editor può usare i requesters ReqTools se la \"reqtools.library\" è installata\n\n(ReqTools è Copyright (c) Nico François e Magnus Holmgren)")
		(set defs_prompt "Seleziona i files di definizione da installare:\n(Importanti: Startup.dfn e Standard.dfn)")
		(set prefs_prompt "Seleziona i files di preferenze da installare:")
		(set rexx_msg "Verranno copiate alcune utili macro ARexx in\n%s")
		(set icon_msg "Verranno copiati alcuni templates di icone in\n%s")
		(set catalogs_prompt "Seleziona i cataloghi da installare:\n(English: incorporato)")
		(set localkit_prompt "Vuoi installare il Localization Kit ?\n(Utile per creare i tuoi cataloghi)")
		(set startup_msg "Le seguenti linee verranno aggiunte alla tua S:User-Startup\n")
		(set replace_button "Sostituisci")
		(set abort_button "Abbandona")
		(set install_there_button "Installa BED quì")
		(set new_dir_button "Crea una directory chiamata %s")
	)
)

; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; Swedish translation by Mathias Karlsson
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

(if (= @language "svenska")
	(
		(set old_os_exit "BED kräver minst OS version: 37\nDin nuvarande version: %ld.%ld\n\nBlacks Editor kan inte installeras")
		(set target_prompt "Välj plats att installera Blacks Editor %ld.%ld:\nEn låda kallad %s kommer att skapas")
		(set exist_dir_prompt "Den valda lådan är\n%s\nVill du installera Blacks Editor där?")
		(set same_version_prompt "Samma version av Blacks Editor är redan installerad\nVersion: %ld.%ld\nVill du om-installera den?")
		(set same_version_exit "Samma version redan installerad!")
		(set new_version_prompt "En nyare version av Blacks Editor är redan installerad\nGammal version: %ld.%ld\nNy Version: %ld.%ld\nInstallation avbruten!")
		(set new_version_exit "Nyare version redan installerad!")
		(set old_version_prompt "En äldre version av Blacks Editor är redan installerad\nGammal version: %ld.%ld\nNy Version: %ld.%ld\nVill du ersätta den?")
		(set old_version_exit "Äldre version ej ersatt!")
		(set os37_reqtools_msg "Blacks Editor kräver \"reqtools.library\" v38+ för att kunna användas på ditt system")
		(set os38_reqtools_msg "Blacks Editor kan använda ReqTools requesters \"reqtools.library\" är installerat")
		(set defs_prompt "Välj definitionsfiler att installera:\n(Mycket viktiga: Startup.dfn och Standard.dfn)")
		(set prefs_prompt "Välj inställningsfiler (preferences) att installera:")
		(set rexx_msg "Några användbara ARexx-makron kopieras\n%s")
		(set icon_msg "Några Ikon-mallar kopieras\n%s")
		(set catalogs_prompt "Välj katalogerna du vill installera:\n(Engelska: inbyggt)")
		(set localkit_prompt "Vill du installera lokaliseringspaketet?\n(Används för att skapa egna lokaliserade kataloger)")
		(set startup_msg "Följande rader kommer att adderas till din S:User-Startup\n")
		(set replace_button "Ersätt")
		(set abort_button "Avbryt")
		(set install_there_button "Installera BED här")
		(set new_dir_button "Skapa låda kallad %s")
	)
)

; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; Polish translation by Radoslaw Chyra
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

(if (= @language "polski")
	(
		(set old_os_exit "BED wymaga minimum 37 wersji OS\nTwoja wersja OS: %ld.%ld\n\nBlacks Editor nie moûe byê zainstalowany")
		(set target_prompt "Wybierz gdzie mam ulokowaê Blacks Editor %ld.%ld:\nZostanie tam utworzony katalog o nazwie %s")
		(set exist_dir_prompt "Wybraîeô katalog\n%s\nCzy chcesz tam zainstalowaê Blacks Editor ?")
		(set same_version_prompt "Znalazîem të samâ wersjë Blacks Editor'a\nWersja: %ld.%ld\nCzy chcesz jâ ponownie zainstalowaê ?")
		(set same_version_exit "Ta sama wersja jest juû zainstalowana !")
		(set new_version_prompt "Znalazîem starâ wersjë Blacks Editor'a\nStara wersja: %ld.%ld\nNowa wersja: %ld.%ld\nInstalacja przerwana !")
		(set new_version_exit "Nowsza wersja jest juû zainstalowana !")
		(set old_version_prompt "Znalazîem starâ wersjë Blacks Editor'a\nStara wersja: %ld.%ld\nNowa wersja: %ld.%ld\nChcesz jâ wymieniê ?")
		(set old_version_exit "Starsza wersja nie zostaîa wymieniona!")
		(set os37_reqtools_msg "Blacks Editor do pracy potrzebuje \"reqtools.library\" v38+\n\n(ReqTools is Copyright (c) by Nico François and Magnus Holmgren)")
		(set os38_reqtools_msg "Blacks Editor moûe korzystaê z biblioteki ReqTools jeôli jest zainstalowana\n\n(ReqTools is Copyright (c) by Nico François and Magnus Holmgren)")
		(set defs_prompt "Które pliki z definicjami zainstalowaê:\n(Niezbëdne sâ Startup.dfn i Standard.dfn)")
		(set prefs_prompt "Które pliki z ustawieniami zainstalowaê:")
		(set rexx_msg "Skopiujë kilka przydatnych makrodefinicji ARexx'a do\n%s")
		(set icon_msg "Skopiujë kilka szablonów ikonek do\n%s")
		(set catalogs_prompt "Które katalogi jëzykowe zainstalowaê:\n(Angielski: wbudowany)")
		(set localkit_prompt "Zainstalowaê Localization Kit ?\n(Przydatny przy tworzeniu wîasnego tîumaczenia)")
		(set startup_msg "Do S:User-Startup zostanâ dodane nastëpujâce linie\n")
		(set replace_button "Wymieï")
		(set abort_button "Przerwij")
		(set install_there_button "Zainstaluj BED'a tutaj")
		(set new_dir_button "Utwórz katalog o nazwie %s")
	)
)

; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

(complete 0)

(set new_vernum (getversion (tackon sourcedir "BED")))
(set new_ver (shiftright new_vernum 16))
(set new_rev (BITAND new_vernum 65535))

(set sys_vernum (getversion))
(set sys_ver (shiftright sys_vernum 16))
(set sys_rev (BITAND sys_vernum 65535))


; - - - - Check system version and revision - - - -


(set @default-dest "")

(if (< sys_ver 37)
	(exit (old_os_exit sys_ver sys_rev))
)


; - - - - Ask for the target directory  - - - -


(set target
	(askdir
		(prompt (target_prompt new_ver new_rev dirname))
		(default @default-dest)
		(disk)
		(help @askdir-help)
	)
)


; - - - - Check if the directory is already called BED - - - -


(if (= dirname (fileonly target))
	(if (= 1	(askchoice
					(prompt (exist_dir_prompt target))
					(choices install_there_button (new_dir_button dirname))
					(default 0)
					(help @askchoice-help)
					)
			)

			(set target (tackon target dirname))
	)

	(set target (tackon target dirname))
)

(set @default-dest target)


; - - - - Check if there is another version present - - - -


(set exec (tackon target execname))

(if (exists exec)
	(
		(set old_vernum (getversion exec))
		(set old_ver (/ old_vernum 65536))
		(set old_rev (- old_vernum (* old_ver 65536)))

		(if (= old_vernum new_vernum)
			(
				(if (= 0 (askbool
									(prompt (same_version_prompt old_ver old_rev))
									(choices replace_button abort_button)
									(default 0)
									(help @askbool-help)
									)
								)
						(exit same_version_exit)
				)
			)
			(if (< old_vernum new_vernum)
				(if (= 0 (askbool
									(prompt (old_version_prompt old_ver old_rev new_ver new_rev))
									(choices replace_button abort_button)
									(default 1)
									(help @askbool-help)
							)
					)
					(exit old_version_exit)
				)
				(
					(message (new_version_prompt old_ver old_rev new_ver new_rev))
					(exit new_version_exit)
				)
			)
		)
	)
)


; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; *** BED and BED.guide ***
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

(copyfiles
	(prompt "")
	(source (tackon sourcedir ("/%s.info" dirname)))
	(dest (pathonly target))
	(help @copyfiles-help)
)

(copyfiles
	(prompt "")
	(source sourcedir)
	(choices execname ("%s.guide" execname) "Author.iff")
	(dest target)
	(infos)
	(help @copyfiles-help)
)

(complete 20)


; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; *** ReqTools.library ***
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

(if (> sys_ver 38)
	(set reqtools_msg os37_reqtools_msg)
	(set reqtools_msg os38_reqtools_msg)
)

(copylib
	(prompt reqtools_msg)
	(help @copylib-help)
	(source (tackon (tackon sourcedir reqtoolsdir) "reqtools.library"))
	(dest "LIBS:")
	(confirm)
)

(complete 30)


; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; *** Support ***
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

(copyfiles
	(prompt "")
	(source (tackon sourcedir ("%s.info" supportdir)))
	(dest target)
	(help @copyfiles-help)
)

(copyfiles
	(prompt defs_prompt)
	(source (tackon sourcedir supportdir))
	(pattern "#?.dfn")
	(dest (tackon target supportdir))
	(infos)
	(confirm)
	(help @copyfiles-help)
)

(complete 40)

(copyfiles
	(prompt prefs_prompt)
	(source (tackon sourcedir supportdir))
	(pattern "#?.prf")
	(dest (tackon target supportdir))
	(infos)
	(confirm)
	(help @copyfiles-help)
)

(complete 50)


; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; *** Rexx ***
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

(message (rexx_msg (tackon target rexxdir)))

(copyfiles
	(prompt "")
	(source (tackon sourcedir ("%s.info" rexxdir)))
	(dest target)
	(help @copyfiles-help)
)

(copyfiles
	(prompt "")
	(source (tackon sourcedir rexxdir))
	(all)
	(dest (tackon target rexxdir))
	(infos)
	(help @copyfiles-help)
)

(complete 60)


; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; *** Icons ***
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

(message (icon_msg (tackon target "Icons")))

(copyfiles
	(prompt "")
	(source (tackon sourcedir ("%s.info" icondir)))
	(dest target)
	(help @copyfiles-help)
)

(copyfiles
	(prompt "")
	(source (tackon sourcedir icondir))
	(all)
	(dest (tackon target icondir))
	(infos)
	(help @copyfiles-help)
)

(complete 70)


; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; *** Catalogs ***
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

(set catalogs
	(askoptions
		(prompt catalogs_prompt)
		(choices "Français" "Español" "Italiano" "Svenska" "Polski")
		(help @askoptions-help)
	)
)

(set catdir (tackon target catalogdir))

(if (NOT (= 0 catalogs))
(
	(copyfiles
		(prompt "")
		(source (tackon sourcedir ("%s.info" catalogdir)))
		(dest target)
		(help @copyfiles-help)
	)

	(makedir catdir)

	(if (IN catalogs 0)
		(copyfiles
			(prompt "")
			(source (tackon sourcedir ("%s/Français" catalogdir)))
			(all)
			(dest (tackon catdir "Français"))
			(help @help-copyfiles)
		)
	)

	(if (IN catalogs 1)
		(copyfiles
			(prompt "")
			(source (tackon sourcedir ("%s/Español" catalogdir)))
			(all)
			(dest (tackon catdir "Español"))
			(help @help-copyfiles)
		)
	)

	(if (IN catalogs 2)
		(copyfiles
			(prompt "")
			(source (tackon sourcedir ("%s/Italiano" catalogdir)))
			(all)
			(dest (tackon catdir "Italiano"))
			(help @help-copyfiles)
		)
	)

	(if (IN catalogs 3)
		(copyfiles
			(prompt "")
			(source (tackon sourcedir ("%s/Svenska" catalogdir)))
			(all)
			(dest (tackon catdir "Svenska"))
			(help @help-copyfiles)
		)
	)

	(if (IN catalogs 4)
		(copyfiles
			(prompt "")
			(source (tackon sourcedir ("%s/Polski" catalogdir)))
			(all)
			(dest (tackon catdir "Polski"))
			(help @help-copyfiles)
		)
	)
)
)

(complete 80)


; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; *** Localization Kit ***
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

(if (= 1 (askbool
	(prompt localkit_prompt)
	(default 1)
	(help "")))

	(
		(copyfiles
			(prompt "")
			(source (tackon sourcedir ("%s.info" localkitdir)))
			(dest target)
			(help @copyfiles-help)
		)

		(copyfiles
			(prompt "")
			(source (tackon sourcedir localkitdir))
			(all)
			(dest (tackon target localkitdir))
			(infos)
			(help @copyfiles-help)
		)
	)
)

(complete 90)


; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; *** User-Startup ***
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

(set assign_lines ("Assign BED: \"%s\"\nAssign REXX: \"%s\" ADD\nPath BED: ADD\n" target (tackon target rexxdir)))

(startup "Blacks Editor"
	(prompt (cat startup_msg assign_lines))
	(command assign_lines)
	(help @startup-help)
)

(complete 100)
