;Standard Installer script
;Written by Marco Biondi
;@1995/96 Light Shock software s.n.c

(set destinazione @default-dest)

(set mask 0)

(while (= mask 0)
	(set mask
		(askoptions
			(prompt "Bitte wählen Sie Funktionen an:")
			(help @askoptions-help)
			(choices "Spiel installieren" "Boot Disk erstellen")
			(default %01)
		)
	)
)

(if (IN mask 0)
	(
		(set destinazione
			(askdir 
				(prompt ("Wählen Sie das Zielverzeichns für %s:" @app-name))
				(help @askdir-help)
				(default destinazione)
			)
		)

		(if (NOT (exists destinazione (quiet))) 
			(abort "Den angegebenen Pfad gibt es nicht!")
		)

		(set spaziorichiesto 4000)

		(set disponibile (/ (getdiskspace destinazione) 1024) )

		(if (< disponibile spaziorichiesto)
			(set domanda "ACHTUNG: NICHT GENUG PLATZ VORHANDEN!.\nTROTZDEM FORTFAHREN?"
			)
			(set domanda ""
			)	
		)

		(message 
			("Die Installation von %s benötigt ca. %ld KB freien Diskspeicher.\n\n"
				@app-name
				spaziorichiesto
			)
			("Im angewählten Pfad (%s) sind %ld KBytes verfügbar.\n\n"
				destinazione
				disponibile
			)
			domanda
		)
	)
)

(if (IN mask 0)
	(
		(askdisk
			(prompt "Legen Sie bitte Disk 1 ein")
			(help @askdisk-help)
			(dest "FSpirit-1")
		)
		(copyfiles
			(prompt "Installiere Disk 1")
			(help @copyfiles-help)
			(source "FSpirit-1:")
			(dest destinazione)
			(pattern "~(s|install#?)")
		)

		(complete 18)

		(askdisk
			(prompt "Bitte Disk 2")
			(help @askdisk-help)
			(dest "FSpirit-2")
		)
		(copyfiles
			(prompt "Installiere Disk 2")
			(help @copyfiles-help)
			(source "FSpirit-2:")
			(dest destinazione)
			(all)
		)

		(complete 36)

		(askdisk
			(prompt "Bitte Disk 3")
			(help @askdisk-help)
			(dest "FSpirit-3")
		)
		(copyfiles
			(prompt "Installiere Disk 3")
			(help @copyfiles-help)
			(source "FSpirit-3:")
			(dest destinazione)
			(all)
		)

		(complete 54)

		(askdisk
			(prompt "Bitte Disk 4")
			(help @askdisk-help)
			(dest "FSpirit-4")
		)
		(copyfiles
			(prompt "Installiere Disk 4")
			(help @copyfiles-help)
			(source "FSpirit-4:")
			(dest destinazione)
			(all)
		)

		(complete 72)

		(askdisk
			(prompt "Bitte Disk 5")
			(help @askdisk-help)
			(dest "FSpirit-5")
		)
		(copyfiles
			(prompt "Installiere Disk 5")
			(help @copyfiles-help)
			(source "FSpirit-5:")
			(dest destinazione)
			(all)
		)
		(textfile
			(dest (tackon destinazione "FS.hd"))
			(append (database "cpu"))
		)
	)
)

(complete 90)

(if (NOT (IN mask 1))
	(
		(set avchip (/ (database "graphics-mem") 1024))
		(set nechip 1800)
		(if
			(NOT (>= avchip nechip))
			(if
				(askbool
					(prompt ("ACHTUNG: Zur Zeit ist nicht genug Speicher frei, um %s zu starten.\n\nWollen Sie eine Boot Disk erstellen?" @app-name))
					(help "Der geringe freie Speicher kann von Applikationen verursacht werden, die gerade.\n"
						"laufen. Um zu überprüfen, ob Sie eine Boot Disk benötigen, starten Sie das Spiel sofort nach einem Reset.\n\n"
						"Sie können den Installer ggf. nochmals aufrufen und die Boot Disk dann erstellen."
					)
				)
				(set mask -1)
			)
		)
	)
)

(if (IN mask 1)
	(
		(message "Legen Sie eine leere, formattierte Disk in df0: ein und klicken dann auf \"Proceed\"."
			(help "Um eine Disk zu formattieren lesen Sie bitte die Workbench- oder AmigaDOS Anleitung.\n\n"
                              "Sie können das tun, ohne den Installer zu verlassen."
			)
		)
		(until
			(exists "df0:" (quiet) )
			(working "Warte auf eine Disk...")
		)
		(while (NOT (exists (tackon destinazione "FS") ) )
			(set destinazione
				(askdir 
					(prompt ("Bitte wählen Sie den Pfad, wo %s installiert ist." @app-name))
					(help @askdir-help)
					(default destinazione)
				)
			)
		)
		(working "Erstelle nötige Daten...")
		(makedir "df0:s")
		(makedir "df0:c")
		(run "Install DF0:")
		(foreach "SYS:C" "(SetPatch|Cd)"
			(copyfiles
				(prompt "Schreibe Daten...")
				(help @copyfiles-help)
				(source ("SYS:C/%s" @each-name))
				(dest "df0:c")
			)
		)
		(textfile
			(dest "df0:s/Startup-sequence")
			(append
				(select	(exists
						"df0:C/SetPatch"
						(noreq)
					)
					(";No SetPatch on your system!\n")
					("SetPatch >NIL: QUIET\n")
				)
			)
			(append
				("CD \"%s\"\nFS\n" destinazione)
			)
		)
	)
)

(complete 100)

(exit "Um von der Festplatte zu starten führen klicken auf das\n\n"
	"FS Icon. Für einen Bootdiskstart legen Sie die\n\n"
	"Boot Disk ein und lösen ein Reset aus. Viel Spaß." 
)