;*************************************************************************
;*  ArtEffect 2 Installer by Markus Nerding                              *
;*                                                                       *                                *
;*  ©1997 HAAGE & PARTNER Computer GmbH                                  *
;*                                                                       *
;*************************************************************************
;
; $VER: ArtEffect V2.5 Install Version 2.5 (25 Nov 97)

(complete 0)

; Version No. and Date
(set stw-version "2.5 UPDATE")
(set stw-date "(25 Nov 97)")

;====================================================================
; Initialisation

(set @default-dest "")

(set os-version (/ (getversion) 65536))
(set os-13 (< os-version 36))
(set os-20 (>= os-version 36))
(set os-21 (>= os-version 38))

(set totalmem (database "total-mem")) ; Diese schöne Funktion vereinfacht einiges

(set size-komplett 5000000)

;====================================================================
; Init (English)

    (set #yeskey "Yes")
    (set #nokey "No")

    (set #wrongos "\n Sorry, you will need OS 3.0 or better!\n")

    (set #welcome (cat "\nWelcome to the installation of \n\n"
         "ArtEffect " stw-version " of "stw-date"\n\n"
         "This script copies all the files of ArtEffect "
         "and the Wizard-Library onto your hard disk "
         "and adds an Assign.\n\n\n"
         "© Copyright 1997 HAAGE & PARTNER Computer GmbH"))

    (set #oldversion (cat "\n"
        "There is another version of ArtEffect on your "
        "hard disk !\n"
        ))

    (set #oldversion_help (cat "\n"
        "Please choose the old drawer to Update your \n"
        "old version !"
        ))
    (set #new    "New installation")
    (set #update "Update old version")
    (set #remove "Deinstallation - deletes ArtEffect")

    (set #chose_path (cat
        "Please select the device or drawer where your old"
        "ArtEffect drawer is located.\n"
        "Otherwise a new drawer named \"ArtEffect\" will be created, "
        "but then the installation is not complete (!)"
        ))

    (set #chose_path_help (cat "\n"
        "Select 'Show drives' to get an overview of all "
        "devices.\n"
        "Please select one of the devices on top of "
        "the list.\n"
        "Typical names are f.i. \"WORK:\", \"HD0:\" or \"DH0:\" "
        "Do not use \"DF0:\", \"DF1:\", \"DF2:\", "
        "\"DF3:\", \"RAD:\", \"RAM:\", \"System2.0:\", "
        "\"WB_2.x:\", \"System3.0:\" or \"WB_3.x:\"! \n\n"
        "A new drawer named \"ArtEffect\" will be created "
        "automatically!\n\n"
        @askdir-help))

    (set #auswahlhilfe (cat "\n"
        "There is an old version of ArtEffect on your "
        "hard disk !\n\n"
        "Select \"Yes\" to overwrite the old files. "
        "Otherwise select \"No\" !\n"
        ))

    (set #wrk_justamoment (cat "\n"
        "This will last some time !\n"
        "Please stay tuned ...\n"
        ))

    (set #wrk_guidecrunch (cat "\n"
        "Unpacking files ...\n\n"
        "ArtEffect 2 - The outstanding Graphics Package! \n\n"
        #wrk_justamoment
        ))

    (set #decrunch_error (cat "\n\n"
        "Error while unpacking files !\n\n"
        "Maybe there is not enough free space on your "
        "hard disk or some files are protected from "
        "deleting or writing !\n"
        ))

    (set #wrk_pluginpatch (cat "\n"
        "Patching plug in modules!\n\n"
        ))

    (set #patcherror (cat "\n"
        "Error while patching old plugins!\n\n"
        ))

    (set #prp-copy-lib
        "Copying Wizard-LIBRARY\n")
    (set #hlp-copy-lib
        "Wizard-Library is needed by ArtEffect !")

    (set #prp-insert-disk1 (cat "\n"
        "\n\nPlease insert Disk 1 \"ArtEffect2_Update2.5\" "
        "in any drive now !"
        ))

    (set #prp-insert-disk2 (cat "\n"
        "\n\nPlease insert Disk 2 \"ArtEffect2_Disk2\" "
        "in any drive now !"
        ))

