(welcome "Welcome to the MCDPlayer installation utility.")

(set @default-dest
   (askdir
      (prompt "Where would you like MCDP to be installed?")
      (help "Choose a directory to install the program ind its other\nfiles into.")
      (default "SYS:Utilities/")
   )
)

(if
   (askbool
      (prompt "Should I create a new directory in\n" @default-dest "?")
      (help "Yes = install MCDP here.\nNo  = install MCDP in here/MCDP")
      (default 0)
   )
   (set @default-dest
      (tackon @default-dest "MCDP/")
   )
)

(set FileThere
   (exists @default-dest
      (noreq)
   )
)

(if
   (= FileThere 1)
   (abort @default-dest "\nis a file. I can't install MCDP here.")
)

(if
   (= FileThere 0)
   (makedir @default-dest)
)

(set DoPatch 0)

(if
   (exists "C:CPU")
   (set DoPatch (run 'cpu check 68020'))
   (set DoPatch (NOT
      (askchoice
         (prompt "Do you have a:")
         (help "Choose your processor type.")
         (choices
            "68000"
            "68020+"
         )
      ))
   )
)

(run "lha x Progs.lha " @default-dest)
(if DoPatch
   (
      (delete (tackon @default-dest "MCDPlay"))
      (rename (tackon @default-dest "MCDPlay.000") (tackon @default-dest "MCDPlay"))
   )
   (delete (tackon @default-dest "MCDPlay.000"))
)

(copyfiles
   (prompt "Installing fonts...")
   (source "Fonts/")
   (all)
   (dest "FONTS:")
)

(if
   (askbool
      (prompt "Do you want the CD definitions installed?")
      (help "MCDP comes with many CD listings. This section installs them.")
      (default 1)
   )
   (
      (message "Installing disc descriptions...")
      (run "lha x Disks.lha " @default-dest)
   )
   (if (= 0 (exists (tackon @default-dest "Disks")))
      (makedir (tackon @default-dest "Disks"))
   )
)
(tooltype
   (prompt "Setting the default disc directory...")
   (dest
      (tackon @default-dest "MCDPlay")
   )
   (settooltype "SongPath"
      (tackon @default-dest "Disks/")
   )
)

(message "Setting SCSI device details")

(set SCSIDev "")
(if (exists "devs:dosdrivers/CD0" (noreq))
   (
      (run 'search >env:SCSIDevice devs:dosdrivers/CD0 ".device"')
      (set SCSIDev (getenv "SCSIDevice"))
      (if (> (strlen SCSIDev) 0)
         (
            (set searchpos (strlen SCSIDev))
            (while (NOT (= '=' (substr SCSIDev searchpos 1)))
               (set searchpos (- searchpos 1))
            )
            (set SCSIDev (substr SCSIDev (+ 1 searchpos)))
            (set searchpos 0)
            (while (= ' ' (substr SCSIDev searchpos 1))
               (
                  (set SCSIDev (substr SCSIDev 1))
                  (set searchpos (+ searchpos 1))
               )
            )
            (set searchpos (strlen SCSIDev))
            (while (NOT (= '.' (substr SCSIDev searchpos 1)))
               (set searchpos (- searchpos 1))
            )
            (set SCSIDev (substr SCSIDev 0 (+ searchpos 7)))
         )
      )
   )
)

(if
   (NOT
      (if (NOT (= SCSIDev ""))
         (askbool
            (prompt 'Is "' SCSIDev '" your SCSI device?')
            (default 1)
            (help "I've guessed at the name of your CD-ROM's controller, but"
                  "the guess may not be correct."
            )
         )
      )
   )
   ((set SCSIDev "")(while (= SCSIDev "")
      (
         (if (exists "C:requestfile" (noreq))
            (
               (run 'C:requestfile >ENV:SCSIDevice devs: acceptpattern="#?.device" noicons title "Select your SCSI device"')
               (set SCSIDev (getenv "SCSIDevice"))
            )
            (set SCSIDev (askstring
               (prompt "What is your SCSI device called?")
               (help "I can't guess the name of your SCSI device.\n"
                     "The CD0: DOSDriver isn't in the usual place, and I can't"
                     "find the RequestChoice command.\n"
               )
               (default "squirrelscsi.device")
            ))
         )
         (if (= '"' (substr SCSIDev 0 1))
            (set SCSIDev (substr SCSIDev 1 (- (strlen SCSIDev) 3)))
         )
         (if (NOT(= ".device" (substr SCSIDev (- (strlen SCSIDev) 7) 7)))
            (set SCSIDev "")
         )
      )
   ))
)

(tooltype
   (dest (tackon @default-dest "MCDPlay"))
   (settooltype "SCSI_DEV"
      (fileonly SCSIDev)
   )
)

(set SCSIUnit "0")
(if (exists "devs:dosdrivers/CD0" (noreq))
   (
      (run 'search >env:SCSIUnit devs:dosdrivers/CD0 "Unit"')
      (set SCSIUnit (getenv "SCSIUnit"))
      (if (> (strlen SCSIUnit) 0)
         (
            (set searchpos (strlen SCSIUnit))
            (while (NOT (= '=' (substr SCSIUnit searchpos 1)))
               (set searchpos (- searchpos 1))
            )
            (set SCSIUnit (substr SCSIUnit (+ 1 searchpos)))
            (set searchpos 0)
            (while (= ' ' (substr SCSIUnit searchpos 1))
               (
                  (set SCSIUnit (substr SCSIUnit 1))
                  (set searchpos (+ searchpos 1))
               )
            )
         )
      )
   )
)

(tooltype
   (dest (tackon @default-dest "MCDPlay"))
   (settooltype "SCSI_ID"
      ("%ld"
         (asknumber
            (prompt "What is the SCSI ID of your CD-ROM?\n"
                    "(The default is probably correct)")
            (range 0 7)
            (default SCSIUnit)
            (help "Type in the SCSI ID of your CD-ROM drive.")
         )
      )
   )
)

(tooltype
   (dest (tackon @default-dest "MCDPlay"))
   (settooltype "FONTNAME"
      (select 
         (askchoice
            (prompt "Which font do you want to use?")
            (help "Choose the default font.")
            (default 0)
            (choices
               "Dot"
               "LCD"
               "Standard"
            )
         )
         "MCDP_DOT.font"
         "MCDP_LCD.font"
         "MCDP_STD.font"
      )
   )
)

(tooltype
   (dest (tackon @default-dest "MCDPlay"))
   (settooltype "XPOS" "0")
   (settooltype "YPOS" "10")
)

(copyfiles
   (prompt "Where do you want the documentation installed?")
   (help "Gimme a dir")
   (source "MCDPlayer.Doc")
   (dest @default-dest)
   (infos)
   (confirm)
)
