; $VER: Install_Tossword 1.19 (04.04.96)
;
; Distributed as a part of TossWord archive.
; TossWord is Copyright (C) 1995-96 by Dmitry Mikhilov, Saint-Petersburg, Russia.
;
; Feel free to add other language-specific strings to this installer script.

; ******************* For each used language ***************************************
                                                                                 ; *
(set english 1) ; If you're adding other language(s), please, use shifted mask     *
(set russian 2) ; for identifier, i.e. (set french 8) (set dansk 16) and so on...  *
(set deutsch 4) ;                                                                  *
                                                                                 ; *
; **********************************************************************************

(set #rusfontdir "SYS:Fonts_Rus") ; Russian fonts reside in a seperate directory
(set #left  1)
(set #right 2)

(complete 0)                           
(set #settings_popup "POPUP_SETTINGS"                                         )
(set #use_bobs       "USE_BOBS"                                               )
(set #english-name  "english"                                                 )
(set #russian-name  "russian"                                                 )
(set #deutsch-name  "deutsch"                                                 )
(set #english-name_ "english"                                                 )
(set #russian-name_ "russian"                                                 )
(set #deutsch-name_ "deutsch"                                                 )
(set #check-system  "\n\nFirst of all, let me check your system..."           )
(set #main          "Main"                                                    )
(set #tossword      "TossWord"                                                )
(set #bad-cpu       "\n\nCPU 68020+ needed."                                  )
(set #no-mui        "\n\nMUI V3.1+ needed."                                   )
(set #old-kickstart "\n\nKickstart 3.0+ (39.xx+) needed"                      )
(set #old-reqtools  "\n\nReqtools V38+ needed"                                )
(set #create-dir    "\n\nGoing to put TossWord in it's home drawer"           )
(set #copy-main     "\n\nCopying the main program to it's home drawer"        )
(set #select-lang   "Select which languages you are planning to use:"         )
(set #copy-eng      "\n\nCopying English-related files"                       )
(set #copy-deu      "\n\nCopying Deutsch-related files"                       )
(set #copy-rus      "\n\nCopying Russian-related files"                       )
(set #copy-ruscat   "\n\nCopying russian catalog to LOCALE:Catalogs/Russian"  )
(set #copy-deucat   "\n\nCopying deutsch catalog to LOCALE:Catalogs/Deutsch"  )
(set #select-help   "Which help files do you wish to install?"                )
(set #copy-enghelp  "\n\nÐopying English documentation..."                    )
(set #copy-deuhelp  "\n\nÐopying Deutsch documentation..."                    )
(set #copy-rushelp  "\n\nÐopying Russian documentation..."                    )
(set #yes           "Yes"                                                     )
(set #no            "No"                                                      )
(set #have_aga      "\n\nDo you have an AGA computer?"                        )
(set #left-player   "\"Left\" player"                                         )
(set #right-player  "\"Right\" player"                                        )
(set #settings  (cat
  "\n\nDo you want the settings window to pop up each time you start the "
  "program? "
))
(set #settings_help (cat
  "In order to start playing, at least one name of human player must be specified "
  "if you didn't explicitly do that via \"XXX_PLAYERS\" tooltype where XXX stays "
  "for the name of your preferred language. You can enter this name (or names) in "
  "settings window each time you launch the TossWord. "
))
(set #welcome (cat
  "Welcome to TossWord installation utility. Please, choose your user level "
  "(based upon your knowledge of Amiga)"
))
(set #have_aga_help (cat
  "AGA machines are capable of displaying sprites wider than 16 bits. "
  "In this case you'd better use sprites instead of bobs while playing TossWord. "
  "If you do not have an AGA machine, then TossWord's icon must contatin tooltype "
  "USE_BOBS, which will be put there by the installer."
))
(set #copy-engfonthelp (cat
  "This font is a standard Amiga font. It will be used to show player's letters. "
  "By default, it's name is specified in TossWord's icon: FONT=TossWord.16 "
  "It will be used, when you play NOT in Russian language. The height of font "
  "may vary from 14 till 18 (inclusively). If you already have some (preferably "
  "proportional) standard Amiga fonts with neccesary size(s) in your system, "
  "then do not copy Tossword.font. Anyway, be sure, that the font, specified in "
  "TossWord's icon, with exactly the same size exists in your system! Feel free "
  "to change font's name and size in the icon, if neccessary."
))
(set #copy-engfont (cat
  "Do you wish to install TossWord font which may be used as default font "
  "when using languages, supported as standard on Amiga? "
))
(set #tell-dest "Would you tell me where can I create (find) the \"TossWord\" drawer?")
(set #old-rusifier (cat
  "It seems to me that you either do not have the Rusifier installed, or "
  "it is an outdated version (minimum V6.00 required). Playing in Russian "
  "language will not be available in this case! "
))
(set #anyplayers "Don't you want to specify one or two names of \"default\" TossWord players for ")
(set #anyplayers_help (cat
  "After launching of the TossWord you may start the game immediately without specifying "
  "the name(s) of the player(s) if one or two names are defined \"by default\""
))
(set #lang " language?")                                                                  ; *
(set #select-player "Which name(s) do you wish to define as default ones?")
(set #select-player-help (cat
  "The letter banks of human players in TossWord reside near rightmost and leftmost sides "
  " of the playfield - that's why players are called the \"left\" and \"right\" one."
))
(set #getname "Please, input first and last names of the player")
(set #getnamehelp (cat
  "Player's names may always travel around the world as a part of table of "
  "highscores which is hidden inside TossWord's dictionary. That's why you have "
  "to specify both first and last names of the player (first name is also shown during the "
  "gameplay). "
))

; ***************** For each other language **************************************************
                                                                                           ; *
(if (= @language "russian")                                                                ; *
  (                                                                                        ; *
    (set #english-name  "Aìâêçèðéçè"                                                     ) ; *
    (set #russian-name  "Ïòððéçè"                                                        ) ; *
    (set #deutsch-name  "Ìäëäõéçè"                                                       ) ; *
    (set #english-name_ "aìâêçèðéíë"                                                     ) ; *
    (set #russian-name_ "ïòððéíë"                                                        ) ; *
    (set #deutsch-name_ "ìäëäõéíë"                                                       ) ; *
    (set #check-system  "\n\nÎïäåãä áðäâí þ îïíáäïý áaøò ðçðñäëò..."                     ) ; *
    (set #bad-cpu       "\n\nÑïäàòäñðþ îïíõäððíï 68020+"                                 ) ; *
    (set #no-mui        "\n\nÑïäàòäñðþ MUI V3.1+"                                        ) ; *
    (set #old-kickstart "\n\nÑïäàòäñðþ Kickstart 3.0+ (39.xx+)"                          ) ; *
    (set #old-reqtools  "\n\nÑïäàòäñðþ Reqtools V38+"                                    ) ; *
    (set #create-dir    "\n\nÎíãúðéçáaý éañaêíâ ãêþ ïaæëäùäìçþ îïíâïaëëìúô óaèêíá"       ) ; *
    (set #copy-main     "\n\nÉíîçïòý íðìíáìòý îïíâïaëëò"                                 ) ; *
    (set #select-lang   "Áúàäïçñä þæúéç, éíñíïúä àòãäñä çðîíêûæíáañû á çâïä:"            ) ; *
    (set #copy-eng      "\n\nÉíîçïòý óaèêú ãêþ aìâêçèðéíâí þæúéa"                        ) ; *
    (set #copy-rus      "\n\nÉíîçïòý óaèêú ãêþ ïòððéíâí þæúéa"                           ) ; *
    (set #copy-deu      "\n\nÉíîçïòý óaèêú ãêþ ìäëäõéíâí þæúéa"                          ) ; *
    (set #copy-ruscat   "\n\nÉíîçïòý ïòððéçè þæúéíáíè éañaêíâ á LOCALE:Catalogs/Russian" ) ; *
    (set #copy-deucat   "\n\nÉíîçïòý ìäëäõéçè þæúéíáíè éañaêíâ á LOCALE:Catalogs/Deutsch") ; *
    (set #select-help   "Ðîïaáíöìúä óaèêú ìa éaéçô þæúéaô îïäãðñaáêþýñ ãêþ áað çìñäïäð?" ) ; *
    (set #copy-enghelp  "\n\nÉíîçïòý aìâêçèðéòý ãíéòëäìñaõçý..."                         ) ; *
    (set #copy-rushelp  "\n\nÉíîçïòý ìäëäõéòý ãíéòëäìñaõçý..."                           ) ; *
    (set #copy-rushelp  "\n\nÉíîçïòý ïòððéòý ãíéòëäìñaõçý..."                            ) ; *
    (set #yes           "Ãa"                                                             ) ; *
    (set #no            "Ìäñ"                                                            ) ; *
    (set #have_aga      "\n\nÒ áað AGA éíëîûýñäï (ìaîïçëäï, A1200 çêç A4000)?"           ) ; *
    (set #left-player   "\"Êäáúè\" çâïíé"                                                ) ; *
    (set #right-player  "\"Îïaáúè\" çâïíé"                                               ) ; *
    (set #welcome (cat                                                                     ; *
      "Ãíàïí îíåaêíáañû á çìðñaêþñíï îïíâïaëëú \"Üïòãçñ\".\nÎíåaêòèðña, òéaåçñä ðñäîäìû "  ; *
      "áaøäè îíãâíñíáêäììíðñç, éaé îíêûæíáañäêþ Aëçâç..."                                  ; *
    ))                                                                                     ; *
    (set #settings  (cat                                                                   ; *
      "\n\nÌaãí êç ðãäêañû ñaé, öñíàú íéìí òðñaìíáíé \"Üïòãçña\" aáñíëañçöäðéç îíþáêþêíðû "; *
      "îïç éaåãíë æaîòðéä îïíâïaëëú?"                                                      ; *
    ))                                                                                     ; *
    (set #settings_help (cat                                                               ; *
      "Ìäíàôíãçëúë òðêíáçäë ãêþ ìaöaêa çâïú þáêþäñðþ ááíã çëäìç îí éïaèìäè ëäïä íãìíâí "   ; *
      "çâïíéa-öäêíáäéa. Äðêç üñí çëþ (çëäìa) ìä íîïäãäêäìí (íîïäãäêäìú) á îaïaëäñïä "      ; *
      " çéíìéç \"XXX_PLAYERS\" (âãä XXX ðííñáäñðñáòäñ ñäéòùäëò þæúéò áaøäè ðçðñäëú), "     ; *
      "ñí áaë îïçã½ñðþ éaåãúè ïaæ áïòöìòý íñéïúáañû íéìí òðñaìíáíé ç ááíãçñû çëäìa "       ; *
      "çâïíéíá. Äðêç áú æaôíñçñä, íéíøéí òðñaìíáíé ðñaìäñ aáñíëañçöäðéç íñéïúáañûðþ îïç "  ; *
      "éaåãíë ðñaïñä îïíâïaëëú. "                                                          ; *
    ))                                                                                     ; *
    (set #have_aga_help (cat                                                               ; *
      "AGA-éíëîûýñäïú ëíâòñ áíðîïíçæáíãçñû ðîïaèñú, öûþ øçïçìa îïäáúøaäñ 16 àçñ, öñí ç "   ; *
      "ñïäàòäñðþ ãêþ \"Üïòãçña\". Äðêç ò áað ìä AGA-éíëîûýñäï, ñí çìðñaêþñíï îíëäðñçñ "    ; *
      "á çìðñïòëäìñaïçè çéíìéç \"Üïòãçña\" ðñïíéò USE_BOBS ç áëäðñí ðîïaèñíá àòãòñ "       ; *
      "çðîíêûæíáaìú \"àíàú\" (àêçññäïìúä íàÿäéñú)."                                        ; *
    ))                                                                                     ; *
    (set #copy-engfonthelp (cat                                                            ; *
      "Üñí ðñaìãaïñìúè aëçâíáðéçè (ìä ïòðçóçõçïíáaììúè) øïçóñ, ðíãäïåaùçè áðþéçä "         ; *
      "ðîäõçaêûìúä àòéáú ãêþ ìäëäõéí-óïaìõòæðéí-îíïñòâaêûðéí... äáïíîäèðéçô þæúéíá "       ; *
      "Îíñïäàíáañûðþ íì ëíåäñ ñíêûéí á ñíë ðêòöaä, äðêç áú ìaëäïäìú çâïañû ìä "            ; *
      "îí-aìâêçèðéç ç ìä îí-ïòððéç ç á áaøäè ðçðñäëä ìäñ îíãôíãþùçô ðñaìãaïñìúô "          ; *
      "aëçâíáðéçô øïçóñíá áúðíñíè íñ 14 ãí 18 ñíöäé "                                      ; *
    ))                                                                                     ; *
    (set #copy-engfont (cat                                                                ; *
      "Ìaãí êç éíîçïíáañû ìä ïòðçóçõçïíáaììúè øïçóñ TossWord.font, éíñíïúè ëíåäñ "         ; *
      "îíñïäàíáañûðþ ñíêûéí ñíâãa, éíâãa áú ìaëäïäìú çâïañû ìä îí-ïòððéç ç ìä "            ; *
      "îí-aìâêçèðéç? "                                                                     ; *
    ))                                                                                     ; *
    (set #tell-dest (cat                                                                   ; *
       "Îíãðéaåçñä îíåaêòèðña, âãä þ ëíâò ðíæãañû (ìaèñç) éañaêíâ \"TossWord\""            ; *
       "ãêþ ïaæëäùäìçþ çìðñaêçïòäëíè îïíâïaëëú? "                                          ; *
    ))                                                                                     ; *
    (set #old-rusifier (cat                                                                ; *
      "Îíôíåä, öñí ò áað çêç áííàùä íñðòñðñáòäñ ïòðçóçéañíï, çêç òðñaìíáêäìa "             ; *
      "äâí ðñaïaþ áäïðçþ (ñïäàòäñðþ ëçìçëòë V6.00). Çâïañû îí-ïòððéç ëíåìí "               ; *
      "ñíêûéí îíðêä çìðñaêþõçç ðííñáäñðñáòýùäè áäïðçç ïòðçóçéañíïa!"                       ; *
    ))                                                                                     ; *
    (set #anyplayers (cat                                                                  ; *
      "\n\nÌä åäêaäñä êç áú íîïäãäêçñû çëäìa íãìíâí çêç ãáòô çâïíéíá, éíñíïúä îí "         ; *
      "òëíêöaìçý àòãòñ çðîíêûæíáaìú îïç çâïä ìa "                                          ; *
    ))                                                                                     ; *
    (set #anyplayers_help (cat                                                             ; *
      "Îíðêä æaîòðéa îïíâïaëëú áú ðëíåäñä ìäëäãêäììí ìaöañû çâïò àäæ íîïäãäêäìçþ çë½ì "    ; *
      "çâïíéíá á ñíë ðêòöaä, äðêç íãìí çêç ãáa çëäìç íîïäãäêäìú \"îí òëíêöaìçý\". "        ; *
    ))                                                                                     ; *
    (set #lang " þæúéä?")                                                                  ; *
    (set #select-player "Çëäìa éaéçô çâïíéíá áú åäêaäñä íîïäãäêçñû îí òëíêöaìçý?")         ; *
    (set #select-player-help (cat                                                          ; *
      "Àaìéç çâïíéíá-êýãäè á \"Üïòãçñä\" êäåañ îí îïaáòý ç êäáòý ðñíïíìú íñ çâïíáíâí îíêþ "; *
      " - íñðýãa ç ãäêäìçä çâïíéíá ìá \"îïaáúô\" ç \"êäáúô\"."                             ; *
    ))                                                                                     ; *
    (set #getname "Ááäãçñä çëþ ç óaëçêçý çâïíéa...")                                       ; *
    (set #getnamehelp (cat                                                                 ; *
      "Çëþ çâïíéa ëíåäñ îíîaðñû á ñaàêçõò ïäéíïãíá, éíñíïaþ îòñäøäðñáòäñ áëäðñä ðí "       ; *
      "ðêíáaïþëç \"Üïòãçña\", îíüñíëò ìäíàôíãçëí ááíãçñû çëþ ç óaëçêçý (çëþ ãíêåìí "       ; *
      "ðñíþñû îäïáúë). Ðñaïaèñäðû, öñíàú çëþ îí áíæëíåìíðñç àúêí ìä ðêçøéíë ãêçììúë, "     ; *
      "îíðéíêûéò çëäìa, ðíðñíþùçä çæ àíêûøíâí éíêçöäðñáa àòéá ëíâòñ àúñû \"òïäæaìú\" "     ; *
      "îïç áúáíãä ìa îíêä."                                                                ; *
    ))                                                                                     ; *
  )                                                                                        ; *
)                                                                                          ; *
; ********************************************************************************************

(procedure GetPlayerName
  (set player
    (askstring
      (prompt #getname)
      (help #getnamehelp)
      (default "")
    )
  )
)

; --------------------------------------------------------------------------------------------

(procedure AskPlayers
  (if (askbool (prompt (cat #anyplayers deflang #lang)) (help #anyplayers_help))
    (
      (set player     "")
      (set leftplayer "")
      (set players
        (askoptions
          (help #select-player-help)
          (prompt #select-player)
          (choices #left-player #right-player)
        )
      )
      (if (BITAND players #left)
        (
          (GetPlayerName)
          (set leftplayer player)
          (set player "")
        )
      )
      (if (BITAND players #right)
        (GetPlayerName)
      )
      (if (OR (NOT (= leftplayer "")) (NOT (= player "")))
        (tooltype
          (dest (tackon @default-dest #tossword))
          (settooltype lang (cat leftplayer "," player))
        )
      )
    )
  )
)

; --------------------------------------------------------------------------------------------

(welcome #welcome)
(message #check-system)
(if (< (database "cpu") 68020)                                    (abort #bad-cpu      ))
(if (< ( / (getversion "exec.library"      (resident)) 65536) 39) (abort #old-kickstart))
(if (run "Version >NIL: reqtools.library 38" (safe))              (abort #old-reqtools ))
(if (run "Version >NIL: muimaster.library 12" (safe))             (abort #no-mui       ))

(complete 10)
(makedir
  (set @default-dest
    (tackon
       (askdir (newpath) (disk)
         (prompt #tell-dest)
         (help @askdir-help)
         (default "SYS:")
       )
       "TossWord"
    )
  )
  (prompt (cat #create-dir @default-dest))
  (help @makedir-help)
  (confirm)
)

(complete 20)
(copyfiles
  (prompt #copy-main)
  (help @copyfiles-help)
  (source "Main")
  (dest @default-dest)
  (all)
  (files)
  (infos)
)

(complete 30)
(if (askbool (prompt #have_aga) (help #have_aga_help))
  (set ttype "NO")
  (set ttype "YES")
)
(tooltype
  (dest (tackon @default-dest #tossword))
  (settooltype #use_bobs ttype)
)

(complete 40)
(if (askbool (prompt #settings) (help #settings_help))
  (set ttype "YES")
  (set ttype "NO")
)
(tooltype
  (dest (tackon @default-dest #tossword))
  (settooltype #settings_popup ttype)
)

(complete 50)
(set languages
  (askoptions
    (help @askoptions-help)
    (prompt #select-lang)
    (choices #english-name #russian-name #deutsch-name)   ; **** Add other languages here ***
  )
)

(complete 60)
(set helpdir (tackon @default-dest "Help"))
(if (= (exists helpdir) 0)
  (makedir helpdir)
)
(if (BITAND languages 1)
  (
    (set lang "ENGLISH_PLAYERS")
    (set deflang #english-name_)
    (AskPlayers)
    (if (exists (tackon @default-dest "Dictionary.english" ))
      (set name "NewDictionary.english")
      (set name "Dictionary.english")
    )
    (copyfiles
      (prompt #copy-eng)
      (source "English/Dictionary.english")
      (dest @default-dest)
      (newname name)
      (infos)
    )
    (copyfiles
      (prompt #copy-price)
      (source "English/Prices.english")
      (dest @default-dest)
      (infos)
    )
    (copyfiles
      (prompt #copy-enghelp)
      (source "Help/English")
      (dest (tackon helpdir "English"))
      (all)
      (infos)
    )
    (copyfiles
      (prompt #copy-engfont)
      (help   #copy-engfonthelp)
      (source "Fonts")
      (dest "FONTS:")
      (fonts)
      (all)
      (confirm)
    )
  )
)

(complete 70)
(if (BITAND languages russian)
  (
    (if (exists #rusfontdir)
      (
        (set lang "RUSSIAN_PLAYERS")
        (set deflang #russian-name_)
        (AskPlayers)
        (if (exists (tackon @default-dest "Dictionary.russian" ))
          (set name "NewDictionary.russian")
          (set name "Dictionary.russian")
        )
        (copyfiles
          (prompt #copy-rus)
          (source "Russian/Dictionary.russian")
          (dest @default-dest)
          (newname name)
          (infos)
        )
        (copyfiles
          (prompt #copy-price)
          (source "Russian/Prices.russian")
          (dest @default-dest)
          (infos)
        )
        (copyfiles
          (prompt #copy-rushelp)
          (source "Help/Russian")
          (dest (tackon helpdir "Russian"))
          (all)
          (infos)
        )
        (copyfiles
          (prompt #copy-ruscat)
          (source "Locale/Catalogs/Russian")
          (dest "LOCALE:Catalogs/Russian")
          (all)
        )
      )
      (message #old-rusifier)
    )
  )
)
(complete 80)
(if (BITAND languages deutsch)
  (
    (set lang "DEUTSCH_PLAYERS")
    (set deflang #deutsch-name_)
    (AskPlayers)
    (if (exists (tackon @default-dest "Dictionary.deutsch" ))
      (set name "NewDictionary.deutsch")
      (set name "Dictionary.deutsch")
    )
    (copyfiles
      (prompt #copy-deu)
      (source "Deutsch/Dictionary.deutsch")
      (dest @default-dest)
      (newname name)
      (infos)
    )
    (copyfiles
      (prompt #copy-price)
      (source "Deutsch/Prices.deutsch")
      (dest @default-dest)
      (infos)
    )
    (if (exists "Help/Deutsch")
      (copyfiles
        (prompt #copy-deuhelp)
        (source "Help/Deutsch")
        (dest (tackon helpdir "Deutsch"))
        (all)
        (infos)
      )
    )
    (if (= (BITAND languages 1) 0)
      (copyfiles
        (prompt #copy-engfont)
        (help   #copy-engfonthelp)
        (source "Fonts")
        (dest "FONTS:")
        (fonts)
        (all)
        (confirm)
      )
    )
  )
)
(complete 100)
