; Skrypt sīuūācy do zainstalowania PDPatcha na twardy dysk.

; $VER: Instalacja_HD 37.3 (28.8.94)
; Copyright (C) 1994 Kamil Iskra

; Przed pytaniem o znajomoōź Amigi sprawdśmy wersjė systemu...
(if (< (/ (getversion) $10000) 37)
	(abort "PDPatch 2.0a+ wymaga co najmniej systemu 2.04!")
)

(welcome)

(set ustawiony_poziom @user-level)

; Ustawmy na chwilė EXPERT
(user 2)

; Wybór katalogu do zainstalowania
(set katalogpom
	(tackon
		(askdir
			(prompt "Gdzie ma zostaź utworzony katalog \"PDPatch\"?")
			(help "W katalogu, który wybierzesz, zostanie utworzony podkatalog "
				"\"PDPatch\", do którego zostanie skopiowany ten program.\n\n"
				@askdir-help
			)
			(default @default-dest)
		)
		"PDPatch"
	)
)

; Wprowadziīem pomocniczā zmiennā katalogpom, gdyū pojawiaīy siė problemy, gdy
; klikniėto "Abort Install" przy wyborze katalogu.
(set @default-dest katalogpom)

; Przywróźmy ustawiony poziom instalacji.
(user ustawiony_poziom)

; Proōba o potwierdzenie, utworzenie katalogu.
(makedir @default-dest
	(prompt ("PDPatch zostanie zainstalowany w katalogu \"%s\""
		@default-dest)
	)
	(help @makedir-help)
	(infos)
	(confirm)
)

; Wybierz czėōci pakietu do zainstalowania
(set czesci_pakietu
	(askoptions
		(prompt "Które czėōci programu majā zostaź zainstalowane?")
		(choices "Program gīówny" "Wersja DEMO" "Dokumentacja"
			"Pliki preferencji" "ReqTools"
		)
		(default %11111)
		(help
			"Program gīówny - zostanie skopiowana gīówna czėōź programu, czyli "
			"plik \"PDPatch\" wraz z ikonā. Instalacja tej czėōci odbėdzie "
			"siė tylko w przypadku posiadania wersji licencjonowanej.\n\n"
			"Wersja DEMO - zostanie skopiowana wersja demonstracyjna programu, "
			"czyli plik \"PDPatchDEMO\" wraz z ikonā.\n\n"
			"Dokumentacja - zostanie skopiowana dokumentacja OnLine-Help "
			"(plik \"PDPatch.guide\") oraz skrypt umoūliwiajācy odczytanie tej "
			"dokumentacji bez koniecznoōci uruchamiania programu Konwersja "
			"(plik \"Konwersja.DOC\").\n\n"
			"Pliki preferencji - zostanā zainstalowane pliki preferencji dla "
			"poszczególnych drukarek oraz ich opisy (i ew. przykīady). "
			"Otrzymasz moūliwoōź wyboru, które pliki majā zostaź zainstalowane."
			"\n\n"
			"ReqTools - w katalogu \"LIBS:\" zostanie zainstalowana biblioteka "
			"\"reqtools.library\". Jest ona niezbėdna dla PDPatcha. Przed jej "
			"instalacjā zostanie sprawdzone, czy w katalogu \"LIBS:\" nie "
			"znajduje siė przypadkiem nowsza jej wersja.\n\n"
			@askoptions-help
		)
	)
)

; Wybierz pliki preferencji
(user 2)
(if (IN czesci_pakietu 3)
	(set pliki_preferencji
		(askoptions
			(prompt "Które pliki preferencji majā zostaź zainstalowane?")
			(choices "AmigaPL Generic" "AmigaPL->Latin2 (Generic)"
				"AmigaPL->Mazowia (Generic)" "AmigaPL->Windows (Generic)"
				"Epson LQ 100 (EscP2)" "Star LC 24-20")
			(default 0)
			(help
				"Wybrane przez Ciebie pliki preferencji zostanā skopiowane do "
				"podkatalogu \"Drukarki\". Oprócz samych plików zostanā "
				"skopiowane równieū ich ikony oraz dokumentacje do tych "
				"plików (i ew. przykīady, o ile istniejā).\n\n"
				@askoptions-help
			)
		)
	)
)
(user ustawiony_poziom)

