
;*
;* Install/Update script for PureBasic V2.00
;*
;* 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.xx to 2.00.\n\nPlease choose the langage for PureBasic:")
  )
)


;*** Francais ***

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


;*** Deutsch ***


(if (= #Langage 2)
  (
    (set #WelcomePrompt "\nWelcome !\nThis will update PureBasic 1.xx to 2.00.\n\nPlease choose the langage for 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/")
  (dest      PureBasic_Dir)
  (pattern  "#?")
  (optional "nofail")
  (infos)
)


;*** Update private encrypted files

(complete 40)

(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" DeltaFiles/PBCompiler.delta \"" PureBasic_Dir "Compilers/PBCompiler\""))
(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" PureBasic/Compilers/Data \"" PureBasic_Dir "Compilers/Data\""))

(complete 70)

(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" DeltaFiles/2DDrawing.delta \"" PureBasic_Dir "PureLibraries/2DDrawing\""))
(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" DeltaFiles/Amiga.delta \"" PureBasic_Dir "PureLibraries/Amiga\""))
(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" DeltaFiles/AmigaSprite.delta \"" PureBasic_Dir "PureLibraries/AmigaSprite\""))
(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" DeltaFiles/App.delta \"" PureBasic_Dir "PureLibraries/App\""))
(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" DeltaFiles/Audio.delta \"" PureBasic_Dir "PureLibraries/Audio\""))
(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" DeltaFiles/BitMap.delta \"" PureBasic_Dir "PureLibraries/BitMap\""))
(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" DeltaFiles/Chunky.delta \"" PureBasic_Dir "PureLibraries/Chunky\""))
(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" DeltaFiles/Clipboard.delta \"" PureBasic_Dir "PureLibraries/Clipboard\""))
(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" DeltaFiles/Commodity.delta \"" PureBasic_Dir "PureLibraries/Commodity\""))
(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" DeltaFiles/File.delta \"" PureBasic_Dir "PureLibraries/File\""))
(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" DeltaFiles/FileSystem.delta \"" PureBasic_Dir "PureLibraries/FileSystem\""))
(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" DeltaFiles/Font.delta \"" PureBasic_Dir "PureLibraries/Font\""))
(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" DeltaFiles/Gadget.delta \"" PureBasic_Dir "PureLibraries/Gadget\""))
(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" DeltaFiles/Joypad.delta \"" PureBasic_Dir "PureLibraries/Joypad\""))
(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" DeltaFiles/LinkedList.delta \"" PureBasic_Dir "PureLibraries/LinkedList\""))
(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" DeltaFiles/MemoryBank.delta \"" PureBasic_Dir "PureLibraries/MemoryBank\""))
(complete 80)
(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" DeltaFiles/Menu.delta \"" PureBasic_Dir "PureLibraries/Menu\""))
(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" DeltaFiles/Misc.delta \"" PureBasic_Dir "PureLibraries/Misc\""))
(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" DeltaFiles/Network.delta \"" PureBasic_Dir "PureLibraries/Network\""))
(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" DeltaFiles/OS.delta \"" PureBasic_Dir "PureLibraries/OS\""))
(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" DeltaFiles/Palette.delta \"" PureBasic_Dir "PureLibraries/Palette\""))
(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" DeltaFiles/Picture.delta \"" PureBasic_Dir "PureLibraries/Picture\""))
(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" DeltaFiles/Picasso96.delta \"" PureBasic_Dir "PureLibraries/Picasso96\""))
(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" DeltaFiles/PopupModule.delta \"" PureBasic_Dir "PureLibraries/PopupMenu\""))
(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" DeltaFiles/PTModule.delta \"" PureBasic_Dir "PureLibraries/PTModule\""))
(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" DeltaFiles/Rainbow.delta \"" PureBasic_Dir "PureLibraries/Rainbow\""))
(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" DeltaFiles/Requester.delta \"" PureBasic_Dir "PureLibraries/Requester\""))
(complete 90)
(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" DeltaFiles/Screen.delta \"" PureBasic_Dir "PureLibraries/Screen\""))
(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" DeltaFiles/Sort.delta \"" PureBasic_Dir "PureLibraries/Sort\""))
(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" DeltaFiles/Sound.delta \"" PureBasic_Dir "PureLibraries/Sound\""))
(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" DeltaFiles/Sprite.delta \"" PureBasic_Dir "PureLibraries/Sprite\""))
(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" DeltaFiles/String.delta \"" PureBasic_Dir "PureLibraries/String\""))
(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" DeltaFiles/TagList.delta \"" PureBasic_Dir "PureLibraries/TagList\""))
(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" DeltaFiles/Timer.delta \"" PureBasic_Dir "PureLibraries/Timer\""))
(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" DeltaFiles/ToolType.delta \"" PureBasic_Dir "PureLibraries/ToolType\""))
(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" DeltaFiles/WbStartup.delta \"" PureBasic_Dir "PureLibraries/WbStartup\""))
(run (cat "PurePatcher \"" PureBasic_Dir "PureLibraries/Font\" DeltaFiles/Window.delta \"" PureBasic_Dir "PureLibraries/Window\""))

(complete 100)

