;PAGESTREAM 3.0i "DISK" TO 3.1 ONLINE UPDATE PATCH INSTALLATION SCRIPT
;COPYRIGHT ©1996 SOFTLOGIK PUBLISHING CORPORATION


;QUIT PROGRAMS
(message "\n\nStop now if you haven't read the Read.1st! file for important instructions.\n\nIf PageStream, BME or PageLiner are running now, quit them before continuing.")
(run "avail flush" (safe))

;USE ASSIGNS TO AVOID THE STUPID INSTALLER'S CRASH BUG
(run "CD PageStream3:" (safe))
(run "CD SoftLogik:" (safe))
(run "assign fonts: softlogik:fonts add" (safe))

;CONFIRM CORRECT VERSION IS INSTALLED, SET DESTINATION
(message ("\n\nThis patch will update your PageStream 3.0i hard drive installation to the final version of 3.1.\n\nYour original PageStream3 disks will not be modified by this update.\n\nYou MUST have installed 3.0i from an online patch before using this patch."))
(if (<> (exists "PageStream3:PageStream3") 1)
	(abort "PageStream3 is not in the PageStream3: directory. You must properly install PageStream3.0i before applying this update patch.")
)
;get destination
(set PGSdest (getassign "PageStream3" "a"))
(set SLdest (getassign "SoftLogik" "a"))
(if (OR (= PGSdest "") (= SLdest ""))
	(abort "PageStream3: and/or SoftLogik: are not assigned. You must properly install PageStream 3.0i before applying this update patch.")
)
(set PGSsize (getsize "PageStream3:PageStream3"))
(if (= PGSsize 1530924)
	(abort "You downloaded pgs31_i2.lha instead of pgs31_i1.lha. Please read the Read.1st! file for instructions.")
)
(if (= PGSsize 1522840)
	(abort "You downloaded pgs31_i2.lha instead of pgs31_i3.lha. Please read the Read.1st! file for instructions.")
)
(if (<> PGSsize 1530808)
	(abort "You have the wrong version of PageStream installed. Please read the Read.1st! file for instructions.")
)
(set @default-dest PGSdest)

;UPDATE FONT PATHS
(message "\nThe first time you start PageStream 3.1, it will update each of your font paths. This means that starting the program will take a lot longer the first time.")
;UPDATE FONT PATHS
(textfile
	(dest "t:PageStream3.prefs")
	(include "PageStream3:PageStream3.prefs")
	(append "UPDATEFONTPATHS TRUE\n")
	(safe)
)
(delete "PageStream3:PageStream3.prefs" (safe))
(copyfiles
	(source "t:PageStream3.prefs")
	(dest "PageStream3:")
	(nogauge)
)
(delete "t:PageStream3.prefs" (safe))

;MAKE REQUIRED DIRECTORIES IF THEY DON'T EXIST
(if (<> (exists "SoftLogik:Engines") 2) (makedir "SoftLogik:Engines" (infos)))
(if (<> (exists "SoftLogik:Libs") 2) (makedir "SoftLogik:Libs" (infos)))
(if (<> (exists "SoftLogik:Printers") 2) (makedir "SoftLogik:Printers" (infos)))
(if (<> (exists "SoftLogik:Filters") 2) (makedir "SoftLogik:Filters" (infos)))
(if (<> (exists "SoftLogik:Effects") 2) (makedir "SoftLogik:Effects" (infos)))
(if (<> (exists "SoftLogik:Special") 2) (makedir "SoftLogik:Special" (infos)))
(if (<> (exists "SoftLogik:Special/Keys") 2) (makedir "SoftLogik:Special/Keys"))
(if (<> (exists "PageStream3:Help") 2) (makedir "PageStream3:Help" (infos)))
(if (<> (exists "PageStream3:Scripts") 2) (makedir "PageStream3:Scripts" (infos)))
(if (<> (exists "PageStream3:Scripts/TextClips") 2) (makedir "PageStream3:Scripts/TextClips" (infos)))
(if (<> (exists "PageStream3:Help") 2) (makedir "PageStream3:Help" (infos)))

