; $VER: Install_Jongl V2.0 (23.6.96)
; Script zum Installieren des Jongliersimulationsprogramms Jongl!
; von Martin Hoffmann (zweiter Versuch)
; und Werner Riebesel (erster Versuch)
;
; Bitte nich anschauen, da nich so toll. wird aber besser.
;
;=============================================================================
;
; ersma n Haufn Texte definieren:
;
;=============================================================================
;
(complete 0)

(set version "4.6")

;english strings

(set deflang    2)
(set deflangtxt "English")
(if (= @language "english")
  (
    (set #hallo
      (cat "\nWelcome to the installation of the\n"
           "juggling simulation program\n\n"
           "JONGL V%s\n"
           "Only with JONGL you can watch chain saw passing\n"
           "in realtime and 3D\n"
           "Written by The Werner and Martin\n"
           "By the way: it's the only relevant program in this area.\n"
      )
    )
    (set #lahmrechner
      (cat "You still have an old Computer and want to see\n"
           "realtime 3D-Graphics?\n\n"
           "You have the choice to:\n\n"
           "1. Forget it\n"
           "2. Use the Version 4.1 of Jongl\n (not in this archive but in aminet)\n"
      )
    )
    (set #Wohin
      (cat "Please enter the place where JONGL should be installed.\n"
           "The directory 'jongl' will be generated there."
      )
    )
    (set #WohinHelp "Choose directory! Hurry up! I make the dir 'jongl' by myself!")
    (set #VersionsWahl "Which version do you want to install?")
    (set #VersionsHelp
      (cat "If you are a lucky owner of an AMIGA with Math coprocessor "
           "and at least a 68020, then install the appropriate version. "
           "You are rewarded with superb features including "
           "fisheye and vomiting modes and other features"
      )
    )
    (set #CopyStandard "Copying the main files to ")
    (set #CopyStandardHelp "Why do you press help?")
    (set #ifflib "Now copying 'iff.library' to LIBS:")
    (set #CopyObjects "Please wait, I am copying the objects.")
    (set #CopyFont1 "Copying 'Jongl.Font'")
    (set #CopyFont2 "Copying 'Jongl.Font' now")
    (set #Zusatz "Do you want to install some of the additional programs?")
    (set #ZusatzHelp
      (cat "These programs are helpful for those jugglers who aren't "
           "afraid of juggling theory. "
           "You can compose and view any site swap patterns."
      )
    )
    (set #CopyZusatz "Which additional programs should be copied?")
    (set #CopyZusatzHelp
      (cat "J2: composes lots of site swap patterns\n\n"
           "J2konv: converts j2 output to jongl input\n\n"
           "freestyle: makes freestyle patterns\n\n"
           "V2J: converts videoscape objects into jongl objects"
      )
    )
    (set #CopyMuster "Which juggling patterns should be copied?")
    (set #CopyMusterHelp
      (cat "The numbers denote the number of objects in the pattern. "
           "Thats all."
      )
    )
    (set #NixGewaehlt "You should choose at least one!")
    (set #CopyMuster2
      (cat "Now I am copying the selected juggling patterns.\n"
           "It could take quite a long time since there a so many of them."
      )
    )
    (set #1001 "Do you REALLY want to install the patterns with 1001 objects?")
    (set #1001Help "Attention: This could be a gag  -  perhaps I will format the hard drive...")
    (set #1001Narr "You fool. There are no patterns with 1001 objects.")
    (set #Fertich
      (cat "I'm so sorry. The installation is now over.\n"
           "'Jongl' is in the directory 'Jongl' and can be started with 'Jongl'.\n\n"
           "Help is available with 'Jongl info'"
      )
    )
  )
) ; Ende von "english"  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;
(if (= @language "deutsch")
  (
    (set deflang    1)
    (set deflangtxt "Deutsch")

    (set #hallo
      (cat "Wilkommen zur Installation des Jongliersimulationsprogramms \n\n"
           "JONGL! V%s\n\n"
           "Dem einzigen Jongliersimulationsprogramm mit Kettensgen und\n"
           "3D Echtzeitdarstellung \n\n"
           "Geschrieben von The Werner und Martin\n\n"
           "brigens das einzige relevante Programm in diesem Bereich."
      )
    )
    (set #lahmrechner
      (cat "Auf soo lahmen Rechnern luft das Programm nun\n"
           "aber nimmer! V4.1 ist da um einiges toleranter\n"
           "das gibts auf der Aminet CD 13 - misc/edu/jongl.lha"
      )
    )
    (set #Wohin
      (cat "Wohin soll das Jongl Programm ?\n"
           "Ein Unterverzeichnis namens Jongl wird automatisch erzeugt"
      )
    )
    (set #WohinHelp
       (cat "Verzeichnis auswhlen aber dalli du Schnarchzapfen! Das Unterverzeichnis"
            "erzeuge aber ich, ist das klar?"
       )
    )
    (set #VersionsWahl "Wasfrne Version soll installiert werden?")
    (set #VersionsHelp
       (cat  "Falls Du in der glcklichen Lage bist, einen "
             "Amiga mit Mathecoprozessor zu haben, dann ist "
             "es empfehlenswert, die 68881 Version zu installieren. "
             "Dafr gibt es dann auch tolle Features wie Verzerrung, "
             "Kotz-Modus, etc. Falls "
             "nicht, dann nicht.\n"
             "einen 68020 Hauptprozessor brauchten aber beide Versionen."
       )
    )
    (set #CopyStandard "Ich kopiere jetzt alle notwendigen Dateien in ")
    (set #CopyStandardHelp "Das wird so gemacht, wie es dasteht, da gibts nich viel zu rtseln")
    (set #ifflib "Ich kopiere jetzt die 'iff.library' nach LIBS:")
    (set #CopyObjects "Bitte warten, ich kopiere nun die Objekte")
    (set #CopyFont1 "Nun wird der Zeichensatz 'Jongl.Font' kopiert")
    (set #CopyFont2 "Kopiere nun den Zeichensatz")
    (set #Zusatz "Sollen auch welche von den Zusatzprogrammen installiert werden?")
    (set #ZusatzHelp
      (cat "Die Zusatzprogramme sind notwendig fr den Theoriejongleur, "
           "der auch eigene site-swap Muster erzeugen will."
      )
    )
    (set #CopyZusatz "Welche Zusatzprogramme sollen kopiert werden?")
    (set #CopyZusatzHelp
      (cat "J2: Gibt mgliche site-swap Muster aus \n\n"
           "J2Konv: Konvertiert J2-Output in Jongl-Input\n\n"
           "Freestyle: produziert zufllige Muster\n\n"
           "V2J: Wandelt Videoscape-Dateien in Jongl-Objekte um"
      )
    )
    (set #CopyMuster "Welche Muster sollen kopiert werden?")
    (set #CopyMusterHelp
      (cat "Die Zahlen geben die Anzahl der Objekte im Muster an. "
           "So einfach ist das."
      )
    )
    (set #NixGewaehlt "Irgendwas solltest Du schon auswhlen.")
    (set #CopyMuster2
      (cat "Kopiere nun die ausgewhlten Muster\n\n"
           "Das kann etwas dauern, da es eine Menge Muster gibt"
      )
    )
    (set #1001
      (cat "Sollen die Muster mit 1001 Objekten auch wirklich "
           "installiert werden?"
      )
    )
    (set #1001Help
      (cat "Vorsicht, das knnte ein Gag sein - Vielleicht wird ja auch nur "
           "das angegebene Laufwerk formatiert"
      )
    )
    (set #1001Narr "Es gibt keine Muster mit 1001 Objekten Du Narr!")
    (set #Fertich
      (cat "Die Installation ist nun leider vorbei! (Schade)\n\n"
           "Das Programm liegt im Unterverzeichnis "
           "'Jongl' und kann nun mit 'Jongl' gestartet werden.\n\n "
           "Hilfe gips mit 'Jongl info' "
      )
    )
  )
) ; Ende von "deutsch"
;
;
;
; Langsame CPU-Versionen ausschlieen
;
(set cpu (database "cpu"))
;
(if (= cpu "68000")
  (abort #lahmrechner)
)
(if (= cpu "68010")
  (abort #lahmrechner)
)
;
;=============================================================================
;
; Begrung
;
(message (#hallo version))
;
(Welcome)
;
;=============================================================================
;
; wohin soll die Datenflut
;
;
(set userlevel @user-level)

(set Jongl_dest
   (askdir
      (prompt #Wohin)
      (help #WohinHelp)
      (default @default-dest)
   )
)
(Makedir (tackon jongl_dest "Jongl") 
  (infos)
)
(Makedir (tackon jongl_dest "Jongl/m"))
(Makedir (tackon jongl_dest "Jongl/o"))
(set @default-dest (tackon Jongl_dest "Jongl"))
;
;=============================================================================
;
; ask which cpu version to install
;

(set prog 1)
(if (= cpu "68020") (set prog 0))
(if (= cpu "68030") (set prog 1))
(if (= cpu "68040") (set prog 1))
(if (= cpu "68060") (set prog 1))

; Ask version of program

(set cpuversion
   (askchoice
      (prompt #VersionsWahl)
      (choices "68020 Version" "68020 / 68881 Version")
      (if (< (database "cpu") "68881")
          (default prog)
      )
      (help #VersionsHelp)
   )
)

;=============================================================================
; copy Jongl
;
(Complete 20)
(Copyfiles
   (Prompt (cat #CopyStandard @jongl_dest))
   (Help #CopyStandardHelp)
   (source "")
   (dest @default-dest)
   (files)
   (infos)
   (Choices "Jongl.info" "List_Of_Objects" "List_Of_People" "List_Of_Sounds" "LOO"
            "Jongl.Guide" "JonglEngl.Guide"
   )
   (NoGauge)
   (Confirm)
)
(Copyfiles
   (if (= @Language "Deutsch")
       (source "Boden")
       (source "Floor")
   )
   (dest @default-dest)
   (files)
   (NoGauge)
)
(Copyfiles
   (source "sounds/")
   (Pattern "#?")
   (Dest (tackon Jongl_dest "Jongl/sounds"))
   (files)
   (NoGauge)
)
;
; Die Dateien LOO und Boden mit Spript-Flags versehen
;
(Protect (Tackon @default-dest "LOO") 64)
(if (= @Language "Deutsch")
  (Protect (Tackon @default-dest "Boden") 64)
  (Protect (Tackon @default-dest "Floor") 64)
)
;
;(Copyfiles
;  (source "JonglStart_inst")
;  (dest @default-dest)
;  (newname "Jonglstart")
;)
(Copyfiles
   (source
      (tackon 
      ("")
         (if (= cpuversion 0)
              ("Jongl020")
              ("Jongl020881")
         )
      )
   )
   (dest @default-dest)
   (Newname "Jongl")
   (NoGauge)
)
(Copyfiles
   (source
     (tackon
       ("")
       (if (= @language "deutsch")
         (
           ("Jongl.Prefs_D")
         )
         (
           ("Jongl.Prefs_E")
         )
       )
     )
   )
   (dest @default-dest)
   (Newname "Jongl.Prefs")
   (NoGauge)
)
;=============================================================================
; iff.library installieren
;
(Complete 35)
(Message #ifflib)
(Copylib
  (source "libs/iff.library")
  (Dest "libs:")
  (nogauge)
)
;=============================================================================
; nun die Objekte Installieren
;
(Complete 40)
(Working #CopyObjects)
(Copyfiles
   (source "O/")
   (Pattern "#?")
   (Dest (tackon Jongl_dest "Jongl/O"))
   (NoGauge)
)
;=============================================================================
; nun den Zeichensatz Installieren
;
(Complete 60)
(Message #CopyFont1)
(Working #CopyFont2)
;
;
(Copyfiles
  (source "Fonts/")
  (Choices "Jongl")
  (Dest "Fonts:")
  (Fonts)
  (NoGauge)
)
;=============================================================================
; Soll irgendwas spezielles installiert werden?

(Complete 70)
(if    (askbool
          (prompt #Zusatz)
          (help #ZusatzHelp)
          (default 1)
       )    
   (
     (set Zus
       (askoptions
         (prompt #CopyZusatz)
         (help  #CopyZusatzHelp)
         (choices "J2" "J2Konv" "Freestyle" "V2J")
         (default 15)
       )
     )
     (if (in Zus 0)
        (Copyfiles
          (source "")
          (Choices "J2.c" "J2" "J2.Guide" "Notation.Guide")
          (Infos)
          (Dest (tackon Jongl_dest "Jongl"))
          (NoGauge)
        )
     )
     (if (in Zus 1)
       (Copyfiles
          (source "")
          (dest (tackon Jongl_dest "Jongl"))
          (Choices "J2Konv" "J2Konv.Guide")
          (NoGauge)
       )
     )
     (if (in Zus 2)
       (Copyfiles
          (source "")
          (dest (tackon Jongl_dest "Jongl"))
          (Choices "Freestyle")
          (NoGauge)
       )
     )
     (if (in Zus 3)
       (Copyfiles
          (source "")
          (dest (tackon Jongl_dest "Jongl"))
          (Choices "V2J" "V2J.guide")
          (NoGauge)
       )
     )
   )
)
;=============================================================================
; nun die Muster Installieren
;
(Complete 80)
(Set Muster 0)
(set @default-dest (tackon Jongl_dest "Jongl/m"))
(While (= Muster 0)
   (set Muster
     (askoptions
         (prompt #CopyMuster)
         (help  #CopyMusterHelp)
         (choices "3" "4" "5" "6" "7" "8" "9" "10" "11" "12" "13" "14" "15"
                  "16-19" "20-29" ">30" "1001"
         )
         (default 65535)
     )
   )
   (if (= Muster 0) 
      (Message #NixGewaehlt)
   )
)
(Working #CopyMuster2)
(if (in Muster 0)
    (Copyfiles
    (source "M")
    (dest @default-dest)
    (Pattern "3#?")
    (NoGauge)
    )
)
(if (in Muster 1)
    (Copyfiles
    (source "M")
    (dest @default-dest)
    (Pattern "4#?")
    (NoGauge)
    )
)
(if (in Muster 2)
    (Copyfiles
    (source "M")
    (dest @default-dest)
    (Pattern "5#?")
    (NoGauge)
    )
)
(if (in Muster 3)
    (Copyfiles
    (source "M")
    (dest @default-dest)
    (Pattern "6#?")
    (NoGauge)
    )
)
(if (in Muster 4)
    (Copyfiles
    (source "M")
    (dest @default-dest)
    (Pattern "7#?")
    (NoGauge)
    )
)
(if (in Muster 5)
    (Copyfiles
    (source "M")
    (dest @default-dest)
    (Pattern "8#?")
    (NoGauge)
    )
)
(if (in Muster 6)
    (Copyfiles
    (source "M")
    (dest @default-dest)
    (Pattern "9#?")
    (NoGauge)
    )
)
(if (in Muster 7)
    (Copyfiles
    (source "M")
    (dest @default-dest)
    (Pattern "10#?")
    (NoGauge)
    )
)
(if (in Muster 8)
    (Copyfiles
    (source "M")
    (dest @default-dest)
    (Pattern "11#?")
    (NoGauge)
    )
)
(if (in Muster 9)
    (Copyfiles
    (source "M")
    (dest @default-dest)
    (Pattern "12#?")
    (NoGauge)
    )
)
(if (in Muster 10)
    (Copyfiles
    (source "M")
    (dest @default-dest)
    (Pattern "13#?")
    (NoGauge)
    )
)
(if (in Muster 11)
    (Copyfiles
    (source "M")
    (dest @default-dest)
    (Pattern "14#?")
    (NoGauge)
    )
)
(if (in Muster 12)
    (Copyfiles
    (source "M")
    (dest @default-dest)
    (Pattern "15#?")
    (NoGauge)
    )
)
(if (in Muster 13)
  (
    (Copyfiles
    (source "M")
    (dest @default-dest)
    (Pattern "16#?")
    (NoGauge)
    )
    (Copyfiles
    (source "M")
    (dest @default-dest)
    (Pattern "17#?")
    (NoGauge)
    )
    (Copyfiles
    (source "M")
    (dest @default-dest)
    (Pattern "18#?")
    (NoGauge)
    )
    (Copyfiles
    (source "M")
    (dest @default-dest)
    (Pattern "19#?")
    (NoGauge)
    )
  )
)
(if (in Muster 14)
  (
    (Copyfiles
    (source "M")
    (dest @default-dest)
    (Pattern "2?_#?")
    (NoGauge)
    )
  )
)
(if (in Muster 15)
  (
    (Copyfiles
    (source "M")
    (dest @default-dest)
    (Pattern "3?_#?")
    (NoGauge)
    )
  )
)
;
(if (in Muster 16)
  (if (askbool
        (prompt #1001)
        (help #1001Help)
        (default 1)
    )    
   (Message #1001Narr)
   )
)
;****************************************************************************
;
; Exit
;
(set @default-dest (tackon Jongl_dest "Jongl"))
(run "Avail >NIL: FLUSH")
(complete 100)
(exit #Fertich)

