; An installation-script for WBrain

(set #programmer     "Sean Russell")
(set #version        "V1.2")
(set #mainprog       "WBrain")
(set #sourcecode     "WBrain.e")
(set #doc            "WBrain.doc")
(set #guide          "WBrain.guide")
(set @default-dest   "SYS:")

(set mainsize     12932)
(set reqsize      38104)
(set gadsize      16784)
(set sourcesize   20158)
(set docsize      13322)
(set guidesize    13672)

(set done (+ mainsize reqsize gadsize sourcesize docsize guidesize))

(complete 0)

(set progs
   (askoptions
      (help    @askoptions-help)
      (prompt  "Select parts of the package to be installed:")
         (choices "WBrain"
                  "Libs"
                  "Docs"
                  "Amiga_E Sourcecode"
                  (default 31)
         )
   )
)


(if (IN progs 0) (
   (set gamedest
      (askdir
         (prompt "Select in which drawer to intall the game:")
         (help @askdir-help)
         (default @default-dest)
      )
   )
))


(if (IN progs 1) (
   (set libsdest
      (askdir
         (prompt "Select in which drawer to install the libraries:")
         (help @askdir-help)
         (default "Libs:")
      )
   )
   (set libs
      (askoptions
         (help @askoptions-help)
         (prompt "Select libraries to install:")
         (choices "ReqTools library V38.1022"
                  "GadToolsBox library GTX_LIB 38.45"
                  (default 31)
         )
      )
   )
))

(if (IN progs 2) (
   (set docsdest
      (askdir
         (prompt "Select in which drawer to install the documentation:")
         (help @askdir-help)
         (default @default-dest)
      )
   )
   (set docs
      (askoptions
         (help @askoptions-help)
         (prompt "Select documentation forms to install:")
         (choices "WBrain.guide"
                  "WBrain.doc"
                  (default 31)
         )
      )
   )
))

(if (IN progs 3) (
   (set sourcedest
      (askdir
         (prompt "Select in which drawer to install the sourcecode:")
         (help @askdir-help)
         (default @default-dest)
      )
   )
))

(if (IN progs 0) (
   (copyfiles (source #mainprog)
            (dest gamedest)
            (infos)
   )
))
(complete (/ (* (set sofar (+ sofar mainsize)) 100) done))

(if (IN progs 1) (
   (if (IN libs 0) (
      (copylib(source   "libs/reqtools.library")
            (dest    libsdest)
            (infos)
      )
      (complete (/ (* (set sofar (+ sofar reqlibsize)) 100) done))
   ))
   (if (IN libs 1) (
      (copylib (source "libs/gadtoolsbox.library")
               (dest libsdest)
               (info)
      )
      (complete (/ (* (set sofar (+ sofar gadlibsize)) 100) done))
   ))
))

(if (IN progs 2) (
   (if (IN docs 0) (
      (copyfiles (source #guide)
               (dest docsdest)
               (infos)
      )
      (complete (/ (* (set sofar (+ sofar guidesize)) 100) done))
   ))
   (if (IN docs 1) (
      (copyfiles (source #doc)
               (dest docsdest)
               (infos)
      )
      (complete (/ (* (set sofar (+ sofar docsize)) 100) done))
   ))
))

(if (IN progs 3) (
   (copyfiles (source #sourcecode)
            (dest sourcedest)
            (infos)
   )
))
(complete 100)