;DELETE OLD FILES
(delete "SoftLogik:Filters/IFFDTXT.tfilter" (safe))
(delete "SoftLogik:Filters/Word.tfilter" (safe))
(delete "SoftLogik:Filters/WordPerfect5.tfilter" (safe))
(delete "SoftLogik:Engines/XPress.codes" (safe))
;DELETE OLD MACRO
(delete "PageStream3:Macros/duplicatetopage.rexx" (safe))
;DELETE OLD CACHED PFB FILES
(delete "PageStream3:Fonts/Intellifonts/91545.pfb" (safe))
(delete "PageStream3:Fonts/Intellifonts/91547.pfb" (safe))
(delete "PageStream3:Fonts/Intellifonts/91546.pfb" (safe))
(delete "PageStream3:Fonts/Intellifonts/91548.pfb" (safe))
;DELETE OLD FONT FILES
(delete "PageStream3:Fonts/StandardFonts/avnt_do.dmf" (safe))
(delete "PageStream3:Fonts/StandardFonts/avnt_o.dmf" (safe))
(delete "PageStream3:Fonts/StandardFonts/hlvn_bo.dmf" (safe))
(delete "PageStream3:Fonts/StandardFonts/hlvn_o.dmf" (safe))
(delete "PageStream3:Fonts/StandardFonts/cour_bo.dmf" (safe))
(delete "PageStream3:Fonts/StandardFonts/cour_o.dmf" (safe))
(delete "PageStream3:Fonts/StandardFonts/book_di.dmf" (safe))
(delete "PageStream3:Fonts/StandardFonts/book_i.dmf" (safe))
(delete "PageStream3:Fonts/StandardFonts/pala_bi.dmf" (safe))
(delete "PageStream3:Fonts/StandardFonts/pala_i.dmf" (safe))
(delete "PageStream3:Fonts/StandardFonts/schl_bi.dmf" (safe))
(delete "PageStream3:Fonts/StandardFonts/schl_i.dmf" (safe))
;DELETE OLD FILTERS
(delete "SoftLogik:Filters/IFFDTXT.tfilter" (safe))
(delete "SoftLogik:Filters/WordPerfect5.tfilter" (safe))
(delete "SoftLogik:Filters/Word.tfilter" (safe))
(delete "SoftLogik:Filters/ProPage.dfilter" (safe))
;FOR GERMAN USERS
(delete "PageStream3:PageStream3.rsrc" (safe))
;DELETE PGS.MIL and PGS.MIS if in wrong directory
(delete "PageStream3:Help/PGS.MIL" (safe))
(delete "PageStream3:Help/PGS.MIS" (safe))
;DELETE OLD HELP FILES
(delete "PageStream3:Help/PGS.DOC" (safe))
(delete "PageStream3:Help/PGS.EDI" (safe))
(delete "PageStream3:Help/PGS.GRA" (safe))
(delete "PageStream3:Help/PGS.LAY" (safe))
(delete "PageStream3:Help/PGS.MAC" (safe))
(delete "PageStream3:Help/PGS.MEN" (safe))
(delete "PageStream3:Help/PGS.OBJ" (safe))
(delete "PageStream3:Help/PGS.PRO" (safe))
(delete "PageStream3:Help/PGS.SAL" (safe))
(delete "PageStream3:Help/PGS.SUB" (safe))
(delete "PageStream3:Help/PGS.TEX" (safe))
(delete "PageStream3:Help/PGS.MSU" (safe))
(delete "PageStream3:Help/PGS.TYP" (safe))
(delete "PageStream3:Help/PGS.VIE" (safe))
(delete "PageStream3:Help/BME.EDI" (safe))
(delete "PageStream3:Help/BME.EFF" (safe))
(delete "PageStream3:Help/BME.MAC" (safe))
(delete "PageStream3:Help/BME.MEN" (safe))
(delete "PageStream3:Help/BME.PRO" (safe))
(delete "PageStream3:Help/BME.SET" (safe))
(delete "PageStream3:Help/BME.TOO" (safe))
(delete "SoftLogik:Engines/Français.language" (safe))
(rename "SoftLogik:Engines/English.dictionary" "SoftLogik:Engines/American.dictionary" (safe))
(delete "SoftLogik:Engines/XPress.codes" (safe))
(delete "SoftLogik:Engines/ProPage.codes" (safe))


