;********************************************************************************
;    ______ ______ __   __           ______                              __
;   / __  // __  / \ \ / /          / __  /                            _/ /_
;  / /  -'/ /_ -'   \ \ /          / /_/ / ______ ______ ______ _____ /  __/
; / /    / // \     /  /   ______ /   __/ / ____// __  // __  // .__/ / /
;/ /___ / /_/ /    / \ \  /_____// /\ \  / __/_ / /_/ // /_/ // /    / /_
;\____//_____/    /_/ \_\       /_/  \_\/_____// ____//_____//_/    /___/
;                                             / /                 
;                                            /_/                 
; $VER: CGX-Report 4.0a (October-21-1998)
; CyberVer by Robert C. Reiswig 1995,1996,1997,1998
; CGX-Report by Robert C. Reiswig 1998
;
; 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:
; cyberver@vgr.com 
;--------------------------------------------------------------------------------
;
;********************************************************************************
(if (= @user-level 0) (set @user-level 1))
(if (= frank 26) (welcome))

;********************************************************************************
; Read Needed System information
;********************************************************************************
(set lan 1)
(if (> (exists ("env:Language")) 0)
  (if (= "deutsch" (getenv "Language")) (set lan 0) )
)

(if (> (exists ("env:user")) 0) (set username (getenv "USER")) )
(if (> (exists ("env:username")) 0) (set username (getenv "USERNAME")) )
(if (> (exists ("env:host")) 0) (set hostname (getenv "HOST")) )
(if (> (exists ("env:hostname")) 0) (set hostname (getenv "HOSTNAME")) )

