;**********************************************************************
;
;   Install - TRASH'M-One installation script.
;
;   $VER: TRASH'M-One (16.11.93)
;   $Release: 2.0 $
;   $Revision: 1.00 $
;   $Date: 1993/11/16 16:00:00 $
;
;**********************************************************************

; Vars
;   HDMode - TRUE for HD installation, FALSE for Diskette.
;   DestAppDir - Target directory to install 
;   SerialNumber - User's serial number as entered into an (askstring)
;   InstFlags - set of INSTB_ bits to install (HD-only).
;   KS2.0 - set to TRUE if Kickstart 36 or higher, FALSE otherwise.


; --------------------- Defines


; user level enum
(set
    USER_Novice  0
    USER_Average 1
    USER_Expert  2
)


; set KS2.0 to TRUE if ks version >= 36, FALSE otherwise
(set KS2.0 (>= (shiftright (getversion) 16) 36))

; misc prompts and help (depends on misc text bits above)
(set
    #installsys-desc-fmt (cat
        "Description of %s:\n"
        "%s\n"
    )
    #installsys-prompt-fmt (cat
        "\n\nInstalling \"%s\" to your system disk or partition."
    )
    #intro-text (cat
        "This utility can only be used to install TRASH'M-One on your Hard Disk. "
        "For floppy just copy or use the master diskettes.\n"
    )
)


; --------------------- Welcome

(if (< (shiftright (getversion "LIBS:version.library") 16) 36)
    (abort "TRASH'M-One requires Workbench Release 2.0 or greater.")
)

    ; display welcome text
(set OldLevel (user USER_Expert))
(message
    ; prompt
    	"\n"
        "Deftronic presents TRASH'M-One V2.0!\n"
        "\n"

)
(user OldLevel)

    ; get user level
(welcome)


; --------------------- Do installation
;
; Performs HD/FD installation and serialization based on HDMode from above

    ; set global delete options such that average and expert users
    ; will be prompted for delete protected files.
(delopts "oknodelete" "force" "askuser")

    (
        (set DestAppDir
            (tackon
                (askdir
                    (prompt "In which disk or drawer should the drawer called \"TRASH'M-One\" be created?")
                    (help
                        "    The TRASH'M-One programs and data files will be installed in a new drawer "
                        "called \"TRASH'M-One\".  You are being asked where this new drawer should be created.  "
                        "If you select \"Work:\", for example, then a new drawer named \"Work:TRASH'M-One\" will be created, "
                        "and TRASH'M-One will be installed into this new drawer.\n"
                        "\n"
                        @askdir-help
                    )
                    (default @default-dest)
                )
                "TRASH'M-One"
            )
        )
        (makedir DestAppDir (infos))           ; make directory w/o confirmation; we just got permission from above (askdir)
        (set @default-dest DestAppDir)         ; set @default-dest to DestAppDir to cause log file to be put in the right spot.
        (complete 0)
        (copyfiles
             (source "TRASH'M-One:TRASH'M-One")
             (dest DestAppDir)
             (infos)
        )
	(complete 15)
        (copyfiles
             (source "TRASH'M-One:TRASH'M-One.Doc")
             (dest DestAppDir)
             (infos)
        )
	(complete 30)
        (copyfiles
             (source "TRASH'M-One:")
             (dest DestAppDir)
             (choices "ExternAsm")
        )
	(complete 45)
        (copyfiles
             (source "TRASH'M-One:")
             (dest DestAppDir)
             (choices "TransferAsm")
        )
	(complete 60)
        (copyfiles
             (source "TRASH'M-One:C/Minterm")
             (dest DestAppDir)
        )
	(complete 75)
        (copyfiles
             (source "TRASH'M-One:C/CONVFDFILE")
             (dest DestAppDir)
        )
	(complete 90)
        (copyfiles
             (source "TRASH'M-One:")
             (dest "Libs:")
	     (choices "Libs")
        )

	(complete 100)
    )
