; $VER: StarAm Plan Install Version 3.01 (23 July 97)
; Script zum Installieren von StarAm Plan
; Version für 68000 CPU
; 
;============================
; Kompatibilität
;============================

(set #LangMesDE
(cat "Sie benutzen eine stark veraltete Version des Installers (<V42), "
     "daher erscheinen die Standardtexte des Installers auf Englisch. "
     "Wenn Sie Texte in Ihrer Sprache wollen, so brechen sie die Installation jetzt ab (\"Abort Install\" und dann \"Yes\") "
     "und setzen das Merkmal (Tooltype) \"language\" im Piktogramm des Installationsprogramms auf Ihre Sprache. "
     "Starten Sie dann die Installation ein weiteres Mal. Es sollten nun die Standardtexte in Ihrer Sprache erscheinen.\n\n"
     "Sollten Sie dies bereits getan haben, so können Sie diesen Hinweis ignorieren!"))
(set #LangMesGB
(cat "You use a very old version of \"Installer\" (<v42), "
     "so the standard texts of \"Installer\" are in english. "
     "If you want texts in your language, then you must abort the installation now "
     "and set the tooltype \"language\" in the icon of the installation program to your language. "
     "Then start the installation a second time. The standard texts should be in your language now.\n\n"
     "If you've already done this, you can ignore this message!"))