;COPY THE LHEX PROGRAM TO RAM:
(copyfiles (source "PageStream3Disk1:lhex") (dest "ram:") (nogauge))

;UPDATE LIBS
(working "Installing Updated Libraries...")
(run "ram:lhex >NIL: <NIL: -qfw=SoftLogik:Libs x Libs.lha")
(delete "Libs.LHA" (safe))

;UPDATE PRINTERS
(working "Installing Updated Printer Drivers...")
(run "ram:lhex >NIL: <NIL: -qfw=SoftLogik:Printers x Printers.lha")
(delete "Printers.LHA" (safe))

;UPDATE FILTERS AND EFFECTS AND SPECIAL
(working "Installing Updated Filters...")
(run "ram:lhex >NIL: <NIL: -qfw=SoftLogik:Filters x Filters.lha")
(delete "Filters.LHA" (safe))
(run "ram:lhex >NIL: <NIL: -qfw=SoftLogik:Filters x NewFilters.lha")
(delete "NewFilters.LHA" (safe))
(run "ram:lhex >NIL: <NIL: -qfw=SoftLogik:Effects x Effects.lha")
(delete "Effects.LHA" (safe))
(run "ram:lhex >NIL: <NIL: -qfw=SoftLogik:Special x Special.lha")
(delete "Special.LHA" (safe))

;UPDATE ENGINES
(working "Installing Updated Engines...")
(run "ram:lhex >NIL: <NIL: -qfw=SoftLogik:Engines x Engines.lha")
(run "ram:lhex >NIL: <NIL: -qfw=SoftLogik:Engines x Languages.lha")
(delete "Engines.LHA" (safe))
(delete "Languages.LHA" (safe))

;UPDATE HELP
(working "Installing Updated Help Files...")
(run "ram:lhex >NIL: <NIL: -qfw=PageStream3:Help x Help.lha")
(delete "Help.LHA" (safe))

;UPDATE SCRIPTS
(working "Installing Updated Scripts...")
(run "ram:lhex >NIL: <NIL: -qfw=PageStream3:Scripts x Scripts.lha")
(delete "Scripts.LHA" (safe))

;PATCH EXTRAS TO LATEST VERSION IF APPLICABLE

(run "ram:lhex >NIL: <NIL: -qfw=ram: x Patch.LHA")

;TRUETYPE FONT ENGINE
(if (= (exists "SoftLogik:Engines/TTF.font") 1)
	(
		; PATCH TTF.KEY TO LATEST VERSION
		(if (= (exists "SoftLogik:Special/Keys/TTF.key") 1)
			(
				(run "spatch -oram:TTF.font -pram:TTF.pch SoftLogik:Special/Keys/TTF.key")
				(if (= 37284 (getsize "ram:TTF.font"))
					(copyfiles (source "ram:TTF.font") (dest "SoftLogik:Engines"))
					(message "\n\nYour TrueType font engine could not be patched to the latest version.\n\nPlease email support@softlogik.com for assistance. Report problem TTKEY2NEW.")
				)
				(delete "ram:TTF.font" (safe))
			)
		)
	)
)
(delete "ram:TTF.pch" (safe))

