;
;PicAccess Installation-Script
;
;$VER: Install-Script 1.0 (05 Apr 1994) by MvK
;
;©1993 by DTM all rights revserved.
;
;**** Global variables and definitons ****

(set Disk1   "PicAccess-Disk")
(set Disk1:  (cat Disk1 ":"))
(set EGSSysDir "EGS:")


;*** First thing to do anyway - is this system at least running 2.04 ?
(if
    (< (/ (getversion) 65536) 37)
    (
        (abort "Sie benötigen mindestens AmigaOS 2.04, um die EGS-Software installieren zu können.")
    )
)


;*** now, check for the newer version of EGS with an EGS: assignment

(if (= 0 (exists "EGS:" (noreq)))
(
    (set InstSystem
        (askbool
        (prompt "Es wurde kein logische Gerät 'EGS:' in Ihrem System gefunden.\n"
                "Es scheint, als wäre das EGS-System Ihrem System nicht vorhanden.\n\n"
                "WARNUNG: Für das Programm PicAccess benötigen "
                "Sie ein Installierten Amiga mit dem EGS-System! ")

        (help "In Ihrem System wurde ein kein logisches Gerät mit dem Namen 'EGS' entdeckt.\n"
              "Das heißt das auf Ihrem Amiga kein EGS-System installiert ist. "
              "Um das Programm PicAccess setzt ein EGS-System voraus, Sie "
              "können das EGS-System mit der Grafikkarte Spectrum von DTM "
              "in Dreiherrenstein 6a, 65207 Wiesbaden, Tel: 06127 /4065 beziehen."
              )
        (default 1)
            )
    )
    (if (= 0 InstSystem)
    (
        (message  "Die alte existierende Software wurde nicht verändert! "
                  "Sie können den Installer neustarten, nachdem Sie "
                  "die EGS-Software (System) installiert haben.")
        (exit (quiet))
    )
    )
)
; else...install for sure
    (
        (set InstSystem 1)
    )
)

;*** Selection of EGS-System-drawer ***
(set @default-dest EGSSysDir)

(message "\n\nSoll jetzt mit der eigentlichen Installation begonnen werden ?\n\n"
         "Es sind dafür mindestens etwa 2 MByte freier Festplatten Platz nötig.")

(set diskfree (getdiskspace EGSSysDir))
(if (< diskfree neededspace)(
  (set MSG  (cat "Fehler: Sie benötigen für eine minimale Installation der "
                 "EGS-Software mindestens %ld Bytes freien Plattenplatz. Soviel Platz "
                 "ist auf der angegebenen Festplatte/Partition %s aber anscheinend nicht mehr "
                 "frei. \n" ))

  (abort (MSG neededspace EGSSysDir) )
))
                                             ;*** Test sys: Space
;*** create EGS top level directory
;(makedir (tackon EGSSysDir PicDir)
;    (prompt  "Erzeuge EGS:PA-Main Software-Verzeichnis.")
;    (help    "Jetzt wird das Hauptverzeichnis für das Programm PicAccess angelegt. ")
;    (infos)
;    (confirm "expert")
;)


;*** Ask user to insert disk 1 ***
(askdisk
    (prompt "Bitte legen Sie " Disk1 " in ein beliebiges Laufwerk...")
    (help @askdisk-help)
    (dest Disk1)
)

;*** Copy LHARC to RAM ***
(copyfiles
    (confirm "expert")
    (prompt  "Kopiere Dateien nach T:.")
    (source   Disk1:)
    (choices "bin")
    (dest    "t:")
    (help    "Es werden für Installation von EGS Programme"
             "für das Entpacken der LHA-Files ins Verzeichnis"
             "T: kopiert !")
)


;****
;**** Unarchive PicAccess-Files
;****

