
;*
;* Install/Update script for PureBasic V1.40
;*
;* Done by 'AlphaSND'
;*


;*** Autodetection for langage !

(if (> (exists ("env:Language")) 0)
  (set Langage_AmigaOS (getenv "Language"))
)

(set #Langage 0)

(if (= "english"  Langage_AmigaOS) (set #Langage 0))
(if (= "français" Langage_AmigaOS) (set #Langage 1))
(if (= "deutsch"  Langage_AmigaOS) (set #Langage 2))

(if (= #Langage 0)
  (
    (set #WelcomePrompt "\nWelcome !\nThis will update PureBasic 1.31 to 1.40.\n\nPlease choose the langage for PureBasic:")
  )
)


;*** Francais ***

(if (= #Langage 1)
  (
    (set #WelcomePrompt "\nBienvenue !\nCette installation va mettre à jour PureBasic V1.31 vers V1.40.\n\nChoisissez la langue qui sera utilisée par PureBasic:")
  )
)


;*** Deutsch ***


(if (= #Langage 2)
  (
    (set #WelcomePrompt "\nWillkommen !\nVielen Dank, dass Sie PureBasic ausprobieren.\n\nBitte wählen Sie Ihre Sprache für PureBasic:")
  )
)


(complete 0)

(set #Langage
  (askchoice
    (prompt #WelcomePrompt)
    (Help "")
    (choices
      "English"
      "Francais"
      "Deutsch"
    )
    (default #Langage)
  )
)


;*** English ***

(if (= #Langage 0)
  (
    (set #FBDirPrompt "Please indicate where PureBasic is actually installed (including the 'PureBasic' drawer).\nIt should be 'PureBasic:'.")
    (set #FBDirHelp "")
    (set #FBLangSel "Select the languages to install with PureBasic.")
    (set #FBIcon "Select your icons type")
  )
)


;*** Francais ***

(if (= #Langage 1)
  (
    (set #FBDirPrompt "Veuillez indiquez où se trouve actuellement PureBasic (en incluant le répertoire 'PureBasic').\nEn principe, c'est 'PureBasic:'.")
    (set #FBDirHelp "")
    (set #FBLangSel "Choisissez quel langage vous voulez avoir pour PureBasic")
    (set #FBIcon "Choisissez votre type d'icone")
  )
)


;*** Deutsch ***

(if (= #Langage 2)
  (
    (set #FBDirPrompt "Wo möchten Sie PureBasic installieren?\nEin Verzeichnis genannt 'PureBasic' wird erstellt.")
    (set #FBDirHelp "")
    (set #FBLangSel "Wählen Sie die Sprachen, die mit PureBasic installiert werden sollen.")
    (set #FBIcon "Wählen Sie den gewünschten Icon-Typ.")
  )
)

;*** Directory Select ***

(complete 5)

(set DestDir
  (askdir
    (prompt   #FBDirPrompt)
    (help     #FBDirHelp)
    (default "PureBasic:")
  )
)

(set DestDir (expandpath DestDir))
(set @default-dest (tackon DestDir ""))

(set PureBasic_Dir @default-dest)

;*** Copy all public files ***

(complete 20)

(copyfiles
  (source   "PureBasic/PureBasic/")
  (dest      PureBasic_Dir)
  (pattern  "#?")
  (optional "nofail")
  (infos)
)


;*** Locale Help Files ***

(complete 40)

(if (= #Langage 1)
  (
    (copyfiles
      (source   "PureBasic/Francais/")
      (dest      PureBasic_Dir)
      (pattern  "#?")
      (optional "nofail")
    )
  )
)


(if (= #Langage 2)
  (
    (copyfiles
      (source   "PureBasic/Deutsch/")
      (dest      PureBasic_Dir)
      (pattern  "#?")
      (optional "nofail")
    )
  )
)


;*** Update private files

(complete 50)

(run (cat "WPatch \"" PureBasic_Dir "Compilers/PBCompiler\" \"" PureBasic_Dir "Compilers/PBCompiler\" DeltaFiles/PBCompiler.delta"))

(complete 80)

(run (cat "WPatch \"" PureBasic_Dir "PureLibraries/Font\" \"" PureBasic_Dir "PureLibraries/AmigaSprite\" DeltaFiles/AmigaSprite.delta"))
(run (cat "WPatch \"" PureBasic_Dir "PureLibraries/Font\" \"" PureBasic_Dir "PureLibraries/BitMap\" DeltaFiles/BitMap.delta"))
(run (cat "WPatch \"" PureBasic_Dir "PureLibraries/Font\" \"" PureBasic_Dir "PureLibraries/Joypad\" DeltaFiles/Joypad.delta"))
(run (cat "WPatch \"" PureBasic_Dir "PureLibraries/Font\" \"" PureBasic_Dir "PureLibraries/Palette\" DeltaFiles/Palette.delta"))
(run (cat "WPatch \"" PureBasic_Dir "PureLibraries/Font\" \"" PureBasic_Dir "PureLibraries/Requester\" DeltaFiles/Requester.delta"))
(run (cat "WPatch \"" PureBasic_Dir "PureLibraries/Font\" \"" PureBasic_Dir "PureLibraries/Screen\" DeltaFiles/Screen.delta"))
(run (cat "WPatch \"" PureBasic_Dir "PureLibraries/Font\" \"" PureBasic_Dir "PureLibraries/Sprite\" DeltaFiles/Sprite.delta"))
(run (cat "WPatch \"" PureBasic_Dir "PureLibraries/Font\" \"" PureBasic_Dir "PureLibraries/Sound\" DeltaFiles/Sound.delta"))


(complete 100)

