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

(set #sub-dir "data")		;sub directory containing data files
(set #readme-file "README")	;name of readme file
(set #cleanup "")		;files to delete after install

;****************************
;----------------------------
; 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))
  )
)

;----------------------------
; Wait for inserting disk
; IN:  #AD_disk - name of disk
; OUT: -

(procedure P_disk
  (askdisk
    (dest #AD_disk)
    (prompt ("\nInsert Disk \"%s\" in any drive !" #AD_disk))
    (help @askdisk-help)
  )
)

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

(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 @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)
)

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

(copyfiles
  (help @copyfiles-help)
  (source ("%s.slave" @app-name))
  (dest #dest)
)
(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)
  )
)
(if
  (= #sub-dir "")
  ("")
  (
    (set #dest (tackon #dest #sub-dir))
    (makedir #dest
      (help @makedir-help)
    )
  )
)

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

(set #version
  (askchoice
    (prompt "Which version of Oscar do you like to install?")
    (default 0)
    (choices "Floppy Disk version" "CD³² version")
    (help @askchoice-help)
  )
)
(select #version
  ;floppy version
  (
    (set #AD_disk "Oscar1")
    (P_disk)
    (copyfiles
      (help @copyfiles-help)
      (source ("%s:" #AD_disk))
      (dest #dest)
      (pattern "~(00|11|s)")
    )
    (rename (tackon #dest "10") (tackon #dest "exe"))
    (set #AD_disk "Oscar2")
    (P_disk)
    (copyfiles
      (help @copyfiles-help)
      (source ("%s:" #AD_disk))
      (dest #dest)
      (pattern "~(00)")
    )
    (set #AD_disk "Oscar3")
    (P_disk)
    (copyfiles
      (help @copyfiles-help)
      (source ("%s:" #AD_disk))
      (dest #dest)
      (pattern "~(00)")
    )
  )
  ;cd³² versions
  (
    (until
      (exists (tackon #dest "OscarCD"))
      (
        (message "\nInsert the \"Oscar\" CD in any drive.")
        (if 
          (exists "Oscar:" (noreq))		;Oscar
          (copyfiles
            (help @copyfiles-help)
            (source ("Oscar:"))
            (dest #dest)
            (pattern "~(s|devs|l|libs)")
          )
        )
        (if
          (exists "Bundle:Oscar" (noreq))	;Diggers/Oscar
          (copyfiles
            (help @copyfiles-help)
            (source ("Bundle:Oscar"))
            (dest #dest)
            (all)
          )
        )
      )
    )
    (rename (tackon #dest "OscarCD") (tackon #dest "exe"))
  )
)

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

(run ("Delete %s ALL QUIET FORCE" #cleanup))

(exit)

