;
; Ariadne driver installation script
;
; Copyright © 1996 Village Tronic Marketing GmbH
;
; V1.0  24-08-96 sticht     first version
;
; Make sure that we are running under 2.04 or better
;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; LANGUAGE SECTION
;
; to support more than only one language, there is a special section for
; each supported language.
;

(if (<> @language "english")
((if (<> @language "deutsch")
 ( set @language "english")
 )
))

;==========================================================================
; English strings

(if (= @language "english")
(
(set default_lang 4)

(set #copy (cat "Copying "))
(set #nohelp (cat "Sorry, no help text available."))

(set #bad-kick
(cat "You must be using Kickstart 2.04 or higher to install and use the Ariadne."
))

(set #checking-obsolete
(cat "\n\nChecking for obsolete files ..."
))

(set #delete-old
(cat "\n\nSome files from former versions of the Ariadne software are now obsolete "
     "and must be deleted.\n"
     "Do you wish to be asked permission before deleting each file, or "
     "should they be deleted automatically?"
))

(set #delete-old-1
(cat "Delete Automatically"
))

(set #delete-old-2
(cat "Ask Before Deleting"
))

(set #confirm-delete
(cat "\n\nShould the file \"%s\" be deleted?"
))

(set #confirm-delete-help
(cat "\n\nSome files from former versions of the Ariadne software are now obsolete "
     "and must be deleted.\n"
))

(set #deleting-obsolete
(cat "\n\nDeleting obsolete files ..."
))

(set #ask-whichsana
(cat "Which network drivers (SanaII devices) should be installed?"
))

(set #help-whichsana
(cat "\n"
     "ariadne.device:\n"
     "This is the SanaII device for the ethernet interfaces "
     "of the Ariadne.\n"
     "\n"
     "ariadneliana.device:\n"
     "This is the SanaII device for the parallel ports "
     "of the Ariadne.\n"
     "\n"
     "All SanaII devices will be installed in the directory 'devs:networks/'."
))

(set #ask-sanaiidevstat
(cat "Should the tool SanaIIDevStat be installed?\n\n"
     "SanaIIDevStat shows you information about SanaII drivers."
))

(set #ask-sanaiidevstatdir
(cat "In which drawer should SanaIIDevStat be installed?"
))

(set #ask-sanaiidevstatcat
(cat "Should the german language catalog file for SanaIIDevStat "
     "be installed in the drawer 'LOCALE:catalogs/deutsch/'?"
))

(set #ask-ariadnepar
(cat "Should the ariadnepar.device be installed in the drawer 'devs:'?\n\n"
     "The ariadnepar.device is required for printing using the parallel ports "
     "of the Ariadne."
))

(set #ask-printerpre
(cat "Should the presets for the preferences editor Printer be installed?\n\n"
     "You need these presets to redirect the output of the printer.device to the parallel ports of the Ariadne."
))

(set #ask-printerpredir
(cat "In which drawer should UseAriadnePar be installed?"
))

(set #ask-useariadnepar
(cat "Should the tool UseAriadnePar be installed?\n\n"
     "You may need UseAriadnePar to redirect the printer output to the parallel ports of the Ariadne."
))

(set #ask-useariadnepardir
(cat "In which drawer should UseAriadnePar be installed?"
))

(set #ask-useariadneparcat
(cat "Should the german language catalog file for UseAriadnePar "
     "be installed in the drawer 'LOCALE:catalogs/deutsch/'?"
))

(set #ask-osupdate
(cat "Which parts of AmigaOS should be updated if a newer version is available?"
))

(set #help-osupdate
(cat "\n"
     "On this installation disk may be newer version of parts of AmigaOS. "
     "These newer versions are required by Envoy.\n"
     "Even if you do not install Envoy you should update all items!"
))

(set #msg-finish
(cat "\nThe installation of the drivers and tools for the Ariadne is now complete.\n\n"
))
))

;=============================================================================
; German strings

(if (= @language "deutsch")
(
(set default_lang 2)

(set #copy (cat "Kopiere "))
(set #nohelp (cat "Leider ist hierzu kein Hilfe-Text verfügbar."))

(set #bad-kick
(cat "Sie benötigen Kickstart 2.04 zum Installieren und Benutzen der Ariadne."
))

(set #checking-obsolete
(cat "\n\nSuche nach überflüssigen Dateien ..."
))

(set #delete-old
(cat "\n\nEin paar Dateien von älteren Versionen der Software zur Ariadne "
     "sind nun überflüssig und müssen gelöscht werden.\n"
     "Wollen Sie bei jeder einzelnen überflüssigen Datei gefragt werden oder "
     "sollen sie alle automatisch gelöscht werden?"
))

(set #delete-old-1
(cat "Automatisch löschen"
))

(set #delete-old-2
(cat "Nachfragen"
))


(set #confirm-delete
(cat "\n\nDarf die Datei \"%s\" gelöscht werden?"
))

(set #confirm-delete-help
(cat "\n\nEin paar Dateien von älteren Versionen der Software zur Ariadne "
     "sind nun überflüssig und müssen gelöscht werden.\n"
))

(set #deleting-obsolete
(cat "\n\nLösche überflüssige Dateien ..."
))

(set #ask-whichsana
(cat "Welche Netzwerktreiber (SanaII-Devices) sollen installiert werden?"
))

(set #help-whichsana
(cat "\n"
     "ariadne.device:\n"
     "Dieses Device ist der Netzwerktreiber für die Ethernet-Schnittstellen "
     "der Ariadne.\n"
     "\n"
     "ariadneliana.device:\n"
     "Dieses Device ist der Netzwerktreiber für "
     "die parallelen Schnittstellen der Ariadne.\n"
     "\n"
     "Alle SanaII-Devices werden im Verzeichnis 'devs:networks/' installiert."
))

(set #ask-sanaiidevstat
(cat "Soll das Hilfsprogramm SanaIIDevStat installiert werden?\n\n"
     "SanaIIDevStat zeigt Ihnen Informationen über SanaII-Devices."
))

(set #ask-sanaiidevstatdir
(cat "In welches Verzeichnis soll SanaIIDevStat installiert werden?"
))

(set #ask-sanaiidevstatcat
(cat "Soll die deutsche Sprachdatei für SanaIIDevStat im "
     "Verzeichnis LOCALE:catalogs/deutsch/ installiert werden?"
))

(set #ask-ariadnepar
(cat "Soll das ariadnepar.device im Verzeichnis devs: installiert werden?\n\n"
     "Das ariadnepar.device benötigen Sie, um über die parallele Schnittstelle "
     "der Ariadne einen Drucker oder ähnliches zu benutzen."
))

(set #ask-printerpre
(cat "Sollen die Presets für das Voreinstellerprogramm Printer installiert werden?\n\n"
     "Diese Presets benötigen Sie, um die Ausgabe des printer.device auf die parallele "
     "Schnittstelle der Ariadne umzuleiten."
))

(set #ask-printerpredir
(cat "In welches Verzeichnis sollen die Presets installiert werden?"
))

(set #ask-useariadnepar
(cat "Soll das Hilfsprogramm UseAriadnePar installiert werden?\n\n"
     "UseAriadnePar benötigen Sie evtl. um Druckerausgaben an die parallele "
     "Schnittstelle der Ariadne umzuleiten."
))

(set #ask-useariadnepardir
(cat "In welches Verzeichnis soll UseAriadnePar installiert werden?"
))

(set #ask-useariadneparcat
(cat "Soll die deutsche Sprachdatei für UseAriadnePar im "
     "Verzeichnis LOCALE:catalogs/deutsch/ installiert werden?"
))

(set #ask-osupdate
(cat "Welche Teile von AmigaOS sollen erneuert werden, wenn eine neuere Version installiert werden kann?"
))

(set #help-osupdate
(cat "\n"
     "Auf der Installationsdiskette sind vielleicht neuere Versionen von Teilen des AmigaOS. "
     "Diese neueren Versionen werden von Envoy benötigt.\n"
     "Aber auch wenn Sie Envoy nicht installieren, sollten sie alle neueren Versionen installieren lassen!"
))

(set #msg-finish
(cat "\nDie Installation der Treiber und Hilfsprogramme zur Ariadne ist nun abgeschlossen.\n\n"
))
))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; INSTALLATION SECTION
;

(set @default-dest "SYS:")

;=============================================================================
; test kickstart version

(if (< (/ (getversion) 65536) 37) (abort #bad-kick))

;=============================================================================
; Delete obsolete files?

(set first TRUE)
(working (#checking-obsolete))

(set n 0)
(while (set thisfile (select n "SYS:Expansion/Ariadne"
                               "SYS:Expansion/Ariadne.info"
                               "devs:theseus.device"
                               "devs:vpio.device"
                               ""
                     )
       )
(
    (set n (+ n 1))

    (if (exists thisfile)
    (
        (if (= first TRUE)
        (
            (set query FALSE)
            (if (>= @user-level 1)
            (
                (set query TRUE)
                (if (askbool (prompt #delete-old)
                             (help #nohelp)
                             (choices #delete-old-1 #delete-old-2)
                             (default 1)
                    )
                (
                    (set query FALSE)
                    (working #deleting-obsolete)
                )
                (
                    (working (#checking-obsolete))
                ))
            ))
            (set first FALSE)
        ))

        (if (= query TRUE)
        (
            (if (askbool (prompt (#confirm-delete thisfile))
                         (help #confirm-delete-help)
                         (default 1)
                )
            (
                (delete thisfile)
            ))
        )
        (
            (delete thisfile)
        ))
    ))
    (working (#checking-obsolete))
))

;=============================================================================
; Which SanaII drivers should be installed?

(set sana
    (askoptions (prompt #ask-whichsana)
                (help #help-whichsana)
                (choices "ariadne.device" "ariadneliana.device")
                (default 0)
    )
)
(if (IN sana 0)
(
    (copylib (source "AriadneInstall:devs/networks/ariadne.device")
             (dest "devs:networks")
             (prompt #copy "ariadne.device ...")
             (help @copylib-help)
             (confirm)
             (optional askuser)
    )
))
(if (IN sana 1)
(
    (copylib (source "AriadneInstall:devs/networks/ariadneliana.device")
             (dest "devs:networks")
             (prompt #copy "ariadneliana.device ...")
             (help @copylib-help)
             (confirm)
             (optional askuser)
    )
))

;=============================================================================
; Install SanaIIDevStat?

(if (askbool (prompt #ask-sanaiidevstat) (help #nohelp) (default 1))
(
    (set sanaiidevstat_dest
        (askdir (prompt #ask-sanaiidevstatdir)
                (help @askdir-help)
                (default "SYS:Tools")
        )
    )
    (copyfiles (source "AriadneInstall:Tools/SanaIIDevStat")
               (dest sanaiidevstat_dest)
               (infos)
               (optional askuser)
    )
    ;
    ; is a locale.library >= V37 installed?
    ;
    (if (>= (/ (getversion "locale.library" (resident)) 65536) 37)
        (if (askbool (prompt #ask-sanaiidevstatcat)
                     (help #nohelp)
                     (default 1))
        (
            (copylib (source "AriadneInstall:Tools/catalogs/deutsch/SanaIIDevStat.catalog")
                     (dest ("LOCALE:catalogs/deutsch"))
                     (optional askuser)
            )
        ))
    )
))

;=============================================================================
; Install ariadnepar.device?

(if (askbool
        (prompt #ask-ariadnepar)
        (help #nohelp)
        (default 1)
    )
(
    (copylib (source "ariadneinstall:devs/ariadnepar.device")
             (dest "devs:")
             (prompt #copy "ariadnepar.device ...")
             (help @copylib-help)
             (confirm)
             (optional askuser)
    )
))

;=============================================================================
; Install presets for printer prefs?

(if (askbool
        (prompt #ask-printerpre)
        (help #nohelp)
        (default 1)
    )
(
    (set printerpre_dest
        (askdir (prompt #ask-printerpredir)
                (help @askdir-help)
                (default "SYS:Prefs/Presets")
        )
    )
    (copyfiles (source "AriadneInstall:Prefs/Presets")
               (dest printerpre_dest)
               (all)
               (infos)
    )
))

;=============================================================================
; Install UseAriadnePar?

(if (askbool
        (prompt #ask-useariadnepar)
        (help #nohelp)
        (default 1)
    )
(
    (set useariadnepar_dest
        (askdir
                (prompt #ask-useariadnepardir)
                (help @askdir-help)
                (default "SYS:Tools")
        )
    )
    (copyfiles (source "AriadneInstall:Tools/UseAriadnePar")
               (dest useariadnepar_dest)
               (infos)
    )
    ;
    ; is a locale.library >= V37 installed?
    ;
    (if (>= (/ (getversion "locale.library" (resident)) 65536) 37)
        (
            if (askbool (prompt #ask-useariadneparcat)
                        (help #nohelp)
                        (default 1)
                )
            (
                (copylib (source "AriadneInstall:Tools/catalogs/deutsch/UseAriadnePar.catalog")
                         (dest ("LOCALE:catalogs/deutsch"))
                         (optional askuser)
                )
            )
        )
    )
))

;=============================================================================
; Install new OS parts?

(set osupdate
    (askoptions (prompt #ask-osupdate)
                (help #help-osupdate)
                (choices "c:SetPatch"
                         "SYS:Prefs/Printer"
                         "devs:printer.device"
                         "devs:parallel.device"
                         "l:port-handler"
                )
    )
)
(if (IN osupdate 0)
(
    (if (= (/ (getversion "c:SetPatch") 65536) 37)
    (
        (copylib (source "AriadneInstall:c/Setpatch.V37")
                 (dest "c:")
                 (newname "SetPatch")
                 (prompt #copy "SetPatch ...")
                 (help @copylib-help)
                 (confirm)
                 (optional askuser)
        )
        (copylib (source "AriadneInstall:c/Setpatch")
                 (dest "c:")
                 (prompt #copy "SetPatch ...")
                 (help @copylib-help)
                 (confirm)
                 (optional askuser)
        )
    ))
))
(if (IN osupdate 1)
(
    (copylib (source "AriadneInstall:Prefs/Printer")
             (dest "SYS:Prefs")
             (infos)
             (prompt #copy "Prefs/Printer ...")
             (help @copylib-help)
             (confirm)
             (optional askuser)
    )
))
(if (IN osupdate 2)
(
    (copylib (source "AriadneInstall:devs/printer.device")
             (dest "devs:")
             (prompt #copy "printer.device ...")
             (help @copylib-help)
             (confirm)
             (optional askuser)
    )
))
(if (IN osupdate 3)
(
    (copylib (source "AriadneInstall:devs/parallel.device")
             (dest "devs:")
             (prompt #copy "parallel.device ...")
             (help @copylib-help)
             (confirm)
             (optional askuser)
    )
))
(if (IN osupdate 4)
(
    (copylib (source "AriadneInstall:l/port-handler")
             (dest "l:")
             (prompt #copy "port-handler ...")
             (help @copylib-help)
             (confirm)
             (optional askuser)
    )
))

(message #msg-finish)
