; $VER: FlightInstall 1.2 (13.06.94)
; Script to install XCNT AmigaFlight 1.2 by Andrew Duffy
; Installer is Copyright 1991-1993 Commodore-Amiga, Inc.
;=============================================================================
; Start of script !
(Complete 0)
;=============================================================================
; Work out where we are being installed from
(set @default-src (expandpath "/"))
(set @default-vol (expandpath ":"))
(set @default-vol (substr @default-vol 0 (- (strlen @default-vol) 1)))
(set @default-dest "Work:")
;=============================================================================
; Version numbers
(set kick-ver (/ (getversion) 65536))
(set kick-ver3 39)
(set flight-vernum (getversion (tackon @default-src "AmigaFlight")))
(set flight-ver (/ flight-vernum 65536))
(set flight-rev (- flight-vernum (* flight-ver 65536)))
(set flightlib-vernum (getversion (tackon @default-src "Libs/amigaflight.library")))
(set flightlib-ver (/ flightlib-vernum 65536))
(set flightlib-rev (- flightlib-vernum (* flightlib-ver 65536)))
(set flighthelp-vernum (getversion (tackon @default-src "Help/AmigaFlight.guide")))
(set flighthelp-ver (/ flighthelp-vernum 65536))
(set flighthelp-rev (- flighthelp-vernum (* flighthelp-ver 65536)))
(set xasm-vernum (getversion (tackon @default-src "C/xasm")))
(set xasm-ver (/ xasm-vernum 65536))
(set xasm-rev (- xasm-vernum (* xasm-ver 65536)))
(set install-vernum (getversion (tackon @default-src "Installation/Flight-Install")))
(set install-ver (/ install-vernum 65536))
(set install-rev (- install-vernum (* install-ver 65536)))
;=============================================================================
; English strings (the default)
(set #bad-kick
(cat "You must be using at least Kickstart 2.04 to install XCNT AmigaFlight."))
(set #introduction
(cat ("\n\nThis program lets you install XCNT's AmigaFlight version %ld.%ld " flight-ver flight-rev)
"onto either a hard disk or a single floppy disk."))
(set #version-help
(cat "Release versions for this distribution set are :\n\n\n"
("AmigaFlight Executable %ld.%ld\n\n" flight-ver flight-rev)
("AmigaFlight Library %ld.%ld\n\n" flightlib-ver flightlib-rev)
("AmigaFlight Help %ld.%ld\n\n" flighthelp-ver flighthelp-rev)
("XCNT Pre-Processor (xasm) %ld.%ld\n\n" xasm-ver xasm-rev)
("Installation Script %ld.%ld" install-ver install-rev)))
(set #ask-install-type
(cat "What type of installation do you require?"))
(set #hard-disk
(cat "Hard Disk"))
(set #floppy-disk
(cat "Floppy Disk"))
(set #ask-install-help
(cat "Selecting Hard Disk will install XCNT AmigaFlight on your hard disk. "
"You will be asked what directory or partition you would like to "
"install it on. The default is Work:. A directory called 'AmigaFlight' "
"will be created at your chosen destination. \n\n"
"Selecting Floppy Disks will install XCNT AmigaFlight on a single "
"floppy disk.\n"))
(set #ask-disk1
(cat "\n\nPlease insert volume "))
(set #ask-disk2
(cat " in any drive."))
(set #original-disks
(cat "\nTo install XCNT AmigaFlight onto floppy disk you will need your "
"original Workbench disks (supplied with your computer). If you do "
"not have them to hand, now is a good time to go and find them.\n"))
(set #ask-stand-alone
(cat "Do you wish the disk to be created as a bootable, working environment, "
"stand-alone disk?"))
(set #ask-stand-help
(cat "Selecting Yes will create a complete working environment on the "
"disk and set it up as bootable.\n\nSelecting No will merely copy the "
"AmigaFlight package to the disk."))
(set #ask-wbdisk-help
(cat "An offical Workbench disk is needed to complete this installation. "
"It will be used to create a bootable disk for XCNT AmigaFlight."))
(set #ask-storage-help
(cat "The Workbench 3 storage disk is needed to install the DOSDrivers "
"for reading PC disks, and to install a gb keymap."))
(set #ask-destination
(cat "Please select the directory where you would like to install "
"XCNT AmigaFlight."))
(set #ask-dest-help
(cat "Choose a destination partition or directory to contain XCNT AmigaFlight. "
"The install program will create a directory called 'AmigaFlight' in "
"your chosen destination and copy AmigaFlight to it."))
(set #installed-mes
(cat "\n\nXCNT AmigaFlight will be installed in\n\n"))
(set #select-drive
(cat "Select a drive that is to be used as the destination."))
(set #select-drive-help
(cat "You need to choose which floppy drive to use for the target disk. "
"The disk that you insert will be formatted and all data will be destroyed."))
(set #insert-disk
(cat "Insert a new disk in DRIVE "))
(set #insert-disk-mes1
(cat ", wait for the disk light to go off, then click Proceed.\n\n"
"For the fewest number of disk swaps, leave the destination disk "
"in drive "))
(set #insert-disk-mes2
(cat " and use the other drive(s) for the Install disk and Workbench disks."))
(set #format-mes
(cat "Formatting disk in "))
(set #creating-dirs
(cat "Creating system directories on target disk."))
(set #copying-c
(cat "Copying C commands to target disk."))
(set #copying-libs
(cat "Copying libraries to target disk."))
(set #copying-handlers
(cat "Copying handlers to target disk."))
(set #copying-devices
(cat "Copying devices to target disk."))
(set #copying-system
(cat "Copying system files to target disk."))
(set #copying-utils
(cat "Copying utilities to target disk."))
(set #ask-parts
(cat "Select the parts of AmigaFlight you would like to install"))
(set #amigaflight
(cat "AmigaFlight Control Program"))
(set #include-assem
(cat "Includes and Assembling Tools"))
(set #help-files
(cat "AmigaGuide® Help Files"))
(set #examples
(cat "Example Files"))
(set #ask-parts-help
(cat "You may choose to install only a part of the AmigaFlight system. "
"These parts are :\n\n"
"AmigaFlight Control Program -\nSelecting this item installs the main "
"part of AmigaFlight and the amigaflight.library. You should always "
"select this item the first time you install AmigaFlight.\n\n"
"Includes and Assembling Tools -\nSelecting this item installs the "
"include files and tools required to assemble any of your own work.\n\n"
"AmigaGuide® Help Files -\nSelecting this item installs several "
"AmigaGuide documents that are used as online help.\n"
"On Workbench 2 machines, it also installs the Commodore "
"shared library 'AmigaGuide.library' in your LIBS: drawer, and installs "
"the 'AmigaGuide®' hypertext browser.\n\n"
"Example Files -\nSelecting this item installs a few example source "
"and object files for you to try out.\n"))
(set #dos-error-mes
(cat "Dos Error %ld detected whilst copying %s"))
(set #dos-error-mes2
(cat "Dos Error %ld detected whilst modifying %s"))
(set #working-control
(cat ("Installing AmigaFlight %ld.%ld Program" flight-ver flight-rev)))
(set #working-aflightlib
(cat ("Installing AmigaFlight %ld.%ld Library" flightlib-ver flightlib-rev)))
(set #working-lowlevellib
(cat "Installing LowLevel Library"))
(set #working-includes
(cat "Installing AmigaFlight Includes"))
(set #working-tools
(cat "Installing AmigaFlight Assembling Tools"))
(set #working-aguidehelp
(cat ("Installing AmigaFlight %ld.%ld Help" flighthelp-ver flighthelp-rev)))
(set #working-aguidelib
(cat "Installing AmigaGuide® Library"))
(set #working-aguideview
(cat "Installing AmigaGuide® Viewer"))
(set #working-examples
(cat ("Installing AmigaFlight %ld.%ld Examples" flight-ver flight-rev)))
(set #working-startup
(cat ("Adding AmigaFlight %ld.%ld assignment to User-Startup" flight-ver flight-rev)))
(set #assign-mes1
(cat "The following assignment has been created :\n\n"))
(set #assign-mes2
(cat "\n\nDo you want this to be added to your user-startup?"))
(set #exit-mes
(cat "XCNT wish you hours of fun with AmigaFlight, and remember, if you "
"get stuck, read the help!"))
;=============================================================================
; Other languages
;=============================================================================
;=============================================================================
;=============================================================================
; make sure we are running under at least V37
(if (< kick-ver 37)
(
(abort #bad-kick)
))
;=============================================================================
; introduce ourselves
(message #introduction
(help #version-help)
)
;=============================================================================
; welcome message and installation mode requester
(welcome)
;=============================================================================
; what type of installation is required?
(set install-type
(askchoice
(prompt #ask-install-type)
(choices #hard-disk #floppy-disk)
(help #ask-install-help)
(default 0)
)
)
;=============================================================================
;=============================================================================
;=============================================================================
; Hard Disk Installation.
(if (= install-type 0)
(
(set main-dest (askdir
(prompt #ask-destination)
(default @default-dest)
(help #ask-dest-help)
))
(set flight-dest (tackon main-dest "AmigaFlight"))
(set @default-dest flight-dest)
(message #installed-mes flight-dest)
;=============================================================================
; create the destination directory
(makedir(@default-dest)
(infos)
(safe)
)
(Complete 5)
;=============================================================================
; find out which parts to install
(set parts (askoptions
(prompt #ask-parts)
(choices #amigaflight #include-assem #help-files #examples)
(help #ask-parts-help)
))
(Complete 10)
;=============================================================================
; copy main control program, amigaflight.library, and lowlevel.library
(if (IN parts 0)
(
(set error (trap 4
(working #working-control)
(copyfiles
(source (tackon @default-src "AmigaFlight"))
(dest @default-dest)
(infos)
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "AmigaFlight")))
(Complete 15)
(set error (trap 4
(copyfiles
(source (tackon @default-src "FlightPrefs"))
(dest @default-dest)
(infos)
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "FlightPrefs")))
(Complete 20)
(set error (trap 4
(working #working-aflightlib)
(copylib
(source (tackon @default-src "Libs/amigaflight.library"))
(dest "Libs:")
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "amigaflight.library")))
(set error (trap 4
(working #working-lowlevellib)
(copylib
(source (tackon @default-src "Libs/lowlevel.library"))
(dest "Libs:")
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "lowlevel.library")))
(Complete 25)
))
;=============================================================================
; copy includes and assembling tools
(if (IN parts 1)
(
(set error (trap 4
(working #working-includes)
(copyfiles
(source (tackon @default-src "Includes"))
(dest (tackon @default-dest "Includes"))
(all)
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "Includes")))
(Complete 30)
(set error (trap 4
(working #working-tools)
(copyfiles
(source (tackon @default-src "C/A68k"))
(dest "C:")
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "A68k")))
(Complete 35)
(set error (trap 4
(copyfiles
(source (tackon @default-src "C/xasm"))
(dest "C:")
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "xasm")))
(Complete 40)
))
;=============================================================================
; copy amigaguide help files and amigaguide.library
(if (IN parts 2)
(
(set error (trap 4
(working #aguide-help)
(copyfiles
(source (tackon @default-src "Help"))
(dest (tackon @default-dest "Help"))
(all)
(infos)
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "Help Files")))
(set error (trap 4
(copyfiles
(source (tackon @default-src "Help.info"))
(dest @default-dest)
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "Help.info")))
(Complete 70)
(if (< kick-ver kick-ver3)
(
(set error (trap 4
(working #working-aguidelib)
(copylib
(source (tackon @default-src "Libs/amigaguide.library"))
(dest "Libs:")
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "amigaguide.library")))
(Complete 80)
(set error (trap 4
(working #working-aguideview)
(copyfiles
(source (tackon @default-src "Utilities/AmigaGuide"))
(dest "Sys:Utilities")
(infos)
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "AmigaGuide")))
(Complete 85)
))
))
;=============================================================================
; copy example program files
(if (IN parts 3)
(
(set error (trap 4
(working #working-examples)
(copyfiles
(source (tackon @default-src "Programs"))
(dest (tackon @default-dest "Programs"))
(all)
(infos)
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "Example Programs")))
(set error (trap 4
(copyfiles
(source (tackon @default-src "Programs.info"))
(dest @default-dest)
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "Programs.info")))
(Complete 95)
))
;=============================================================================
; modify user-startup
(working #working-startup)
(set assign-path ("Assign AmigaFlight: %s" @default-dest))
(makeassign "AmigaFlight" @default-dest)
(set error (trap 4
(startup @app-name
(prompt ("%s%s%s"
#assign-mes1
assign-path
#assign-mes2)
)
(command ("Assign AmigaFlight: \"%s\"\n" @default-dest))
(help @startup-help)
)
))
(if (> error 0) (message (#dos-error-mes2 @ioerr "User-Startup")))
(Complete 100)
;=============================================================================
; exit with a final message
(exit (#exit-mes))
))
;=============================================================================
;=============================================================================
;=============================================================================
; Floppy Disk Installation.
(if (= install-type 1)
(
(set wbdisk "Workbench3.0")
(if (< kick-ver kick-ver3) (set wbdisk "Workbench2.0"))
;=============================================================================
; make sure user knows they need original workbench disks
(message #original-disks)
;=============================================================================
; copy some workbench programs to ram
(askdisk
(dest wbdisk)
(prompt #ask-disk1 wbdisk #ask-disk2)
(help #ask-wbdisk-help @askdisk-help)
)
(copyfiles
(source ("%s:%s" wbdisk "system/format"))
(dest "ram:")
(nogauge)
)
(copyfiles
(source ("%s:%s" wbdisk "c/install"))
(dest "ram:")
(nogauge)
)
;=============================================================================
; select destination drive
(set dest-drive-num (askchoice
(prompt #select-drive)
(choices "df0:" "df1:" "df2:" "df3:")
(default 0)
(help #select-drive-help)
))
(if (= dest-drive-num 0) (set dest-drive "df0:"))
(if (= dest-drive-num 1) (set dest-drive "df1:"))
(if (= dest-drive-num 2) (set dest-drive "df2:"))
(if (= dest-drive-num 3) (set dest-drive "df3:"))
;=============================================================================
; format and install destination drive
(message ("%s%s%s%s%s" #insert-disk dest-drive #insert-disk-mes1 dest-drive #insert-disk-mes2))
(working #format-mes dest-drive)
(run ("ram:format drive %s name AmigaFlight noicons FFS" dest-drive))
(run ("ram:install %s" dest-drive))
(set @default-dest "AmigaFlight:")
;=============================================================================
; should the disk be a bootable standalone or just AmigaFlight?
(set stand-alone
(askbool
(prompt #ask-stand-alone)
(help #ask-stand-help)
(default 1)
)
)
;=============================================================================
; create complete disk?
(if (= stand-alone 1)
(
;=============================================================================
; create directories on destination drive
(working #creating-dirs)
(set n 0)
(while (set dir-name (select n "S" "C" "L" "Libs" "Devs" "Devs/Printers" "Devs/Keymaps" "Utilities" "System" "Prefs" "Prefs/Presets" "Prefs/Env-Archive" "Prefs/Env-Archive/sys" ""))
(
(set n (+ n 1))
(makedir (tackon "AmigaFlight:" dir-name))
))
(if (>= kick-ver kick-ver3)
(
(set n 0)
(while (set dir-name (select n "Devs/DataTypes" "Devs/DOSDrivers" "Devs/Monitors" "Classes" "Classes/DataTypes" ""))
(
(set n (+ n 1))
(makedir (tackon "AmigaFlight:" dir-name))
))
)
(
(makedir "AmigaFlight:Monitors")
))
;=============================================================================
; make sure workbench disk is still available
(askdisk
(dest wbdisk)
(prompt #ask-disk1 wbdisk #ask-disk2)
(help #ask-wbdisk-help)
)
;=============================================================================
; copy miscellaneous icons to AmigaFlight disk
(if (< kick-ver kick-ver3)
(
(set n 0)
(while (set file-name (select n "Monitors.info" "Shell.info" ""))
(
(set n (+ n 1))
(copyfiles
(source ("%s:%s" wbdisk file-name))
(dest "AmigaFlight:")
)
))
))
(copyfiles
(source ("%s:%s" wbdisk "Prefs.info"))
(dest "AmigaFlight:")
)
;=============================================================================
; copy workbench startup-sequence to AmigaFlight disk
(set error (trap 4
(copyfiles
(source ("%s:%s" wbdisk "S/Startup-Sequence"))
(dest "AmigaFlight:S")
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "Startup-Sequence")))
;=============================================================================
; copy workbench c directory to AmigaFlight disk
(working #copying-c)
(set n 0)
(while (set file-name (select n "AddBuffers" "Assign" "BindDrivers" "ConClip" "Copy" "Delete" "Dir" "Ed" "Execute" "IPrefs" "List" "LoadWB" "MakeDir" "Mount" "Rename" "SetClock" "SetPatch" "Status" "Type" "Version" ""))
(
(set n (+ n 1))
(set error (trap 4
(copyfiles
(source ("%s:%s%s" wbdisk "C/" file-name))
(dest "AmigaFlight:C")
)
))
(if (> error 0) (message (#dos-error-mes @ioerr file-name)))
))
(if (>= kick-ver kick-ver3)
(
(set error (trap 4
(copyfiles
(source ("%s:%s" wbdisk "C/AddDataTypes"))
(dest "AmigaFlight:C")
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "AddDataTypes")))
))
;=============================================================================
; copy workbench libraries to AmigaFlight disk
(working #copying-libs)
(set n 0)
(while (set lib-name (select n "asl" "iffparse" "version" ""))
(
(set n (+ n 1))
(set error (trap 4
(copylib
(source ("%s:%s%s%s" wbdisk "Libs/" lib-name ".library"))
(dest "AmigaFlight:Libs")
)
))
(if (> error 0) (message (#dos-error-mes @ioerr lib-name)))
))
(if (>= kick-ver kick-ver3)
(
(set n 0)
(while (set lib-name (select n "amigaguide" "datatypes" ""))
(
(set n (+ n 1))
(set error (trap 4
(copylib
(source ("%s:%s%s%s" wbdisk "Libs/" lib-name ".library"))
(dest "AmigaFlight:Libs")
)
))
(if (> error 0) (message (#dos-error-mes @ioerr lib-name)))
))
))
;=============================================================================
; copy workbench handlers to AmigaFlight disk
(working #copying-handlers)
(set n 0)
(while (set handler-name (select n "aux" "port" "queue" ""))
(
(set n (+ n 1))
(set error (trap 4
(copyfiles
(source ("%s:%s%s%s" wbdisk "L/" handler-name "-handler"))
(dest "AmigaFlight:L")
)
))
(if (> error 0) (message (#dos-error-mes @ioerr handler-name)))
))
(if (>= kick-ver kick-ver3)
(
(set error (trap 4
(copyfiles
(source ("%s:%s" wbdisk "L/CrossDOSFileSystem"))
(dest "AmigaFlight:L")
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "CrossDOSFileSystem")))
))
;=============================================================================
; copy some of workbench devs directory to AmigaFlight disk
(working #copying-devices)
(if (>= kick-ver kick-ver3)
(
(set error (trap 4
(copyfiles
(source ("%s:%s" wbdisk "Devs.info"))
(dest "AmigaFlight:")
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "Devs.info")))
(set error (trap 4
(copyfiles
(source ("%s:%s" wbdisk "Devs"))
(dest "AmigaFlight:Devs")
(pattern "#?.info")
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "Devs/#?.info")))
(set error (trap 4
(copyfiles
(source ("%s:%s" wbdisk "Devs/DataTypes/AmigaGuide"))
(dest "AmigaFlight:Devs/DataTypes")
(infos)
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "AmigaGuide")))
(set error (trap 4
(copyfiles
(source ("%s:%s" wbdisk "Devs/DOSDrivers/PIPE"))
(dest "AmigaFlight:Devs/DOSDrivers")
(infos)
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "PIPE")))
))
(set n 0)
(while (set dev-name (select n "clipboard" "parallel" "printer" "serial" ""))
(
(set n (+ n 1))
(set error (trap 4
(copyfiles
(source ("%s:%s%s%s" wbdisk "Devs/" dev-name ".device"))
(dest "AmigaFlight:Devs")
)
))
(if (> error 0) (message (#dos-error-mes @ioerr dev-name)))
))
(set error (trap 4
(copyfiles
(source ("%s:%s" wbdisk "Devs/System-Configuration"))
(dest "AmigaFlight:Devs")
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "System-Configuration")))
(set error (trap 4
(copyfiles
(source ("%s:%s" wbdisk "Devs/Printers/Generic"))
(dest "AmigaFlight:Devs/Printers")
(infos)
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "System-Configuration")))
;=============================================================================
; copy some of workbench classes directory to AmigaFlight disk
(if (>= kick-ver kick-ver3)
(
(set error (trap 4
(copyfiles
(source ("%s:%s" wbdisk "Classes/DataTypes/amigaguide.datatype"))
(dest "AmigaFlight:Classes/DataTypes")
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "amigaguide.datatype")))
))
;=============================================================================
; copy some of workbench system directory to AmigaFlight disk
(working #copying-system)
(set error (trap 4
(copyfiles
(source ("%s:%s" wbdisk "System.info"))
(dest "AmigaFlight:")
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "System.info")))
(set error (trap 4
(copyfiles
(source ("%s:%s" wbdisk "System/CLI"))
(dest "AmigaFlight:System")
(infos)
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "CLI")))
(set error (trap 4
(copyfiles
(source ("%s:%s" wbdisk "System/DiskCopy"))
(dest "AmigaFlight:System")
(infos)
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "DiskCopy")))
(if (>= kick-ver kick-ver3)
(
(set error (trap 4
(copyfiles
(source ("%s:%s" wbdisk "System/Shell.info"))
(dest "AmigaFlight:System")
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "Shell.info")))
))
;=============================================================================
; copy some of workbench utilities directory to AmigaFlight disk
(working #copying-utils)
(set error (trap 4
(copyfiles
(source ("%s:%s" wbdisk "Utilities.info"))
(dest "AmigaFlight:")
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "Utilities.info")))
(if (>= kick-ver kick-ver3)
(
(set error (trap 4
(copyfiles
(source ("%s:%s" wbdisk "Utilities/MultiView"))
(dest "AmigaFlight:Utilities")
(infos)
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "MultiView")))
))
;=============================================================================
; copy some DOSDrivers and and a keymap from storage disk to AmigaFlight disk
(if (>= kick-ver kick-ver3)
(
(askdisk
(prompt #ask-disk1 "Storage3.0" #ask-disk2)
(dest "Storage3.0")
(help #ask-storage-help @askdisk-help)
)
(set error (trap 4
(copyfiles
(source ("Storage3.0:DOSDrivers"))
(dest "AmigaFlight:Devs/DOSDrivers")
(pattern "PC#?")
(infos)
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "DOSDrivers")))
(set error (trap 4
(copyfiles
(source ("Storage3.0:Keymaps/gb"))
(dest "AmigaFlight:Devs/Keymaps")
(infos)
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "gb keymap")))
))
))
;=============================================================================
; find out which parts to install
(set parts (askoptions
(prompt #ask-parts)
(choices #amigaflight #include-assem #help-files #examples)
(help #ask-parts-help)
))
(askdisk
(dest @default-vol)
(prompt #ask-disk1 @default-vol ":" #ask-disk2)
(help @askdisk-help)
)
;=============================================================================
; copy main control program, amigaflight.library, and lowlevel.library
(if (IN parts 0)
(
(set error (trap 4
(working #working-control)
(copyfiles
(source (tackon @default-src "AmigaFlight"))
(dest "AmigaFlight:")
(infos)
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "AmigaFlight")))
(set error (trap 4
(copyfiles
(source (tackon @default-src "FlightPrefs"))
(dest "AmigaFlight:")
(infos)
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "FlightPrefs")))
(set error (trap 4
(working #working-aflightlib)
(copylib
(source (tackon @default-src "Libs/amigaflight.library"))
(dest "AmigaFlight:Libs")
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "amigaflight.library")))
(set error (trap 4
(working #working-lowlevellib)
(copylib
(source (tackon @default-src "Libs/lowlevel.library"))
(dest "AmigaFlight:Libs")
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "lowlevel.library")))
))
;=============================================================================
; copy includes and assembling tools
(if (IN parts 1)
(
(set error (trap 4
(working #working-includes)
(copyfiles
(source (tackon @default-src "Includes"))
(dest "AmigaFlight:Includes")
(all)
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "Includes")))
(set error (trap 4
(working #working-tools)
(copyfiles
(source (tackon @default-src "C/A68k"))
(dest "AmigaFlight:C")
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "A68k")))
(set error (trap 4
(copyfiles
(source (tackon @default-src "C/xasm"))
(dest "AmigaFlight:C")
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "xasm")))
))
;=============================================================================
; copy amigaguide help files and amigaguide.library
(if (IN parts 2)
(
(set error (trap 4
(working #aguide-help)
(copyfiles
(source (tackon @default-src "Help"))
(dest ("AmigaFlight:Help"))
(all)
(infos)
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "Help Files")))
(if (< kick-ver kick-ver3)
(
(set error (trap 4
(working #working-aguidelib)
(copylib
(source (tackon @default-src "Libs/amigaguide.library"))
(dest "AmigaFlight:Libs")
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "amigaguide.library")))
(set error (trap 4
(working #working-aguideview)
(copylib
(source (tackon @default-src "Utilities/AmigaGuide"))
(dest "AmigaFlight:Utilities")
(infos)
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "AmigaGuide")))
))
))
;=============================================================================
; copy example program files
(if (IN parts 3)
(
(set error (trap 4
(working #working-examples)
(copyfiles
(source (tackon @default-src "Programs"))
(dest ("AmigaFlight:Programs"))
(all)
(infos)
)
))
(if (> error 0) (message (#dos-error-mes @ioerr "Example Programs")))
))
(Complete 100)
;=============================================================================
; exit with a final message
(exit (#exit-mes))
))