(if (= @language "deutsch") (

    (set #yeskey "Ja")
    (set #nokey "Nein")

    (set #wrongos "\n Sorry, dieses Paket benoetigt mind. OS 3.0.\n")

    (set #welcome (cat "\nWillkommen bei der Installation von \n\n"
         "ArtEffect " stw-version " vom "stw-date"\n\n"
         "Dieses Skript entpackt ArtEffect, kopiert "
         "die aktuelle Wizard-Library auf Ihre Festplatte "
         "und erzeugt einen Assign.\n\n\n"
         "© Copyright 1997 HAAGE & PARTNER Computer GmbH"))

    (set #oldversion (cat "\n"
        "Auf Ihrer Festplatte befindet sich bereits "
        "eine Installation von ArtEffect!\n"
        ))

    (set #oldversion_help (cat "\n"
        "Wählen Sie einfach die bereits vorhandene "
        "Schublade an, wenn Sie ihr altes System "
        "aktualisieren möchten!"
        ))
    (set #new    "Neu installieren")
    (set #update "Update über bisherige Version installieren")
    (set #remove "Deinstallation - ArtEffect entfernen")

    (set #chose_path (cat
        "Bitte wäheln Sie den Pfad aus, in dem sich Ihr altes "
        "ArtEffect-Verzeichnis befindet !\n"
        "Andernfalls wird eine Schublade \"ArtEffect\" erzeugt.\n"
        "Die Installation ist dann aber nicht vollständig(!)"
        ))

    (set #chose_path_help (cat  "\n"
        "Sie können über das Symbol 'Laufwerke anz.' "
        "(bzw. 'Show drives') eine Übersicht über alle "
        "Laufwerke Ihres Amiga anfordern; aus dieser "
        "Übersicht sollten Sie nur die oberen, nicht "
        "farblich gekennzeichneten Einträge auswählen.\n"
        "Typische sinnvolle Namen sind z.B. \"WORK:\", "
        "\"HD0:\" oder \"DH0:\" nicht verwenden sollten "
        "Sie Namen wie \"DF0:\", \"DF1:\", \"DF2:\", "
        "\"DF3:\", \"RAD:\", \"RAM:\", \"System2.0:\", "
        "\"WB_2.x:\", \"System3.0:\" oder \"WB_3.x:\"!\n\n"
        "ArtEffect kann nur in eine Schublade nicht aber "
        "auf eine Partition direkt installiert werden! \n"
        "Wenn Sie also nur ein Laufwerk für die "
        "Installation auswählen, wird Ihnen eine "
        "Fehlermeldung angezeigt!\n\n"
        @askdir-help))

    (set #auswahlhilfe (cat "\n"
        "Auf Ihrer Festplatte befindet sich bereits "
        "eine Version der Datei die installiert werden "
        "soll.\n\n"
        "Wählen Sie \"Ja\", wenn Sie die alte Datei mit "
        "der neuen überschreiben möchten. "
        "Anderenfalls wählen Sie bitte \"Nein\"!\n"
        ))

    (set #wrk_justamoment (cat "\n"
        "Das dauert eine geraume Zeit.\n"
        "Bitte haben Sie etwas Geduld!\n"
        ))

    (set #wrk_guidecrunch (cat "\n"
        "Entpacke die Dateien...\n\n"
        "ArtEffect 2 - Das neuartige Grafikprogramm!\n\n"
        #wrk_justamoment
        ))

    (set #decrunch_error (cat "\n"
        "Fehler beim Entpacken!\n\n"
        "Stellen Sie bitte sicher, daß Ihre Festplatte "
        "ausreichend Speicherkapazität hat, und, falls "
        "die Dateien bereits vorhanden sind diese nicht "
        "Lösch- oder Schreibgeschützt sind.\n"
        ))

    (set #wrk_pluginpatch (cat "\n"
        "Patche zusätzliche Plug-In Module!\n\n"
        ))

    (set #patcherror (cat "\n"
        "Fehler beim Patchen!\n\n"
        ))

    (set #prp-copy-lib
        "Kopiere die Wizard-LIBRARY\n")
    (set #hlp-copy-lib
        "Ohne die aktuelle Version der Wizard-Library, funktioniert nichts!")

    (set #prp-insert-disk1 (cat "\n"
        "\n\nBitte legen Sie nun die Diskette 1 \"ArtEffect2_Update2.5\" "
        "in ein beliebiges Laufwerk ein!"
        ))

    (set #prp-insert-disk2 (cat "\n"
        "\n\nBitte legen Sie nun die Diskette 2 \"ArtEffect2_Disk2\" "
        "in ein beliebiges Laufwerk ein!"
        ))

))

; // Die Pfadnamen der einzelnen Quell-Dateien.
(set source-more                    "ArtEffect2_Update2.5:C/More")
(set source-lhx                     "ArtEffect2_Update2.5:C/LHex")
(set source-Guide                   "ArtEffect2_Update2.5:Readme")
(set source-icon                    "ArtEffect2_Update2.5:C/Readme.info")

(if (= @language "deutsch") (
   (set source-Guide                   "ArtEffect2_Update2.5:Liesmich")
   (set source-icon                    "ArtEffect2_Update2.5:C/Liesmich.info")
))

;=====================================================================================
; Beginn der Installation
;=====================================================================================

