; $VER: installationscript 3.0 (25.5.95)
; Script to install LazyMines 3.0

;=============================================================================
;English strings

(if (= @language "english")
(
(set default_lang 0)
(set default_doc 0)

(set #bad-kick
     "You need at least version 37 of AmigaOS to run LazyMines.")

(set #how-install
     (cat "Do you want to install the whole program or just update the "
          "language catalogs?"))

(set #how-install-help
     (cat "Choose \"Install whole program\" if you are installing from "
          "scratch or if you are updating an old version.\n"
          "\nChoose \"Update languages\" if you want to install or remove "
          "language catalogs."))

(set #how-install-1 "Install whole program")
(set #how-install-2 "Update languages")

(set #where-install
     "Choose location where you want to install LazyMines.")

(set #which-documentation
     "Which documentation do you want to install with LazyMines?")

(set #which-documentation-help
     "Check the language you want to install with LazyMines.")

(set #which-icons
     "Which icons do you want to install with LazyMines?")

(set #which-icons-help
     (cat "Choose \"MagicWB icons\" if you have MagicWB installed, "
          "otherwise choose \"Standard icons\"."))

(set #which-icons-1 "MagicWB icons")
(set #which-icons-2 "Standard icons")

(set #no-languages
     (cat "You need at least version 38 of AmigaOS to have any use for the "
          "language catalogs."))

(set #where-languages
     "Where do you want to install the language catalogs?")

(set #where-languages-help
     (cat "This lets you choose if you want the language catalogs to be "
          "copied to the same location as the rest of the program, or if "
          "you want to have them in the global Catalog dir."))

(set #which-languages
     "Which language catalogs do you want to install with LazyMines?")

(set #which-languages-help
     (cat "Check all languages you want to install with LazyMines.\n"
          "\nIf a language already installed is not checked, "
          "it will be removed."))
))


;=============================================================================
;Norwegian strings

(if (= @language "norsk")
(
(set default_lang 2)
(set default_doc 1)

(set #bad-kick
     "Du trenger minst versjon 37 av AmigaOS for å kjøre LazyMines.")

(set #how-install
     (cat "Ønsker du å installere hele programmet eller kun oppdatere "
          "språkkatalogene?"))

(set #how-install-help
     (cat "Velg \"Installér hele programmet\" hvis du installerer fra"
          "grunnen eller hvis du oppdaterer en eldre versjon.\n"
          "\nVelg \"Oppdatér språk\" hvis du ønsker å installere eller"
          "fjerne språkkataloger."))

(set #how-install-1 "Installér hele programmet")
(set #how-install-2 "Oppdatér språk")

(set #where-install
     "Velg hvor du ønsker å installere LazyMines.")

(set #which-documentation
     "Hvilken dokumentasjon ønsker du å installere med LazyMines?")

(set #which-documentation-help
     "Merk av språkene du ønsker å installere med LazyMines.")

(set #which-icons
     "Hvilke ikoner ønsker du å installere med LazyMines?")

(set #which-icons-help
     (cat "Velg \"MagicWB ikoner\" hvis du har MagicWB installert, "
          "velg ellers \"Standard ikoner\"."))

(set #which-icons-1 "MagicWB ikoner")
(set #which-icons-2 "Standard ikoner")

(set #no-languages
     (cat "Du trenger minst versjon 38 av AmigaOS for å kunne benytte "
          "språkkatalogene."))

(set #where-languages
     "Hvor ønsker du å installere språkkatalogene?")

(set #where-languages-help
     (cat "Dette lar deg velge om du ønsker å kopiere språkkatalogene "
          "til den samme skuffen som resten av programmet, eller om du "
          "ønsker å ha dem i den globale Catalog-skuffen."))

(set #which-languages
     "Hvilke språkkataloger ønsker du å installere med LazyMines?")

(set #which-languages-help
     (cat "Merk alle språk du ønsker å installere med LazyMines.\n"
          "\nHvis allerede installerte språk ikke merkes, vil "
          "disse fjernes."))
))


;=============================================================================
; Swedish strings

(if (= @language "svenska")
(
(set default_lang 8)
(set default_doc 2)

(set #bad-kick
     "Du behöver minst version 37 av AmigaOS för att kunna köra LazyMines.")

(set #how-install
     (cat "Vill du installera hela programmet eller bara uppdatera "
          "översättningsfilerna?"))

(set #how-install-help
     (cat "Välj \"Installera allt\" om du inte har en tidigare "
          "version installerad eller om du skall uppdatera en gammal "
          "version.\n"
          "\nVälj \"Uppdatera översättningar\" om du vill installera eller "
          "ta bort översättningsfiler."))

(set #how-install-1 "Installera allt")
(set #how-install-2 "Uppdatera översättningar")

(set #where-install
     "Välj position där du vill installera LazyMines.")

(set #which-documentation
     "Vilken dokumentation vill du installera med LazyMines?")

(set #which-documentation-help
     "Markera den dokumentation du vill installera med LazyMines.")

(set #which-icons
     "Vilka ikoner vill du installera med LazyMines?")

(set #which-icons-help
     (cat "Välj \"MagicWB-ikoner\" om du har MagicWB installerat, "
          "välj annars \"Standardikoner\"."))

(set #which-icons-1 "MagicWB-ikoner")
(set #which-icons-2 "Standardikoner")

(set #no-languages
     (cat "Du behöver minst version 38 av AmigaOS för att ha någon "
          "användning av översättningsfilerna."))

(set #where-languages
     "Var vill du installera översättningsfilerna?")

(set #where-languages-help
     (cat "Detta låter dig välja om du vill att översättningsfilerna skall "
          "kopieras till samma position som resten av programmet, eller om "
          "du vill spara dem globalt."))

(set #which-languages
     "Vilka översättningsfiler vill du installera?")

(set #which-languages-help
     (cat "Markera alla översättningar som du vill installera.\n"
          "\nOm ett språk som redan blivit installerat inte markeras kommer "
          "det att raderas."))
))


;=============================================================================
;Procedures

(procedure install-program
  (set @default-dest prog-dest)
  (copylib (source (tackon sourcedir "LazyMines"))
           (dest prog-dest)))

(procedure install-documentation
  (set which-documentation (askchoice (prompt #which-documentation)
                                      (help #which-documentation-help)
                                      (choices "English"
                                               "Norsk"
                                               "Svenska")
                                      (default default_doc)))
  (set doc "English.guide")
  (if (= which-documentation 0)
      (install-doc))
  (set doc "Norsk.guide")
  (if (= which-documentation 1)
      (install-doc))
  (set doc "Svenska.guide")
  (if (= which-documentation 2)
      (install-doc)))

(procedure install-doc  
  (copyfiles (source (tackon doc-srcdir doc))
             (dest prog-dest)
             (newname "LazyMines.guide")))

(procedure install-icons
  (set which-icons (askchoice (prompt #which-icons)
                              (help #which-icons-help)
                              (choices #which-icons-1 #which-icons-2)))
  (if (= which-icons 0)
      ((set icon-srcdir (tackon icon-srcdir "misc"))
       (set docicon-src (tackon icon-srcdir "LazyMines.guide.info"))))
  (copyfiles (source icon-srcdir)
             (dest prog-dest)
             (choices "LazyMines.info"))
  (copyfiles (source docicon-src)
             (dest prog-dest)
             (newname "LazyMines.guide.info"))
  (tooltype (dest (tackon prog-dest "LazyMines"))
            (noposition))
  (tooltype (dest (tackon prog-dest "LazyMines.guide"))
            (noposition)))

(procedure install-locales
  (set where-languages (askchoice (prompt #where-languages)
                                  (help #where-languages-help)
                                  (choices locale-dest
                                           locale-sysdest)))
  (if (= where-languages 1)
      (set locale-dest locale-sysdest))
  (set which-languages (askoptions (prompt #which-languages)
                                   (help #which-languages-help)
                                   (choices "Deutsch"
                                            "Norsk"
                                            "Polski"
                                            "Svenska")
                                   (default default_lang)))
  (set locale "deutsch")
  (if (IN which-languages 0)
      (install-locale)
      (remove-locale))
  (set locale "norsk")
  (if (IN which-languages 1)
      (install-locale)
      (remove-locale))
  (set locale "polski")
  (if (IN which-languages 2)
      (install-locale)
      (remove-locale))
  (set locale "svenska")
  (if (IN which-languages 3)
      (install-locale)
      (remove-locale)))

(procedure install-locale
  (makedir locale-dest)
  (makedir (tackon locale-dest locale))
  (copylib (source (tackon (tackon locale-srcdir locale) "lazymines.catalog"))
           (dest (tackon locale-dest locale))))

(procedure remove-locale
  (delete (tackon (tackon locale-dest locale) "lazymines.catalog"))
  (if (NOT (= locale-dest locale-sysdest))
      ((delete (tackon locale-dest locale))
       (delete locale-dest))))


;=============================================================================
; Main program

(if (< (/ (getversion) 65536) 37)
    (abort #bad-kick))

(welcome)

(set sourcedir (tackon (pathonly @icon) "/"))
(set doc-srcdir (tackon sourcedir "Docs"))
(set icon-srcdir sourcedir)
(set docicon-src (tackon doc-srcdir "English.guide.info"))
(set locale-srcdir (tackon sourcedir "Catalogs"))
(set locale-sysdest "LOCALE:Catalogs")

(set prog-dest (askdir (prompt #where-install)
                       (help @askdir-help)
                       (default @default-dest)))

(set how-install (askchoice (prompt #how-install)
                            (help #how-install-help)
                            (choices #how-install-1 #how-install-2)))

(if (= how-install 0)
    ((install-program)
     (install-documentation)
     (install-icons)
     (run (cat "convscorefile \"" prog-dest "\"")))
    (set @default-dest ""))

(if (< (/ (getversion) 65536) 38)
    (exit #no-languages))

(set locale-dest (tackon prog-dest "Catalogs"))
(install-locales)