;Defender of the Crown with trainer HD installation
;by TTL ©1998

(set dircreat 0)
(set infocreat 0)
(set disk1 "Defender1:")
(set disk2 "Defender2:")
(set dsk1 (substr disk1 0 9))	;for askdisk
(set dsk2 (substr disk2 0 9))	;for askdisk
(set defroot "")
(set srcfonts (tackon disk1 "fonts"))
(set srclibs (tackon disk1 "libs/diskfont.library"))
(set srcnew (tackon defroot "IntoDefenderDir"))

;Check version of Installer, needs 42.9+
(if (< @installer-version 2752521)
	(
		(message "You have an old version of the program 'Installer'.\nThe installation procedure needs at least Installer 42.9.\n\nPlease check your configuration!")
		(exit (quiet))
	)
)

;On error uninstall all data
(onerror
	(
		(if (= infocreat 1)
				(delete (tackon defdirnew "Defender of the Crown.info"))
		)

		(if (= dircreat 1)
				(delete
					(defdir)
					(all)
				)
		)
		(message "Installation aborted or some error occured.\n\nAll already installed data was uninstalled.")
	)
)

(set defdir
		(askdir
			(prompt "Where would you like the Defender installed?\n"
			 "The directory 'Defender of the Crown' will be created automatically.\n"
			 "The installation requires about 1.6 MB of space.")
			(disk)
			(help @askdir-help)
			(default @default-dest)
		)
)
(set defdirnew defdir)

(copyfiles	
		(source (tackon srcnew "Defender of the Crown.info"))
		(dest defdirnew)
)
(set infocreat 1)

(set defdir (tackon defdir "Defender of the Crown"))
(set defdirfonts (tackon defdir "fonts"))
(set defdirlibs (tackon defdir "libs"))
(set defdirs (tackon defdir "s"))

(makedir defdir)
(set dircreat 1)
(makedir defdirfonts)
(makedir defdirlibs)
(makedir defdirs)

(askdisk
	(prompt "Please insert disk Defender1:")
	(dest dsk1)
	(help @askdisk-help)
)

(copyfiles
		(source srcfonts)
		(dest defdirfonts)
		(help @copyfiles-help)
		(all)
)

(copyfiles
		(source srclibs)
		(dest defdirlibs)
		(help @copyfiles-help)
)

(copyfiles
		(source disk1)
		(dest defdir)
		(pattern "#?.scene")
		(help @copyfiles-help)
)

(copyfiles
		(source disk1)
		(dest defdir)
		(pattern "dc#?")
		(help @copyfiles-help)
)

(copyfiles
		(source (tackon disk1 "defender"))
		(dest defdir)
		(help @copyfiles-help)
)

(copyfiles
		(source (tackon disk1 "kaklop.data"))
		(dest defdir)
		(help @copyfiles-help)
)

(copyfiles
		(source (tackon disk1 "MUD_D.C"))
		(dest defdir)
		(help @copyfiles-help)
)

(askdisk
	(prompt "Please insert disk Defender2:")
	(dest dsk2)
	(help @askdisk-help)
)

(copyfiles
		(source disk2)
		(dest defdir)
		(pattern "#?.scene")
		(help @copyfiles-help)
)

(copyfiles
		(source disk2)
		(dest defdir)
		(pattern "dc#?")
		(help @copyfiles-help)
)

(copyfiles
		(source (tackon disk2 "clang.dat"))
		(dest defdir)
		(help @copyfiles-help)
)


(textfile
		(dest (tackon defdirs "startup-sequence"))
		(append "cd \"" defdir "\"\n")
		(append "defstup\n")
		(append "deftrn\n")
		(append "coldstart\n")
)

(copyfiles
		(source srcnew)
		(dest defdir)
		(all)
		(help @copyfiles-help)
)

(if (< (getsize (tackon defdir "defender")) 80000)
	(message "File \"defender\" is shorter than 80000 bytes.\n"
		 "PLEASE MAKE SURE THAT THIS FILE IS NOT PACKED\n"
		 "AND IF IT IS, PLEASE UNPACK IT IMMEDIATELY AFTER INSTALLATION."
	)
)

(delete
		(tackon defdir "Defender of the Crown.info")
)

(set @default-dest defdir)
 
(exit "Good playing!")