; // needs OS 3.0 !!!
(if (< (/ (getversion) 65536) 39)
    (
        (message #wrongos)
        (exit (quiet))
    )
)

; Intro
(message #welcome)
(welcome)
(complete 5)

; // Alte Version prüfen und entsprechende Abfrage ausgeben!--------------------------------------------
(set update   1)

(if(= (exists "ArtEffect:") 0)
   (
       (if (= @language "deutsch")
           (
              (exit "\n\nArtEffect 2.x ist nicht installiert. Bitte installieren Sie es zuerst!")
           )
           (
              (exit "\n\nArtEffect 2.x must be installed. Please install it first!")
           )
       )
   )
)

(set act-user-level @user-level)
(user 1)

(set folder (getassign "ArtEffect")) ; Es muss zwangslaeufig eine alte Version installiert sein.

(makeassign "ArtEffect")

(user act-user-level)

; // Diskette 1 einlegen!
(askdisk
    (prompt #prp-insert-disk1)
    (help #askdir-help)
    (dest "ArtEffect2_Update2.5")
)

(complete 5)

; // Lhx wird in die RAM-Disk kopiert, damit das Programm nicht jedesmal von Disk
; // geladen werden muß.
(makeassign "ArtEffect")
(makeassign "ArtEffect" folder)

(copyfiles
        (dest "RAM:")
        (source source-lhx)
)

; // Handbuch auf Festplatte kopieren!
(copyfiles
        (dest folder)
        (source source-Guide)
)
; // Handbuch-Icon auf Festplatte kopieren!
(copyfiles
        (dest folder)
        (source source-icon)
)

;(run "run Multiview ArtEffect:Liesmich")
(complete 10)

;==================================================================================
; Makedir: t, settings

(set folder1 (tackon folder "t"))
    (if (= (exists folder1) 0)
        (makedir folder1)
    )

(set folder2 (tackon folder "settings"))
    (if (= (exists folder2) 0)
        (makedir folder2)
    )

; // Settings-Icon auf Festplatte kopieren!
(copyfiles
        (dest folder)
        (source "ArtEffect2_Update2.5:C/settings.info")
)

;==================================================================================
; Decrunch File1
(makeassign "lhex_temp" folder)
  (working #wrk_guidecrunch)
;  (set COMPERROR (run "ram:lhex -qfw=lhex_temp: x ArtEffect2_Update2.5:ae2.lha"))
  (set COMPERROR (run "ram:lhex -qfw=lhex_temp: x ArtEffect2_Update2.5:data.lha"))
  (set COMPERROR (run "ram:lhex -qfw=lhex_temp: x ArtEffect2_Update2.5:brushes.lha"))
  (set COMPERROR (run "ram:lhex -qfw=lhex_temp: x ArtEffect2_Update2.5:rexx.lha"))
  (set COMPERROR (run "ram:lhex -qfw=lhex_temp: x ArtEffect2_Update2.5:catalogs.lha"))
  (set COMPERROR (run "ram:lhex -qfw=lhex_temp: x ArtEffect2_Update2.5:wizlib.lha"))
  (set COMPERROR (run "ram:lhex -qfw=lhex_temp: x ArtEffect2_Update2.5:makeassign.lha"))
  (set COMPERROR (run "ram:lhex -qfw=lhex_temp: x ArtEffect2_Update2.5:plugins2.lha"))
  (set COMPERROR (run "ram:lhex -qfw=lhex_temp: x ArtEffect2_Update2.5:libs.lha"))
  (set COMPERROR (run "ram:lhex -qfw=lhex_temp: x ArtEffect2_Update2.5:docs_d.lha"))

  (if  ( <> COMPERROR 0)
     (message #decrunch_error)
  )
(complete 80)

;==================================================================================
; Copy Wizard.Library to Libs:
(set sourcelib (tackon folder "Wizard.library"))
(copylib
        (prompt #prp-copy-lib)
        (help #hlp-copy-lib)
        (source sourcelib)
        (dest "LIBS:")
        (confirm)
)
(delete sourcelib)  ; Wizard-Lib aus ArtEffect-Schublade loeschen

(makeassign "lhex_temp" "ram:")

;==================================================================================
; Aufraeumen
;==================================================================================
; Modify Startup

(set command1 (cat  "ASSIGN ArtEffect: " folder))

(set command1.txt
        (cat "\n\n\nTo get ArtEffect work right there has to be made "
        "some changes to your User-Startup !\n\n"
        command1
        )
)

(if (= @language "deutsch") (

(set command1.txt
        (cat "\n\n\nUm mit ArtEffect richtig arbeiten zu können, muß "
        "eine Änderung an der User-Startup vorgenommen werden.\n\n"
        command1
        )
)
))

(startup "ArtEffect"
        (prompt command1.txt)
        (help #help-startup)
        (command command1)
)

(delete "RAM:LHeX")

(complete 100)

; ------- FERTIG

(set #endnow (cat "Installation of ArtEffect 2 completed.\n"
    "When the lines:\n" command1 "\ndoesn`t appear "
    "in your Startup-Sequence or User-Startup, "
    "please do it manually.\n\n"
    "Best wishes...\n\n"
    "HAAGE & PARTNER Computer, Germany"
    ))

(if (= @language "deutsch") (

    (set #endnow (cat "\nInstallation von ArtEffect 2 beendet.\n\n"
        "Falls die Zeilen:\n" command1 "\nnicht in Ihre Startup-Sequence bzw. "
        "User-Startup eingefügt wurde, dann holen Sie dies bitte nach.\n\n"
        "\n\nWir wünschen ihnen viel Erfolg mit ArtEffect!\n\n"
        "HAAGE & PARTNER Computer"
    ))
))

(message #endnow)
