;******************************************************************************
;      ______ ______ ______        _   _   __  __ ______
;     / __  // __  // __  /       / \_/ \ / / / //_  __/
;    / /_/ // /_/ // /  -'       / \__/ // / / /  / /
;   / ____// ____// /    ______ / /  / // / / /  / / MorphOS
;  / /    / /    / /___ /_____// /  / // /_/ /__/ /_
; /_/    /_/     \____/       /_/  /_//_____//_____/
;
; $VER: MUI-PPC_Installer 3.2 (Oct-22-2000) 
; Installer by Robert C. Reiswig ©2000
; MagicUserInterface Copyright © 1992-2000, Stefan Stuntz
; PPC-MorphOS changes Ralph Schmidt ©2000
;
; 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:
; ppc@vgr.com
;******************************************************************************

;********************************************************************
; English Strings
;********************************************************************
(set #about (cat "\n\nWelcome to MUI PPC" "\n\nMagic User Interface\nCopyright © 1992-2000 Stefan Stuntz\n\nPPC-MorphOS changes\n©2000 Ralph Schmidt" ) )
(set #updateinstaller "\nJust to let you know ESCOM AG has released a new version of the installer program.\n\n\nVersion 43.3 can be found on Aminet in:\n\n/util/misc/Installer-43_3.lha\n\n\nYou might want to upgrade soon, if you can.")
(set muiver "No Version Installed")
(set #newermui "\nMUI PPC needs version 3.8 or higher of MUI installed to work correctly.\n\nNow would be a good time to Upgrade!\n\nYou can find mui38usr.lha on Aminet in util/libs\n\nIt looks like you have: \n\n")
(set #nomuiarc "\nThe installer could not find the MUI dir in the archive. Because of this the PPC MUI Classes were not installed correctly.")
(set #nompc "\nThe .MCC files for MUI PPC can not be installed to 'mui:libs/mui'")

;********************************************************************
; German Strings
;********************************************************************
(if (= lan 1) (set YouYou TRUEYZ) )

;********************************************************************
; Check on New installer 
;********************************************************************
(set InstallerVer 0)
(set vernum1 @installer-version) (set ver1 (/ vernum1 65536)) 
(set rev1 (- vernum1 (* ver1 65536) ) ) (set InstallerVer (cat ver1 "." rev1))
(set current_installer "43.3")
(if (< InstallerVer current_installer) (message #updateinstaller) )

;********************************************************************
; Hello
;********************************************************************
(message #about)
(welcome) 

;********************************************************************
; Checks for MUI version
;********************************************************************
(set ver 0)
(if (<> (getassign "mui") "")
 (
  (if (exists "mui:mui")       (set vernum (getversion "mui:mui"))  )
  (if (exists "sys:prefs/mui") (set vernum (getversion "sys:prefs/mui")) )
  (set ver (/ vernum 65536)) (set rev (- vernum (* ver 65536) ) )
 )
)

(if (= ver 7)  (set muiver "2.0") )  (if (= ver 8)  (set muiver "2.1") )
(if (= ver 9)  (set muiver "2.2") )  (if (= ver 10) (set muiver "2.3") )
(if (= ver 11) (set muiver "3.0") )  (if (= ver 12) (set muiver "3.1") )
(if (= ver 13) (set muiver "3.2") )  (if (= ver 14) (set muiver "3.3") )
(if (= ver 15) (set muiver "3.4") )  (if (= ver 16) (set muiver "3.5") )
(if (= ver 17) (set muiver "3.6") )  (if (= ver 18) (set muiver "3.7") )
(if (= ver 19) (set muiver "3.8") )  (if (= ver 20) (set muiver "3.9") )
(if (= ver 21) (set muiver "4.0") )  (if (= ver 22) (set muiver "4.1") )

(if (< ver 19)   ( (message (cat #newermui muiver))   (set cpuPick 0) ))


;********************************************************************
; Backup MUI dir
;********************************************************************

(set #backupmui "\n\nThe installer will now copy your MUI directory to a new location (that you will select next). It then will update the _new_ directory with the correct PPC files.")
(set #wheremuippc "Where do you wish to create the 'PPCMUI' directory?")

(message #backupmui)
(set pathI (expandpath "MUI:"))  (set pathIlen (strlen pathI)) (set Inamelen (fileonly (expandpath "MUI:")))
(set Inamelen (+ (strlen Inamelen) 1) ) (set pathI (substr pathI 0 (- pathIlen (- Inamelen 1) ) ) )

(set muippcdir (askdir (prompt #wheremuippc)
                        (help   #wheremuippc)
                        (default (pathonly pathI))
                )
)

(set @default-dest muippcdir)

(if (< (exists (tackon muippcdir "MUIPPC")) 2) (makedir (tackon muippcdir "MUIPPC") (infos)) )


(set #copying "Copying")
(set #to "to")

(working (cat "\n" #copying "\n\n" (expandpath "MUI:") "\n\n" #to "\n\n" (tackon muippcdir "MUIPPC") ) )


(run (cat "copy #? all mui: \"" (tackon muippcdir "MUIPPC") "\"") )

;********************************************************************
; Copy over ppc mui stuff to new mui dir
;********************************************************************
 (foreach  "Libs" "#?.elf"
   (copyfiles (source (tackon "Libs" @each-name)) (dest (tackon muippcdir "MUIPPC/Libs")) (optional "nofail") ) 
 )
 (foreach  "Libs" "#?.class"
   (copyfiles (source (tackon "Libs" @each-name)) (dest (tackon muippcdir "MUIPPC/Libs")) (optional "nofail") ) 
 )
 (foreach  "Libs" "#?.library"
   (copyfiles (source (tackon "Libs" @each-name)) (dest (tackon muippcdir "MUIPPC/Libs")) (optional "nofail") ) 
 )

 (foreach  "Libs/mui" "#?.elf"
   (copyfiles (source (tackon "Libs/mui" @each-name)) (dest (tackon muippcdir "MUIPPC/Libs/mui")) (optional "nofail") ) 
 )
 (foreach  "Libs/mui" "#?.mcc"
   (copyfiles (source (tackon "Libs/mui" @each-name)) (dest (tackon muippcdir "MUIPPC/Libs/mui")) (optional "nofail") ) 
 )
 (foreach  "Libs/mui" "#?.mcp"
   (copyfiles (source (tackon "Libs/mui" @each-name)) (dest (tackon muippcdir "MUIPPC/Libs/mui")) (optional "nofail") ) 
 )
    
 (copyfiles (source "MUI") (dest (tackon muippcdir "MUIPPC")) (optional "nofail") (infos) ) 
 

;(message (cat "c:version >NIL: MorphOS\n"
;                 "if WARN\n"
;                 "    assign MUI: " "\"" (tackon muippcdir "MUIPPC") "\"\n"
;                 "endif"
;            ))


(set #vmem1 "Adding 'c:version >NIL: MorphOS' MUI: assign to user-startup if MorphOS is running")

(startup "MUI-PPC" (prompt #vmem1) (help #vmem1) 
   (command (cat "c:version >NIL: MorphOS\n"
                 "if WARN\n"
                 "    assign MUI: " "\"" (tackon muippcdir "MUIPPC") "\"\n"
                 "endif"
            )
   ) 
)

    
    
     






;********************************************************************
; End Bye 
;********************************************************************
(if (> (exists ("c:multiview")) 0) (set #mpath "c:") )
(if (> (exists ("sys:Utilities/multiview")) 0) (set #mpath "sys:Utilities") )
(run (cat "run " #mpath "/multiview readme.muippc") )

(exit #byebye)
