; Installation-script for the Recall-package

;****************************************************************************
; Global variables.  DO NOT TOUCH!

(set #programmer		"© 1993-1994 Ketil Hunn")
(set #version				"V2.2")

(set RECALL					"Recall")
(set RECALLPREFS		(cat RECALL			" Preferences"))
(set RECALL.PREFS		(cat RECALL			".prefs"))
(set RECALLGUIDE		(cat RECALL			".guide"))
(set RECALLASCII		(cat RECALL 		".ASCII"))
(set CONVERTER			"ReConvert")
(set CONVERTERGUIDE	(cat CONVERTER	".guide"))
(set CONVERTERASCII	(cat CONVERTER	".ASCII"))
;(set LIBRARY				"ReqTools.library")

(set #Mainprog			(cat "/" RECALL))
(set #Prefsprog			(cat "/Prefs/" RECALL))
(set #Project				(cat "/Prefs/Env-Archive/" RECALL ".prefs"))
(set #Convprog			(cat "/Tools/" CONVERTER)) 
(set #recguide			(cat "/Docs/" RECALL		".guide"))
(set #recascii			(cat "/Docs/" RECALL		".ASCII"))
(set #convguide			(cat "/Docs/" CONVERTER	".guide"))
(set #convascii			(cat "/Docs/" CONVERTER	".ASCII"))
(set #Sourcedir			"/Source")
;(set #Library				"/Libs/ReqTools.library")
(set #Locale				"/Locale")
(set #Localedest		"LOCALE:Catalogs")
(set @default-dest	"SYS:")
(set guidedest			"HELP:English/")
(set docdest				"DOCS:")
(set default_lang 0)

(set mainsize		 		(getsize #Mainprog))
(set prefssize	 		(getsize #Prefsprog))
(set convsize		 		(getsize #Convprog))
;(set libssize		 		(getsize #Library))
(set projectsize		(getsize #Project))
(set recguidesize	 	(getsize #recguide))
(set recasciisize	 	(getsize #recascii))
(set convguidesize	(getsize #convguide))
(set convasciisize	(getsize #convascii))
(set sourcesize			1742738)
;(set done (+ mainsize prefssize convsize libssize projectsize recguidesize recasciisize convguidesize convasciisize sourcesize))
(set done (+ mainsize prefssize convsize projectsize recguidesize recasciisize convguidesize convasciisize sourcesize))

(complete 0)

;****************************************************************************
; English strings

(if(= @language "english")
	(
		(set partstxt	(cat 	"Select parts of " RECALL " " #VERSION " to install:\n"
												"Press HELP for a short description of the files"))
		(set CSOURCE		"C-Source")
		(set parthelp (cat "Description of files:\n\n"
												RECALL ":\n"
												"Main program\n\n"
												RECALLPREFS		":\n"
												"Make your own projects\n\n"
												RECALL ".prefs:\n"
												"An example project\n\n"
												"Guide-files:\n"
												"Documentation describing the programs in this "
												"package.  The format is AmigaGuide.  These docs "
												"may be accessed directly from their programs.\n\n"
												"ASCII-files:\n"
												"Documentation discribing the programs in this "
												"package.  They contain the same information as "
												"the Guide-files, but without the guide-codes. "
												"They are to be used if you want to print the "
												"documentation.\n\n"
												CONVERTER		":\n"
												"Program to convert projects between different "
												"formats\n\n"
												CSOURCE ":\n"
												"All sources ready to be compiled!\n\n"
;												"ReqTools.library:\n"
;												"Needs no further explanation.  The program can run "
;												"without this library, but if you do not install it, "
;												"you will loose a couple of features.\n\n"
									))
		(set langtxt	(cat	"Select which additional languages to install:\n"
												"(english is built-in - no need to install it)"))
		(set abouttotxt		"About to copy")
		(set destdrawtxt	"Destination Drawer to Copy to:")
		(set renametxt		"Any old project will be renamed as")
		(set prefshelp		(cat	"The example project contains some hints "
														"about the usage of " RECALL " and may be useful "
														"inexperienced users. Press 'Yes' to install "
														"the project.\n\n"
														"Experienced user should continue by pressing "
														"'No'.")
										)
		(set #WhereRecallGuide  (cat "Select disk or drawer where the " RECALL " Amigaguide-document will be installed:"))
		(set #WhereRecallASCII  (cat "Select disk or drawer where the " RECALL " ASCII-document will be installed:"))
		(set #WhereConvertGuide (cat "Select disk or drawer where the " CONVERTER " Amigaguide-document will be installed:"))
		(set #WhereConvertASCII	(cat "Select disk or drawer where the " CONVERTER " ASCII-document will be installed:"))
		(set #WhereSource	(cat	"In which disk or drawer should drawer '" RECALL "Source' "
														 "be created where all sources will be copied?")
											)
	)
)

;****************************************************************************
; Norwegian strings

(if(= @language "norsk")
	(
		(set default_lang 1)
		(set partstxt (cat 	"Velg de deler av " RECALL " " #VERSION " som skal "
												"installeres:\n"
												"Trykk HJELP for nærmere beskrivelse av filene."))
		(set CSOURCE				"C-Kildekode")
		(set parthelp (cat "Beskrivelse av filene:\n\n"
												RECALL ":\n"
												"Hovedprogrammet.\n\n"
												RECALLPREFS		":\n"
												"Med dette programmet setter du opp hendelsene "
												"du vil bli påminnet om.\n\n"
												RECALL ".prefs:\n"
												"Et eksempel på prosjekt.\n\n"
												"Guide-filer:\n"
												"Dokumentasjon på programmene i denne pakke. "
												"Formatet er AmigaGuide.  Disse filene kan styres "
												"direkte fra programmene.\n\n"
												"ASCII-filer:\n"
												"Dokumentasjon på programmene i denne pakken. "
												"De inneholder samme informasjon som Guide-filene, "
												"men inneholder ingen koder og ment å brukes hvis"
												"dokumentasjonen skal skrives ut.\n\n"
												CONVERTER		":\n"
												"Program for å konvertere prosjekter mellom "
												"forskjellige format\n\n"
												CSOURCE ":\n"
												"Hele kildekoden, klar til å kompilere.\n\n"
;												"ReqTools.library:\n"
;												"Trenger vel ingen forklaring.  Programmet kan kjøres "
;												"uten dette biblioteket, men hvis du ikke installerer "
;												"det, vil du miste et par funksjoner.\n\n"
									))
		(set langtxt	(cat	"Velg hvilke språk som skal installeres:\n"
												"(engelsk er innebygd - trengs ikke å installeres)"))

		(set abouttotxt		"Skal til å kopiere")
		(set destdrawtxt	"Destinasjons skuff å kopiere til:")
		(set renametxt		"Eksisterende prosjekt vil få navnet endret til")
		(set prefshelp		(cat	"Prosjekteksempelet inneholder tips og triks "
														"om bruken av " RECALL " og kan være nyttig "
														"for nye brukere.  Trykk 'Ja' for å installere "
														"eksempelet.\n\n"
														"Brukere som allerede er kjent med programmet "
														"kan trykke 'Nei'.")
											)
		(set #WhereRecallGuide  (cat "Velg disk eller skuff hvor " RECALL " Amigaguide-dokumentet vil bli installert:"))
		(set #WhereRecallASCII  (cat "Velg disk eller skuff hvor " RECALL "  ASCII-dokumentet vil bli installert:"))
		(set #WhereConvertGuide (cat "Velg disk eller skuff hvor " CONVERTER " Amigaguide-dokumentet vil bli installert:"))
		(set #WhereConvertASCII	(cat "Velg disk eller skuff hvor " CONVERTER " ASCII-dokumentet vil bli installert:"))
		(set #WhereSource	(cat	"I hvilken skuff skal en skuff med navn '" RECALL "Source' "
														"lages og hvor hele kildekoden skal kopieres til?")
											)
	)
)

;****************************************************************************
; German strings
(if(= @language "deutsch")
   (
		(set default_lang 2)
		(set partstxt   (cat    "Wählen sie die zu installierenden Teile von\n " RECALL " " #VERSION " aus: "
         "Drücken sie HELP für eine\nkurze Beschreibung der Dateien"))
      (set CSOURCE            "C-Source")
      (set parthelp (cat "Beschreibung der Dateien:\n\n"
         RECALL ":\n"
         "Hauptprogramm\n\n"
         RECALLPREFS             ":\n"
         "Um eigene Projekte zu erstellen\n\n"
         RECALL ".prefs:\n"
         "Ein Beispiel-Projekt\n\n"
         "Guide-Dateien:\n"
         "Dokumentation, die die Programme in diesem Packet "
         "beschreibt. Das Format ist 'AmigaGuide'. Auf diese Dokumente "
         "kann direkt von den Programmen aus zugegriffen werden.\n\n"
         "ASCII-Dateien:\n"
         "Dokumentation, die die Programme in diesem Packet "
         "beschreibt. Der Inhalt ist der Gleiche wie auch in den "
         "Guide-Dateien, aber ohne Guide-Codes. "
         "Sie sind dazu da, um ausgedruckt zu werden.\n\n"
         CONVERTER               ":\n"
         "Programm zum konvertieren von Projekten verschiedener Formate\n\n"
         CSOURCE ":\n"
         "Alle Sourcen sind 'compilierfertig'!\n\n"
;         "ReqTools.library:\n"
;         "Benötigt keiner weiteren Erklärung. Das Programm läuft "
;         "ohne diese Library, aber wenn sie diese nicht installieren, "
;         "werden sie auf einige Besonderheiten verzichten müssen.\n\n"
      ))
      (set langtxt    (cat    "Wählen sie eine zusätzliche zu installierende Sprache aus:\n"
         "(Englisch ist eingebaut - braucht also nicht extra installiert zu werden)"))
      (set abouttotxt         "Kopieren von")
      (set destdrawtxt        "Verzeichnis, wohin kopiert werden soll:")
      (set renametxt          "Jedes alte Projekt wird umbenannt zu")
      (set prefshelp          (cat    "Das Beispielprojekt enthält einige Tips"
         "über die Benutzung von " RECALL " und könnte nützlich für"
         "unerfahrene Benutzer sein. Drücken sie 'Ja', um das Projekt"
         "zu installieren.\n\n"
         "Erfahrene Benutzer sollten diesen Teil überspringen und"
         "'Nein' drücken.")
         )
      (set #WhereRecallGuide  (cat "Wählen sie ein Verzeichnis aus, in das das " RECALL "-Amigaguide-Dokument installiert werden soll:"))
      (set #WhereRecallASCII  (cat "Wählen sie ein Verzeichnis aus, in das das " RECALL "-ASCII-Dokument installiert werden soll:"))
      (set #WhereConvertGuide (cat "Wählen sie ein Verzeichnis aus, in das das " CONVERTER "-Amigaguide-Dokument installiert werden soll:"))
      (set #WhereConvertASCII (cat "Wählen sie ein Verzeichnis aus, in das das " CONVERTER "-ASCII-Dokument installiert werden soll:"))
      (set #WhereSource       (cat    "Soll das Verzeichnis '" RECALL "Source' "
          "dorthin kopiert werden, wohin auch alle anderen Sourcen kopiert werden?")
      )
   )
)

;****************************************************************************
; Nederlands teksten

(if(= @language "nederlands")
	(
		(set default_lang 4)
		(set partstxt	(cat	"Kies de onderdelen van " RECALL " " #VERSION " die u wilt installeren:\n"
												"Druk HELP voor een korte beschrijving van de bestanden\n"))
		(set CSOURCE		"C-Bronkode")
		(set parthelp (cat "Beschrijving van de bestanden:\n\n"
												RECALL ":\n"
												"Hoofdprogamma\n\n"
												RECALLPREFS		":\n"
												"Maak uw eigen projecten\n\n"
												RECALL ".prefs:\n"
												"Een voorbeeld project\n\n"
												"Guide-bestanden:\n"
												"Dokumentatie die de programma's uit dit pakket "
												"beschrijft. De documentatie staat in het "
												"AmigaGuide formaat. Deze documenten zijn vanuit "
												"het eigenlijke programma toegankelijk.\n\n"
												"ASCII-bestanden:\n"
												"Dezelfde documentatie als in de Guide-bestanden "
												"handig als u de documentatie uit wilt printen, "
												"een maar, (nog) niet in het Nederlands.\n\n"
												CONVERTER		":\n"
												"Programma die objecten tussen verschillende "
												"formaten converteert\n\n"
												CSOURCE ":\n"
												"Alle borncode's klaar om gecompileerd te worden!\n\n"
;												"ReqTools.library:\n"
;												"Geen verdere uitleg nodig. Recall draait zonder "
;												"deze library maar verliest functionaliteit.\n\n"
									))
		(set langtxt	(cat	"Kies de taalmodule(s) die u wilt installeren:\n"
												"(engels is reed ingebouwd - dit hoeft u niet te "
												"installeren)"))
		(set abouttotxt		"Ik ga copieren")
		(set destdrawtxt	"Bestemmings-lade om naar te kopieren:")
		(set renametxt		"Oude projecten zullen hernoemd worden naar")
		(set prefshelp		(cat	"Het voorbeeld project bevat een paar hints "
														"over het gebruik van " RECALL " en zou nuttig "
														"kunnen zijn voor onervaren gebruikers. Druk "
														"op 'Ja' om het project te installeren.\n\n"
														"Ervaren gebruikers kunnen doorgaan door 'Nee' "
														"te drukken.")
										)
		(set #WhereRecallGuide  "Kies de diskette of lade waarin de Recall Amigaguide-documentatie geinstalleerd moeten worden:")
		(set #WhereRecallASCII  "Kies de diskette of lade waarin de Recall ASCII-documentatie geinstalleerd moeten worden:")
		(set #WhereConvertGuide "Kies de diskette of lade waarin de Converter Amigaguide-documentatie geinstalleerd moeten worden:")
		(set #WhereConvertASCII "Kies de diskette of lade waarin de Converter ASCII-documentatie geinstalleerd moeten worden:")
		(set #WhereSource	(cat	"Kies de diskette of lade waarin de lade '" RECALL "Source' "
														"aangemaakt gaat worden en waar alle sources naartoe worden "
														"gekopieerd.")
											)
	)
)

;****************************************************************************
; Italiano strings

(if(= @language "italiano")
	(
		(set default_lang 8)
		(set partstxt	(cat 	"Seleziona le parti di " RECALL " " #VERSION " da installare:\n"
												"Premi HELP per una breve descrizione dei files"))
		(set CSOURCE		"C-Source")
		(set parthelp (cat "Descrizione dei files:\n\n"
												RECALL ":\n"
												"Programma principale\n\n"
												RECALLPREFS		":\n"
												"Programma di configurazione\n\n"
												RECALL ".prefs:\n"
												"Un esempio di progetto\n\n"
												"Guide-files:\n"
												"Descrizione dei programmi contenuti in questo "
												"pacchetto in formato AmigaGuide.  A questi documenti"
												"si può accedere direttamente dai rispettivi programmi.\n\n"
												"ASCII-files:\n"
												"Descrizione dei programmi contenuti in questo"
												"pacchetto. Contengono le stesse informazioni di quelli "
												"in formato AmigaGuide, ma senza caratteri di controllo. "
												"Possono essere utilizzati se si desidera stampare la"
												"documentazione.\n\n"
												CONVERTER		":\n"
												"Programma per convertire progetti tra  i differenti "
												"formati\n\n"
												CSOURCE ":\n"
												"I sorgenti sono pronti per essere compilati!\n\n"
												"ReqTools.library:\n"
												"Non necessita di spiegazioni. Il programma può funzionare"
												"anche senza questa libreria, ma se non la installate, "
												"avrete prestazioni inferiorii.\n\n"
									))
		(set langtxt	(cat	"Selezionare lingue addizionali da installare:\n"
												"(L'Inglese è già presente - non serve installarlo)"))
		(set abouttotxt		"Informazioni sulla copia")
		(set destdrawtxt	"Cartella di destinazione:")
		(set renametxt		"I vecchi progetti saranno rinominati in")
		(set prefshelp		(cat	"Il progetto di esempio contiene alcuni accenni "
														"all'uso di " RECALL " e può essere di aiuto "
														"agli utenti meno esperti. Premere 'Yes' per installare "
														"il progetto.\n\n"
														"I più esperti possono continuare premendo "
														"'No'.")
										)
		(set #WhereRecallGuide  "Selezionare il disco o cartella in cui installare i documenti Amigaguide:")
		(set #WhereRecallASCII  "Selezionare il disco o cartella in cui installare i documenti ASCII:")
		(set #WhereConvertGuide "Selezionare il disco o cartella in cui installare i documenti Amigaguide del convertitore:")
		(set #WhereConvertASCII	"Selezionare il disco o cartella in cui installare i documenti ASCII del convertitore:")
		(set #WhereSource	(cat	"In quale disco o cartella deve essere creata la cartella '" RECALL "' "
														 "nella quale saranno copiati tutti i sorgenti?")
											)
	)
)


;****************************************************************************
; Installation script.  DO NOT TOUCH!

(set progs
	(askoptions
		(help			(cat parthelp @askoptions-help))
		(prompt		partstxt)
		(choices	RECALL
							RECALLPREFS
							RECALL.PREFS
							RECALLGUIDE
							RECALLASCII
							CONVERTER
							CONVERTERGUIDE
							CONVERTERASCII
							CSOURCE
;							LIBRARY
		(default	1023)
	  )
	)
)

(set languages
	(askoptions
		(help			@askoptions-help)
		(prompt		langtxt)
		(choices	"Norsk"
							"Deutsch"
							"Nederlands"
							"Italiano"
			(default default_lang)
	  )
	)
)

; ****** RECALL *****
(if (IN progs 0)
	(
		(copylib(source	#Mainprog)
						(dest		"SYS:WBStartup/")
						(prompt (cat abouttotxt " " RECALL))
						(help		@copylib-help)
						(confirm)
						(infos)
		)
		(tooltype (dest (tackon "SYS:Prefs" RECALL))
							(noposition)
		)
	)
)
(complete (/ (* (set sofar (+ sofar mainsize)) 100) done))

; ****** RECALL PREFERENCES *****
(if (IN progs 1)
	(
		(copylib(source	#Prefsprog)
						(dest		"SYS:Prefs/")
						(prompt (cat abouttotxt " " RECALLPREFS))
						(help		@copylib-help)
						(confirm)
						(infos)
		)
		(tooltype (dest (tackon "SYS:Prefs" RECALL))
							(noposition)
		)
	)
)
(complete (/ (* (set sofar (+ sofar prefssize)) 100) done))

; ****** RECALL.PREFS *****
(if (IN progs 2)
	(
		(if (askbool(prompt (cat	abouttotxt " " RECALL ".prefs\n\n"
															destdrawtxt "\n"
															"ENVARC:\n\n"
															renametxt "\n"
															"\"" RECALL "_OLD_.prefs\""))
												(help prefshelp)
				)
			(
				(if (exists (cat "ENVARC:" RECALL ".prefs"))
					(
						(rename	(tackon "ENVARC:" (cat RECALL ".prefs"))
										(tackon "ENVARC:" (cat RECALL "_OLD_.prefs"))
						)
						(set renamed 1)
					)
				)
				(copyfiles	(source	#Project)
										(dest		"ENVARC:")
				)
			)
		)
	)
)
(complete (/ (* (set sofar (+ sofar projectsize)) 100) done))

; ****** RECALL.GUIDE *****
(if (IN progs 3)
	(
		(set guidedest
			(askdir
				(prompt		#WhereRecallGuide)
				(help			@askdir-help)
				(default	"HELP:English/")
			)
		)
		(copyfiles(source	#recguide)
							(dest		guidedest)
							(infos)
		)
		(complete (/ (* (set sofar (+ sofar recguidesize)) 100) done))
	)
)

; ****** RECALL.ASCII *****
(if (IN progs 4)
	(
		(set docdest
			(askdir
				(prompt		#WhereRecallASCII)
				(help			@askdir-help)
				(default	"Docs:")
			)
		)
		(copyfiles(source	#recascii)
							(dest		docdest)
							(infos)
		)
		(complete (/ (* (set sofar (+ sofar recasciisize)) 100) done))
	)
)

; ****** CONVERTER *****
(if (IN progs 5)
	(
		(copylib(source	#Convprog)
						(dest		"SYS:Tools/")
						(prompt (cat abouttotxt " " CONVERTER))
						(help		@copylib-help)
						(confirm)
						(infos)
		)
;		(tooltype (dest (tackon "SYS:Tools" CONVERTER))
;							(noposition)
;		)
	)
)
(complete (/ (* (set sofar (+ sofar convsize)) 100) done))

; ****** CONVERTER.GUIDE *****
(if (IN progs 6)
	(
		(set guidedest
			(askdir
				(prompt		#WhereConvertGuide)
				(help			@askdir-help)
				(default	guidedest)
			)
		)
		(copyfiles(source	#convguide)
							(dest		guidedest)
							(infos)
		)
		(complete (/ (* (set sofar (+ sofar convguidesize)) 100) done))
	)
)

; ****** CONVERTER.ASCII *****
(if (IN progs 7)
	(
		(set docdest
			(askdir
				(prompt		#WhereConvertASCII)
				(help			@askdir-help)
				(default	docdest)
			)
		)
		(copyfiles(source	#convascii)
							(dest		docdest)
							(infos)
		)
		(complete (/ (* (set sofar (+ sofar convasciisize)) 100) done))
	)
)

; ****** SOURCES *****
(if (IN progs 8)
	(
		(set sourcedest
			(askdir
				(prompt		#WhereSource)
				(help			@askdir-help)
				(default	"SC:source")
			)
		)
		(copyfiles(source	#Sourcedir)
							(dest		(tackon sourcedest (cat RECALL "Source")))
							(all)
							(infos)
		)
	)
)


; ****** REQTOOLS.LIBRARY *****
;(if (IN progs 9)
;	(
;		(copylib(source	"/Libs/ReqTools.library")
;						(dest		"Libs:")
;						(prompt (cat abouttotxt " ReqTools.library" ))
;						(help		@copylib-help)
;						(confirm)
;		)
;	)
;)
;(complete (/ (* (set sofar (+ sofar libssize)) 100) done))

; ****** LANGUAGE: Norsk *****
(if (IN languages 0)
	(
		(copyfiles(source	(tackon #Locale "Norsk"))
							(dest		(tackon #Localedest (tackon "Norsk" RECALL)))
							(all)
		)
	)
)

; ****** LANGUAGE: Deutsch *****
(if (IN languages 1)
	(
		(copyfiles(source	(tackon #Locale "Deutsch"))
							(dest		(tackon #Localedest (tackon "Deutsch" RECALL)))
							(all)
		)
	)
)

; ****** LANGUAGE: Nederlands *****
(if (IN languages 2)
	(
		(copyfiles(source	(tackon #Locale "Nederlands"))
							(dest		(tackon #Localedest (tackon "Nederlands" RECALL)))
							(all)
		)
	)
)

; ****** LANGUAGE: Italiano *****
(if (IN languages 3)
	(
		(copyfiles(source	(tackon #Locale "Italiano"))
							(dest		(tackon #Localedest (tackon "Italiano" RECALL)))
							(all)
		)
	)
)