(set DefToolIkon
	(tackon @default-dest "PDPatchDEMO")
)

; Skopiujmy program gīówny
(if (IN czesci_pakietu 0)
	(
		(set blad
			(trap 4 ; Trzeba wziāź pod uwagė, ūe tych plików moūe nie byź.
				(copyfiles
					(source "PDPatch")
					(dest @default-dest)
					(infos)
				)
			)
		)
		(if (> blad 0)
			(if (= @ioerr 205) ; Nie znaleziono pliku
				(message
					"Nie zostaī zainstalowany \"Program gīówny\", gdyū nie byīo "
					"go w katalogu śródīowym - masz zapewne do czynienia z wersjā "
					"demonstracyjnā!"
				)
				; inny bīād
				(abort "Bīād instalacji \"Programu gīównego\"!")
			)
			(set DefToolIkon ; O! Jest licencjonowana wersja!
				(tackon @default-dest "PDPatch")
			)
		)
	)
)

; Skopiujmy wersjė DEMO
(if (IN czesci_pakietu 1)
	(copyfiles
		(source "PDPatchDEMO")
		(dest @default-dest)
		(infos)
	)
)

; Skopiujmy dokumentacjė
(if (IN czesci_pakietu 2)
	(
		(copyfiles
			(source "PDPatch.guide")
			(dest @default-dest)
		)
		(copyfiles
			(source "PDPatch.DOC")
			(dest @default-dest)
			(infos)
		)
	)
)

; Skopiujmy pliki preferencji
(if (IN czesci_pakietu 3)
	(
		(makedir (tackon @default-dest "Drukarki"))
		(copyfiles
			(source "Drukarki.info")
			(dest @default-dest)
		)
		(set licznik 0)
		(while
			(set plikpref
				(select licznik
					"AmigaPLGen"
					"AmigaPL->Latin2"
					"AmigaPL->Mazowia"
					"AmigaPL->Windows"
					"EpsonLQ100"
					"StarLC2420"
					""
				)
			)
			(
				(if (IN pliki_preferencji licznik)
					(
						(copyfiles
							(source (tackon "Drukarki" plikpref))
							(dest (tackon @default-dest "Drukarki"))
							(infos)
						)
						; Dla StarLC24-20 istnieje teū driver generic
						(if (= plikpref "StarLC2420")
							(copyfiles
								(source "Drukarki/StarLC2420_generic")
								(dest (tackon @default-dest "Drukarki"))
								(infos)
							)
						)
						(copyfiles
							(source (tackon "Drukarki" (cat plikpref ".guide")))
							(dest (tackon @default-dest "Drukarki"))
						)
						; Przykīadów moūe nie byź
						(if (exists (tackon "Drukarki" (cat plikpref ".examples")))
							(copyfiles
								(source (tackon "Drukarki" (cat plikpref
									".examples")))
								(dest (tackon @default-dest "Drukarki"))
							)
						)
						(tooltype
							(dest (tackon (tackon @default-dest "Drukarki")
								plikpref))
							(setdefaulttool DefToolIkon)
						)
					)
				)
				(set licznik (+ licznik 1))
			)
		)
	)
)

; Skopiujmy ReqTools
(if (IN czesci_pakietu 4)
	(copylib
		(source "Libs/reqtools.library")
		(dest "LIBS:")
		(prompt "Zamierzam skopiowaź bibliotekė \"reqtools.library\"")
		(help @copylib-help)
		(confirm)
	)
)

; Sprawdśmy, czy jest amigaguide.library w OS 2.x
(if (= (/ (getversion) $10000) 37)
	(if (NOT (exists "LIBS:amigaguide.library"))
		(
			(user 2) ; message nie dziaīa z novice'em
			(message
				"Nie posiadasz w katalogu \"LIBS:\" biblioteki "
				"\"amigaguide.library\". Ta biblioteka jest PDPatchowi niezbėdna "
				"do uūywania OnLine-Help. Powinieneō jā skādō zdobyź!"
			)
			(user ustawiony_poziom)
		)
	)
)