;WORDWORTH DOC FILTER
(if (= (exists "SoftLogik:Filters/Wordworth.dfilter") 1)
	(
		; PATCH WWDOC.KEY TO LATEST VERSION
		(if (= (exists "SoftLogik:Special/Keys/WWdoc.key") 1)
			(
				(run "spatch -oram:Wordworth.dfilter -pram:WW.pch SoftLogik:Special/Keys/WWdoc.key")
				(if (= 35388 (getsize "ram:Wordworth.dfilter"))
					(copyfiles (source "ram:Wordworth.dfilter") (dest "SoftLogik:Filters"))
					(message "\n\nYour Wordworth document filter could not be patched to the latest version.\n\nPlease email support@softlogik.com for assistance. Report problem WWKEY2NEW.")
				)
				(delete "ram:Wordworth.dfilter" (safe))
			)
		)
	)
)
(delete "ram:WW.pch" (safe))

;TEXT FX EXTENSION

;GET RID OF TEXTFX1 KEY IF V2 EXISTS
(if (AND (= (exists "SoftLogik:Special/Keys/TextFX1.key") 1) (= (exists "SoftLogik:Special/Keys/TextFX2.key") 1))
	(delete "SoftLogik:Special/Keys/TextFX1.key" (safe))
)

; PATCH TEXTFX1.KEY TO LATEST VERSION
(if (= (exists "SoftLogik:Special/Keys/TextFX1.key") 1)
	(
		(run "spatch -oram:TextFX.extension -pram:TextFX1.pch SoftLogik:Special/Keys/TextFX1.key")
		(if (= 39508 (getsize "ram:TextFX.extension"))
			(copyfiles (source "ram:TextFX.extension") (dest "SoftLogik:Engines"))
			(message "\n\nYour TextFX1 extension could not be patched to the latest version.\n\nPlease email support@softlogik.com for assistance. Report problem FX1KEY2NEW.")
		)
		(delete "ram:TextFX.extension" (safe))
	)
)
(delete "ram:TextFX1.pch" (safe))

; PATCH TEXTFX2.KEY TO LATEST VERSION
(if (= (exists "SoftLogik:Special/Keys/TextFX2.key") 1)
	(
		(run "spatch -oram:TextFX.extension -pram:TextFX2.pch SoftLogik:Special/Keys/TextFX2.key")
		(if (= 46768 (getsize "ram:TextFX.extension"))
			(copyfiles (source "ram:TextFX.extension") (dest "SoftLogik:Engines"))
			(message "\n\nYour TextFX2 extension could not be patched to the latest version.\n\nPlease email support@softlogik.com for assistance. Report problem FX1KEY2NEW.")
		)
		(delete "ram:TextFX.extension" (safe))
	)
)
(delete "ram:TextFX2.pch" (safe))

;JPEG FILTER
(if (= (exists "SoftLogik:Filters/JPEG.gfilter") 1)
	(
		; PATCH JPEG.KEY TO LATEST VERSION
		(if (= (exists "SoftLogik:Special/Keys/JPEG.key") 1)
			(
				(run "spatch -oram:JPEG.gfilter -pram:JPEG.pch SoftLogik:Special/Keys/JPEG.key")
				(if (= 95320 (getsize "ram:JPEG.gfilter"))
					(copyfiles (source "ram:JPEG.gfilter") (dest "SoftLogik:Filters"))
					(message "\n\nYour JPEG filter could not be patched to the latest version.\n\nPlease email support@softlogik.com for assistance. Report problem JPKEY2NEW.")
				)
				(delete "ram:JPEG.gfilter" (safe))
			)
		)
	)
)
(delete "ram:JPEG.pch" (safe))

