;Emperor install script Version 3.0 (25.10.2000)
;written by Matthias Gietzelt
;Copyright by Matthias Gietzelt © 2000
;All right reserved

;PREPARE INSTALL

(set #lang 0)
(if     (= "deutsch" @language)
	(
		(set #lang 1)
		(set #MSG_OS35 "Emperor benötigt mindestens AmigaOS 3.5 !")
		(set #MSG_WELCOME1 (cat "\nWillkommen bei der Installation von Emperor !\n"
		                        "Emperor ist eine objekt-orientierte Programmiersprache.\n\n"
		                        "Vielen Dank das Sie dieses Programmpaket ausprobieren möchten.\n\n"
		                        "Emperor benötigt die Amiga Developer CD 2.1\n"
		                        "von der Haage & Partner GmbH, um arbeiten zu können.\n"
		                        "Dieses beinhaltet z.B. einen C/C++-Compiler und die Unterstützung\n"
		                        "zur Softwareentwicklung für das neue AmigaOS 3.5."))

		(set #MSG_WELCOME2 (cat "\nWeiterhin benötigt Emperor folgende Dateien:\n\n"
		                        "CatComp von der Developer CD 2.1\n"
		                        "(ADCD_2.1:NDK/NDK_3.5/Tools/CatComp)\n\n"
		                        "StormC von der Developer CD 2.1\n"
		                        "(ADCD_2.1:Contributions/Haage_&_Partner/StormC/)\n\n"
		                        "xen.font in der Größe 8 installiert im Fonts:-Verzeichnis\n"))

		(set #MSG_DEST "Wo möchten Sie Emperor installieren ?\nEin Verzeichnis \"Emperor\" wird automatisch erzeugt !")
		(set #MSG_MAKEDIR "Erzeuge Verzeichnis für Emperor ...")

		(set #MSG_GUIDE "\nBevor Sie mit der Installation beginnen,\n sollten Sie das \"Emperor.guide\" lesen !")
		(set #MSG_GUIDE_NOW "Jetzt lesen !")
		(set #MSG_GUIDE_DONE "Bereits erledigt !")

		(set #MSG_WHAT "Welche Programmteile möchten Sie installieren ?")
		(set #MSG_WHAT_PROGGY "Emperor Programm")
		(set #MSG_WHAT_DOCU "Emperor Dokumentation")
		(set #MSG_WHAT_CONFIG "Emperor Konfigurationsdatei")
		(set #MSG_WHAT_CATALOG "Emperor Katalog")
		(set #MSG_WHAT_PROJECT "Emperor Beispielprojekt")

		(set #MSG_COPY_ICON "Kopiere Piktogramm ...")
		(set #MSG_COPY_PROGGY "Kopiere Hauptprogramm ...")
		(set #MSG_COPY_DOCU "Kopiere Dokumentation ...")
		(set #MSG_COPY_CONFIG "Kopiere Konfigurationsdatei ...")
		(set #MSG_COPY_CATALOG "Kopiere Katalog ...")
		(set #MSG_COPY_PROJECT "Kopiere Beispielprojekt ...")

		(set #MSG_DOC "Die Dokumentation ist in deutsch\nund englisch verfügbar.\n\nBitte wählen Sie die gewünschte Sprache aus !")
		(set #MSG_DOC_GERMAN "Deutsch")
		(set #MSG_DOC_ENGLISH "Englisch")
		
		(set #MSG_HELP "Leider ist keine Hilfe verfügbar !\nFalls sich Probleme ergeben, mailen\nSie mir einfach: shamane@exmail.de")
		(set #MSG_DONE (cat "\nInstallation abgeschlossen !\n\n"
		                    "Viel Spaß bei der Softwareentwicklung mit Emperor !"))

		(set #MSG_ALREADY_ASSIGNED1 "Sie haben bereits eine Kopie\nvon Emperor installiert !\n\n\nzu installierende Version: 2.4\n\ninstallierte Version: ")
		(set #MSG_ALREADY_ASSIGNED2 "\n\nMöchten Sie mit der Installation fortfahren ?")
		(set #MSG_ALREADY_ASSIGNED_BUTTON1 "fortfahren")
		(set #MSG_ALREADY_ASSIGNED_BUTTON2 "beenden")
	)
)

(if     (= 0 #lang)
	(
		(set #MSG_OS35 "Emperor needs at least AmigaOS 3.5 !")

		(set #MSG_DEST "Where do you want to install Emperor ?\nA drawer called \"Emperor\" will be created automatically !")
		(set #MSG_MAKEDIR "Creating directory for Emperor ...")
		(set #MSG_WELCOME1 (cat "\nWelcome to the installation of Emperor !\n"
		                        "Emperor is an object-oriented programming-language.\n\n"
		                        "Thank you for testing this program-packet.\n\n"
		                        "Emperor needs the Amiga Developer CD 2.1\n"
		                        "of Haage & Partner GmbH, to work properly.\n"
		                        "This CD includes e.g. an C/C++-Compiler and the support\n"
		                        "for developing of software for the new AmigaOS 3.5."))

		(set #MSG_WELCOME2 (cat "\nEmperor needs following files:\n\n"
		                        "CatComp from the Developer CD 2.1\n"
		                        "(ADCD_2.1:NDK/NDK_3.5/Tools/CatComp)\n\n"
		                        "StormC from the Developer CD 2.1\n"
		                        "(ADCD_2.1:Contributions/Haage_&_Partner/StormC/)\n\n"
		                        "xen.font in size 8 installed in the Fonts:-directory\n"))

		(set #MSG_GUIDE "\nYou should start installation only after having read \"Emperor.guide\" !")
		(set #MSG_GUIDE_NOW "Read now !")
		(set #MSG_GUIDE_DONE "Already done !")

		(set #MSG_WHAT "What do you want to install ?")
		(set #MSG_WHAT_PROGGY "Emperor main program")
		(set #MSG_WHAT_DOCU "Emperor documentation")
		(set #MSG_WHAT_CONFIG "Emperor configuration file")
		(set #MSG_WHAT_CATALOG "Emperor catalog")
		(set #MSG_WHAT_PROJECT "Emperor example project")

		(set #MSG_COPY_ICON "Copying icon ...")
		(set #MSG_COPY_PROGGY "Copying main program ...")
		(set #MSG_COPY_DOCU "Copying documentation ...")
		(set #MSG_COPY_CONFIG "Copying configuration file ...")
		(set #MSG_COPY_CATALOG "Copying catalog ...")
		(set #MSG_COPY_PROJECT "Copying Beispielprojekt ...")

		(set #MSG_DOC "The documentation is available in\ngerman and english.\n\nChoose the one you'd like!")
		(set #MSG_DOC_GERMAN "German")
		(set #MSG_DOC_ENGLISH "English")

		(set #MSG_NOHELP "No help available. Sorry !")
		(set #MSG_DONE "\nInstallation complete !")

		(set #MSG_ALREADY_ASSIGNED1 "You have already a copy of \"Emperor\" installed !\n\n\nversion to install: 2.4\n\ninstalled version: ")
		(set #MSG_ALREADY_ASSIGNED2 "\n\nDo you wish to continue installation-progess ?")
		(set #MSG_ALREADY_ASSIGNED_BUTTON1 "continue")
		(set #MSG_ALREADY_ASSIGNED_BUTTON2 "quit")
	)
)

;STARTING UP

(set #OSVERSION (/ (getversion "workbench.library" (resident)) 65536))
(set #WHAT_PROGGY         1)
(set #WHAT_DOCU           2)
(set #WHAT_CONFIG         4)
(set #WHAT_CATALOG        8)
(set #WHAT_PROJECT       16)
(set #what               31)
(set #dest "Emperor:")
(if (< #OSVERSION 44)
        (abort #MSG_OS35)
)

(complete 0)
(message #MSG_WELCOME1)
(message #MSG_WELCOME2)

(if (= 2 @user-level)
        (
                (complete 10)
                (set #what (askoptions
                                (prompt  #MSG_WHAT)
                		(choices #MSG_WHAT_PROGGY
			                 #MSG_WHAT_DOCU
        	        		 #MSG_WHAT_CONFIG
	        		         #MSG_WHAT_CATALOG
        		        	 #MSG_WHAT_PROJECT
                		)
        	        	(help #MSG_NOHELP)
        		)
                )
	)
)

(complete 20)
(if (= 0 (exists "Emperor:Emperor"))
        (
                (set #dest
                        (expandpath
                                (askdir
	                                (prompt #MSG_DEST)
                			(help #MSG_NOHELP)
       		                        (default @default-dest)
                       		)
	                )
                )
        	(makedir (tackon #dest "Emperor")
		        	(prompt #MSG_MAKEDIR)
		       		(help #MSG_NOHELP)
		)
	        (copyfiles
        		(prompt #MSG_COPY_ICON)
			(source "Emperor.info")
			(dest #dest)
			(help #MSG_NOHELP)
		)
	        (set #dest (tackon #dest "Emperor"))
	)
)
(if (= 1 (exists "Emperor:Emperor"))
	(
	        (set #dest "Emperor:")
	)
)

(complete 30)
(if (= 1 (askbool
                (prompt  #MSG_GUIDE)
                (choices #MSG_GUIDE_NOW
                         #MSG_GUIDE_DONE
                )
                (help #MSG_NOHELP)
        ))
	(
                (if (= 0 #lang)
                        (run "SYS:Utilities/Multiview Emperor/Emperor_english.guide")
                )
                (if (= 1 #lang)
                   	(run "SYS:Utilities/Multiview Emperor/Emperor_deutsch.guide")
                )
        )
)

(complete 40)
(if (<> 0 (bitand #WHAT_DOCU #what))
        (
                (set #doclang #lang)
                (if (= 2 @user-level)
                        (
                		(set #doclang (askchoice
				                (prompt #MSG_DOC)
                				(choices #MSG_DOC_ENGLISH #MSG_DOC_GERMAN)
		                		(default #lang)
				                (help #MSG_NOHELP)
			                )
			        )
        		)
                )
                (if (= 0 #doclang)
                        (
             		        (copyfiles
                        	        (prompt #MSG_COPY_DOCU)
		                        (source "Emperor/Emperor_english.guide")
			                (dest #dest)
                        	        (all)
	                                (infos)
        	        	        (help #MSG_NOHELP)
        		        )
                        )
                )
                (if (= 1 #doclang)
                        (
                                (copyfiles
                              		(prompt #MSG_COPY_DOCU)
		                       	(source "Emperor/Emperor_deutsch.guide")
		                        (dest #dest)
                        	        (all)
        	               		(infos)
	                              	(help #MSG_NOHELP)
        		        )
        		)
                )
	)
)

(complete 50)
(if (<> 0 (bitand #WHAT_PROGGY #what))
	(
		(copyfiles
			(prompt #MSG_COPY_PROGGY)
			(source "Emperor/Emperor")
			(dest #dest)
			(all)
			(infos)
        		(help #MSG_NOHELP)
		)
	)
)

(complete 60)
(if (<> 0 (bitand #WHAT_CONFIG #what))
	(
		(copyfiles
			(prompt #MSG_COPY_CONFIG)
			(source "Emperor/Emperor.prefs")
			(dest #dest)
			(all)
			(infos)
        		(help #MSG_NOHELP)
		)
	)
)

(complete 70)
(if (<> 0 (bitand #WHAT_PROJECT #what))
	(
		(copyfiles
			(prompt #MSG_COPY_PROJECT)
			(source "Emperor/Projects/")
			(dest (tackon #dest "Projects"))
			(all)
			(infos)
        		(help #MSG_NOHELP)
		)
	)
)

(complete 80)
(if (<> 0 (bitand #WHAT_CATALOG #what))
	(
                (if (= 1 #lang)
        		(copyfiles
	        		(prompt #MSG_COPY_CATALOG)
		        	(source "Emperor/Catalogs/deutsch/Emperor.catalog")
			        (dest "SYS:Locale/Catalogs/deutsch")
        			(all)
	        		(infos)
                		(help #MSG_NOHELP)
        		)
                )
	)
)

(complete 90)
(if (= 0 (strlen (getassign ("Emperor" 'a'))))
        (
                (set #MSG_STARTUPSTUFF (cat "Assign Emperor: " #dest "\n"))
                (if (= 1 #lang)
        	        (
                                (set #MSG_STARTUP (cat "\nUm Emperor korrekt arbeiten zu lassen, sind\n Änderungen in der User-Startup notwendig:\n\n" #MSG_STARTUPSTUFF))
	                )
	                (
                                (set #MSG_STARTUP (cat "\nTo get Emperor work well there has to be made\n some changes to your User-Startup:\n\n" #MSG_STARTUPSTUFF))
        	        )
	        )
                (startup "Emperor"
                        (prompt #MSG_STARTUP)
                        (command #MSG_STARTUPSTUFF)
                        (help #MSG_NOHELP)
                )
                (makeassign "Emperor" #dest)
        )
)

(complete 100)

(exit #MSG_DONE (quiet))
