;********************************************************************************
;     ______        __                  ______ __
;    / __  /       / /                 / __  // /
;   / /  -'__  __ / /___ ______ _____ / /_ -'/ /
;  / /     \ \/ // __  // ____// .__// // \ / /
; / /___    \  // /_/ // __/_ / /   / /_/ // /___
; \____/    / //_____//_____//_/   /_____//_____/
;
; $VER: CyberGL_Installer 0.58 (April-01-1997) 
; Installer by Robert C. Reiswig ©1996-1997 
; CyberGL @1996-1997 by phase5 digital products
;
; If you wish to use any part of this installer you must ask. May not be 
; integrated/placed into any other package! Changes, suggestions or problems:
; vgr@best.com
;********************************************************************************

(set vernum1 (getversion "cybergl.library.040"))
(set ver1 (/ vernum1 65536)) (set rev1 (- vernum1 (* ver1 65536) ) )
(set cyberglver (cat ver1 "." rev1))
(set where "ram:")


;********************************************************************************
; Set Defaults Strings (English)
;********************************************************************************
(if (= ver1 0) (set cyberglver ""))
(set #about (cat "\n\n\nWelcome to CyberGL\n\n©1996-1997 by phase5 digital products\n\n[ cybergl.library = " cyberglver " ]\n\nCurrently most everything is in German.") )
(set #needfpu "\n\nCyberGL must have a FPU (Floating Point Unit) to work. The installer has not found a FPU _or_ you are running an older version of the installer that does not have the FPU check option.\n\nIf you have a FPU please press 'Proceed'.")

(set #todo-prompt "\nWhat would you like to do?\n")
(set #updatelibs " Update CyberGL libs")
(set #copyexamp " Copy CyberGL demos/examples") 
(set #installobj " Copy Objects & Reflect")
(set #wheredemos "Where would you like to install the selected options? A directory called 'CyberGL' will be created there.")

(set #askcpu "\nWhat CPU does the machine have that you are installing CyberGL on? The installer has found:\n")
(set #wherelibs "Where do you wish to install the CyberGL library? The default is 'SYS:Libs'")
(set #byebye (cat "\nCyberGL Install Complete!\n\n" ))



;*********************************************************************************
; German Strings
;*********************************************************************************
(if (= @language "deutsch")
(
(set #yes "Ja")
(set #about (cat "\n\n\n\nWillkommen zur CyberGL Installation\n\n©1996-1997 phase5 digital products\n\n[ cybergl.library = " cyberglver " ]\n\n.") )
(set #needfpu "\n\nCyberGL benötigt eine FPU (Fließkomma Prozessor). Das Installationsprogramm fand allerding keine _oder_ Sie benutzen eine alte Version des Installationsprogramms, das die FPU Überprüfung nicht ermöglicht.\n\nWenn Ihr Rechner eine FPU besitzt, drücken Sie 'Weiter'.")

(set #todo-prompt "\nWas wollen Sie erledigen?\n")
(set #updatelibs " Erneuere CyberGL Bibliotheken")
(set #copyexamp " CyberGL Demos/Beispiele kopieren") 
(set #installobj " Objekte & Reflection Maps kopieren")
(set #wheredemos "Wohin wollen Sie die angewählten Optionen installieren? Ein Verzeichnis 'CyberGL' wird dort erzeugt.")

(set #askcpu "\nWelcher Prozessor ist in Ihrem Rechner, auf dem Sie CyberGL nutzen wollen, installiert? Das Installationsprogramm fand:\n")
(set #wherelibs "Wohin wollen Sie die CyberGL Bibliotheken kopieren? Standard ist 'SYS:Libs'")
(set #byebye (cat "\nCyberGL Installation ist nun vollendet!\n\n" ))
 
)
)

;*********************************************************************************
; Welcome Message
;*********************************************************************************
(message #about)
(welcome)

(set fpu (database "fpu"))
(if (= fpu "NOFPU") (message #needfpu))

;*********************************************************************************
; Ask what to do
;*********************************************************************************
(if (exists ("libs:cybergl.library")) (set whattodo 1) (set whattodo 15) )

(set ToDo (askoptions (choices  #updatelibs #copyexamp #installobj) 
                      (prompt #todo-prompt)
                      (help #todo-prompt)
                      (default whattodo)
          )
) 


(if (IN ToDo 0) 
(  
;********************************************************************
; Double Check on the CPU
;********************************************************************
(set cpu (database "cpu"))
(if (= cpu 68000) (set #cpu 0)) (if (= cpu 68010) (set #cpu 0))
(if (= cpu 68020) (set #cpu 0)) (if (= cpu 68030) (set #cpu 0))
(if (= cpu 68040) (set #cpu 1)) 

(if (= @installer-version 0)
  (if (> (exists ("libs:68060.library")) 0) (set #cpu 2) )
  (if (= cpu 68060) (set #cpu 2))
)

(set cpuPick (askchoice (choices "68020 or 68030" "68040" "68060")
			(prompt #askcpu)
	                (help   #askcpu)
          		(default #cpu)
	  )
)

;*********************************************************************************
; Ask where & Copy lib                                                           
;*********************************************************************************
(set wherelibs   (askdir (prompt #wherelibs)
			 (help   #wherelibs)
 		         (default "SYS:libs")
		 )
)

(if (= cpuPick 0) (set cpuadd ".030")) 
(if (= cpuPick 1) (set cpuadd ".040"))
(if (= cpuPick 2) (set cpuadd ".060"))

(set #untempdirlib "")

(set vernum1 (getversion (tackon wherelibs "cybergl.library") ))
(set ver1 (/ vernum1 65536)) (set rev1 (- vernum1 (* ver1 65536) ) )
(set cyberglver (cat ver1 "." rev1))

(if (= "41.2" cyberglver) (delete (tackon wherelibs "cybergl.library")) )

(if (exists (tackon #untempdirlib (cat "cybergl.library" cpuadd)) )
  (copylib (source (tackon #untempdirlib (cat "cybergl.library" cpuadd))) (dest wherelibs) (newname "cybergl.library") (optional "nofail") ) 
)


); End todo 0
); End todo 0

;*********************************************************************************
; Ask where to put demos                                                           
;*********************************************************************************
(if (OR (IN ToDo 1) (IN ToDo 2))
 (
   (set where   (askdir (prompt #wheredemos)
	                (help   #wheredemos)
 		        (default "RAM:")
		)
   )
 )
)

;********************************************************************
; Copy Demos if wanted
;********************************************************************
(if (IN ToDo 1) 
 (  
  (if (< (exists (tackon where "CyberGL")) 2) (makedir (tackon where "CyberGL") (infos)) )
  (if (< (exists (tackon where "CyberGL/Examples")) 2) (makedir (tackon where "CyberGL/Examples") (infos)) )
  (copyfiles (source "examples")  (dest (tackon where "CyberGL/Examples")) (all) (infos) (optional "nofail")) 
 )
)

;********************************************************************
; Copy objects & refelect if wanted
;********************************************************************
(if (IN ToDo 2) 
 (  
  (if (< (exists (tackon where "CyberGL")) 2) (makedir (tackon where "CyberGL") (infos)) )
  (if (< (exists (tackon where "CyberGL/Objects")) 2) (makedir (tackon where "CyberGL/Objects") (infos)) )
  (copyfiles (source "Objects")  (dest (tackon where "CyberGL/Objects")) (all) (infos) (optional "nofail")) 
  (if (< (exists (tackon where "CyberGL/Reflect")) 2) (makedir (tackon where "CyberGL/Reflect") (infos)) )
  (copyfiles (source "Reflect")  (dest (tackon where "CyberGL/Reflect")) (all) (infos) (optional "nofail")) 
 )
)

;*********************************************************************************
; Exit                                                           
;*********************************************************************************
(set @default-dest (tackon where "CyberGL"))

(if (> (exists ("c:multiview")) 0) (set #mpath "c:") )
(if (> (exists ("sys:Utilities/multiview")) 0) (set #mpath "sys:Utilities") )

(if (= @language "deutsch")  (set fileread "Liesmich.txt")   (set fileread "Readme.txt")  )
;;(run (cat "run " #mpath "/multiview " fileread) )
(run (cat  #mpath "/multiview " fileread) )
(run (cat "run " #mpath "/multiview Changes.txt") )

(exit #byebye)
