; **********************************************************************************
; ** Sid4Amiga Install - Not exactly Brilliant (If you want to do a new version   **
; **                     Then do so and send it to me (paul@heams.freeserve.co.uk **
; **********************************************************************************

(set #welcome  (cat "Welcome to Sid4Amiga\nThe new generation Sid Player for your Amiga\n"
                "\nAmiga Version, Global Prefs & MUI Multi Play Interface"
                "\nBy\nPaul Heams"
                "\n\nArtwork and Web Design by Chris Andrews"
                "\nOriginal Linux code base by Michael schwendt\n"
                "\n\nŠ Copyright 1999 Paul Heams - Atlantech Productions")
)

(set #backup   (cat "\n\nA Directory with this name already exists.\nIf a previous version has been "
                    "installed here it will be overwriten\n\n"
                    "Do you wish to proceed with the install?")
)

(set #s4aDetected   (cat "\n\n..NOTE..\n\nIt appears that a version of Sid4Amiga is Running at the moment\n"
                	    "Please quit the existing application and re-run the Installation\n\n"
                   	 "A reboot may be preferable.")
)
(set #s4aClear      (cat "\n\n..OK..\n\nIt appears that your system is ready to install Sid4Amiga\n"
                	 "Do not start Sid4Amiga until the\n"
                   	 "installation has completed.")
)

(complete 0)

