;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 "Scegli che cosa devo fare:")
			(help @askoptions-help)
			(choices "Installa Gioco" "Crea disco di Boot")
			(default %01)
		)
	)
)

(if (IN mask 0)
	(
		(set destinazione
			(askdir 
				(prompt ("Scegli il cassetto dove installare %s" @app-name))
				(help @askdir-help)
				(default destinazione)
			)
		)

		(if (NOT (exists destinazione (quiet))) 
			(abort "Il percorso specificato non è valido!")
		)

		(set spaziorichiesto 4000)

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

		(if (< disponibile spaziorichiesto)
			(set domanda "ATTENZIONE : LO SPAZIO DISPONIBILE E' INSUFFICIENTE.\nPROCEDO CON L'INSTALLAZIONE ?"
			)
			(set domanda ""
			)	
		)

		(message 
			("L'installazione di %s richiede circa %ld Kbytes di spazio libero.\n\n"
				@app-name
				spaziorichiesto
			)
			("Nel cassetto scelto (%s) ci sono %ld Kbytes disponibili.\n\n"
				destinazione
				disponibile
			)
			domanda
		)
	)
)

(if (IN mask 0)
	(
		(askdisk
			(prompt "Inserisci il Disco 1")
			(help @askdisk-help)
			(dest "FSpirit-1")
		)
		(copyfiles
			(prompt "Installazione Disco 1")
			(help @copyfiles-help)
			(source "FSpirit-1:")
			(dest destinazione)
			(pattern "~(s|install#?)")
		)

		(complete 18)

		(askdisk
			(prompt "Inserisci il Disco 2")
			(help @askdisk-help)
			(dest "FSpirit-2")
		)
		(copyfiles
			(prompt "Installazione Disco 2")
			(help @copyfiles-help)
			(source "FSpirit-2:")
			(dest destinazione)
			(all)
		)

		(complete 36)

		(askdisk
			(prompt "Inserisci il Disco 3")
			(help @askdisk-help)
			(dest "FSpirit-3")
		)
		(copyfiles
			(prompt "Installazione Disco 3")
			(help @copyfiles-help)
			(source "FSpirit-3:")
			(dest destinazione)
			(all)
		)

		(complete 54)

		(askdisk
			(prompt "Inserisci il Disco 4")
			(help @askdisk-help)
			(dest "FSpirit-4")
		)
		(copyfiles
			(prompt "Installazione Disco 4")
			(help @copyfiles-help)
			(source "FSpirit-4:")
			(dest destinazione)
			(all)
		)
		
		(complete 72)

		(askdisk
			(prompt "Inserisci il Disco 5")
			(help @askdisk-help)
			(dest "FSpirit-5")
		)
		(copyfiles
			(prompt "Installazione Disco 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 ("ATTENZIONE : La memoria disponibile attualmente non è sufficiente per far partire %s.\n\nDevo creare un disco di Boot ?" @app-name))
					(help "La condizione di scarsa memoria potrebbe essere causata da alcune applicazioni attualmente in esecuzione.\n"
						"Se volete verificare l'effettiva necessità di un disco di Boot, provate a far partire il gioco non appena il WorkBench ha completato la sua inizializzazione.\n\n"
						"Il disco di Boot può comunque essere creato in un secondo tempo rieseguendo l'installazione scegliendo l'opzione apposita."
					)
				)
				(set mask -1)
			)
		)
	)
)

(if (IN mask 1)
	(
		(message "Inserisci un disco formattato nell'unità DF0: e premi \"Procedi\" per continuare."
			(help "Per formattare un dischetto fate riferimento al manuale del WorkBench e/o di AmigaDOS.\n\n"
				"N.B. L'operazione può essere tranquillamente eseguita in multitasking senza abbandonare l'installer."
			)
		)
		(until
			(exists "df0:" (quiet) )
			(working "Attesa dischetto...")
		)
		(while (NOT (exists (tackon destinazione "FS") ) )
			(set destinazione
				(askdir 
					(prompt ("Seleziona il cassetto dove è installato %s" @app-name))
					(help @askdir-help)
					(default destinazione)
				)
			)
		)
		(working "Sto creando le directory e i files necessari...")
		(makedir "df0:s")
		(makedir "df0:c")
		(run "Install DF0:")
		(foreach "SYS:C" "(SetPatch|Cd)"
			(copyfiles
				(prompt "Scrittura files necessari...")
				(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 "Partenza da HD: Fate doppio-click sull'icona FS\n\n"
	"Partenza da disco di Boot: Inserite il disco di Boot in df0: e resettate il computer\n\n"
	"Buon divertimento!\n\n" "@1995/96 Light Shock software s.n.c." 
)