;****************************

(set #readme-file "README") ;name of readme file
(set #last-disk 2)          ;amount of disks
(set #disk-size 901120)     ;size of each disk

;****************************
;----------------------------
; Checks if given program is reachable via the path
; if not abort install
; IN:  #program - to check
; OUT: -

(procedure P_chkrun
  (if
    (= 0 (run ("cd SYS:\nWhich %s" #program)))
    ("")
    (abort ("You must install \"%s\" first !\nIt must be accessible via the path.\nYou can find it in the whdload package." #program))
  )
)

;----------------------------
; Create disk-Image using DIC
; IN:  #dest        - DestinationPath
;      #CI_diskname - DiskName
;      #CI_diskno   - DiskNumber
;      #CI_drive    - DriveToReadFrom
; OUT: -

(procedure P_image
  (message ("\nInsert \"%s\" into drive %s !\n\n(make sure it's the right disk because it will not be checked)" #CI_diskname #CI_drive))
  (if
    (= 0 
      (run ("cd \"%s\"\nDIC %s FD=%ld LD=%ld SIZE=%ld >CON:///1000//CLOSE" #dest #CI_drive #CI_diskno #CI_diskno #disk-size))
    )
    ("")
    (abort "\"DIC\" has failed to create a diskimage")
  )
)

;****************************

(if
  (exists #readme-file)
  (if
    (= 0 (run ("SYS:Utilities/Multiview %s" #readme-file)))
    ("")
    (run ("SYS:Utilities/More %s" #readme-file))
  )
)

(set #program "WHDLoad")
(P_chkrun)

(set #program "DIC")
(P_chkrun)

(set @default-dest
  (askdir
    (prompt ("Where should \"%s\" installed ?\nA drawer \"%s\" will automatically created." @app-name @app-name))
    (help @askdir-help)
    (default @default-dest)
    (disk)
  )
)
(set #dest (tackon @default-dest @app-name))
(if
  (exists #dest)
  (
    (set #choice
      (askbool
        (prompt ("\nDirectory \"%s\" already exists.\n Should it be deleted ?" #dest))
        (default 1)
        (choices "Delete" "Skip")
        (help @askbool-help)
      )
    )
    (if
      (= #choice 1)
      (run ("Delete \"%s\" \"%s.info\" All" #dest #dest))
    )
  )
)
(makedir #dest
  (help @makedir-help)
  (infos)
)

;----------------------------

(if
  (exists ("%s.newicon" @app-name))
  (set #icon
    (askchoice
      (prompt "\nWhich icon do you like to install ?\n")
      (default 0)
      (choices "Normal" "NewIcon")
      (help @askchoice-help)
    )
  )
  (set #icon 0)
)
(select #icon
  (set #icon ("%s.inf" @app-name))
  (set #icon ("%s.newicon" @app-name))
)
(copyfiles
  (help @copyfiles-help)
  (source #icon)
  (newname ("%s.info" @app-name))
  (dest #dest)
)
(if
  (exists #readme-file)
  (copyfiles
    (help @copyfiles-help)
    (source #readme-file)
    (dest #dest)
  )
)
(if
  (exists ("%s.info" #readme-file))
  (copyfiles
    (help @copyfiles-help)
    (source ("%s.info" #readme-file))
    (dest #dest)
  )
)

(set #version
  (askchoice
    (prompt "Which version of Xenon 2 do you like to install?")
    (default 0)
    (choices "Floppy Disk version" "CDTV version")
    (help @askchoice-help)
  )
)
(select #version
  (
    (copyfiles
      (help @copyfiles-help)
      (source ("%s.slave" @app-name))
      (dest #dest)
    )
    ; in expert mode ask for source drive
    (if
      (= @user-level 2)
      (
        (set #CI_drive
          (askchoice
    	(prompt "Select source drive for diskimages")
    	(default 0)
    	(choices "DF0:" "DF1:" "RAD:" "Enter Device")
    	(help @askchoice-help)
          )
        )
        (select #CI_drive
          (set #CI_drive "DF0:")
          (set #CI_drive "DF1:")
          (set #CI_drive "RAD:")
          (set #CI_drive
            (askstring
              (prompt "Select source drive for diskimages")
              (default "DF0:")
              (help @askstring-help)
            )
          )
        )
      )
      (set #CI_drive "DF0:")
    )
    (set #CI_diskno 1)
    (while
      (<= #CI_diskno #last-disk)
      (
        (set #CI_diskname ("%s Disk %ld" @app-name #CI_diskno))
        (P_image)
        (run ("FileNote Disk.%ld %s Quiet" #CI_diskno @app-name))
        (set #CI_diskno (+ #CI_diskno 1))
      )
    )
  )
  (
    (copyfiles
      (help @copyfiles-help)
      (source ("%sCDTV.slave" @app-name))
      (newname ("%s.Slave" @app-name))
      (dest #dest)
    )
    (message "Insert your Xenon2 CD in any drive.")
    (set #dest (tackon #dest "data"))
    (makedir #dest
      (help @makedir-help)
    )
    (copyfiles
      (help @copyfiles-help)
      (source "XENONII:")
      (pattern "(intro|level?|piccode|picdata?|sounds??|speech??|x2)")
      (dest #dest)
    )
  )
)

;----------------------------

(exit)

