; CrazyBalls - Installer-Skript


; Die Texte für CrazyBalls...

(set p_dir "In welchem Verzeichnis soll CrazyBalls installiert werden?")
(set h_dir "Ein Unterverzeichnis für CrazyBalls wird automatisch mit angelegt.")

(set p_mwb "Sollen die MagicWB-Icons oder die normalen 4-farb-Icons installiert werden?")
(set h_mwb "Die MagicWB-Icons benötigen eine 8-farb-Workbench und die MagicWB-Palette, die allerdigs nicht in diesem Archiv enthalten ist")
(set c1_mwb "4-farb-Icons")
(set c2_mwb "MagicWB-Icons")


; ...Die Texte für den CrazyLevelEd

(set p_CLEd "\n\nSoll der CrazyLevelEd installiert werden?")
(set h_CLEd (cat "Mit Hilfe des CrazyLevelEd's lassen sich auf einfache Weise "
                 "eigene Level erstellen.\n"
                 "Er benötigt allerdings mindestens MUI3 und OS3.0"))

(set p_ctfile "Möchtest Du CrazyLevelEd in andere Sprachen übersetzen?")
(set h_ctfile (cat "Um in einem Programm verschiedene Sprachen unterstützen zu "
                   "können, benutzt das AmigaOS Katalog-Dateien. Diese werden "
                   "aus den .cd-Dateien (Catalog Description) mit Hilfe von "
                   "CatComp, FlexCat oder anderen Programmen erzeugt."))

(set p_ctfiledir "Wohin soll CrazyLevelEd.cd kopiert werden?")

(set p_GFX (cat "Welche Grafiken sollen standartmäßig verwendet werden?\n"
                "(siehe Hilfe für eine Beschreibung)"))
(set h_GFX (cat "Es werden drei Plattformicon-Sätze mitgeliefert, die sich in "
                "Farbzahl und Größe unterscheiden:\n\n"
                "small:\n"
                " 15x15 Pixel, 9 Farben\n\n"
                "medium:\n"
                " 19x19 Pixel, 9 Farben\n\n"
                "big:\n"
                " 20x20 Pixel, 32 Farben\n\n"
                "Das große Iconset ist identisch mit dem von CrazyBalls, "
                "man benötigt aber mindestens einen 32-Farben Screen. "
                "Für das medium und small-Set genügt ohne weiteres eine 16-Farben "
                "Workbench. Small ist bei kleinen Auflösungen sinnvoll.\n"
                "Am besten einfach mal eines ausprobieren. Das Iconset kann "
                "nachträglich durch Ändern der Tooltypes im CrazyLevelEd-Icon "
                "geändert werden."))
(set cs_GFX "small")
(set cm_GFX "medium")
(set cb_GFX "big")
                

; Und los!

(set @default-dest 
     (askdir (prompt  p_dir)
             (help    h_dir)
             (default "Ram:")))

(complete 5)

(set MagicWB
     (askchoice (prompt  p_mwb)
                (help    h_mwb)
                (choices c1_mwb c2_mwb)))

(complete 10)

(if (= MagicWB 1)
(
   (copyfiles (source "/CrazyBalls.info")
              (dest   @default-dest))
   
   (tooltype (dest (tackon @default-dest "CrazyBalls"))
             (noposition))
)
(
   (copyfiles (source "/Normal-Icons/CrazyBalls.info")
              (dest   @default-dest))
   
   (tooltype (dest (tackon @default-dest "CrazyBalls"))
             (noposition))
))

(complete 13)

(set @default-dest
     (tackon @default-dest "CrazyBalls"))

(complete 14)

(makedir @default-dest)

(complete 15)

(copyfiles (source  "/CrazyBalls/")
           (pattern "~(#?.info)")
           (dest    @default-dest)
           (files))

(complete 20)

(makedir (tackon @default-dest "Fonts"))
(makedir (tackon @default-dest "Levels"))
(makedir (tackon @default-dest "CrazyLevelEd"))

(complete 25)

(copyfiles (source "/CrazyBalls/Levels/")
           (pattern "~(#?.info)")
           (dest    (tackon @default-dest "Levels")))