(set #exitmessage1 "\nA text file, '")
(set #exitmessage2 "', with all the version information for the V43DT and CyberGraphX files was written out.")

;********************************************************************************
; Show and Save (ram:V43DT_Versions.txt) Versions of V43 DTs
;********************************************************************************
(procedure getver
  (set vernum1 (getversion checkfile))
  (set ver1 (/ vernum1 65536)) (set rev1 (- vernum1 (* ver1 65536) ) )
  (set verrev (cat ver1 "." rev1))
  (if (= verrev "0.0") (set verrev "N/A"))
)

(procedure getverR
  (set vernum1 (getversion checkfile (resident) ))
  (set ver1 (/ vernum1 65536)) (set rev1 (- vernum1 (* ver1 65536) ) )
  (set verrev (cat ver1 "." rev1))
  (if (= verrev "0.0") (set verrev "N/A"))
)

(set master "CyberGraphX V4 (or V3) - Libraries:\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n")
(set checkfile "libs:cgxsystem.library") (getver) (set master (cat master checkfile " - " verrev "\n"))
(set checkfile "cybergraphics.library") (getverR) (set master (cat master checkfile " - " verrev "\n"))
(set checkfile "libs:cgxvideo.library") (getver) (set master (cat master checkfile " - " verrev "\n"))
(set checkfile "libs:cgxbootpic.library") (getver) (set master (cat master checkfile " - " verrev "\n"))
(set checkfile "libs:cgx3dvirgin.library") (getver) (set master (cat master checkfile " - " verrev "\n"))
(set checkfile "libs:cgxmpeg.library") (getver) (set master (cat master checkfile " - " verrev "\n"))
(message master)


(set masterO "\nCGX V2 Libs (if installed)\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n")
(set checkfile "libs:cybergraphics.library") (getver) (set masterO (cat masterO checkfile " - " verrev "\n"))
(set checkfile "libs:cyberlayers.library") (getver) (set masterO (cat masterO checkfile " - " verrev "\n"))
(set checkfile "libs:cyberintuition.library") (getver) (set masterO (cat masterO checkfile " - " verrev "\n"))

(set masterO (cat masterO "\nOther Libaries\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"))
(set checkfile "libs:cybergl.library") (getver) (set masterO (cat masterO checkfile " - " verrev "\n"))
(set checkfile "libs:cyberncg.library") (getver) (set masterO (cat masterO checkfile " - " verrev "\n"))
(set checkfile "libs:vilintuisup.library") (getver) (set masterO (cat masterO checkfile " - " verrev "\n"))
(set checkfile "libs:gtlayout.library") (getver) (set masterO (cat masterO checkfile " - " verrev "\n\n"))



(message masterO)



(set masterM (cat masterM "Monitor Files - Drivers\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"))
(if (exists "devs:monitors/CVisionPPC") ( (set checkfile "devs:monitors/CVisionPPC") (getver) (set masterM (cat masterM checkfile " - " verrev "\n")) )     )
(if (exists "devs:monitors/BVisionPPC") ( (set checkfile "devs:monitors/BVisionPPC") (getver) (set masterM (cat masterM checkfile " - " verrev "\n")) )     )
(if (exists "devs:monitors/CVision3D")  ( (set checkfile "devs:monitors/CVision3D") (getver) (set masterM (cat masterM checkfile " - " verrev "\n")) )     )
(if (exists "devs:monitors/CVision64")  ( (set checkfile "devs:monitors/CVision64") (getver) (set masterM (cat masterM checkfile " - " verrev "\n")) )     )
(if (exists "devs:monitors/PicassoII")  ( (set checkfile "devs:monitors/PicassoII") (getver) (set masterM (cat masterM checkfile " - " verrev "\n")) )     )
(if (exists "devs:monitors/Spectrum")   ( (set checkfile "devs:monitors/Spectrum") (getver) (set masterM (cat masterM checkfile " - " verrev "\n")) )     )
(if (exists "devs:monitors/Piccolo")    ( (set checkfile "devs:monitors/Piccolo") (getver) (set masterM (cat masterM checkfile " - " verrev "\n")) )     )
(if (exists "devs:monitors/PiccoSD64")  ( (set checkfile "devs:monitors/PiccoSD64") (getver) (set masterM (cat masterM checkfile " - " verrev "\n")) )     )
(if (exists "devs:monitors/Inferno")    ( (set checkfile "devs:monitors/Inferno") (getver) (set masterM (cat masterM checkfile " - " verrev "\n")) )     )
(if (exists "devs:monitors/PicassoIV")  ( (set checkfile "devs:monitors/PicassoIV") (getver) (set masterM (cat masterM checkfile " - " verrev "\n")) )     )
(if (exists "devs:monitors/RetinaZ3")   ( (set checkfile "devs:monitors/RetinaZ3") (getver) (set masterM (cat masterM checkfile " - " verrev "\n")) )     )
(if (exists "devs:monitors/CGXAGA")     ( (set checkfile "devs:monitors/CGXAGA") (getver) (set masterM (cat masterM checkfile " - " verrev "\n")) )     )
(if (exists "devs:monitors/A2410")      ( (set checkfile "devs:monitors/A2410") (getver) (set masterM (cat masterM checkfile " - " verrev "\n")) )     )

(set masterM (cat masterM "\n\nCGXMode - CVMode\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"))
(set checkfile "sys:prefs/CGXMode") (getver)  (set masterM (cat masterM checkfile " - " verrev "\n"))
(set checkfile "sys:prefs/CVMode") (getver)  (set masterM (cat masterM checkfile " - " verrev "\n"))
(set checkfile "sys:prefs/CyberGraphX") (getver)  (set masterM (cat masterM checkfile " - " verrev "\n"))

(message masterM)




(set master1 "V43 24Bit Datatypes:\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n")
(if (exists "sys:classes/codec.class")
  ( (set checkfile "sys:classes/codec.class") (getver) (set master1 (cat master1 checkfile " - " verrev "\n"))  )
  ( (set checkfile "libs:codec.class") (getver) (set master1 (cat master1 checkfile " - " verrev "\n"))  )
)
(if (exists "sys:classes/codecs/picture.codec")
  ( (set checkfile "sys:classes/codecs/picture.codec") (getver) (set master1 (cat master1 checkfile " - " verrev "\n"))  )
  ( (set checkfile "libs:codecs/picture.codec") (getver) (set master1 (cat master1 checkfile " - " verrev "\n"))  )
)
(if (exists "sys:classes/codecs/jpeg.codec")
  ( (set checkfile "sys:classes/codecs/jpeg.codec") (getver) (set master1 (cat master1 checkfile " - " verrev "\n\n"))  )
  ( (set checkfile "libs:codecs/jpeg.codec") (getver) (set master1 (cat master1 checkfile " - " verrev "\n\n"))  )
)
(set checkfile "sys:classes/datatypes/picture.datatype") (getver) (set master1 (cat master1 checkfile " - " verrev "\n"))
(set checkfile "sys:classes/datatypes/pcx.datatype") (getver) (set master1 (cat master1 checkfile " - " verrev "\n"))
(set checkfile "sys:classes/datatypes/pbm.datatype") (getver) (set master1 (cat master1 checkfile " - " verrev "\n"))
(set checkfile "sys:classes/datatypes/jfif.datatype") (getver) (set master1 (cat master1 checkfile " - " verrev "\n"))
(set checkfile "sys:classes/datatypes/ilbm.datatype") (getver) (set master1 (cat master1 checkfile " - " verrev "\n"))
(set checkfile "sys:classes/datatypes/gif.datatype") (getver) (set master1 (cat master1 checkfile " - " verrev "\n\n"))

(message master1)


;********************************************************************************
; Find out whats in the env vars...
;********************************************************************************
(procedure Read_Env
 (set supergels 1) (set superlayers 0)   (set usesemaphores 0)  
 (set hires 0)     (set cpup2c 0)        (set hide15bit 0) (set alertemu 0)
 (set nochip 0)    (set nopassthrough 0) (set keepamiga 0) (set planes2 0)
 (set bootlogo 0)  (set savemem 0)       (set wbpatspeedup 0)


 (if (> (exists ("env:CyberGraphX/USESEMAPHORES")) 0) (if (= 1 (getenv "CyberGraphX/USESEMAPHORES")) (set usesemaphores 1) ) )
 (if (> (exists ("env:CyberGraphX/SUPERLAYERS")) 0)   (if (= 1 (getenv "CyberGraphX/SUPERLAYERS")) (set superlayers 1) ) )
 (if (> (exists ("env:CyberGraphX/CPUP2C")) 0)        (if (= 1 (getenv "CyberGraphX/CPUP2C")) (set cpup2c 1) ) )
 (if (> (exists ("env:CyberGraphX/HIRESCRSR")) 0)     (if (= 1 (getenv "CyberGraphX/HIRESCRSR")) (set hires 1) ) )
 (if (> (exists ("env:CyberGraphX/HIDE15BIT")) 0)     (if (= 1 (getenv "CyberGraphX/HIDE15BIT")) (set hide15bit 1) ) )
 (if (> (exists ("env:CyberGraphX/ALERTEMU")) 0)      (if (= 1 (getenv "CyberGraphX/ALERTEMU")) (set alertemu 1) ) )
 (if (> (exists ("env:CyberGraphX/PLANES2FAST")) 0)   (if (= 1 (getenv "CyberGraphX/PLANES2FAST")) (set planes2 1) ) )
 (if (> (exists ("env:CyberGraphX/KEEPAMIGAVIDEO")) 0)(if (= 1 (getenv "CyberGraphX/KEEPAMIGAVIDEO")) (set keepamiga 1) ) )
 (if (> (exists ("env:CyberGraphX/SAVEMEM")) 0)       (if (= 1 (getenv "CyberGraphX/SAVEMEM")) (set savemem 1) ) )
 (if (> (exists ("env:CyberGraphX/NOPASSTHROUGH")) 0) (if (= 1 (getenv "CyberGraphX/NOPASSTHROUGH")) (set nopassthrough 1) ) )
 (if (> (exists ("env:CyberGraphX/SUPERGELS")) 0)     (if (= 1 (getenv "CyberGraphX/SUPERGELS")) (set supergels 1) ) )
 (if (> (exists ("env:CyberGraphX/WBPATSPEEDUP")) 0)  (if (= 1 (getenv "CyberGraphX/WBPATSPEEDUP")) (set wbpatspeedup 1) ) )
)

(Read_Env)

(set masterE "Env Var Settings:\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n")
(set masterE (cat masterE "ALERTEMU=" alertemu "\n"))
(set masterE (cat masterE "CPUP2C=" cpup2c "\n"))  
(set masterE (cat masterE "HIDE15BIT=" hide15bit "\n"))
(set masterE (cat masterE "HIRESCRSR=" hires "\n"))
(set masterE (cat masterE "KEEPAMIGAVIDEO=" keepamiga "\n"))
(set masterE (cat masterE "NOPASSTHROUGH=" nopassthrough "\n"))
(set masterE (cat masterE "PLANES2FAST=" planes2 "\n"))  
(set masterE (cat masterE "SAVEMEM=" savemem "\n"))  
(set masterE (cat masterE "SUPERGELS=" supergels "\n"))  
(set masterE (cat masterE "SUPERLAYERS=" superlayers "\n"))
(set masterE (cat masterE "USESEMAPHORES=" usesemaphores "\n")) 
(set masterE (cat masterE "WBPATSPEEDUP=" wbpatspeedup)) 


(message masterE)

;********************************************************************************
; Report Save...
;********************************************************************************
(run "date > env:CyberVer.TEMP") 
(set date (getenv "CyberVer.TEMP"))

(set date2 (substr date (- (strlen date) 19) ) ) 
(set date3 (substr date2 0 9) ) 

(set whodate (cat username "@" hostname "\n\n"))
(set filename (cat "CGX-Report" date3 ".txt"))

(set #wherefile (cat "Where do you wish to write the CGX-Report? (" filename ")"))

(set wheredir  (askdir (prompt #wherefile)
		       (help   #wherefile)
     		       (default "ram:")
               )  
)

(textfile (dest (tackon wheredir filename)) (include "env:CyberVer.TEMP") (append  (cat whodate master "\n\n" masterO "\n\n" masterM "\n\n" master1 "\n\n" masterE "\n\n")) )
(delete "env:CyberVer.TEMP")

;********************************************************************************
; END  
;********************************************************************************
(exit (cat #exitmessage1 (tackon wheredir filename) #exitmessage2) (quiet))
 