(message #welcome)

;*************************************************************************
;** Make sure that an older version of Sid4Amiga is not already running **
;*************************************************************************
(if (run "S4AInstall/SidRunning")
	( (message #s4aDetected) (exit (quiet)) )
        ( (message #s4aClear)                   )
)

;************************************
;** Get Avail Command if it exists **
;************************************
(set #avail 0)
(if (> (exists ("c:avail")) 0)   (set #avail "c:") )
(if (> (exists ("sys:avail")) 0) (set #avail "sys:") )

;*************
;** Install **
;*************
(set #name
   (askdir
      (prompt "Sid4AmigaV3.16r3\n\nWhere would you like to install Sid4Amiga?\nA new directory called ''Sid4Amiga'' will be created.\n"
      )
      (help   "\nChoose the directory where Sid4Amiga should be"
              "\ninstalled or updated."
      )
      (default "sys:")
   )
)

(set #Dname (tackon #name "Sid4Amiga"))

(if (exists #Dname)
	(message #backup)
)

(makedir #Dname
 (infos)
)
(copyfiles (prompt "Copying Drawer Icon") (source "/Sid4Amiga.info") (dest #name))

(set destdir #Dname)

(copyfiles (prompt "Copying Sid4AmigaMUI") (source "Sid4AmigaMUI") (dest destdir) (infos))
(copyfiles (prompt "Copying Sid4AmigaGlobalPrefs") (source "S4A_Preferences") (dest destdir) (infos))
(copyfiles (prompt "Copying Guide") (source "Sid4Amiga.guide") (dest destdir) (infos))


(complete 35)
; ***********************************
; ** Copy over correct CPU Version **
; ***********************************
(set #cpu 2)
(set #S4Acpu "Which CPU do you have?")
(set #PickCPU 1)


(set PickCPU (askchoice (choices "68020" "68040FPU" "PPC (WarpOS)")
                        (prompt #S4Acpu)
                        (help "Please select the main processor of your machine - If you don't know then select 68020!")
                        (default #cpu)
            )
) 

(if (= PickCPU 0) (set #mainfile "Sid4Amiga680x0/Sid4Amiga020") )
(if (= PickCPU 1) (set #mainfile "Sid4Amiga680x0/Sid4Amiga040fpu") )
(if (= PickCPU 2) (set #mainfile "Sid4Amiga") )

(complete 50)
(set mainsource #mainfile)
(copyfiles (prompt "Copying Main Executable")
           (source mainsource)
           (dest destdir)
           (newname "Sid4Amiga") 
)

;*******************************
;** Copy GUI / Graphics Etc.. **
;*******************************
(complete 65)
(set #Tname (tackon #Dname "Images"))
(makedir #Tname)
(set destimages #Tname)

;******************************************************************************
;** If the Images already exist and we do not have avail then do not copy    **
;** them over - this is because of a lock which avail will flush             **
;******************************************************************************
(if (<> #avail 0)
    (
	(run (tackon #avail "avail") "flush >nil:")
        (copyfiles (prompt "Copying Sid Logo") (source "Images/newsidupright_s.iff") (dest destimages))
        (copyfiles (prompt "Copying C64 Logo") (source "Images/CKey.iff") (dest destimages))
    )
    (
	(set #NEWname (tackon destimages "newsidupright_s.iff"))
	(if (= (exists #NEWname) 0)
		(copyfiles (prompt "Copying Sid Logo") (source "Images/newsidupright_s.iff") (dest destimages))

	)
	(set #NEWname (tackon destimages "CKey.iff"))
	(if (= (exists #NEWname) 0)
		(copyfiles (prompt "Copying C64 Logo") (source "Images/CKey.iff") (dest destimages))
	)
    )
)

(complete 70)
(set #Tname (tackon #Dname "Images/Gadgets"))
(makedir #Tname)
(set destgadgets #Tname)
(copyfiles (prompt "Copying Gadgets") (source "Images/Gadgets/") (dest destgadgets) (pattern "#?"))

; ************************
; ** Copy Example Tunes **
; ************************
(complete 80)
(set #Tname (tackon #Dname "SidTunes"))
(if (= (exists #Tname) 0)
    (makedir #Tname
    (infos)
    )
)
(copyfiles (prompt "Copying Drawer Icon") (source "SidTunes.info") (dest destdir))

(set desttunes #Tname)
(copyfiles (prompt "Copying SidTunes")
           (source "SidTunes/")
           (dest desttunes)
           (pattern "#?")
)

;*******************
;** Play List Dir **
;*******************
(complete 86)
(set #Tname (tackon #Dname "PlayLists"))
(if (= (exists #Tname) 0)
    (makedir #Tname
    (infos)
    )
)
(copyfiles (prompt "Copying Drawer Icon") (source "PlayLists.info") (dest destdir))

;******************
;** AltIcons Dir **
;******************
(set #IconD (tackon #Dname "Icons"))
(if (= (exists #IconD) 0)
	(makedir #IconD
	(infos)
        )
)
(set desticons #IconD)
(copyfiles (prompt "Copying Drawer Icon") (source "Icons.info") (dest destdir))
(copyfiles (prompt "Copying Alternative Icons") (source "Icons") (dest desticons) (pattern "#?"))

; ***************
; ** Copy Libs **
; ***************
(complete 90)
(if (exists "libs:")
   (copyfiles (prompt "Copying Sid4Amiga.library") (source "Libs/Sid4Amiga.library") (dest "libs:"))
)

(complete 93)
(set #multiview 0)

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

(if (<> #multiview 0)
    ((run (tackon #multiview "multiview ") "S4AInstall/Welcome.text")))

(complete 95) 
(run "S4A_preferences")

; **********************
; ** Delete old Files **
; **********************
(complete 96) 
(set #OldFile (tackon #Dname "Sid4AmigaGUI"))
(if (exists #OldFile) (delete #OldFile)
)
(set #OldFile (tackon #Dname "Sid4AmigaPPC.guide"))
(if (exists #OldFile) (delete #OldFile)
)
(set #OldFile (tackon #Dname "Sid4AmigaPPC.guide.info"))
(if (exists #OldFile) (delete #OldFile)
)
(set #OldFile (tackon #Dname "Sid4AmigaGUI.info"))
(if (exists #OldFile) (delete #OldFile)
)

; ********************
; ** Flush old libs **
; ********************
(complete 97)
(if (<> #avail 0)
    ((run (tackon #avail "avail") "flush >nil:"))
)
(complete 99)
(message "\nInstallation complete."
         "\n\nStart Sid4Amiga by clicking the GUI icon\nor running the executable ''Sid4Amiga'' by CLI."
)

(exit (quiet))