;GARY'S EFFECTS
(if (= (exists "SoftLogik:Effects/HSB.effect") 1)
	(
		; PATCH GARY.KEY TO LATEST VERSION
		(if (= (exists "SoftLogik:Special/Keys/Gary.key") 1)
			(
				(run "spatch -oram:Convolve.effect -pram:convolve.pch SoftLogik:Special/Keys/Gary.key")
				(if (= 11228 (getsize "ram:Convolve.effect"))
					(copyfiles (source "ram:Convolve.effect") (dest "SoftLogik:Effects"))
					(message "\n\nYour Convolve effect could not be patched to the latest version.\n\nPlease email support@softlogik.com for assistance. Report problem GEKEY2NEWCV.")
				)
				(run "spatch -oram:Histogram.effect -pram:histogram.pch SoftLogik:Special/Keys/Gary.key")
				(if (= 5676 (getsize "ram:Histogram.effect"))
					(copyfiles (source "ram:Histogram.effect") (dest "SoftLogik:Effects"))
					(message "\n\nYour Histogram effect could not be patched to the latest version.\n\nPlease email support@softlogik.com for assistance. Report problem GEKEY2NEWHT.")
				)
				(run "spatch -oram:HSB.effect -pram:HSB.pch SoftLogik:Special/Keys/Gary.key")
				(if (= 6452 (getsize "ram:HSB.effect"))
					(copyfiles (source "ram:HSB.effect") (dest "SoftLogik:Effects"))
					(message "\n\nYour HSB effect could not be patched to the latest version.\n\nPlease email support@softlogik.com for assistance. Report problem GEKEY2NEWHB.")
				)
				(run "spatch -oram:Average.effect -pram:Average.pch SoftLogik:Special/Keys/Gary.key")
				(if (= 5728 (getsize "ram:Average.effect"))
					(copyfiles (source "ram:Average.effect") (dest "SoftLogik:Effects"))
					(message "\n\nYour Average effect could not be patched to the latest version.\n\nPlease email support@softlogik.com for assistance. Report problem GEKEY2NEWHB.")
				)
				(run "spatch -oram:Gamma.effect -pram:Gamma.pch SoftLogik:Special/Keys/Gary.key")
				(if (= 14360 (getsize "ram:Gamma.effect"))
					(copyfiles (source "ram:Gamma.effect") (dest "SoftLogik:Effects"))
					(message "\n\nYour Gamma effect could not be patched to the latest version.\n\nPlease email support@softlogik.com for assistance. Report problem GEKEY2NEWHB.")
				)
				(run "spatch -oram:Maximum.effect -pram:Maximum.pch SoftLogik:Special/Keys/Gary.key")
				(if (= 6256 (getsize "ram:Maximum.effect"))
					(copyfiles (source "ram:Maximum.effect") (dest "SoftLogik:Effects"))
					(message "\n\nYour Maximum effect could not be patched to the latest version.\n\nPlease email support@softlogik.com for assistance. Report problem GEKEY2NEWHB.")
				)
				(run "spatch -oram:Minimum.effect -pram:Minimum.pch SoftLogik:Special/Keys/Gary.key")
				(if (= 6244 (getsize "ram:Minimum.effect"))
					(copyfiles (source "ram:Minimum.effect") (dest "SoftLogik:Effects"))
					(message "\n\nYour Minimum effect could not be patched to the latest version.\n\nPlease email support@softlogik.com for assistance. Report problem GEKEY2NEWHB.")
				)
				(run "spatch -oram:Median.effect -pram:Median.pch SoftLogik:Special/Keys/Gary.key")
				(if (= 6252 (getsize "ram:Median.effect"))
					(copyfiles (source "ram:Median.effect") (dest "SoftLogik:Effects"))
					(message "\n\nYour Median effect could not be patched to the latest version.\n\nPlease email support@softlogik.com for assistance. Report problem GEKEY2NEWHB.")
				)
				(run "spatch -oram:Solarize.effect -pram:Solarize.pch SoftLogik:Special/Keys/Gary.key")
				(if (= 4628 (getsize "ram:Solarize.effect"))
					(copyfiles (source "ram:Solarize.effect") (dest "SoftLogik:Effects"))
					(message "\n\nYour Solarize effect could not be patched to the latest version.\n\nPlease email support@softlogik.com for assistance. Report problem GEKEY2NEWHB.")
				)
				(run "spatch -oram:Threshold.effect -pram:Threshold.pch SoftLogik:Special/Keys/Gary.key")
				(if (= 5032 (getsize "ram:Threshold.effect"))
					(copyfiles (source "ram:Threshold.effect") (dest "SoftLogik:Effects"))
					(message "\n\nYour Threshold effect could not be patched to the latest version.\n\nPlease email support@softlogik.com for assistance. Report problem GEKEY2NEWHB.")
				)
			)
		)
		(delete "ram:Convolve.effect" (safe))
		(delete "ram:Histogram.effect" (safe))
		(delete "ram:HSB.effect" (safe))
		(delete "ram:Average.effect" (safe))
		(delete "ram:Gamma.effect" (safe))
		(delete "ram:Maximum.effect" (safe))
		(delete "ram:Minimum.effect" (safe))
		(delete "ram:Median.effect" (safe))
		(delete "ram:Solarize.effect" (safe))
		(delete "ram:Threshold.effect" (safe))
	)
)
(delete "ram:Convolve.pch" (safe))
(delete "ram:Histogram.pch" (safe))
(delete "ram:HSB.pch" (safe))
(delete "ram:Average.pch" (safe))
(delete "ram:Gamma.pch" (safe))
(delete "ram:Maximum.pch" (safe))
(delete "ram:Minimum.pch" (safe))
(delete "ram:Median.pch" (safe))
(delete "ram:Solarize.pch" (safe))
(delete "ram:Threshold.pch" (safe))