(set #installer-version (shiftright @installer-version 16))
(set #installer-revision (BITAND @installer-version $FFFF))
(if (< #installer-version 42)
    (
    (set #LanguageMask (askchoice (prompt "Wählen Sie bitte Ihre bevorzugte Sprache:\n\nChoose your preferred language please:")
                                  (help @askchoice-help)
                                  (choices "Deutsch" "English" "Italiano")))
    (if (= #LanguageMask 0)
        (set @language "deutsch")
        (if (= #LanguageMask 1)
            (set @language "english")
            (if (= #LanguageMask 2)
                (set @language "italiano")
            )
        )
    )
    (if (= @language "deutsch")
        (message #LangMesDE)
        (message #LangMesGB)
    )
    )
)

(if (= @language "deutsch")
(
;============================
;=== Deutsche Erklärungen ===
;============================
(set #introduction
(cat "\nMit diesem Installationsprogramm können Sie \"StarAm Plan\" "
       "installieren oder updaten.\n\nBenutzereinstellungen "
       "werden nur nach Nachfrage über bereits vorhandene kopiert.\n\n"
       "Es wird automatisch (im EXPERT-Mode wahlweise) ein Verzeichnis für \"StarAm Plan\" erzeugt.\n\n"
       "Die Installation auf Diskette wird aktiv unterstützt."))
(set #Ja "Ja")
(set #Nein "Nein")
(set @askbool-help "Sie sollten diese Frage normalerweise mit \"Nein\" beantworten.")
(set #TMP "RAM:SAP")
(set #longProgrHelp
(cat "Diese Dateien sind das Hauptprogramm, "
     "Voreinstellungen, Imagesund das "
     "Konvertierungsprogramm.\n\n"
     "\"StarAm Plan\" ist das Hauptprogramm\n"
     "\"SAP.s\" ist die Standardeinstellungsdatei\n"
     "\"SAP.obj\" enthält einige benutzer-\n"
     "definierte Objekte.\n\"MathCharDef\" definiert math. Sonderzeichen.\n"
     "\"Piktogramme\" enthält die Images "
     "und ist zum Betrieb zwingend erforderlich!\n"
     "\"Convert\" konvertiert Dateien von "
     "\"StarAm Plan\" Version 1.x. Sie brauchen es nur, "
     "wenn Sie solche Dateien haben. Solche Dateien können mit der aktuellen Version von \"StarAm Plan\" nicht mehr gelesen werden!\n\n"))
(set #ConvertHelp
(cat "\"Convert\" konvertiert Dateien von \"StarAm Plan\" Version 1.x. "
     "Sie brauchen es nur, wenn Sie solche Dateien haben. "
     "Solche Dateien können mit der aktuellen Version von \"StarAm Plan\" nicht mehr gelesen werden!"))
(set #LocaleHelp
(cat "Hiermit bestimmen Sie, welche Sprachen für die Programmtexte von "
     "\"StarAm Plan\" zur Verfügung stehen. Deutsch ist die eingebaute "
     "Sprache und steht deshalb immer zur Verfügung.\n"
     "Die verwendete Sprache stellen Sie im Voreinsteller \"Locale\" "
     "der Workbench ein. Lesen Sie dazu Ihr Handbuch zur Workbench und "
     "die Datei \"ReadMeFirst!\"!\n\n"))
(set #dokHelpT1 "Bitte Lesen - Wichtige Vorinformationen und bekannte Fehler des Programms\n\n")
(set #dokHelpT2 "ReadMeFirst! - Wichtige Informationen für nicht deutschsprachige Benutzer\n\n")
(set #dokHelpT3 "StarAm Plan.guide - Handbuch als AmigaGuide und Online-Hilfe\n\n")
(set #dokHelpT4
(cat "StarAm Plan.dvi - Handbuch zum Ausdruck mit TeX\n\n"
     "Quick Manual - Kurzanleitung auf Englisch\n\n"
     "Geschichte - Geschichte des Programms\n\n"
     "History - Gechichte auf Englisch\n\n"
     "Registrierung - Registrierungsformular\n\n"
     "Register - Registrierungsformular auf Englisch\n\n"))
(set #dokHelpT4s
(cat "StarAm Plan.dvi - Handbuch zum Ausdruck mit TeX\n\n"
     "Geschichte - Geschichte des Programms\n\n"
     "Registrierung - Registrierungsformular\n\n"))
(set #dokHelpT5 "Convert.dok - Anleitung zu \"Convert\"\n\n")
(set #dokHelpT6
(cat "Dateien - Beispiele zu \"StarAm Plan\"\n\n"
     "StarAm_Plan.cd, StarAm_PlanGB.ct, StarAm_PlanIT.cd - Diese Dateien brauchen Sie nur, wenn Sie eine Übersetzung für \"StarAm Plan\" erstellen wollen\n\n"))
(set #ErrorVersion
(cat "\n\"StarAm Plan\" benötigt mindestens AmigaOS 3.0, dies ist Version 39.\n\n"
     "In Ihrem System ist aber nur Version %ld.%ld des AmigaOS installiert.\n\n"
     "Sie sollten Ihr System auf das aktuelle AmigaOS 3.1 (oder höher) updaten!\n\n"
     "Die Installation wird nicht durchgeführt!"))
(set #keine "keine")
;(set #ErrorCPU
;(cat "\nDies ist die Version von \"StarAm Plan\", die mindestens eine 68020 CPU und 68881 FPU benötigt.\n\n"
;     "Ihr System hat eine %s CPU und %s FPU und erfüllt somit nicht diese Voraussetzungen.\n\n"
;     "Besorgen Sie sich die Version von \"StarAm Plan\", die nur eine 68000 CPU voraussetzt und installieren Sie dann diese.\n\n"
;     "Die Installation wird nicht durchgeführt!"))
(set #LargeCPU
(cat "Dies ist die Version von \"StarAm Plan\", die bereits ab einer 68000 CPU ohne FPU lauffähig ist.\n\n"
     "Es gibt eine Version von \"StarAm Plan\", die auf eine 68020 CPU und 68881 FPU optimiert ist.\n"
     "Ihr System hat eine %s CPU und %s FPU und erfüllt somit die Vorraussetzungen für die optimierte Version.\n\n"
     "Sie sollten sich die optimierte Version von \"StarAm Plan\" besorgen und dann diese installieren.\n\n"
     "Wollen Sie trotzdem mit der Installation fortfahren, um ersteinmal die nichtoptimierte Version zu nutzen?"))
(set #ErrorMem
(cat "\nDieses Installationsprogramm benötigt mindestens ca. 1600000 Bytes freien Arbeitsspeicher.\n\n"
     "Momentan sind aber nur %s Bytes Arbeitsspeicher frei.\n\n"
     "Beenden Sie alle Programme und schließen Sie alle Fenster. Versuchen Sie es dann noch ein weiteres Mal. "
     "Sollten Sie dann wieder diese Meldung erhalten, so müssen Sie die Installation von Hand durchführen oder "
     "sich mehr Arbeitsspeicher kaufen.\n\n"
     "Die Installation kann nicht durchgeführt werden!"))
(set #Wellcome "Bitte wählen Sie, wie die Installation durchgeführt werden soll, je nach Ihrem Wissensstand über den Amiga.")
(set #AskOptMes
(cat "Sie benutzen eine stark veraltete Version des Installers (<V42.6), deshalb wird die nächste Seite etwas ungwöhnlich aussehen:\n"
     "Sie enthält Auswahlfelder, die keine Bezeichnung haben. Lassen Sie sich dadurch nicht verwirren! Dies ist vollkommen korrekt! "
     "Beachten Sie nur die Auswahlfelder mit einer Bezeichnung!"))
(set #DiskVoll
(cat "Die restliche Dokumentation paßt nicht mehr auf den Datenträger, wählen Sie daher bitte ein neues Verzeichnis "
     "für die Dokumentation. Es wird kein Verzeichnis erzeugt!\n"
     "Wenn Sie \"StarAm Plan\" auf Diskette installieren, dann legen Sie bitte eine leere, "
     "formatierte Diskette ein und wählen dann diese aus."))
(set #AmLoeschen "Lösche temporäre Dateien...")
(set #CPUHelp "Wenn Sie die optimierte Version nicht zur Hand haben, dann sollten sie \"Ja\" antworten.")
(set #InstallAborted "Die Installation wird nicht durchgeführt.")
(set #AskDir1 "Soll für \"StarAm Plan\" ein eigenes Verzeichnis erzeugt werden bzw. befindet sich \"StarAm Plan\" in einem eigenen Verzeichnis?")
(set #Empfohlen "Sehr zu empfehlen!")
(set #AskDir2 "Geben Sie das Verzeichnis, in dem sich das Verzeichnis \"StarAm Plan\" befindet bzw. erzeugt werden soll, an:")
(set #AskDir3 "Geben Sie das Verzeichnis, in dem sich \"StarAm Plan\" befindet bzw. in das \"StarAm Plan\" installiert werden soll, an:")
(set #AskUnpackProg "Soll das Programm entpackt werden?")
(set #AskUnpackProgHelp "Ohne geht's nicht! Wählen Sie \"Nein\", wenn Sie nur die Dokumentation und die Beispiele installieren wollen.")
(set #AskTmpDel "Sollen die temporären Dateien auch wieder gelöscht werden?")
(set #WaehleDateien "Wählen Sie die zu kopierenden Dateien:")
(set #AskDefaults "Sollen Ihre Voreinstellungen überschrieben werden?")
(set #AskObj "Sollen ihre benutzerdefinierten Objekte überschrieben werden?")
(set #AskMath "Sollen ihre definierten mathematischen Sonderzeichen überschrieben werden?")
(set #AskIcons "Sollen die Images überschrieben werden?")
(set #AskLocale "Welche Sprachen wollen Sie installieren? Die Sprache Deutsch ist eingebaut und braucht nicht extra installiert zu werden.")
(set #AskConvert "Wollen Sie das Programm \"Convert\" installieren?")
(set #AskUnpackDocs "Soll die Dokumentation entpackt werden?")
(set #AskUnpackDocsHelp "Nur wenn Sie keine Dokumentation brauchen und die aktuellen Lizenzbestimmungen bereits gelesen haben, dürfen Sie \"Nein\" sagen!")
(set #AskDir4 
(cat "Geben Sie das Verzeichnis, in das die Dokumentation kopiert werden soll, an. Für die Online-Hilfe müssen "
     "sich \"StarAm Plan\" und \"StarAm Plan.guide\" im selben Verzeichnis befinden.\nAllein das Programm "
     "und \"StarAm Plan.guide\" benötigen 1,1MB. Auf dem Datenträger sind noch %ld KBytes frei.\nEs wird kein Verzeichnis erzeugt!"))
(set #AskDir4Help "Wenn Sie die Online-Hilfe von \"StarAm Plan\" benutzen wollen, dann dürfen Sie das Verzeichnis nicht ändern!\n\n")
(set #WaehleDoks "Welche Teile der Dokumentation sollen kopiert werden?")
(set #WaehleOptDoks "Welche optionalen Teile der Dokumentation sollen kopiert werden?")
(set #CreatingDir1 "Verzeichnis \"StarAm Plan\" wird erzeugt.")
(set #UnpackingProg "Entpacke das Hauptprogramm...")
(set #CreatingDirCat "Verzeichnis \"Catalogs\" wird erzeugt.")
(set #CopyRTLib "Kopiere \"reqtools.library\", © Nico François, nach \"LIBS:\"")
(set #CopyRTLibHelp "Ohne die reqtools.library V38 ist \"StarAm Plan\" nicht lauffähig!\n\n")
(set #UnpackingDoks "Entpacke die Dokumentation...")
(set #AskDir5
(cat "Die Dokumentation paßt nicht mehr auf den Datenträger, wählen Sie daher bitte ein extra Verzeichnis für die "
     "Dokumentation. Es wird kein Verzeichnis erzeugt!\n"
     "Wenn Sie \"StarAm Plan\" auf Diskette installieren, dann legen Sie bitte eine leere, formatierte "
     "Diskette ein und wählen dann diese aus."))
(set #AskCreateDateien "Soll das Verzeichnis \"Dateien\" erzeugt werden?")
(set #AskCreateDateienHelp "Dieses Verzeichnis verwendet \"StarAm Plan\" standardmäßig für die Daten.\n")
(set #NoOnlineHelpMes "Die Online-Hilfe von \"StarAm Plan\" ist nicht verfügbar!")
(set #CheckDiskSpace "Prüfe den freien Platz auf dem Datenträger...")
(set #ErmittleIconPos "Ermittle bisherige Piktogramm-Positionen...")
)
(
;=============================
;=== Englische Erklärungen ===
;=============================
(set #introduction
(cat "\nWith this installation programe you can install or upate \"StarAm Plan\"."
       "\n\nUser settings "
       "are copied over existing ones only after request.\n\n"
       "A directory \"StarAm Plan\" is created automatically (in EXPERT mode optionally).\n\n"
       "The installation on disk is supported actively."))
(set #Ja "Yes")
(set #Nein "No")
(set @askbool-help "You should usually answer this question with \"No\".")
(set #TMP "RAM:SAP")
(set #longProgrHelp
(cat "This files are the main programe, "
     "default settings, images and the "
     "converting tool.\n\n"
     "\"StarAm Plan\" is the main programe\n"
     "\"SAP.s\" is the default settings file\n"
     "\"SAP.obj\" contains some userdefined objects.\n"
     "\"MathCharDef\" defines math. symbols.\n"
     "\"Piktogramme\" contains the images "
     "and is absolutely required for working!\n"
     "\"Convert\" converts files of "
     "\"StarAm Plan\" version 1.x. You need this only, "
     "if you have such files. The recent version of \"StarAm Plan\" cannot read such files!\n\n"))
(set #ConvertHelp
(cat "\"Convert\" converts files of \"StarAm Plan\" version 1.x. "
     "You need this only, if you have such files. "
     "The recent version of \"StarAm Plan\" cannot read such files!"))
(set #LocaleHelp
(cat "Herewith you decide, which languages are available for the programe texts of "
     "\"StarAm Plan\". German is the build in language "
     "and is therefore always availabe.\n"
     "You select the used language in the preferences editor \"Locale\" "
     "of the Workbench. Read to it your manual of the Workbench and "
     "the file \"ReadMeFirst!\"!\n\n"))
(set #dokHelpT1 "Bitte Lesen - Important informations and known bugs of the programe (in german)\n\n")
(set #dokHelpT2 "ReadMeFirst! - Important informations for non german user (in english)\n\n")
(set #dokHelpT3 "StarAm Plan.guide - Manual as AmigaGuide and online help (in german)\n\n")
(set #dokHelpT4
(cat "StarAm Plan.dvi - Manual to print with TeX (in german)\n\n"
     "Quick Manual - short manual in english\n\n"
     "Geschichte - History of the programe (in german)\n\n"
     "History - History in englisch\n\n"
     "Registrierung - Registerform (in german)\n\n"
     "Register - Registerform in english\n\n"))
(set #dokHelpT4s
(cat "StarAm Plan.dvi - Manual to print with TeX (in german)\n\n"
     "Quick Manual - short manual in english\n\n"
     "History - History in englisch\n\n"
     "Register - Registerform in english\n\n"))
(set #dokHelpT5 "Convert.dok - Manual of \"Convert\" (in german)\n\n")
(set #dokHelpT6
(cat "Dateien - Examples for \"StarAm Plan\"\n\n"
     "StarAm_Plan.cd, StarAm_PlanGB.ct, StarAm_PlanIT.cd - You need this files only, if you want to create a translation for \"StarAm Plan\"\n\n"))
(set #ErrorVersion
(cat "\n\"StarAm Plan\" needs at least AmigaOS 3.0, this is version 39.\n\n"
     "But only version %ld.%ld of AmigaOS is installed on your system.\n\n"
     "You should update your system onto the recent AmigaOS 3.1 (or higher)!\n\n"
     "The installation is not done!"))
(set #keine "no")
;(set #ErrorCPU
;(cat "\nThis is the distribution of \"StarAm Plan\", which needs at least a 68020 CPU and 68881 FPU.\n\n"
;     "Your system has only %s CPU and %s FPU and thus doesn't fulfill these conditions.\n\n"
;     "Get the distribution of \"StarAm Plan\", which only needs a 68000 CPU and then install this distribution.\n\n"
;     "The installation is not done!"))
(set #LargeCPU
(cat "This is the distribution of \"StarAm Plan\", which runs already on a 68000 CPU without FPU.\n\n"
     "There is a distribution of \"StarAm Plan\", which is optimised for a 68020 CPU and 68881 FPU.\n"
     "Your system has a %s CPU and %s FPU and thus fullfill the conditions for the optimised version.\n\n"
     "You should get the optimised distribution of \"StarAm Plan\" and then install this distribution.\n\n"
     "Do you still want to proceed with installation, to use the nonoptimised version?"))
(set #ErrorMem
(cat "\nThis installation programe needs at least ca. 1600000 bytes free RAM.\n\n"
     "At the moment only %s bytes RAM are free.\n\n"
     "Quit all programs and close all windows. Try it again. "
     "If you get this message again, you must do the installation by hand or "
     "buy more RAM.\n\n"
     "The installation can't be done!"))
(set #Wellcome "Please indicate how the installation should proceed (based upon your knowledge of the Amiga)")
(set #AskOptMes
(cat "You use a very old version of  Installer (<V42.6), so the next page will look unusual:\n"
     "It contains checkboxes, which haven't a label. Do not become confused! This is completely correct! "
     "Only regard the checkboxes with a label!"))
(set #DiskVoll
(cat "The remaining documentation doesn't fit on the disk, so choose a new directory for the documentation please. No directory is created!\n"
     "If you install \"StarAm Plan\" on floppy disk, then please insert an empty formatted disk into any drive and "
     "select this disk."))
(set #AmLoeschen "Deleting temporary files...")
(set #CPUHelp "If you don't have the optimised distribution then you should answer \"Yes\".")
(set #InstallAborted "The installation is not done.")
(set #AskDir1 "Do you want to create \"StarAm Plan\" its own directory or does \"StarAm Plan\" have its own directory?")
(set #Empfohlen "Strongly recommended!")
(set #AskDir2 "Choose the directory in which the directory \"StarAm Plan\" resides or in which you want to create the directory \"StarAm Plan\":")
(set #AskDir3 "Choose the directory in which \"StarAm Plan\" resides or in which you want to install \"StarAm Plan\":")
(set #AskUnpackProg "Do you want to unpack the programe?")
(set #AskUnpackProgHelp "Without it won't work! Choose \"No\" if you only want to install the documentation and the examples.")
(set #AskTmpDel "Do you want to delete the temporary files?")
(set #WaehleDateien "Choose the files to copy:")
(set #AskDefaults "Do you want to overwrite your old settings?")
(set #AskObj "Do you want to overwrite your userdefined objects?")
(set #AskMath "Do you want to overwrite your defined mathematic symbols?")
(set #AskIcons "Do you want to overwrite the images?")
(set #AskLocale "Which languages do you want to install? The language German is build in and needn't to be installed explicitly.")
(set #AskConvert "Do you want to install the tool \"Convert\"?")
(set #AskUnpackDocs "Do you want to unpack the documentation?")
(set #AskUnpackDocsHelp "You may say \"No\" only if you don't need the documentation AND have read the recent license already!")
(set #AskDir4 
(cat "Select the directory in which you want to copy the documentation. If you want to use the online help then "
     "\"StarAm Plan\" and \"StarAm Plan.guide\" must be in the same directory.\nThe programe and "
     "\"StarAm Plan.guide\" (without other files) need 1,1MB. On the disk are %ld KBytes free.\nNo directory is created!"))
(set #AskDir4Help "If you want to use the online help of \"StarAm Plan\" then you mustn't change the directory!\n\n")
(set #WaehleDoks "Which parts of the documentation do you want to copy?")
(set #WaehleOptDoks "Which optional parts of the documentation do you want to copy?")
(set #CreatingDir1 "Creating directory \"StarAm Plan\"...")
(set #UnpackingProg "Unpacking main programe...")
(set #CreatingDirCat "Creating directory \"Catalogs\"...")
(set #CopyRTLib "Copying \"reqtools.library\", © Nico François, to \"LIBS:\"")
(set #CopyRTLibHelp "Without the reqtools.library v38 \"StarAm Plan\" won't work!\n\n")
(set #UnpackingDoks "Unpacking documentation...")
(set #AskDir5
(cat "The documentation doesn't fit on the disk. Please choose an extra directory for the "
     "documentation.\nNo directory is created!"
     "If you install \"StarAm Plan\" on floppy disk then insert an empty formatted disk into any drive and select this disk."))
(set #AskCreateDateien "Do you want to create the directory \"Dateien\"?")
(set #AskCreateDateienHelp "This directory is used by \"StarAm Plan\" as default to save the data.\n")
(set #NoOnlineHelpMes "The online help of \"StarAm Plan\" is not available!")
(set #CheckDiskSpace "Checking free space on disk...")
(set #ErmittleIconPos "Getting old icon positions...")
)
)

;=============================
; Prozeduren
;=============================

; Entfernen Sie die 6 Semikolons in den folgenden Zeilen, wenn sie mindestens Installer V42.12 haben:
; Remove the 6 semikolons in the following lines, if you have at least Installer v42.12:
(procedure P_KeepIconPos
     (set #P_Datei1 (if (= #Pfad "") (#Datei) (tackon #Pfad #Datei)))
     (set #P_Datei2 (if (= #Pfad "") (fileonly #Datei) (#Datei)))
;     (if (exists #P_Datei1)
;         (
;         (iconinfo (dest #P_Datei1) (getposition "#x" "#y"))
;         (tooltype (dest (tackon "RAM:SAP" #P_Datei2)) (setposition #x #y))
;         )
;     )
)

(procedure P_CheckSize
     (if (NOT @pretend)
     (while (< (getdiskspace #doks-dest)
               (- (* (+ (/ (getsize (tackon "RAM:SAP" #Datei)) 512) 2) 512)
                  (if (exists (tackon #doks-dest #Datei))
                      (* (+ (/ (getsize (tackon #doks-dest #Datei)) 512) 2) 512)
                      0
                  )
               )
            )
            (set #doks-dest (askdir
                                (prompt #DiskVoll)
                                (help   @askdir-help)
                                (default #doks-dest)
                                (disk)))
     )
     )
)

(procedure P_SumSize
    (working #CheckDiskSpace)
    (set #SumSize 1536)
    (foreach (tackon "RAM:SAP" #Verzeichnis) "#?"
        (set #SumSize 
             (+ #SumSize
                (- (* (+ (/ (getsize (tackon (tackon "RAM:SAP" #Verzeichnis) @each-name)) 512) 2) 512)
                   (if (exists (tackon (tackon #doks-dest #Verzeichnis) @each-name))
                       (* (+ (/ (getsize (tackon (tackon #doks-dest #Verzeichnis) @each-name)) 512) 2) 512)
                       0
                   )
                )
             )
        )
    )
    (set #Dummy #SumSize)
)

(procedure P_AufraeumenProgramm
     (if (OR (OR #Loeschen1 (< @user-level 2)) @pretend)
         ((working #AmLoeschen)
;          (if (< #installer-version 43)
;              (
              (foreach #TMP "#?" (delete (tackon #TMP @each-name) (safe)))
              (foreach "RAM:SAP/Piktogramme" "#?" (delete (tackon "RAM:SAP/Piktogramme" @each-name) (safe)))
              (delete "RAM:SAP/Piktogramme")
              (delete "RAM:SAP/Catalogs/English/StarAm_Plan.catalog" (safe)) (delete "RAM:SAP/Catalogs/English" (safe) (infos))
              (delete "RAM:SAP/Catalogs/Italiano/StarAm_Plan.catalog" (safe)) (delete "RAM:SAP/Catalogs/Italiano" (safe) (infos))
              (delete "RAM:SAP/Catalogs" (safe))
;              )
;              (delete #TMP (all) (safe))
;          )
         )
     )
)

(procedure P_AufraeumenDoks
     (if (OR (OR #Loeschen2 (< @user-level 2)) @pretend)
         ((working #AmLoeschen)
;          (if (< #installer-version 43)
;              (
              (foreach #TMP "#?" (delete (tackon #TMP @each-name) (safe)))
              (foreach "RAM:SAP/Dateien" "#?" (delete (tackon "RAM:SAP/Dateien" @each-name) (safe)))
              (delete "RAM:SAP/Dateien" (safe))
              (delete #TMP (safe))
;              )
;              (delete #TMP (all) (safe))
;          )
         )
     )
)

;==========================
; Hauptprogramm
;==========================

(set #Pfad "")

(complete 0)

(message #introduction)

; Überprüfe Systemvorrausetzungen

(set #OSVerRev (getversion))
(set #OSVer (shiftright #OSVerRev 16))
(set #OSRev (bitand #OSVerRev $FFFF))
(if (< #OSVer 39)
    (exit (#ErrorVersion #OSVer #OSRev) (quiet))
)

(set #cpu (database "cpu"))
(set #fpu (database "fpu"))
(set #nofpu (patmatch "NOFPU" #fpu))
;(if (OR (patmatch "(68000|68010)" #cpu) #nofpu)
;    (
;    (if #nofpu (set #fpu #keine))
;    (exit (#ErrorCPU #cpu #fpu) (quiet))
;    )
;)
(if (AND (NOT (patmatch "(68000|68010)" #cpu)) (NOT #nofpu))
    (if (NOT (askbool
                  (prompt (#LargeCPU #cpu #fpu))
                  (help #CPUHelp)
                  (choices #Ja #Nein)))
        (exit #InstallAborted (quiet))
    )
)

(set #FreeMem (database "total-mem") )
(if (< #FreeMem "1572864")
    (exit (#ErrorMem #FreeMem) (quiet))
)

; Stelle die notwendigen Fragen

(welcome #Wellcome)

(if (= @user-level 2)
    (set #Verz (askbool 
               (prompt #AskDir1)
               (help #Empfohlen) (choices #Ja #Nein))
    )
)

(if (OR #Verz (< @user-level 2))
    ((set @default-dest
        (askdir
                (prompt #AskDir2)
                (help   @askdir-help)
                (default @default-dest)
        )
     )
     (set @default-dest (tackon @default-dest "StarAm Plan"))
    )
    (set @default-dest
        (askdir
                (prompt #AskDir3)
                (help   @askdir-help)
                (default @default-dest)
        )
    )
)

(if (= @user-level 2)
    (set #Entpacken1 (askbool
                     (prompt #AskUnpackProg)
                     (help #AskUnpackProgHelp)
                     (choices #Ja #Nein)
                     )
    )
)

(if (OR #Entpacken1 (< @user-level 2))
    (
     (if (= @user-level 2)
         (
         (set #Loeschen1 (askbool
                         (prompt #AskTmpDel)
                         (help #Empfohlen) (choices #Ja #Nein)
                         ))
         (set #ProgMask (askoptions (prompt #WaehleDateien)
                               (help #longProgrHelp @askoptions-help)
                               (choices "StarAm Plan" "Convert" "SAP.s" "SAP.obj" "MathCharDef" "Piktogramme") ) )
         )
     )
     
     (if (OR (IN #ProgMask 2) (< @user-level 2))
         (set #DefaultsBool (if (exists (tackon @default-dest "SAP.s") (noreq))
                                (askbool (prompt #AskDefaults)
                                         (help @askbool-help)
                                         (choices #Ja #Nein))
                                1
                            )
         )
     )
     
     (if (OR (IN #ProgMask 3) (< @user-level 2))
         (set #ObjBool (if (exists (tackon @default-dest "SAP.obj") (noreq))
                           (askbool (prompt #AskObj)
                                    (help @askbool-help)
                                    (choices #Ja #Nein))
                           1
                       )
         )
     )
     
     (if (OR (IN #ProgMask 4) (< @user-level 2))
         (set #MathBool (if (exists (tackon @default-dest "MathCharDef") (noreq))
                            (askbool (prompt #AskMath)
                                     (help @askbool-help)
                                     (choices #Ja #Nein))
                            1
                        )
         )
     )
     
     (if (OR (IN #ProgMask 5) (< @user-level 2))
         (set #IconsBool (if (exists (tackon @default-dest "Piktogramme") (noreq))
                             (askbool (prompt #AskIcons)
                                      (help @askbool-help)
                                      (choices #Ja #Nein))
                             1
                         )
         )
     )
     
     (if (= @language "deutsch")
         (set #LocaleMask %00)
         (if (= @language "english")
             (set #LocaleMask %01)
             (if (= @language "italiano")
                 (set #LocaleMask %10)
                 ((set #AskLocaleMask 1)
                  (set #LocaleMask %01)
                 )
             )
         )
     )
     (if (OR #AskLocaleMask (= @user-level 2))
         (set #LocaleMask (askoptions (prompt #AskLocale)
                                      (help #LocaleHelp @askoptions-help)
                                      (choices "English" "Italiano")
                                      (default #LocaleMask)))
     )
     
     (if (< @user-level 2)
         (set #ConvertBool (askbool
                           (prompt #AskConvert)
                           (help #ConvertHelp)
                           (choices #Ja #Nein)))
     )
    )
)

(if (= @user-level 2)
    (
    (set #Entpacken2 (askbool
                     (prompt #AskUnpackDocs)
                     (help #AskUnpackDocsHelp)
                     (choices #Ja #Nein)))
    (if #Entpacken2 
        (
        (set #Loeschen2 (askbool
                                 (prompt #AskTmpDel)
                                 (help #Empfohlen) (choices #Ja #Nein)))
        (set #DiskSpace (/ (getdiskspace (pathonly @default-dest)) 1024))
        (set #doks-dest (askdir
                                (prompt (#AskDir4 #DiskSpace))
                                (help #AskDir4Help @askdir-help)
                                (default @default-dest)
                                (newpath)))
        (if (= @language "deutsch")
            (set #DoksMask %00010010100101)
            (set #DoksMask %00010101010110)
        )
        (if (IN #ProgMask 1)
            (set #DoksMask (BITOR #DoksMask %00001000000000))
        )
        (set #DoksMask (askoptions (prompt #WaehleDoks)
                                   (help #dokHelpT1 #dokHelpT2 #dokHelpT3 #dokHelpT4 #dokHelpT5 #dokHelpT6 @askoptions-help)
                                   (choices "Bitte Lesen" "ReadMeFirst!" "StarAm Plan.guide" "StarAm Plan.dvi" "Quick Manual" "Geschichte"
                                            "History" "Registrierung" "Register" "Convert.dok" "Dateien" "StarAm_Plan.cd" "StarAm_PlanGB.ct"
                                            "StarAm_PlanIT.ct")
                                   (default #DoksMask)))
        )
    )
    )
    (
    (set #doks-dest @default-dest)
    (if (= @language "deutsch")
        (
        (if (OR (< #installer-version 42) (AND (= #installer-version 42) (< #installer-revision 6)))
            (message #AskOptMes)
        )
        (set #DoksMask %00010010100000)
        (set #DoksMask (askoptions (prompt #WaehleOptDoks)
                                   (help #dokHelpT2 #dokHelpT4s #dokHelpT6 @askoptions-help)
                                   (choices "" "ReadMeFirst!" "" "StarAm Plan.dvi" "" "Geschichte"
                                            "" "Registrierung" "" "" "Dateien" "StarAm_Plan.cd" "StarAm_PlanGB.ct"
                                            "StarAm_PlanIT.ct")
                                   (default #DoksMask)))
        (set #DoksMask (BITOR #DoksMask %00000000000101))
        )
        (
        (if (OR (< #installer-version 42) (AND (= #installer-version 42) (< #installer-revision 6)))
            (message #AskOptMes)
        )
        (set #DoksMask %00010101010000)
        (set #DoksMask (askoptions (prompt #WaehleOptDoks)
                                   (help #dokHelpT4s #dokHelpT6 @askoptions-help)
                                   (choices "" "" "" "StarAm Plan.dvi" "Quick Manual" ""
                                            "History" "" "Register" "" "Dateien" "StarAm_Plan.cd" "StarAm_PlanGB.ct"
                                            "StarAm_PlanIT.ct")
                                   (default #DoksMask)))
        (set #DoksMask (BITOR #DoksMask %00000000000110))
        )
    )        
    (if #ConvertBool
        (set #DoksMask (BITOR #DoksMask %00001000000000))
    )
    )
)

; Nun geht's richtig los

(if (= (exists @default-dest) 0)
    (makedir @default-dest
        (prompt #CreatingDir1)
        (infos)
    )
)

(complete 1)

(if (OR #Entpacken1 (< @user-level 2))
    (
     (working #UnpackingProg)
     (run ("unlzx x sap.lzx ram:") (safe))
    
     (complete 12)
     
     (onerror (P_AufraeumenProgramm))

     (if (OR (IN #ProgMask 0) (< @user-level 2))
         (
         (set #Datei (tackon @default-dest "StarAm Plan"))
         (P_KeepIconPos)
         (copyfiles
                   (source "RAM:SAP/StarAm Plan")
                   (dest @default-dest)
                   (infos)
                   (delopts "fail") (optional "oknodelete" "askuser")
         )
         )
     )
     
     (complete 33)
     
     (if (OR #ConvertBool (IN #ProgMask 1))
         (
         (set #Datei (tackon @default-dest "Convert"))
         (P_KeepIconPos)
         (copyfiles
                   (source "RAM:SAP/Convert")
                   (dest @default-dest)
                   (infos)
                   (delopts "fail") (optional "oknodelete" "askuser")
         )
         )
     )
     
     (complete 34)
     
     (if (IN #LocaleMask 0)
         ((if (= (exists (tackon @default-dest "Catalogs")) 0)
              (makedir (tackon @default-dest "Catalogs")
                       (prompt #CreatingDirCat)
              )
          )
          (copyfiles
                    (source "RAM:SAP/Catalogs/English")
                    (dest (tackon @default-dest "Catalogs/English"))
                    (all) (infos)
                    (delopts "fail") (optional "oknodelete" "askuser")
          )
         )
     )
     
     (complete 35)
     
     (if (IN #LocaleMask 1)
         ((if (= (exists (tackon @default-dest "Catalogs")) 0)
              (makedir (tackon @default-dest "Catalogs")
                       (prompt #CreatingDirCat)
              )
          )
          (copyfiles
                    (source "RAM:SAP/Catalogs/Italiano")
                    (dest (tackon @default-dest "Catalogs/Italiano"))
                    (all) (infos)
                    (delopts "fail") (optional "oknodelete" "askuser")
          )
         )
     )
     
     (complete 36)
     
     (if #DefaultsBool
         (
         (set #Datei (tackon @default-dest "SAP.s"))
         (P_KeepIconPos)
         (copyfiles (source "RAM:SAP/SAP.s") (dest @default-dest) (infos) (delopts "fail") (optional "oknodelete" "askuser"))
         )
     )
     
     (if #ObjBool
         (copyfiles (source "RAM:SAP/SAP.obj") (dest @default-dest) (infos) (delopts "fail") (optional "oknodelete" "askuser"))
     )
     
     (if #MathBool
         (
         (set #Datei (tackon @default-dest "MathCharDef"))
         (P_KeepIconPos)
         (copyfiles (source "RAM:SAP/MathCharDef") (dest @default-dest) (infos) (delopts "fail") (optional "oknodelete" "askuser"))
         )
     )
     
     (if #IconsBool
         (
         (set #Datei (tackon @default-dest "Piktogramme"))
         (P_KeepIconPos)
         (copyfiles (source "RAM:SAP/Piktogramme") (dest (tackon @default-dest "Piktogramme")) (all) (infos) (delopts "fail") (optional "oknodelete" "askuser"))
         )
     )
     
     (complete 39)
     
     (copylib (prompt #CopyRTLib)
              (help #CopyRTLibHelp @copylib-help)
              (source "RAM:SAP/reqtools.library")
              (dest "LIBS:")
              (confirm)
              (delopts "fail") (optional "oknodelete" "askuser"))
     
     (complete 40)
     
     (P_AufraeumenProgramm)
    )
)

(complete 41)

(if (OR #Entpacken2 (< @user-level 2))
    (
     (working #UnpackingDoks)
     (run ("unlzx x sapdoks.lzx ram:") (safe))
     
     (complete 55)

     (onerror (P_AufraeumenDoks))

     (if (AND (< @user-level 2) (NOT @pretend))
         (while (< (getdiskspace @default-dest)
                   (- (getsize "RAM:SAP/StarAm Plan.guide")
                      (if (exists (tackon #doks-dest "StarAm Plan.guide"))
                          (getsize (tackon #doks-dest "StarAm Plan.guide"))
                          0
                      )
                   )
                )
                (set #doks-dest (askdir
                                       (prompt #AskDir5)
                                       (help @askdir-help)
                                       (default #doks-dest)
                                       (disk)))
         )
     )

     (if (IN #DoksMask 0)
         (
         (set #Datei "Bitte Lesen")
         (P_CheckSize)
         (set #Datei (tackon #doks-dest "Bitte Lesen"))
         (P_KeepIconPos)
         (copyfiles (source "RAM:SAP/Bitte Lesen") (dest #doks-dest) (infos) (delopts "fail") (optional "oknodelete" "askuser"))
         )
     )
     (if (IN #DoksMask 1)
         (
         (set #Datei "ReadMeFirst!")
         (P_CheckSize)
         (set #Datei (tackon #doks-dest "ReadMeFirst!"))
         (P_KeepIconPos)
         (copyfiles (source "RAM:SAP/ReadMeFirst!") (dest #doks-dest) (infos) (delopts "fail") (optional "oknodelete" "askuser"))
         )
     )
     (complete 56)
     (if (IN #DoksMask 2)
         (
         (set #Datei "StarAm Plan.guide")
         (P_CheckSize)
         (set #Datei (tackon #doks-dest "StarAm Plan.guide"))
         (P_KeepIconPos)
         (copyfiles (source "RAM:SAP/StarAm Plan.guide") (dest #doks-dest) (infos) (delopts "fail") (optional "oknodelete" "askuser"))
         )
     )
     (if (<> @default-dest #doks-dest)
         (set #NoOnlineHelp 1)
     )
     (complete 69)
     (if (IN #DoksMask 3)
         (
         (set #Datei "StarAm Plan.dvi")
         (P_CheckSize)
         (set #Datei (tackon #doks-dest "StarAm Plan.dvi"))
         (P_KeepIconPos)
         (copyfiles (source "RAM:SAP/StarAm Plan.dvi") (dest #doks-dest) (infos) (delopts "fail") (optional "oknodelete" "askuser"))
         )
     )
     (complete 87)
     (if (IN #DoksMask 4)
         (
         (set #Datei "Quick Manual")
         (P_CheckSize)
         (set #Datei (tackon #doks-dest "Quick Manual"))
         (P_KeepIconPos)
         (copyfiles (source "RAM:SAP/Quick Manual") (dest #doks-dest) (infos) (delopts "fail") (optional "oknodelete" "askuser"))
         )
     )
     (complete 88)
     (if (IN #DoksMask 5)
         (
         (set #Datei "Geschichte")
         (P_CheckSize)
         (set #Datei (tackon #doks-dest "Geschichte"))
         (P_KeepIconPos)
         (copyfiles (source "RAM:SAP/Geschichte") (dest #doks-dest) (infos) (delopts "fail") (optional "oknodelete" "askuser"))
         )
     )
     (complete 90)
     (if (IN #DoksMask 6)
         (
         (set #Datei "History")
         (P_CheckSize)
         (set #Datei (tackon #doks-dest "History"))
         (P_KeepIconPos)
         (copyfiles (source "RAM:SAP/History") (dest #doks-dest) (infos) (delopts "fail") (optional "oknodelete" "askuser"))
         )
     )
     (if (IN #DoksMask 7)
         (
         (set #Datei "Registrierung")
         (P_CheckSize)
         (set #Datei (tackon #doks-dest "Registrierung"))
         (P_KeepIconPos)
         (copyfiles (source "RAM:SAP/Registrierung") (dest #doks-dest) (infos) (delopts "fail") (optional "oknodelete" "askuser"))
         )
     )
     (if (IN #DoksMask 8)
         (
         (set #Datei "Register")
         (P_CheckSize)
         (set #Datei (tackon #doks-dest "Register"))
         (P_KeepIconPos)
         (copyfiles (source "RAM:SAP/Register") (dest #doks-dest) (infos) (delopts "fail") (optional "oknodelete" "askuser"))
         )
     )
     (if (IN #DoksMask 9)
         (
         (set #Datei "Convert.dok")
         (P_CheckSize)
         (set #Datei (tackon #doks-dest "Convert.dok"))
         (P_KeepIconPos)
         (copyfiles (source "RAM:SAP/Convert.dok") (dest #doks-dest) (infos) (delopts "fail") (optional "oknodelete" "askuser"))
         )
     )
     (complete 91)
     (if (IN #DoksMask 10)
         (
         (if (NOT @pretend)
             (
             (set #Verzeichnis "Dateien")
             (while (< (getdiskspace #doks-dest) (P_SumSize))
                    (set #doks-dest (askdir
                                    (prompt #DiskVoll)
                                    (help   @askdir-help)
                                    (default #doks-dest)
                                    (disk)))
             )
             )
         )
         (working #ErmittleIconPos)
         (set #Datei (tackon #doks-dest "Dateien"))
         (P_KeepIconPos)
         (set #Pfad #doks-dest)
         (foreach "RAM:SAP/Dateien" "#?"
                  (
                  (set #Datei (tackon "Dateien" @each-name))
                  (P_KeepIconPos)
                  )
         )
         (set #Pfad "")
         (copyfiles (source "RAM:SAP/Dateien") (dest (tackon #doks-dest "Dateien")) (all) (infos) (delopts "fail") (optional "oknodelete" "askuser"))
         )
     )
     (complete 95)
     (if (IN #DoksMask 11)
         (
         (set #Datei "StarAm_Plan.cd")
         (P_CheckSize)
         (if (exists (tackon #doks-dest "StarAm_Plan.cd"))
             (
             (protect (tackon #doks-dest "StarAm_Plan.cd") "+w")
             (protect (tackon #doks-dest "StarAm_Plan.cd.info") "+w")
             )
         )
         (set #Datei (tackon #doks-dest "StarAm_Plan.cd"))
         (P_KeepIconPos)
         (copyfiles (source "RAM:SAP/StarAm_Plan.cd") (dest #doks-dest) (infos) (delopts "fail") (optional "oknodelete" "askuser"))
         (protect (tackon #doks-dest "StarAm_Plan.cd") "-w")
         )
     )
     (complete 96)
     (if (IN #DoksMask 12)
         (
         (set #Datei "StarAm_PlanGB.ct")
         (P_CheckSize)
         (set #Datei (tackon #doks-dest "StarAm_PlanGB.ct"))
         (P_KeepIconPos)
         (copyfiles (source "RAM:SAP/StarAm_PlanGB.ct") (dest #doks-dest) (infos) (delopts "fail") (optional "oknodelete" "askuser"))
         )
     )
     (complete 97)
     (if (IN #DoksMask 13)
         (
         (set #Datei "StarAm_PlanIT.ct")
         (P_CheckSize)
         (set #Datei (tackon #doks-dest "StarAm_PlanIT.ct"))
         (P_KeepIconPos)
         (copyfiles (source "RAM:SAP/StarAm_PlanIT.ct") (dest #doks-dest) (infos) (delopts "fail") (optional "oknodelete" "askuser"))
         )
     )
     
     (complete 98)

     (if (= (exists (tackon @default-dest "Dateien")) 0)
         (makedir (tackon @default-dest "Dateien")
                  (prompt #AskCreateDateien)
                  (help #AskCreateDateienHelp @makedir-help)
                  (infos)
                  (confirm))
     )

     (complete 99)

     (P_AufraeumenDoks)
    )
)

(complete 100)

(if (OR #NoOnlineHelp)
    (message #NoOnlineHelpMes)
)