(If (exists "egs:")
    (

     ;*** Ask user to insert disk 2 ***
     (askdisk
         (prompt "Bitte legen Sie " Disk1 " in ein beliebiges Laufwerk...")
         (help @askdisk-help)
         (dest Disk1)
     )

        (working "Installiere PicAccess ...")
        (if (= @user-level 2)
            (
                (set ReallyInst
                    (askbool
                        (prompt "Archiv 'PicAccess.lha' nach " EGSSysDir " entpacken ?")
                        (help "Wenn Sie wollen, können Sie an dieser Stelle die "
                            "Installation von 'EGS' überspringen.")
                        (choices "Ja" "Nein")
                    )
                )
            )
            (set ReallyInst 1)
        )

        (if (= ReallyInst 1)
            (
                (set @execute-dir EGSSysDir)
                    (if (= @user-level 2)
                        (set hjob (cat "t:bin/lz >CON:0/0/640/100/EGS_Unarchive -2 -m e " Disk1: "PicAccess"))
                        (set hjob (cat "t:bin/lz -2 -m e " Disk1: "PicAccess"))
                    )

                (set lzrc (run hjob
                               (prompt "Entpacke Archiv 'PicAccess.lha' nach" EGSSysDir ".")
                          )
                )
                (if (<> lzrc 0)
                    (message "Fehler beim Dekomprimieren von PicAccess.lha!")
                )
            )
        )

;*** unarchive Pics

        (working "Installiere PicAccess Bilder")
        (if (= @user-level 2)
            (
                (set ReallyInst
                    (askbool
                        (prompt "Archiv 'Pics.lha' nach " EGSSysDir " entpacken ?")
                        (help "Wenn Sie wollen, können Sie an dieser Stelle die "
                            "Installation von 'EGS' überspringen.")
                        (choices "Ja" "Nein")
                    )
                )
            )
            (set ReallyInst 1)
        )

        (if (= ReallyInst 1)
            (
                (set @execute-dir EGSSysDir)
                    (if (= @user-level 2)
                        (set hjob (cat "t:bin/lz >CON:0/0/640/100/EGS_Unarchive -2 -m e " Disk1: "Pics"))
                        (set hjob (cat "t:bin/lz -2 -m e " Disk1: "Pics"))
                    )

                (set lzrc (run hjob
                               (prompt "Entpacke Archiv 'Pics.lha' nach" EGSSysDir ".")
                          )
                )
                (if (<> lzrc 0)
                    (message "Fehler beim Dekomprimieren von Pics.lha!")
                )
            )
        )

;*** Pic-Library

        (working "Installiere Pic.library ...")
        (if (= @user-level 2)
            (
                (set ReallyInst
                    (askbool
                        (prompt "Soll die Pic.library wird nach 'libs:' kopiert werden? ")
                        (help "Wenn Sie wollen, können Sie an dieser Stelle die "
                            "Installation der 'Pic.library' überspringen. "
                            "Die 'Pic:library' enthält die Bildlade-Module für "
                            "das Programm PicAccess!")
                        (choices "Ja" "Nein")
                    )
                )
            )
            (set ReallyInst 1)
        )

        (if (exists "libs:pic.library")
             (set InstSystem
                (askbool
                (prompt "Es wurde die 'pic.library' im 'LIBS:'-Verzeichnis gefunden!\n"
                    "Es scheint, als wäre bereits ein altes EGS-System "
                    "auf Ihrem Rechner installiert.\n\nWARNUNG: Dieses alte EGS-System wird "
                    "jetzt gelöscht, um Versionskonflikten vorzubeugen.")
             (help  "In Ihrem System wurde eine (alte) 'pic.library' in 'LIBS:' gefunden. "
                    "Dies kann zu Kollisionen der verschiedenen Versionen der Bibliotheken "
                    "führen; es ist darum dringend anzuraten, die alten Bibliotheken zu löschen.")
                (default 1)
                )
            )
        )

        (if (= 0 InstSystem)
        (
            (message  "Die alte existierende EGS-Software wurde nicht verändert! "
                      "Sie können den Installer neustarten, nachdem Sie "
                      "von Ihrer EGS-Software ein Backup gemacht haben.")
            (exit (quiet))
        ))

        (if (= 1 InstSystem)
        (
            (delete "libs:pic.library")
            (run "c:delete libs:PicFormats#? all")
        ))

        (if (exists "EGS:Libs/pic.library")
             (set InstSystem
                (askbool
                (prompt "Es wurde die 'pic.library' im 'EGS:LIBS'-Verzeichnis gefunden!\n"
                    "Es scheint, als wäre bereits ein altes EGS-System "
                    "auf Ihrem Rechner installiert.\n\nWARNUNG: Dieses alte EGS-System wird "
                    "jetzt gelöscht, um Versionskonflikten vorzubeugen.")
             (help  "In Ihrem System wurde eine (alte) 'pic.library' in 'EGS:LIBS:' gefunden. "
                    "Dies kann zu Kollisionen der verschiedenen Versionen der Bibliotheken "
                    "führen; es ist darum dringend anzuraten, die alten Bibliotheken zu löschen.")
                (default 1)
                )
            )
        )

        (if (= 0 InstSystem)
        (
            (message  "Die alte existierende EGS-Software wurde nicht verändert! "
                      "Sie können den Installer neustarten, nachdem Sie "
                      "von Ihrer EGS-Software ein Backup gemacht haben.")
            (exit (quiet))
        ))

        (if (= 1 InstSystem)
        (
            (delete "EGS:Libs/pic.library")
            (run "c:delete EGS:Libs/PicFormats#? all")
        ))

        (if (= ReallyInst 1)
            (
                (set @execute-dir "EGS:Libs")
                (copylib
                        (prompt "Kopiere Libs/pic.library nach EGS:Libs !")
                        (source "PicAccess-Disk:libs/pic.library")
                        (dest   "EGS:Libs")
                        (confirm "expert")
                        (help    "Es wird die pic.library kopiert !")
                )
                (copyfiles
                        (prompt "Kopiere libs/PicFormats nach EGS:Libs !")
                        (source "PicAccess-Disk:libs/PicFormats")
                        (dest   "EGS:libs/PicFormats")
                        (all)
                        (confirm "expert")
                        (help    "Es werden die pic.library module kopiert !")
                )
            )
        )
   )
)

;*** Install assign PicAccess in userstartup

(
   (startup  "EGS-PicAccess"
   (prompt   "Füge in der s:user-Startup 'assign PicAccess:' ein.")
   (set      PD (expandpath EGSSysDir))
   (set      PD (cat PD "/PA-Main"))
   (command  "Assign PicAccess: " PD)
   (help     @startup-help))
)
(set @default-dest PD)

(copyfiles
        (prompt "Kopiere Anleitung nach EGS:PA-Main")
        (source "PicAccess-Disk:Anleitung")
        (dest   "EGS:PA-Main")
        (all)
        (infos)
        (confirm "expert")
        (help "Es wird die PicAccess-Kurzanleitung kopiert !")
)

;*** Ask user to reboot ***
(complete 100)
(message "Die System-Software für die Spectrum-Grafikkarte ist nun installiert. \n"
         "Bitte führen Sie nun einen RESET durch, damit die gemachten Einstellungen "
         "wirksam werden !!!\n\n Viel Spaß mit Ihrer Bilddatenbank PicAccess !!!")

(run "PicAccess-Disk:bin/Reboot")
(exit)