(delete "Patch.LHA" (safe))


;UPDATE BME
(if (exists "PageStream3:BME")
	(
		(working "Patching BME to new version...")
		(run "ram:lhex >NIL: <NIL: -qfw=ram: x BMEpatch.LHA")
		(delete "BMEpatch.LHA" (safe))
		(run "spatch >NIL: <NIL: -oPageStream3:BMEnew -pram:BME.pch PageStream3:BME")
		(if (exists "PageStream3:BMEnew")
			(
				(delete "PageStream3:BME")
				(rename "PageStream3:BMEnew" "PageStream3:BME")
			)
			(message "\nThe patch to BME was not successful. Refer to the Read.1st! file for further instructions.")
		)
		(delete "ram:BME.pch" (safe))
	)
)

;UPDATE PAGESTREAM3
(working "Patching PageStream to new version...\n\nThis will take a while...")
(run "ram:lhex >NIL: <NIL: -qfw=ram: x PGSpatch.LHA")
(delete "PGSpatch.LHA" (safe))
(run "spatch >NIL: <NIL: -oPageStream3:PageStreamNew -pram:PageStream.pch PageStream3:PageStream3")
(if (exists "PageStream3:PageStreamNew")
		(
				(delete "PageStream3:PageStream3")
				(rename "PageStream3:PageStreamNew" "PageStream3:PageStream3")
		)
		(abort "The patch to PageStream was not successful. Refer to the Read.1st! file for instructions.")
)
(delete "ram:PageStream.pch" (safe))

;DISPLAY README (Try 3 different ways!)
(run "ram:lhex >NIL: <NIL: -qfw=PageStream3: x Read.LHA")
(delete "Read.LHA" (safe))
(IF (> (run "Sys:Utilities/MultiView PageStream3:ReadMe.Now") 0)
		(IF (> (run "Sys:Utilities/AmigaGuide PageStream3:ReadMe.Now") 0)
				(run "More PageStream3:ReadMe.Now")
		)
)

;REMOVE THE LHEX PROGRAM
(delete "ram:lhex" (safe))
(delete "spatch" (safe))

(delete "Install-3.1.info" (safe))

;DONE
(exit "Finished updating PageStream to version 3.1.")