(complete 30)

(copyfiles (source "/CrazyBalls/Fonts/")
           (pattern "~(#?.info)")
           (dest    (tackon @default-dest "Fonts")))

(complete 35)

(copyfiles (source "/CrazyBalls/CrazyLevelEd/PasswortEd")
           (dest    (tackon @default-dest "CrazyLevelEd")))

(complete 40)

(if (= MagicWB 1)
(
   (copyfiles (source  "/CrazyBalls/")
              (pattern "#?.info")
              (dest    @default-dest))
   
   (copyfiles (source  "/CrazyBalls/Levels/")
              (pattern "#?.info")
              (dest    (tackon @default-dest "Levels")))
   
   (copyfiles (source  "/CrazyBalls/CrazyLevelEd/PasswortEd.info")
              (dest    (tackon @default-dest "CrazyLevelEd")))
)
(
   (copyfiles (source  "/Normal-Icons/CrazyBalls/")
              (pattern "#?.info")
              (dest    @default-dest))
   
   (copyfiles (source  "/Normal-Icons/CrazyBalls/Levels/")
              (pattern "#?.info")
              (dest    (tackon @default-dest "Levels")))
   
   (copyfiles (source  "/Normal-Icons/CrazyBalls/CrazyLevelEd/PasswortEd.info")
              (dest    (tackon @default-dest "CrazyLevelEd")))
))


; CrazyLevelEd installieren...

(complete 50)

(if (= 1 (askbool (prompt  p_CLEd)
                  (help    h_CLEd)))
(
   (set CLEdest
        (tackon @default-dest "CrazyLevelEd"))
   
   (complete 55)
   
   (copyfiles (source "/CrazyBalls/CrazyLevelEd/CrazyLevelEd")
              (dest CLEdest))
   
   (complete 60)
   
   (copyfiles (source "/CrazyBalls/CrazyLevelEd/CrazyLevelEd.guide")
              (dest   CLEdest))
   
   (complete 65)
   
   (if (= 1 MagicWB)
   (
      (copyfiles (source "/CrazyBalls/CrazyLevelEd/CrazyLevelEd.info")
                 (dest   CLEdest))

      (complete 70)
      
      (copyfiles (source "/CrazyBalls/CrazyLevelEd/CrazyLevelEd.guide.info")
                 (dest   CLEdest))
   )
   (
      (copyfiles (source "/Normal-Icons/CrazyBalls/CrazyLevelEd/CrazyLevelEd.info")
                 (dest   CLEdest))
      
      (complete 70)
      
      (copyfiles (source "/Normal-Icons/CrazyBalls/CrazyLevelEd/CrazyLevelEd.guide.info")
                 (dest   CLEdest))
   ))
   
   (complete 75)
   
   (copyfiles (source "/CrazyBalls/CrazyLevelEd/")
              (dest CLEdest)
              (pattern "CLETools.#?"))
   
   (complete 80)
   
   (copyfiles (source  "/CrazyBalls/CrazyLevelEd/locale/CrazyLevelEd.deutsch")
              (dest    "Locale:Catalogs/deutsch")
              (newname "CrazyLevelEd.catalog"))
   
   (complete 90)
   
   (set CLE_GFX 
        (askchoice (prompt  p_GFX)
                   (help    h_GFX)
                   (choices cs_GFX cm_GFX cb_GFX)
                   (default 1)))
   
   (tooltype (dest (tackon CLEdest "CrazyLevelEd"))
             (settooltype "IMAGEFILE" 
                          (select CLE_GFX "CLETools.small" "CLETools.medium" "CLETools.big")))
   
   (if (= 1 (askbool (prompt p_ctfile)
                     (help   h_ctfile)))
   (
      (copyfiles (source "/CrazyBalls/CrazyLevelEd/locale/CrazyLevelEd.cd")
                 (dest   (askdir (prompt p_ctfiledir)
                                 (help   h_ctfile)
                                 (default CLEdest))))
   ))
))

(complete 100)

(exit "Na dann, viel SPASS mit\n\n\n\n"
      "C R A Z Y   B A L L S\n"
      "-------------------------\n")

