Advertisement
Guest User

altistudio.fr

a guest
Jun 19th, 2016
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 76.64 KB | None | 0 0
  1. using System;
  2. using System.ComponentModel;
  3. using System.Diagnostics;
  4. using System.Drawing;
  5. using System.IO;
  6. using System.Linq;
  7. using System.Net;
  8. using System.Net.NetworkInformation;
  9. using System.Reflection;
  10. using System.Runtime.InteropServices;
  11. using System.Threading;
  12. using System.Windows.Forms;
  13. using System.Xml.Linq;
  14. using Ambiance;
  15. using iTalk;
  16. using Launcher_Arma3.Properties;
  17. using MonoFlat;
  18. using WMPLib;
  19.  
  20. namespace Launcher_Arma3
  21. {
  22.     // Token: 0x02000002 RID: 2
  23.     public class Launch : Form
  24.     {
  25.         // Token: 0x06000001 RID: 1 RVA: 0x00002050 File Offset: 0x00000250
  26.         public Launch()
  27.         {
  28.             this.InitializeComponent();
  29.             if (File.Exists(this.appdata + this.dest_options + "\\" + this.file_language))
  30.             {
  31.                 string[] array = File.ReadAllLines(this.appdata + this.dest_options + "\\" + this.file_language);
  32.                 this.language = array[1];
  33.             }
  34.             this.Check_Mods.RunWorkerAsync();
  35.             WebClient webClient = new WebClient();
  36.             try
  37.             {
  38.                 webClient.OpenRead("http://launcher.altistudio.fr/" + this.file_modslist);
  39.             }
  40.             catch (WebException)
  41.             {
  42.                 this.error404 = true;
  43.                 if (!this.Erreur_Msg.IsBusy)
  44.                 {
  45.                     this.error_time = -1;
  46.                     this.error_code = 404;
  47.                     this.Erreur_Msg.RunWorkerAsync();
  48.                 }
  49.             }
  50.             if (this.fader_statut)
  51.             {
  52.                 this.Fader.Start();
  53.                 return;
  54.             }
  55.             base.Opacity = 1.0;
  56.         }
  57.  
  58.         // Token: 0x06000018 RID: 24 RVA: 0x00004DE8 File Offset: 0x00002FE8
  59.         private void Anti_Cheat_DoWork(object sender, DoWorkEventArgs e)
  60.         {
  61.         }
  62.  
  63.         // Token: 0x0600000D RID: 13 RVA: 0x000041C8 File Offset: 0x000023C8
  64.         private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
  65.         {
  66.             this.Download_Progressbar.Value = e.ProgressPercentage;
  67.             this.Label_valu.Text = string.Concat(new string[]
  68.             {
  69.                 this.Trans_Progress,
  70.                 ": ",
  71.                 this.bytes,
  72.                 " / ",
  73.                 this.bytes_d
  74.             });
  75.         }
  76.  
  77.         // Token: 0x0600000E RID: 14 RVA: 0x0000422C File Offset: 0x0000242C
  78.         private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
  79.         {
  80.             this.counter++;
  81.             this.Total_Progress.Value = (long)(this.counter * 100 / this.counter_total);
  82.             if (this.Total_Progress.Value == 100L)
  83.             {
  84.                 if (this.start_arma)
  85.                 {
  86.                     this.Start_Arma.RunWorkerAsync();
  87.                 }
  88.                 else
  89.                 {
  90.                     this.start_arma = true;
  91.                 }
  92.                 this.Play_bouton.Text = this.Trans_Play;
  93.                 this.Play_bouton.Font = new Font(this.Play_bouton.Text, float.Parse("14"));
  94.                 File.WriteAllText(this.appdata + this.dest_version + "\\" + this.file_vmods, this.version_up);
  95.                 this.download_finish = true;
  96.                 this.download_progress = false;
  97.                 this.Download_Group.Visible = false;
  98.                 this.Panel.Visible = true;
  99.                 return;
  100.             }
  101.             this.Download_Mods.RunWorkerAsync();
  102.         }
  103.  
  104.         // Token: 0x0600001A RID: 26 RVA: 0x00004E74 File Offset: 0x00003074
  105.         private void Changelogs_DoWork(object sender, DoWorkEventArgs e)
  106.         {
  107.             if (!Directory.Exists(this.appdata + this.dest_news))
  108.             {
  109.                 Directory.CreateDirectory(this.appdata + this.dest_news);
  110.             }
  111.             WebClient webClient = new WebClient();
  112.             if (File.Exists(this.appdata + this.dest_news + "\\" + this.file_changlauncher))
  113.             {
  114.                 File.Delete(this.appdata + this.dest_news + "\\" + this.file_changlauncher);
  115.             }
  116.             webClient.DownloadFile("http://launcher.altistudio.fr/" + this.dest_news + "\\" + this.file_changlauncher, this.appdata + this.dest_news + "\\" + this.file_changlauncher);
  117.             if (File.Exists(this.appdata + this.dest_news + "\\" + this.file_changserveur))
  118.             {
  119.                 File.Delete(this.appdata + this.dest_news + "\\" + this.file_changserveur);
  120.             }
  121.             webClient.DownloadFile("http://launcher.altistudio.fr/" + this.dest_news + "\\" + this.file_changserveur, this.appdata + this.dest_news + "\\" + this.file_changserveur);
  122.             if (File.Exists(this.appdata + this.dest_news + "\\" + this.file_changserveur))
  123.             {
  124.                 int i = 0;
  125.                 string[] array = File.ReadAllLines(this.appdata + this.dest_news + "\\" + this.file_changserveur);
  126.                 int num = array.Length;
  127.                 this.Changelogs_Serveur.Items.Clear();
  128.                 while (i < num)
  129.                 {
  130.                     this.Changelogs_Serveur.Items.Add(array[i]);
  131.                     i++;
  132.                 }
  133.             }
  134.             if (File.Exists(this.appdata + this.dest_news + "\\" + this.file_changlauncher))
  135.             {
  136.                 int j = 0;
  137.                 string[] array2 = File.ReadAllLines(this.appdata + this.dest_news + "\\" + this.file_changlauncher);
  138.                 int num2 = array2.Length;
  139.                 this.Changelogs_Launcher.Items.Clear();
  140.                 while (j <= num2)
  141.                 {
  142.                     this.Changelogs_Launcher.Items.Add(array2[j]);
  143.                     j++;
  144.                 }
  145.             }
  146.         }
  147.  
  148.         // Token: 0x06000009 RID: 9 RVA: 0x00002FF4 File Offset: 0x000011F4
  149.         private void Change_Lang_DoWork(object sender, DoWorkEventArgs e)
  150.         {
  151.             if (!File.Exists(this.appdata + this.file_translate))
  152.             {
  153.                 WebClient webClient = new WebClient();
  154.                 webClient.DownloadFile("http://launcher.altistudio.fr/" + this.file_translate, this.appdata + this.file_translate);
  155.             }
  156.             XDocument xDocument = XDocument.Load(this.appdata + this.file_translate);
  157.             string[] value = (from r in xDocument.Descendants(this.language).Elements("Links")
  158.             select r.Value).ToArray<string>();
  159.             string[] value2 = (from r in xDocument.Descendants(this.language).Elements("WebSite")
  160.             select r.Value).ToArray<string>();
  161.             string[] value3 = (from r in xDocument.Descendants(this.language).Elements("Play")
  162.             select r.Value).ToArray<string>();
  163.             string[] value4 = (from r in xDocument.Descendants(this.language).Elements("Connected")
  164.             select r.Value).ToArray<string>();
  165.             string[] value5 = (from r in xDocument.Descendants(this.language).Elements("Disconnected")
  166.             select r.Value).ToArray<string>();
  167.             string[] value6 = (from r in xDocument.Descendants(this.language).Elements("Settings")
  168.             select r.Value).ToArray<string>();
  169.             string[] value7 = (from r in xDocument.Descendants(this.language).Elements("Directory")
  170.             select r.Value).ToArray<string>();
  171.             string[] value8 = (from r in xDocument.Descendants(this.language).Elements("Downloading")
  172.             select r.Value).ToArray<string>();
  173.             string[] value9 = (from r in xDocument.Descendants(this.language).Elements("Download")
  174.             select r.Value).ToArray<string>();
  175.             string[] value10 = (from r in xDocument.Descendants(this.language).Elements("Progress")
  176.             select r.Value).ToArray<string>();
  177.             string[] value11 = (from r in xDocument.Descendants(this.language).Elements("ModsDeal")
  178.             select r.Value).ToArray<string>();
  179.             string[] value12 = (from r in xDocument.Descendants(this.language).Elements("Checks")
  180.             select r.Value).ToArray<string>();
  181.             string[] value13 = (from r in xDocument.Descendants(this.language).Elements("Forum")
  182.             select r.Value).ToArray<string>();
  183.             string[] value14 = (from r in xDocument.Descendants(this.language).Elements("Launch")
  184.             select r.Value).ToArray<string>();
  185.             string[] value15 = (from r in xDocument.Descendants(this.language).Elements("Server")
  186.             select r.Value).ToArray<string>();
  187.             string text = string.Join(",", value);
  188.             string.Join(",", value2);
  189.             string text2 = string.Join(",", value3);
  190.             string text3 = string.Join(",", value4);
  191.             string text4 = string.Join(",", value5);
  192.             string text5 = string.Join(",", value6);
  193.             string text6 = string.Join(",", value7);
  194.             string text7 = string.Join(",", value8);
  195.             string text8 = string.Join(",", value9);
  196.             string trans_Progress = string.Join(",", value10);
  197.             string trans_Deal = string.Join(",", value11);
  198.             string trans_Checks = string.Join(",", value12);
  199.             string.Join(",", value13);
  200.             string text9 = string.Join(",", value14);
  201.             string text10 = string.Join(",", value15);
  202.             string[] value16 = (from r in xDocument.Descendants(this.error_xml).Elements(this.language).Elements("error10")
  203.             select r.Value).ToArray<string>();
  204.             string text11 = string.Join(",", value16);
  205.             this.Trans_Progress = trans_Progress;
  206.             this.Trans_Download = text7;
  207.             this.Trans_Download2 = text8;
  208.             this.Trans_Deal = trans_Deal;
  209.             this.Trans_Checks = trans_Checks;
  210.             this.Trans_Play = text2;
  211.             this.error10 = text11;
  212.             this.Group_Link.Text = text;
  213.             this.Option_Boutton.Text = text5;
  214.             this.destination_bouton.Text = text6;
  215.             this.msg_darma = text6 + " Arma3: ";
  216.             this.label_darma.Text = this.msg_darma + this.dest_arma;
  217.             this.Download_Group.Text = text7;
  218.             this.Label_valu.Text = this.Trans_Progress + ": 0 / 0";
  219.             this.Label_mods.Text = this.Trans_Download + ": ";
  220.             this.Label_modsdeal.Text = this.Trans_Deal + ": ";
  221.             this.Option_Group.Text = text5;
  222.             this.tabPage1.Text = text10;
  223.             this.tabPage2.Text = text9;
  224.             if (!File.Exists(this.appdata + this.dest_version + "\\" + this.file_vmods))
  225.             {
  226.                 this.mods_update = "true";
  227.             }
  228.             if (this.Force_Update.Checked.ToString() == "True")
  229.             {
  230.                 this.Force_Update_Label.ForeColor = Color.LightGreen;
  231.                 if (File.Exists(this.appdata + this.dest_options + "\\" + this.file_option))
  232.                 {
  233.                     string[] array = File.ReadAllLines(this.appdata + this.dest_options + "\\" + this.file_option);
  234.                     if (array[0] == "True")
  235.                     {
  236.                         this.Play_bouton.Text = this.Trans_Download2 + " / " + this.Trans_Play;
  237.                         this.Play_bouton.Font = new Font(this.Play_bouton.Text, float.Parse("11"));
  238.                         this.start_arma = true;
  239.                     }
  240.                     else
  241.                     {
  242.                         this.Play_bouton.Text = this.Trans_Download2;
  243.                         this.Play_bouton.Font = new Font(this.Play_bouton.Text, float.Parse("14"));
  244.                         this.start_arma = false;
  245.                     }
  246.                 }
  247.                 else
  248.                 {
  249.                     this.Play_bouton.Text = this.Trans_Download2;
  250.                     this.Play_bouton.Font = new Font(this.Play_bouton.Text, float.Parse("11"));
  251.                     this.start_arma = false;
  252.                 }
  253.             }
  254.             else if (this.mods_update != "true")
  255.             {
  256.                 this.Play_bouton.Text = text2;
  257.                 this.Play_bouton.Font = new Font(this.Play_bouton.Text, float.Parse("14"));
  258.             }
  259.             else if (this.download_finish)
  260.             {
  261.                 this.Play_bouton.Text = text2;
  262.                 this.Play_bouton.Font = new Font(this.Play_bouton.Text, float.Parse("14"));
  263.             }
  264.             else if (File.Exists(this.appdata + this.dest_options + "\\" + this.file_option))
  265.             {
  266.                 string[] array2 = File.ReadAllLines(this.appdata + this.dest_options + "\\" + this.file_option);
  267.                 if (array2[0] == "True")
  268.                 {
  269.                     this.Play_bouton.Text = text8 + " / " + text2;
  270.                     this.Play_bouton.Font = new Font(this.Play_bouton.Text, float.Parse("11"));
  271.                     this.start_arma = true;
  272.                 }
  273.                 else
  274.                 {
  275.                     this.Play_bouton.Text = text8;
  276.                     this.Play_bouton.Font = new Font(this.Play_bouton.Text, float.Parse("14"));
  277.                     this.start_arma = false;
  278.                 }
  279.             }
  280.             else
  281.             {
  282.                 this.Play_bouton.Text = text8;
  283.                 this.Play_bouton.Font = new Font(this.Play_bouton.Text, float.Parse("14"));
  284.                 this.start_arma = false;
  285.             }
  286.             if (this.web_type == "Forum")
  287.             {
  288.                 this.Web_Icon.Image = Resources.forum_icon;
  289.             }
  290.             if (this.web_type == "WebSite")
  291.             {
  292.                 this.Web_Icon.Image = Resources.website_icon;
  293.             }
  294.             if (!this.connection)
  295.             {
  296.                 text4 = "Error #405 ! No network found ...";
  297.                 this.error_message = "No network found ...";
  298.                 if (!this.Erreur_Msg.IsBusy)
  299.                 {
  300.                     this.error_code = 405;
  301.                     this.Erreur_Msg.RunWorkerAsync();
  302.                 }
  303.             }
  304.             if (this.error_code == 404 || this.error404 || !this.connection)
  305.             {
  306.                 this.connection_label.ForeColor = Color.Red;
  307.                 this.connection_label.Text = text4;
  308.             }
  309.             else
  310.             {
  311.                 this.connection_label.ForeColor = Color.Green;
  312.                 this.connection_label.Text = text3;
  313.             }
  314.             this.News.RunWorkerAsync();
  315.         }
  316.  
  317.         // Token: 0x06000019 RID: 25 RVA: 0x00004DEC File Offset: 0x00002FEC
  318.         private void CheckInternet_DoWork(object sender, DoWorkEventArgs e)
  319.         {
  320.             Thread.Sleep(7000);
  321.             if (this.connection_label.Text == "Loading ..")
  322.             {
  323.                 if (!this.Erreur_Msg.IsBusy)
  324.                 {
  325.                     this.error_code = 405;
  326.                     this.error_time = -1;
  327.                     this.Erreur_Msg.RunWorkerAsync();
  328.                 }
  329.                 if (File.Exists(this.appdata + this.file_translate))
  330.                 {
  331.                     File.Delete(this.appdata + this.file_translate);
  332.                 }
  333.             }
  334.         }
  335.  
  336.         // Token: 0x0600001B RID: 27 RVA: 0x000050B4 File Offset: 0x000032B4
  337.         private void Check_Mods_DoWork(object sender, DoWorkEventArgs e)
  338.         {
  339.             if (!Directory.Exists(this.appdata + this.dest_version))
  340.             {
  341.                 Directory.CreateDirectory(this.appdata + this.dest_version);
  342.             }
  343.             if (!File.Exists(this.appdata + this.dest_version + "\\" + this.file_vmods))
  344.             {
  345.                 WebClient webClient = new WebClient();
  346.                 Stream stream = webClient.OpenRead("http://launcher.altistudio.fr/" + this.dest_version + "/" + this.file_vmods);
  347.                 StreamReader streamReader = new StreamReader(stream);
  348.                 this.version_up = streamReader.ReadLine();
  349.                 this.mods_update = "true";
  350.                 return;
  351.             }
  352.             this.version_now = File.ReadAllText(this.appdata + this.dest_version + "\\" + this.file_vmods);
  353.             WebClient webClient2 = new WebClient();
  354.             Stream stream2 = webClient2.OpenRead("http://launcher.altistudio.fr/" + this.dest_version + "/" + this.file_vmods);
  355.             StreamReader streamReader2 = new StreamReader(stream2);
  356.             this.version_up = streamReader2.ReadLine();
  357.             if (this.version_now != this.version_up)
  358.             {
  359.                 this.mods_update = "true";
  360.                 if (!this.Change_Lang.IsBusy)
  361.                 {
  362.                     this.Change_Lang.RunWorkerAsync();
  363.                     return;
  364.                 }
  365.                 Thread.Sleep(500);
  366.                 if (!this.Change_Lang.IsBusy)
  367.                 {
  368.                     this.Change_Lang.RunWorkerAsync();
  369.                 }
  370.             }
  371.         }
  372.  
  373.         // Token: 0x0600000A RID: 10 RVA: 0x00003AFA File Offset: 0x00001CFA
  374.         private void Close_Form(object sender, EventArgs e)
  375.         {
  376.             if (this.fader_statut)
  377.             {
  378.                 this.Close.Start();
  379.                 return;
  380.             }
  381.             base.Opacity = 0.0;
  382.         }
  383.  
  384.         // Token: 0x06000011 RID: 17 RVA: 0x000044B4 File Offset: 0x000026B4
  385.         private void Close_Tick(object sender, EventArgs e)
  386.         {
  387.             base.Opacity -= 0.05;
  388.             if (base.Opacity == 0.0)
  389.             {
  390.                 this.Close.Stop();
  391.                 Application.Exit();
  392.             }
  393.         }
  394.  
  395.         // Token: 0x06000004 RID: 4 RVA: 0x00002790 File Offset: 0x00000990
  396.         private void destination_bouton_Click_1(object sender, EventArgs e)
  397.         {
  398.             if (this.locked)
  399.             {
  400.                 if (!this.Erreur_Msg.IsBusy)
  401.                 {
  402.                     this.error_code = 100;
  403.                     this.Erreur_Msg.RunWorkerAsync();
  404.                 }
  405.                 this.credits_label.Text = Resources.Copyright;
  406.                 return;
  407.             }
  408.             this.Folder.ShowDialog();
  409.             this.dest_arma = this.Folder.SelectedPath + "\\";
  410.             File.WriteAllText(this.appdata + this.file_darma, this.dest_arma);
  411.             if (!File.Exists(this.dest_arma + this.file_arma3))
  412.             {
  413.                 if (!this.Erreur_Msg.IsBusy)
  414.                 {
  415.                     this.error_code = 401;
  416.                     this.Erreur_Msg.RunWorkerAsync();
  417.                 }
  418.                 this.label_darma.ForeColor = Color.Red;
  419.                 this.picture_darma.Image = Resources.cross;
  420.             }
  421.             else
  422.             {
  423.                 this.label_darma.ForeColor = Color.Green;
  424.                 this.picture_darma.Image = Resources.checkmark;
  425.             }
  426.             this.label_darma.Text = this.msg_darma + this.dest_arma;
  427.         }
  428.  
  429.         // Token: 0x0600001D RID: 29 RVA: 0x000053FB File Offset: 0x000035FB
  430.         protected override void Dispose(bool disposing)
  431.         {
  432.             if (disposing && this.components != null)
  433.             {
  434.                 this.components.Dispose();
  435.             }
  436.             base.Dispose(disposing);
  437.         }
  438.  
  439.         // Token: 0x06000016 RID: 22 RVA: 0x00004C9C File Offset: 0x00002E9C
  440.         private void Download_CPP_DoWork(object sender, DoWorkEventArgs e)
  441.         {
  442.             this.Loading.Visible = true;
  443.             this.Panel.Visible = false;
  444.             WebClient webClient = new WebClient();
  445.             if (this.counter_cpp == 0)
  446.             {
  447.                 if (File.Exists(this.appdata + this.file_cpp))
  448.                 {
  449.                     File.Delete(this.appdata + this.file_cpp);
  450.                 }
  451.                 webClient.DownloadFile("http://launcher.altistudio.fr/" + this.file_cpp, this.appdata + this.file_cpp);
  452.             }
  453.             string[] array = File.ReadAllLines(this.appdata + this.file_cpp);
  454.             this.language = array[this.counter_cpp];
  455.             this.line_1 = array.Length;
  456.             webClient.DownloadFile("http://launcher.altistudio.fr/" + this.dest_cpp + "\\" + array[this.counter_cpp], this.dest_arma + "@Studio\\" + array[this.counter_cpp]);
  457.         }
  458.  
  459.         // Token: 0x0600000C RID: 12 RVA: 0x00003C38 File Offset: 0x00001E38
  460.         private void Download_Mods_DoWork(object sender, DoWorkEventArgs e)
  461.         {
  462.             if (this.counter == 0)
  463.             {
  464.                 WebClient webClient = new WebClient();
  465.                 webClient.DownloadFile("http://launcher.altistudio.fr/" + this.file_modslist, this.appdata + this.file_modslist);
  466.                 if (!File.Exists(this.appdata + this.file_modslist))
  467.                 {
  468.                     if (!this.Erreur_Msg.IsBusy)
  469.                     {
  470.                         this.error_code = 402;
  471.                         this.Erreur_Msg.RunWorkerAsync();
  472.                     }
  473.                     return;
  474.                 }
  475.             }
  476.             string[] array = File.ReadAllLines(this.appdata + this.file_modslist);
  477.             this.line = array[this.counter];
  478.             this.counter_total = array.Length;
  479.             HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create("http://launcher.altistudio.fr/" + this.dest_mods + "/" + this.line);
  480.             httpWebRequest.Method = "HEAD";
  481.             this.Label_modsdeal.Text = string.Concat(new object[]
  482.             {
  483.                 this.Trans_Deal,
  484.                 ": ",
  485.                 this.counter,
  486.                 " / ",
  487.                 this.counter_total
  488.             });
  489.             using (HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse())
  490.             {
  491.                 this.wrs_1 = httpWebResponse.ContentLength.ToString();
  492.             }
  493.             if (File.Exists(this.dest_arma + "@Studio\\addons\\" + this.line))
  494.             {
  495.                 byte[] array2 = File.ReadAllBytes(this.dest_arma + "@Studio\\addons\\" + this.line);
  496.                 this.wrs_2 = array2.Length.ToString();
  497.             }
  498.             if (this.wrs_1 != this.wrs_2)
  499.             {
  500.                 this.Label_mods.Text = this.Trans_Download + ": " + this.line;
  501.                 string uriString = "http://launcher.altistudio.fr/" + this.dest_mods + "/" + this.line;
  502.                 string path = this.dest_arma + "@Studio\\addons\\" + this.line;
  503.                 Uri requestUri = new Uri(uriString);
  504.                 HttpWebRequest httpWebRequest2 = (HttpWebRequest)WebRequest.Create(requestUri);
  505.                 HttpWebResponse httpWebResponse2 = (HttpWebResponse)httpWebRequest2.GetResponse();
  506.                 httpWebResponse2.Close();
  507.                 long contentLength = httpWebResponse2.ContentLength;
  508.                 long num = 0L;
  509.                 using (WebClient webClient2 = new WebClient())
  510.                 {
  511.                     using (Stream stream = webClient2.OpenRead(new Uri(uriString)))
  512.                     {
  513.                         using (Stream stream2 = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.None))
  514.                         {
  515.                             byte[] array3 = new byte[contentLength];
  516.                             int num2;
  517.                             while ((num2 = stream.Read(array3, 0, array3.Length)) > 0)
  518.                             {
  519.                                 stream2.Write(array3, 0, num2);
  520.                                 num += (long)num2;
  521.                                 double num3 = (double)num;
  522.                                 double num4 = (double)array3.Length;
  523.                                 double num5 = num3 / num4;
  524.                                 int percentProgress = (int)(num5 * 100.0);
  525.                                 this.Download_Mods.ReportProgress(percentProgress);
  526.                                 if ((int)num3 < 1048576)
  527.                                 {
  528.                                     this.bytes = ((int)num3 / 1024).ToString() + " Ko";
  529.                                     this.bytes_d = ((int)num4 / 1024).ToString() + " Ko";
  530.                                 }
  531.                                 else
  532.                                 {
  533.                                     this.bytes = ((int)num3 / 1048576).ToString() + " Mo";
  534.                                     this.bytes_d = ((int)num4 / 1048576).ToString() + " Mo";
  535.                                 }
  536.                             }
  537.                             stream2.Close();
  538.                         }
  539.                         stream.Close();
  540.                     }
  541.                     return;
  542.                 }
  543.             }
  544.             this.Label_mods.Text = this.Trans_Checks + ": " + this.line;
  545.             string uriString2 = "http://launcher.altistudio.fr/copyright.txt";
  546.             string path2 = this.dest_arma + "copyright.txt";
  547.             Uri requestUri2 = new Uri(uriString2);
  548.             HttpWebRequest httpWebRequest3 = (HttpWebRequest)WebRequest.Create(requestUri2);
  549.             HttpWebResponse httpWebResponse3 = (HttpWebResponse)httpWebRequest3.GetResponse();
  550.             httpWebResponse3.Close();
  551.             long contentLength2 = httpWebResponse3.ContentLength;
  552.             long num6 = 0L;
  553.             using (WebClient webClient3 = new WebClient())
  554.             {
  555.                 using (Stream stream3 = webClient3.OpenRead(new Uri(uriString2)))
  556.                 {
  557.                     using (Stream stream4 = new FileStream(path2, FileMode.Create, FileAccess.Write, FileShare.None))
  558.                     {
  559.                         byte[] array4 = new byte[contentLength2];
  560.                         int num7;
  561.                         while ((num7 = stream3.Read(array4, 0, array4.Length)) > 0)
  562.                         {
  563.                             stream4.Write(array4, 0, num7);
  564.                             num6 += (long)num7;
  565.                             double num8 = (double)num6;
  566.                             double num9 = (double)array4.Length;
  567.                             double num10 = num8 / num9;
  568.                             int percentProgress2 = (int)(num10 * 100.0);
  569.                             this.Download_Mods.ReportProgress(percentProgress2);
  570.                         }
  571.                         stream4.Close();
  572.                     }
  573.                     stream3.Close();
  574.                 }
  575.             }
  576.         }
  577.  
  578.         // Token: 0x0600000F RID: 15 RVA: 0x0000432C File Offset: 0x0000252C
  579.         private void Erreur_Msg_DoWork(object sender, DoWorkEventArgs e)
  580.         {
  581.             if (this.error_code != 405)
  582.             {
  583.                 XDocument xDocument = XDocument.Load(this.appdata + this.file_translate);
  584.                 string[] value = (from r in xDocument.Descendants(this.error_xml).Elements(this.language).Elements("error" + this.error_code)
  585.                 select r.Value).ToArray<string>();
  586.                 string text = string.Join(",", value);
  587.                 this.error_message = text;
  588.             }
  589.             else
  590.             {
  591.                 this.error_message = "No network found or server not responding ...";
  592.                 this.connection_label.ForeColor = Color.Red;
  593.                 this.connection_label.Text = "Error #405 | No network found or server not responding.";
  594.             }
  595.             this.notif_1.Text = string.Concat(new object[]
  596.             {
  597.                 "Error #",
  598.                 this.error_code,
  599.                 " | ",
  600.                 this.error_message
  601.             });
  602.             this.notif_1.BringToFront();
  603.             this.notif_1.Visible = true;
  604.             Thread.Sleep(this.error_time);
  605.             this.notif_1.Visible = false;
  606.             this.notif_1.SendToBack();
  607.         }
  608.  
  609.         // Token: 0x06000010 RID: 16 RVA: 0x00004480 File Offset: 0x00002680
  610.         private void Fader_Tick(object sender, EventArgs e)
  611.         {
  612.             base.Opacity += 0.05;
  613.             if (base.Opacity == 1.0)
  614.             {
  615.                 this.Fader.Stop();
  616.             }
  617.         }
  618.  
  619.         // Token: 0x0600001C RID: 28 RVA: 0x0000521C File Offset: 0x0000341C
  620.         private void Force_Update_CheckedChanged(object sender)
  621.         {
  622.             File.WriteAllText(this.appdata + this.dest_options + "\\start_" + this.file_option, this.Force_Update.Checked.ToString());
  623.             if (this.Force_Update.Checked.ToString() == "True")
  624.             {
  625.                 this.Force_Update_Label.ForeColor = Color.LightGreen;
  626.                 if (!this.download_finish)
  627.                 {
  628.                     if (File.Exists(this.appdata + this.dest_options + "\\" + this.file_option))
  629.                     {
  630.                         string[] array = File.ReadAllLines(this.appdata + this.dest_options + "\\" + this.file_option);
  631.                         if (array[0] == "True")
  632.                         {
  633.                             this.Play_bouton.Text = this.Trans_Download2 + " / " + this.Trans_Play;
  634.                             this.Play_bouton.Font = new Font(this.Play_bouton.Text, float.Parse("11"));
  635.                             this.start_arma = true;
  636.                         }
  637.                         else
  638.                         {
  639.                             this.Play_bouton.Text = this.Trans_Download2;
  640.                             this.Play_bouton.Font = new Font(this.Play_bouton.Text, float.Parse("14"));
  641.                             this.start_arma = false;
  642.                         }
  643.                     }
  644.                     else
  645.                     {
  646.                         this.Play_bouton.Text = this.Trans_Download2;
  647.                         this.Play_bouton.Font = new Font(this.Play_bouton.Text, float.Parse("11"));
  648.                         this.start_arma = false;
  649.                     }
  650.                 }
  651.                 this.force_download = true;
  652.                 return;
  653.             }
  654.             this.Force_Update_Label.ForeColor = Color.Red;
  655.             if (!this.download_finish)
  656.             {
  657.                 if (!this.Change_Lang.IsBusy)
  658.                 {
  659.                     this.Change_Lang.RunWorkerAsync();
  660.                 }
  661.                 this.force_download = false;
  662.             }
  663.         }
  664.  
  665.         // Token: 0x0600001E RID: 30 RVA: 0x0000541C File Offset: 0x0000361C
  666.         private void InitializeComponent()
  667.         {
  668.             this.components = new Container();
  669.             ComponentResourceManager componentResourceManager = new ComponentResourceManager(typeof(Launch));
  670.             this.Update_Launcher = new BackgroundWorker();
  671.             this.Change_Lang = new BackgroundWorker();
  672.             this.Folder = new FolderBrowserDialog();
  673.             this.Download_Mods = new BackgroundWorker();
  674.             this.Erreur_Msg = new BackgroundWorker();
  675.             this.Fader = new System.Windows.Forms.Timer(this.components);
  676.             this.Close = new System.Windows.Forms.Timer(this.components);
  677.             this.Start_Arma = new BackgroundWorker();
  678.             this.News = new BackgroundWorker();
  679.             this.Anti_Cheat = new BackgroundWorker();
  680.             this.Music = new BackgroundWorker();
  681.             this.Download_CPP = new BackgroundWorker();
  682.             this.CheckInternet = new BackgroundWorker();
  683.             this.Changelogs = new BackgroundWorker();
  684.             this.Check_Mods = new BackgroundWorker();
  685.             this.Back_Test = new BackgroundWorker();
  686.             this.iTalk_ThemeContainer1 = new iTalk_ThemeContainer();
  687.             this.Option_Group = new iTalk_GroupBox();
  688.             this.label1 = new Label();
  689.             this.Force_Update_Label = new iTalk_Label();
  690.             this.Force_Update = new iTalk_CheckBox();
  691.             this.Maintenance_Label = new Ambiance_Label();
  692.             this.Sound = new PictureBox();
  693.             this.Download_Group = new iTalk_GroupBox();
  694.             this.Download_Progressbar = new PerplexProgressBar();
  695.             this.Label_modsdeal = new iTalk_Label();
  696.             this.Label_mods = new iTalk_Label();
  697.             this.Label_valu = new iTalk_Label();
  698.             this.Total_Progress = new iTalk_ProgressBar();
  699.             this.picture_darma = new PictureBox();
  700.             this.credits_label = new Label();
  701.             this.label_darma = new iTalk_Label();
  702.             this.connection_label = new iTalk_Label();
  703.             this.destination_bouton = new iTalk_Button_2();
  704.             this.Option_Boutton = new iTalk_Button_1();
  705.             this.Play_bouton = new iTalk_Button_2();
  706.             this.iTalk_ControlBox1 = new iTalk_ControlBox();
  707.             this.imagebox = new PictureBox();
  708.             this.Group_Link = new iTalk_GroupBox();
  709.             this.Vocal_Icon = new PictureBox();
  710.             this.Web_Icon = new PictureBox();
  711.             this.notif_1 = new MonoFlat_NotificationBox();
  712.             this.News_Notif = new MonoFlat_NotificationBox();
  713.             this.Panel = new iTalk_TabControl();
  714.             this.tabPage1 = new TabPage();
  715.             this.Changelogs_Serveur = new Ambiance_ListBox();
  716.             this.tabPage2 = new TabPage();
  717.             this.Changelogs_Launcher = new Ambiance_ListBox();
  718.             this.Loading = new Ambiance_ProgressIndicator();
  719.             this.Maintenance = new PictureBox();
  720.             this.label2 = new Label();
  721.             this.iTalk_ThemeContainer1.SuspendLayout();
  722.             this.Option_Group.SuspendLayout();
  723.             ((ISupportInitialize)this.Sound).BeginInit();
  724.             this.Download_Group.SuspendLayout();
  725.             ((ISupportInitialize)this.picture_darma).BeginInit();
  726.             ((ISupportInitialize)this.imagebox).BeginInit();
  727.             this.Group_Link.SuspendLayout();
  728.             ((ISupportInitialize)this.Vocal_Icon).BeginInit();
  729.             ((ISupportInitialize)this.Web_Icon).BeginInit();
  730.             this.Panel.SuspendLayout();
  731.             this.tabPage1.SuspendLayout();
  732.             this.tabPage2.SuspendLayout();
  733.             ((ISupportInitialize)this.Maintenance).BeginInit();
  734.             base.SuspendLayout();
  735.             this.Update_Launcher.DoWork += new DoWorkEventHandler(this.Update_Launcher_DoWork);
  736.             this.Change_Lang.DoWork += new DoWorkEventHandler(this.Change_Lang_DoWork);
  737.             this.Folder.Description = "Choose Arma3 directory */* Choissisez la destination d'arma3";
  738.             this.Folder.SelectedPath = "C:\\Users\\Leo\\Desktop";
  739.             this.Download_Mods.WorkerReportsProgress = true;
  740.             this.Download_Mods.DoWork += new DoWorkEventHandler(this.Download_Mods_DoWork);
  741.             this.Download_Mods.ProgressChanged += new ProgressChangedEventHandler(this.backgroundWorker1_ProgressChanged);
  742.             this.Download_Mods.RunWorkerCompleted += new RunWorkerCompletedEventHandler(this.backgroundWorker1_RunWorkerCompleted);
  743.             this.Erreur_Msg.WorkerReportsProgress = true;
  744.             this.Erreur_Msg.DoWork += new DoWorkEventHandler(this.Erreur_Msg_DoWork);
  745.             this.Fader.Interval = 30;
  746.             this.Fader.Tick += new EventHandler(this.Fader_Tick);
  747.             this.Close.Interval = 30;
  748.             this.Close.Tick += new EventHandler(this.Close_Tick);
  749.             this.Start_Arma.DoWork += new DoWorkEventHandler(this.Start_Arma_DoWork);
  750.             this.News.DoWork += new DoWorkEventHandler(this.News_DoWork);
  751.             this.Anti_Cheat.DoWork += new DoWorkEventHandler(this.Anti_Cheat_DoWork);
  752.             this.Music.DoWork += new DoWorkEventHandler(this.Music_DoWork);
  753.             this.Download_CPP.WorkerReportsProgress = true;
  754.             this.Download_CPP.DoWork += new DoWorkEventHandler(this.Download_CPP_DoWork);
  755.             this.Download_CPP.RunWorkerCompleted += new RunWorkerCompletedEventHandler(this.Pont_Cpp);
  756.             this.CheckInternet.DoWork += new DoWorkEventHandler(this.CheckInternet_DoWork);
  757.             this.Changelogs.DoWork += new DoWorkEventHandler(this.Changelogs_DoWork);
  758.             this.Check_Mods.DoWork += new DoWorkEventHandler(this.Check_Mods_DoWork);
  759.             this.iTalk_ThemeContainer1.BackColor = Color.FromArgb(246, 246, 246);
  760.             this.iTalk_ThemeContainer1.Controls.Add(this.Option_Group);
  761.             this.iTalk_ThemeContainer1.Controls.Add(this.Maintenance_Label);
  762.             this.iTalk_ThemeContainer1.Controls.Add(this.Sound);
  763.             this.iTalk_ThemeContainer1.Controls.Add(this.Download_Group);
  764.             this.iTalk_ThemeContainer1.Controls.Add(this.picture_darma);
  765.             this.iTalk_ThemeContainer1.Controls.Add(this.credits_label);
  766.             this.iTalk_ThemeContainer1.Controls.Add(this.label_darma);
  767.             this.iTalk_ThemeContainer1.Controls.Add(this.connection_label);
  768.             this.iTalk_ThemeContainer1.Controls.Add(this.destination_bouton);
  769.             this.iTalk_ThemeContainer1.Controls.Add(this.Option_Boutton);
  770.             this.iTalk_ThemeContainer1.Controls.Add(this.Play_bouton);
  771.             this.iTalk_ThemeContainer1.Controls.Add(this.iTalk_ControlBox1);
  772.             this.iTalk_ThemeContainer1.Controls.Add(this.imagebox);
  773.             this.iTalk_ThemeContainer1.Controls.Add(this.Group_Link);
  774.             this.iTalk_ThemeContainer1.Controls.Add(this.notif_1);
  775.             this.iTalk_ThemeContainer1.Controls.Add(this.News_Notif);
  776.             this.iTalk_ThemeContainer1.Controls.Add(this.Panel);
  777.             this.iTalk_ThemeContainer1.Controls.Add(this.Loading);
  778.             this.iTalk_ThemeContainer1.Controls.Add(this.Maintenance);
  779.             this.iTalk_ThemeContainer1.Dock = DockStyle.Fill;
  780.             this.iTalk_ThemeContainer1.Font = new Font("Segoe UI", 8f);
  781.             this.iTalk_ThemeContainer1.ForeColor = Color.FromArgb(142, 142, 142);
  782.             this.iTalk_ThemeContainer1.Location = new Point(0, 0);
  783.             this.iTalk_ThemeContainer1.Name = "iTalk_ThemeContainer1";
  784.             this.iTalk_ThemeContainer1.Padding = new Padding(3, 28, 3, 28);
  785.             this.iTalk_ThemeContainer1.Sizable = false;
  786.             this.iTalk_ThemeContainer1.Size = new Size(1004, 484);
  787.             this.iTalk_ThemeContainer1.SmartBounds = false;
  788.             this.iTalk_ThemeContainer1.StartPosition = FormStartPosition.WindowsDefaultLocation;
  789.             this.iTalk_ThemeContainer1.TabIndex = 0;
  790.             this.iTalk_ThemeContainer1.Text = "Launcher Arma 3";
  791.             this.iTalk_ThemeContainer1.DoubleClick += new EventHandler(this.Show_Launcher_Info);
  792.             this.Option_Group.BackColor = Color.Transparent;
  793.             this.Option_Group.Controls.Add(this.label2);
  794.             this.Option_Group.Controls.Add(this.label1);
  795.             this.Option_Group.Controls.Add(this.Force_Update_Label);
  796.             this.Option_Group.Controls.Add(this.Force_Update);
  797.             this.Option_Group.Location = new Point(786, 324);
  798.             this.Option_Group.MinimumSize = new Size(136, 50);
  799.             this.Option_Group.Name = "Option_Group";
  800.             this.Option_Group.Padding = new Padding(5, 28, 5, 5);
  801.             this.Option_Group.Size = new Size(212, 117);
  802.             this.Option_Group.TabIndex = 30;
  803.             this.Option_Group.Text = "Options";
  804.             this.label1.AutoSize = true;
  805.             this.label1.Location = new Point(8, 52);
  806.             this.label1.Name = "label1";
  807.             this.label1.Size = new Size(198, 13);
  808.             this.label1.TabIndex = 36;
  809.             this.label1.Text = "Il est affiché sur le forum quand vous";
  810.             this.Force_Update_Label.AutoSize = true;
  811.             this.Force_Update_Label.BackColor = Color.Transparent;
  812.             this.Force_Update_Label.Font = new Font("Segoe UI", 8.25f, FontStyle.Bold, GraphicsUnit.Point, 0);
  813.             this.Force_Update_Label.ForeColor = Color.Red;
  814.             this.Force_Update_Label.Location = new Point(31, 31);
  815.             this.Force_Update_Label.Name = "Force_Update_Label";
  816.             this.Force_Update_Label.Size = new Size(111, 13);
  817.             this.Force_Update_Label.TabIndex = 35;
  818.             this.Force_Update_Label.Text = "Forcer la mise à jour";
  819.             this.Force_Update.BackColor = Color.Transparent;
  820.             this.Force_Update.Checked = false;
  821.             this.Force_Update.Font = new Font("Segoe UI", 10f);
  822.             this.Force_Update.ForeColor = Color.LightCoral;
  823.             this.Force_Update.Location = new Point(6, 31);
  824.             this.Force_Update.Name = "Force_Update";
  825.             this.Force_Update.RightToLeft = RightToLeft.No;
  826.             this.Force_Update.Size = new Size(136, 15);
  827.             this.Force_Update.TabIndex = 34;
  828.             this.Force_Update.CheckedChanged += new iTalk_CheckBox.CheckedChangedEventHandler(this.Force_Update_CheckedChanged);
  829.             this.Maintenance_Label.AutoSize = true;
  830.             this.Maintenance_Label.BackColor = Color.Transparent;
  831.             this.Maintenance_Label.Font = new Font("Segoe UI", 11.25f, FontStyle.Bold, GraphicsUnit.Point, 0);
  832.             this.Maintenance_Label.ForeColor = Color.Red;
  833.             this.Maintenance_Label.Location = new Point(180, 140);
  834.             this.Maintenance_Label.Name = "Maintenance_Label";
  835.             this.Maintenance_Label.Size = new Size(0, 20);
  836.             this.Maintenance_Label.TabIndex = 29;
  837.             this.Sound.BackColor = Color.Transparent;
  838.             this.Sound.Cursor = Cursors.Default;
  839.             this.Sound.Image = (Image)componentResourceManager.GetObject("Sound.Image");
  840.             this.Sound.Location = new Point(6, 460);
  841.             this.Sound.Name = "Sound";
  842.             this.Sound.Size = new Size(34, 24);
  843.             this.Sound.SizeMode = PictureBoxSizeMode.Zoom;
  844.             this.Sound.TabIndex = 24;
  845.             this.Sound.TabStop = false;
  846.             this.Sound.Click += new EventHandler(this.Show_Launcher_Info);
  847.             this.Download_Group.BackColor = Color.Transparent;
  848.             this.Download_Group.Controls.Add(this.Download_Progressbar);
  849.             this.Download_Group.Controls.Add(this.Label_modsdeal);
  850.             this.Download_Group.Controls.Add(this.Label_mods);
  851.             this.Download_Group.Controls.Add(this.Label_valu);
  852.             this.Download_Group.Controls.Add(this.Total_Progress);
  853.             this.Download_Group.Cursor = Cursors.Default;
  854.             this.Download_Group.Location = new Point(230, 258);
  855.             this.Download_Group.MinimumSize = new Size(136, 50);
  856.             this.Download_Group.Name = "Download_Group";
  857.             this.Download_Group.Padding = new Padding(5, 28, 5, 5);
  858.             this.Download_Group.RightToLeft = RightToLeft.No;
  859.             this.Download_Group.Size = new Size(550, 183);
  860.             this.Download_Group.TabIndex = 19;
  861.             this.Download_Group.Text = "Téléchargement";
  862.             this.Download_Group.Visible = false;
  863.             this.Download_Progressbar.BackColor = Color.Transparent;
  864.             this.Download_Progressbar.Location = new Point(8, 31);
  865.             this.Download_Progressbar.Maximum = 100;
  866.             this.Download_Progressbar.Name = "Download_Progressbar";
  867.             this.Download_Progressbar.ShowPercentage = false;
  868.             this.Download_Progressbar.Size = new Size(534, 38);
  869.             this.Download_Progressbar.TabIndex = 25;
  870.             this.Download_Progressbar.Text = "perplexProgressBar1";
  871.             this.Download_Progressbar.Value = 0;
  872.             this.Label_modsdeal.AutoSize = true;
  873.             this.Label_modsdeal.BackColor = Color.Transparent;
  874.             this.Label_modsdeal.Font = new Font("Impact", 8.25f, FontStyle.Regular, GraphicsUnit.Point, 0);
  875.             this.Label_modsdeal.ForeColor = Color.Black;
  876.             this.Label_modsdeal.Location = new Point(8, 116);
  877.             this.Label_modsdeal.Name = "Label_modsdeal";
  878.             this.Label_modsdeal.Size = new Size(91, 15);
  879.             this.Label_modsdeal.TabIndex = 24;
  880.             this.Label_modsdeal.Text = "Mods Treaty:  0 / 0 ";
  881.             this.Label_mods.AutoSize = true;
  882.             this.Label_mods.BackColor = Color.Transparent;
  883.             this.Label_mods.Font = new Font("Impact", 8.25f, FontStyle.Regular, GraphicsUnit.Point, 0);
  884.             this.Label_mods.ForeColor = Color.Black;
  885.             this.Label_mods.Location = new Point(8, 101);
  886.             this.Label_mods.Name = "Label_mods";
  887.             this.Label_mods.Size = new Size(98, 15);
  888.             this.Label_mods.TabIndex = 22;
  889.             this.Label_mods.Text = "Download:  ******.pbo";
  890.             this.Label_valu.AutoSize = true;
  891.             this.Label_valu.BackColor = Color.Transparent;
  892.             this.Label_valu.Font = new Font("Impact", 8.25f, FontStyle.Regular, GraphicsUnit.Point, 0);
  893.             this.Label_valu.ForeColor = Color.Black;
  894.             this.Label_valu.Location = new Point(8, 86);
  895.             this.Label_valu.Name = "Label_valu";
  896.             this.Label_valu.Size = new Size(73, 15);
  897.             this.Label_valu.TabIndex = 20;
  898.             this.Label_valu.Text = "Progress: 0 / 0";
  899.             this.Total_Progress.BackColor = SystemColors.ButtonHighlight;
  900.             this.Total_Progress.Font = new Font("Segoe UI", 15f);
  901.             this.Total_Progress.ForeColor = Color.FromArgb(0, 192, 0);
  902.             this.Total_Progress.Location = new Point(442, 75);
  903.             this.Total_Progress.Maximum = 100L;
  904.             this.Total_Progress.MinimumSize = new Size(100, 100);
  905.             this.Total_Progress.Name = "Total_Progress";
  906.             this.Total_Progress.ProgressColor1 = Color.Lime;
  907.             this.Total_Progress.ProgressColor2 = Color.Lime;
  908.             this.Total_Progress.ProgressShape = iTalk_ProgressBar._ProgressShape.Flat;
  909.             this.Total_Progress.Size = new Size(100, 100);
  910.             this.Total_Progress.TabIndex = 17;
  911.             this.Total_Progress.Text = "Total_Progress";
  912.             this.Total_Progress.Value = 0L;
  913.             this.picture_darma.Location = new Point(6, 438);
  914.             this.picture_darma.Name = "picture_darma";
  915.             this.picture_darma.Size = new Size(20, 19);
  916.             this.picture_darma.SizeMode = PictureBoxSizeMode.Zoom;
  917.             this.picture_darma.TabIndex = 14;
  918.             this.picture_darma.TabStop = false;
  919.             this.credits_label.AutoSize = true;
  920.             this.credits_label.BackColor = Color.Transparent;
  921.             this.credits_label.Font = new Font("Lucida Sans Unicode", 8.25f, FontStyle.Regular, GraphicsUnit.Point, 0);
  922.             this.credits_label.ForeColor = Color.White;
  923.             this.credits_label.Location = new Point(789, 469);
  924.             this.credits_label.Name = "credits_label";
  925.             this.credits_label.Size = new Size(211, 15);
  926.             this.credits_label.TabIndex = 13;
  927.             this.credits_label.Text = "Copyright HUBERT Léo © 2014 - 2015";
  928.             this.label_darma.AutoSize = true;
  929.             this.label_darma.BackColor = Color.Transparent;
  930.             this.label_darma.Font = new Font("Microsoft Sans Serif", 8.25f, FontStyle.Bold, GraphicsUnit.Point, 0);
  931.             this.label_darma.ForeColor = Color.Black;
  932.             this.label_darma.Location = new Point(32, 443);
  933.             this.label_darma.Name = "label_darma";
  934.             this.label_darma.Size = new Size(105, 13);
  935.             this.label_darma.TabIndex = 12;
  936.             this.label_darma.Text = "Arma3 Directory: ";
  937.             this.connection_label.AutoSize = true;
  938.             this.connection_label.BackColor = Color.Transparent;
  939.             this.connection_label.Font = new Font("Microsoft Sans Serif", 11.25f, FontStyle.Bold, GraphicsUnit.Point, 0);
  940.             this.connection_label.ForeColor = Color.RoyalBlue;
  941.             this.connection_label.Location = new Point(2, 421);
  942.             this.connection_label.Name = "connection_label";
  943.             this.connection_label.Size = new Size(82, 18);
  944.             this.connection_label.TabIndex = 11;
  945.             this.connection_label.Text = "Loading ..";
  946.             this.destination_bouton.BackColor = Color.Transparent;
  947.             this.destination_bouton.Font = new Font("Segoe UI", 14f);
  948.             this.destination_bouton.ForeColor = Color.White;
  949.             this.destination_bouton.Image = null;
  950.             this.destination_bouton.ImageAlign = ContentAlignment.MiddleLeft;
  951.             this.destination_bouton.Location = new Point(12, 258);
  952.             this.destination_bouton.Name = "destination_bouton";
  953.             this.destination_bouton.Size = new Size(212, 40);
  954.             this.destination_bouton.TabIndex = 8;
  955.             this.destination_bouton.Text = "Destination";
  956.             this.destination_bouton.TextAlignment = StringAlignment.Center;
  957.             this.destination_bouton.Click += new EventHandler(this.destination_bouton_Click_1);
  958.             this.Option_Boutton.BackColor = Color.Transparent;
  959.             this.Option_Boutton.Font = new Font("Segoe UI", 12f);
  960.             this.Option_Boutton.Image = null;
  961.             this.Option_Boutton.ImageAlign = ContentAlignment.MiddleLeft;
  962.             this.Option_Boutton.Location = new Point(12, 304);
  963.             this.Option_Boutton.Name = "Option_Boutton";
  964.             this.Option_Boutton.Size = new Size(212, 33);
  965.             this.Option_Boutton.TabIndex = 7;
  966.             this.Option_Boutton.Text = "Options";
  967.             this.Option_Boutton.TextAlignment = StringAlignment.Center;
  968.             this.Option_Boutton.Click += new EventHandler(this.Option_Boutton_Click);
  969.             this.Play_bouton.BackColor = Color.Transparent;
  970.             this.Play_bouton.Font = new Font("Segoe UI", 14f);
  971.             this.Play_bouton.ForeColor = Color.White;
  972.             this.Play_bouton.Image = null;
  973.             this.Play_bouton.ImageAlign = ContentAlignment.MiddleLeft;
  974.             this.Play_bouton.Location = new Point(786, 258);
  975.             this.Play_bouton.Name = "Play_bouton";
  976.             this.Play_bouton.Size = new Size(212, 60);
  977.             this.Play_bouton.TabIndex = 6;
  978.             this.Play_bouton.Text = "Play";
  979.             this.Play_bouton.TextAlignment = StringAlignment.Center;
  980.             this.Play_bouton.Click += new EventHandler(this.play_bouton_Click);
  981.             this.iTalk_ControlBox1.Anchor = (AnchorStyles.Top | AnchorStyles.Right);
  982.             this.iTalk_ControlBox1.BackColor = Color.Transparent;
  983.             this.iTalk_ControlBox1.Location = new Point(923, -1);
  984.             this.iTalk_ControlBox1.Name = "iTalk_ControlBox1";
  985.             this.iTalk_ControlBox1.Size = new Size(77, 19);
  986.             this.iTalk_ControlBox1.TabIndex = 5;
  987.             this.iTalk_ControlBox1.Text = "iTalk_ControlBox1";
  988.             this.imagebox.BackColor = Color.Transparent;
  989.             this.imagebox.Image = (Image)componentResourceManager.GetObject("imagebox.Image");
  990.             this.imagebox.Location = new Point(6, 31);
  991.             this.imagebox.Name = "imagebox";
  992.             this.imagebox.Size = new Size(992, 221);
  993.             this.imagebox.SizeMode = PictureBoxSizeMode.StretchImage;
  994.             this.imagebox.TabIndex = 4;
  995.             this.imagebox.TabStop = false;
  996.             this.Group_Link.BackColor = Color.Transparent;
  997.             this.Group_Link.Controls.Add(this.Vocal_Icon);
  998.             this.Group_Link.Controls.Add(this.Web_Icon);
  999.             this.Group_Link.Location = new Point(12, 343);
  1000.             this.Group_Link.MinimumSize = new Size(136, 50);
  1001.             this.Group_Link.Name = "Group_Link";
  1002.             this.Group_Link.Padding = new Padding(5, 28, 5, 5);
  1003.             this.Group_Link.Size = new Size(212, 75);
  1004.             this.Group_Link.TabIndex = 2;
  1005.             this.Group_Link.Text = "Links";
  1006.             this.Group_Link.DoubleClick += new EventHandler(this.Show_Launcher_Info);
  1007.             this.Vocal_Icon.Image = Resources.teamspeak_icon;
  1008.             this.Vocal_Icon.Location = new Point(154, 27);
  1009.             this.Vocal_Icon.Name = "Vocal_Icon";
  1010.             this.Vocal_Icon.Size = new Size(50, 40);
  1011.             this.Vocal_Icon.SizeMode = PictureBoxSizeMode.Zoom;
  1012.             this.Vocal_Icon.TabIndex = 1;
  1013.             this.Vocal_Icon.TabStop = false;
  1014.             this.Vocal_Icon.Click += new EventHandler(this.Vocal_bouton_Click);
  1015.             this.Web_Icon.Image = Resources.website_icon;
  1016.             this.Web_Icon.Location = new Point(8, 27);
  1017.             this.Web_Icon.Name = "Web_Icon";
  1018.             this.Web_Icon.Size = new Size(50, 40);
  1019.             this.Web_Icon.SizeMode = PictureBoxSizeMode.Zoom;
  1020.             this.Web_Icon.TabIndex = 0;
  1021.             this.Web_Icon.TabStop = false;
  1022.             this.Web_Icon.Click += new EventHandler(this.WebSite_bouton_Click);
  1023.             this.notif_1.BorderCurve = 8;
  1024.             this.notif_1.Font = new Font("Tahoma", 9f);
  1025.             this.notif_1.Image = null;
  1026.             this.notif_1.Location = new Point(6, 31);
  1027.             this.notif_1.MinimumSize = new Size(100, 40);
  1028.             this.notif_1.Name = "notif_1";
  1029.             this.notif_1.NotificationType = MonoFlat_NotificationBox.Type.Error;
  1030.             this.notif_1.RoundCorners = false;
  1031.             this.notif_1.ShowCloseButton = false;
  1032.             this.notif_1.Size = new Size(992, 40);
  1033.             this.notif_1.TabIndex = 0;
  1034.             this.News_Notif.BorderCurve = 8;
  1035.             this.News_Notif.Font = new Font("Tahoma", 9f);
  1036.             this.News_Notif.Image = null;
  1037.             this.News_Notif.Location = new Point(6, 212);
  1038.             this.News_Notif.MinimumSize = new Size(100, 40);
  1039.             this.News_Notif.Name = "News_Notif";
  1040.             this.News_Notif.NotificationType = MonoFlat_NotificationBox.Type.Notice;
  1041.             this.News_Notif.RoundCorners = false;
  1042.             this.News_Notif.ShowCloseButton = true;
  1043.             this.News_Notif.Size = new Size(992, 40);
  1044.             this.News_Notif.TabIndex = 23;
  1045.             this.Panel.Alignment = TabAlignment.Left;
  1046.             this.Panel.Controls.Add(this.tabPage1);
  1047.             this.Panel.Controls.Add(this.tabPage2);
  1048.             this.Panel.DrawMode = TabDrawMode.OwnerDrawFixed;
  1049.             this.Panel.ItemSize = new Size(44, 135);
  1050.             this.Panel.Location = new Point(230, 258);
  1051.             this.Panel.Multiline = true;
  1052.             this.Panel.Name = "Panel";
  1053.             this.Panel.SelectedIndex = 0;
  1054.             this.Panel.Size = new Size(545, 183);
  1055.             this.Panel.SizeMode = TabSizeMode.Fixed;
  1056.             this.Panel.TabIndex = 27;
  1057.             this.Panel.DoubleClick += new EventHandler(this.Show_Launcher_Info);
  1058.             this.tabPage1.BackColor = Color.FromArgb(246, 246, 246);
  1059.             this.tabPage1.Controls.Add(this.Changelogs_Serveur);
  1060.             this.tabPage1.Location = new Point(139, 4);
  1061.             this.tabPage1.Name = "tabPage1";
  1062.             this.tabPage1.Padding = new Padding(3);
  1063.             this.tabPage1.Size = new Size(402, 175);
  1064.             this.tabPage1.TabIndex = 0;
  1065.             this.tabPage1.Text = "Serveur";
  1066.             this.Changelogs_Serveur.DrawMode = DrawMode.OwnerDrawFixed;
  1067.             this.Changelogs_Serveur.Font = new Font("Microsoft Sans Serif", 11f);
  1068.             this.Changelogs_Serveur.FormattingEnabled = true;
  1069.             this.Changelogs_Serveur.IntegralHeight = false;
  1070.             this.Changelogs_Serveur.ItemHeight = 18;
  1071.             this.Changelogs_Serveur.Items.AddRange(new object[]
  1072.             {
  1073.                 "Loading ....",
  1074.                 "Please Wait !"
  1075.             });
  1076.             this.Changelogs_Serveur.Location = new Point(6, 6);
  1077.             this.Changelogs_Serveur.Name = "Changelogs_Serveur";
  1078.             this.Changelogs_Serveur.RightToLeft = RightToLeft.No;
  1079.             this.Changelogs_Serveur.Size = new Size(390, 166);
  1080.             this.Changelogs_Serveur.TabIndex = 26;
  1081.             this.Changelogs_Serveur.DoubleClick += new EventHandler(this.Show_Launcher_Info);
  1082.             this.tabPage2.BackColor = Color.FromArgb(246, 246, 246);
  1083.             this.tabPage2.Controls.Add(this.Changelogs_Launcher);
  1084.             this.tabPage2.Location = new Point(139, 4);
  1085.             this.tabPage2.Name = "tabPage2";
  1086.             this.tabPage2.Padding = new Padding(3);
  1087.             this.tabPage2.Size = new Size(402, 175);
  1088.             this.tabPage2.TabIndex = 1;
  1089.             this.tabPage2.Text = "Launcher";
  1090.             this.Changelogs_Launcher.DrawMode = DrawMode.OwnerDrawFixed;
  1091.             this.Changelogs_Launcher.Font = new Font("Microsoft Sans Serif", 11f);
  1092.             this.Changelogs_Launcher.FormattingEnabled = true;
  1093.             this.Changelogs_Launcher.IntegralHeight = false;
  1094.             this.Changelogs_Launcher.ItemHeight = 18;
  1095.             this.Changelogs_Launcher.Items.AddRange(new object[]
  1096.             {
  1097.                 "Loading ....",
  1098.                 "Please Wait !"
  1099.             });
  1100.             this.Changelogs_Launcher.Location = new Point(6, 6);
  1101.             this.Changelogs_Launcher.Name = "Changelogs_Launcher";
  1102.             this.Changelogs_Launcher.Size = new Size(390, 166);
  1103.             this.Changelogs_Launcher.TabIndex = 0;
  1104.             this.Loading.Location = new Point(447, 289);
  1105.             this.Loading.MinimumSize = new Size(80, 80);
  1106.             this.Loading.Name = "Loading";
  1107.             this.Loading.P_AnimationColor = Color.Gray;
  1108.             this.Loading.P_AnimationSpeed = 100;
  1109.             this.Loading.P_BaseColor = Color.FromArgb(76, 76, 76);
  1110.             this.Loading.Size = new Size(107, 107);
  1111.             this.Loading.TabIndex = 25;
  1112.             this.Loading.Text = "ambiance_ProgressIndicator1";
  1113.             this.Loading.Visible = false;
  1114.             this.Maintenance.InitialImage = (Image)componentResourceManager.GetObject("Maintenance.InitialImage");
  1115.             this.Maintenance.Location = new Point(161, 101);
  1116.             this.Maintenance.Name = "Maintenance";
  1117.             this.Maintenance.Size = new Size(10, 10);
  1118.             this.Maintenance.TabIndex = 28;
  1119.             this.Maintenance.TabStop = false;
  1120.             this.label2.AutoSize = true;
  1121.             this.label2.Location = new Point(8, 65);
  1122.             this.label2.Name = "label2";
  1123.             this.label2.Size = new Size(173, 13);
  1124.             this.label2.TabIndex = 37;
  1125.             this.label2.Text = "devez mettre à jour vos addons !";
  1126.             base.AutoScaleDimensions = new SizeF(6f, 13f);
  1127.             base.AutoScaleMode = AutoScaleMode.Font;
  1128.             this.BackColor = Color.FromArgb(246, 246, 246);
  1129.             this.BackgroundImage = (Image)componentResourceManager.GetObject("$this.BackgroundImage");
  1130.             base.ClientSize = new Size(1004, 484);
  1131.             base.Controls.Add(this.iTalk_ThemeContainer1);
  1132.             base.FormBorderStyle = FormBorderStyle.None;
  1133.             base.Icon = (Icon)componentResourceManager.GetObject("$this.Icon");
  1134.             this.MinimumSize = new Size(126, 39);
  1135.             base.Name = "Launch";
  1136.             base.Opacity = 0.0;
  1137.             this.Text = "Launcher Arma 3";
  1138.             base.TransparencyKey = Color.Fuchsia;
  1139.             base.FormClosed += new FormClosedEventHandler(this.Launch_FormClosed);
  1140.             base.Load += new EventHandler(this.Launch_Load);
  1141.             base.Click += new EventHandler(this.Close_Form);
  1142.             this.iTalk_ThemeContainer1.ResumeLayout(false);
  1143.             this.iTalk_ThemeContainer1.PerformLayout();
  1144.             this.Option_Group.ResumeLayout(false);
  1145.             this.Option_Group.PerformLayout();
  1146.             ((ISupportInitialize)this.Sound).EndInit();
  1147.             this.Download_Group.ResumeLayout(false);
  1148.             this.Download_Group.PerformLayout();
  1149.             ((ISupportInitialize)this.picture_darma).EndInit();
  1150.             ((ISupportInitialize)this.imagebox).EndInit();
  1151.             this.Group_Link.ResumeLayout(false);
  1152.             ((ISupportInitialize)this.Vocal_Icon).EndInit();
  1153.             ((ISupportInitialize)this.Web_Icon).EndInit();
  1154.             this.Panel.ResumeLayout(false);
  1155.             this.tabPage1.ResumeLayout(false);
  1156.             this.tabPage2.ResumeLayout(false);
  1157.             ((ISupportInitialize)this.Maintenance).EndInit();
  1158.             base.ResumeLayout(false);
  1159.         }
  1160.  
  1161.         // Token: 0x06000014 RID: 20 RVA: 0x00004B00 File Offset: 0x00002D00
  1162.         private void Launch_FormClosed(object sender, FormClosedEventArgs e)
  1163.         {
  1164.             if (this.anticheat)
  1165.             {
  1166.                 try
  1167.                 {
  1168.                     Process[] processesByName = Process.GetProcessesByName("arma3");
  1169.                     processesByName[0].Kill();
  1170.                     MessageBox.Show("Error #10 | " + this.error10);
  1171.                 }
  1172.                 catch
  1173.                 {
  1174.                 }
  1175.             }
  1176.         }
  1177.  
  1178.         // Token: 0x06000002 RID: 2 RVA: 0x00002380 File Offset: 0x00000580
  1179.         private void Launch_Load(object sender, EventArgs e)
  1180.         {
  1181.             this.Change_Lang.RunWorkerAsync();
  1182.             this.CheckInternet.RunWorkerAsync();
  1183.             if (!this.changelogs)
  1184.             {
  1185.                 this.Panel.Visible = false;
  1186.             }
  1187.             if (File.Exists(this.appdata + this.dest_options + "\\" + this.file_option))
  1188.             {
  1189.                 string[] array = File.ReadAllLines(this.appdata + this.dest_options + "\\" + this.file_option);
  1190.                 if (this.intro_music && array[1] == "True")
  1191.                 {
  1192.                     if (array[1] == "False")
  1193.                     {
  1194.                         this.music_play = false;
  1195.                     }
  1196.                     else
  1197.                     {
  1198.                         this.music_play = true;
  1199.                     }
  1200.                     this.music_volume = int.Parse(array[2]);
  1201.                 }
  1202.             }
  1203.             else
  1204.             {
  1205.                 this.music_play = this.intro_music;
  1206.             }
  1207.             if (this.intro_music)
  1208.             {
  1209.                 this.Music.RunWorkerAsync();
  1210.             }
  1211.             else
  1212.             {
  1213.                 this.Sound.Visible = false;
  1214.             }
  1215.             this.iTalk_ThemeContainer1.Text = "AltiStudio Launcher ©";
  1216.             this.Vocal_Icon.Image = Resources.teamspeak_icon;
  1217.             if (this.credits_label.Text != Resources.Copyright)
  1218.             {
  1219.                 if (!this.Erreur_Msg.IsBusy)
  1220.                 {
  1221.                     this.error_time = -1;
  1222.                     this.error_code = 100;
  1223.                     this.Erreur_Msg.RunWorkerAsync();
  1224.                 }
  1225.                 this.credits_label.Text = Resources.Copyright;
  1226.                 this.locked = true;
  1227.                 return;
  1228.             }
  1229.             this.GUID = "http://launcher.altistudio.fr/".Replace(".", "");
  1230.             this.GUID = this.GUID.Replace("/", "");
  1231.             this.GUID = this.GUID.Replace(":", "");
  1232.             this.GUID = this.GUID.Replace("-", "");
  1233.             this.GUID = this.GUID.Replace("_", "");
  1234.             if (!Directory.Exists(this.appdata))
  1235.             {
  1236.                 Directory.CreateDirectory(this.appdata);
  1237.             }
  1238.             if (!Directory.Exists(this.appdata + this.dest_options))
  1239.             {
  1240.                 Directory.CreateDirectory(this.appdata + this.dest_options);
  1241.             }
  1242.             this.Update_Launcher.RunWorkerAsync();
  1243.             if (File.Exists(this.appdata + this.file_darma))
  1244.             {
  1245.                 this.dest_arma = File.ReadAllText(this.appdata + this.file_darma);
  1246.             }
  1247.             else if (!File.Exists(this.dest_arma + this.file_arma3))
  1248.             {
  1249.                 this.Folder.ShowDialog();
  1250.                 this.dest_arma = this.Folder.SelectedPath + "\\";
  1251.                 File.WriteAllText(this.appdata + this.file_darma, this.dest_arma);
  1252.             }
  1253.             if (!File.Exists(this.dest_arma + this.file_arma3))
  1254.             {
  1255.                 if (!this.Erreur_Msg.IsBusy)
  1256.                 {
  1257.                     this.error_code = 401;
  1258.                     this.Erreur_Msg.RunWorkerAsync();
  1259.                 }
  1260.                 this.label_darma.ForeColor = Color.Red;
  1261.                 this.picture_darma.Image = Resources.cross;
  1262.             }
  1263.             else
  1264.             {
  1265.                 this.label_darma.ForeColor = Color.Green;
  1266.                 this.picture_darma.Image = Resources.checkmark;
  1267.             }
  1268.             this.label_darma.Text = this.msg_darma + this.dest_arma;
  1269.             if (!"http://launcher.altistudio.fr/".Contains("http://"))
  1270.             {
  1271.                 MessageBox.Show("The FTP connection must be a link \"http: //\"! A link \"ftp: //\" or the like does not work!" + Environment.NewLine + Environment.NewLine + "Le lien FTP doit être obligatoirement un lien \" http:// \" !   Les liens tel que \" ftp:// \" ou autres ne marche pas ! ", "AltiStudio Launcher ©");
  1272.             }
  1273.         }
  1274.  
  1275.         // Token: 0x06000015 RID: 21 RVA: 0x00004B54 File Offset: 0x00002D54
  1276.         private void Music_DoWork(object sender, DoWorkEventArgs e)
  1277.         {
  1278.             if (this.started_arma)
  1279.             {
  1280.                 this.Sound.Visible = false;
  1281.                 this.wplayer.controls.pause();
  1282.                 return;
  1283.             }
  1284.             if (!this.music_play)
  1285.             {
  1286.                 this.Sound.Visible = false;
  1287.                 this.wplayer.controls.pause();
  1288.                 return;
  1289.             }
  1290.             if (!this.intro_music)
  1291.             {
  1292.                 this.Sound.Visible = false;
  1293.                 this.wplayer.controls.pause();
  1294.                 return;
  1295.             }
  1296.             if (!this.Sound.Visible)
  1297.             {
  1298.                 this.Sound.Visible = true;
  1299.             }
  1300.             this.wplayer.controls.play();
  1301.             if (!this.music_started)
  1302.             {
  1303.                 this.wplayer.URL = "http://launcher.altistudio.fr/" + this.file_music;
  1304.                 this.wplayer.settings.setMode("loop", true);
  1305.                 this.music_started = true;
  1306.             }
  1307.             this.wplayer.settings.volume = this.music_volume;
  1308.             if (this.music_volume >= 0)
  1309.             {
  1310.                 this.Sound.Image = Resources.muted;
  1311.             }
  1312.             if (this.music_volume >= 30)
  1313.             {
  1314.                 this.Sound.Image = Resources.sound_1;
  1315.             }
  1316.             if (this.music_volume >= 60)
  1317.             {
  1318.                 this.Sound.Image = Resources.sound;
  1319.             }
  1320.         }
  1321.  
  1322.         // Token: 0x06000013 RID: 19 RVA: 0x00004900 File Offset: 0x00002B00
  1323.         private void News_DoWork(object sender, DoWorkEventArgs e)
  1324.         {
  1325.             int i = 0;
  1326.             WebClient webClient = new WebClient();
  1327.             Stream stream = webClient.OpenRead("http://launcher.altistudio.fr/" + this.dest_news + "/" + this.file_news);
  1328.             StreamReader streamReader = new StreamReader(stream);
  1329.             string a = streamReader.ReadLine();
  1330.             string text = streamReader.ReadLine();
  1331.             string a2 = streamReader.ReadLine();
  1332.             string text2 = streamReader.ReadLine();
  1333.             if (a == "true")
  1334.             {
  1335.                 this.News_Notif.Text = text;
  1336.                 this.News_Notif.BringToFront();
  1337.             }
  1338.             this.load_finish = true;
  1339.             bool arg_84_0 = this.changelogs;
  1340.             this.Changelogs.RunWorkerAsync();
  1341.             if (a2 == "true")
  1342.             {
  1343.                 this.Maintenance.ImageLocation = "http://launcher.altistudio.fr/" + this.dest_news + "\\" + this.file_maintenan_img;
  1344.                 this.Maintenance.Location = new Point(0, 24);
  1345.                 this.Maintenance.Width = 1004;
  1346.                 this.Maintenance.Height = 433;
  1347.                 this.Maintenance.SizeMode = PictureBoxSizeMode.Zoom;
  1348.                 this.Maintenance.BringToFront();
  1349.                 this.Maintenance_Label.Location = new Point(6, 460);
  1350.                 this.Maintenance_Label.Text = text2;
  1351.                 this.Maintenance_Label.BringToFront();
  1352.                 this.music_play = false;
  1353.                 if (!this.Music.IsBusy)
  1354.                 {
  1355.                     this.Music.RunWorkerAsync();
  1356.                 }
  1357.                 while (i < 2)
  1358.                 {
  1359.                     Thread.Sleep(10000);
  1360.                     new WebClient();
  1361.                     Stream stream2 = webClient.OpenRead("http://launcher.altistudio.fr/" + this.dest_news + "/" + this.file_news);
  1362.                     StreamReader streamReader2 = new StreamReader(stream2);
  1363.                     streamReader2.ReadLine();
  1364.                     streamReader2.ReadLine();
  1365.                     string a3 = streamReader2.ReadLine();
  1366.                     streamReader2.ReadLine();
  1367.                     if (a3 != "true")
  1368.                     {
  1369.                         this.Maintenance.Visible = false;
  1370.                         this.Maintenance_Label.Visible = false;
  1371.                         i = 3;
  1372.                     }
  1373.                 }
  1374.             }
  1375.         }
  1376.  
  1377.         // Token: 0x06000007 RID: 7 RVA: 0x00002B60 File Offset: 0x00000D60
  1378.         private void Option_Boutton_Click(object sender, EventArgs e)
  1379.         {
  1380.             if (this.locked)
  1381.             {
  1382.                 if (!this.Erreur_Msg.IsBusy)
  1383.                 {
  1384.                     this.error_code = 100;
  1385.                     this.Erreur_Msg.RunWorkerAsync();
  1386.                 }
  1387.                 this.credits_label.Text = Resources.Copyright;
  1388.                 return;
  1389.             }
  1390.             Form2 form = new Form2(this.language, this.appdata, this.dest_options, this.file_username, this.file_a3options, this.file_language, this.file_option, this.dest_arma, "@Studio", this.download_progress, this.music_volume, this.intro_music, this.music_play, this.TaskForce_statut, this.file_teamspeak, this.file_listtask, this.dest_taskforce, "http://launcher.altistudio.fr/", this.file_arma3, this.error_xml, "teamspeak3", "none", "none", "none", "ts.altistudio.fr", "none", "none", this.file_translate, this.file_vmods, this.dest_version);
  1391.             form.ShowDialog();
  1392.             if (File.Exists(this.appdata + this.dest_options + "\\" + this.file_language))
  1393.             {
  1394.                 string[] array = File.ReadAllLines(this.appdata + this.dest_options + "\\" + this.file_language);
  1395.                 this.language = array[1];
  1396.             }
  1397.             if (File.Exists(this.appdata + this.dest_options + "\\" + this.file_option))
  1398.             {
  1399.                 string[] array2 = File.ReadAllLines(this.appdata + this.dest_options + "\\" + this.file_option);
  1400.                 if (array2[1] == "False")
  1401.                 {
  1402.                     this.music_play = false;
  1403.                 }
  1404.                 else
  1405.                 {
  1406.                     this.music_play = true;
  1407.                 }
  1408.                 this.music_volume = int.Parse(array2[2]);
  1409.                 this.Music.RunWorkerAsync();
  1410.             }
  1411.             if (!this.Change_Lang.IsBusy)
  1412.             {
  1413.                 this.Change_Lang.RunWorkerAsync();
  1414.             }
  1415.         }
  1416.  
  1417.         // Token: 0x06000006 RID: 6 RVA: 0x00002908 File Offset: 0x00000B08
  1418.         private void play_bouton_Click(object sender, EventArgs e)
  1419.         {
  1420.             if (this.locked)
  1421.             {
  1422.                 if (!this.Erreur_Msg.IsBusy)
  1423.                 {
  1424.                     this.error_code = 100;
  1425.                     this.Erreur_Msg.RunWorkerAsync();
  1426.                 }
  1427.                 this.credits_label.Text = Resources.Copyright;
  1428.                 return;
  1429.             }
  1430.             if (!this.load_finish)
  1431.             {
  1432.                 if (!this.Erreur_Msg.IsBusy)
  1433.                 {
  1434.                     this.error_code = 110;
  1435.                     this.Erreur_Msg.RunWorkerAsync();
  1436.                 }
  1437.                 if (!this.News.IsBusy)
  1438.                 {
  1439.                     this.News.RunWorkerAsync();
  1440.                 }
  1441.                 return;
  1442.             }
  1443.             if (this.error404)
  1444.             {
  1445.                 if (!this.Erreur_Msg.IsBusy)
  1446.                 {
  1447.                     this.error_code = 404;
  1448.                     this.Erreur_Msg.RunWorkerAsync();
  1449.                 }
  1450.                 return;
  1451.             }
  1452.             if (!this.force_download && this.mods_update != "true")
  1453.             {
  1454.                 this.Start_Arma.RunWorkerAsync();
  1455.                 this.start_arma = true;
  1456.                 return;
  1457.             }
  1458.             if (!File.Exists(this.dest_arma + this.file_arma3))
  1459.             {
  1460.                 if (!this.Erreur_Msg.IsBusy)
  1461.                 {
  1462.                     this.error_code = 401;
  1463.                     this.Erreur_Msg.RunWorkerAsync();
  1464.                 }
  1465.                 return;
  1466.             }
  1467.             bool flag = false;
  1468.             if (this.TaskForce_statut)
  1469.             {
  1470.                 if (File.Exists(this.appdata + this.dest_options + "\\" + this.file_teamspeak))
  1471.                 {
  1472.                     if (File.ReadAllText(this.appdata + this.dest_options + "\\" + this.file_teamspeak) != "Installed")
  1473.                     {
  1474.                         flag = true;
  1475.                     }
  1476.                 }
  1477.                 else
  1478.                 {
  1479.                     flag = true;
  1480.                 }
  1481.             }
  1482.             if (flag)
  1483.             {
  1484.                 if (!this.Erreur_Msg.IsBusy)
  1485.                 {
  1486.                     this.error_code = 55;
  1487.                     this.Erreur_Msg.RunWorkerAsync();
  1488.                 }
  1489.                 return;
  1490.             }
  1491.             if (this.download_finish)
  1492.             {
  1493.                 this.Start_Arma.RunWorkerAsync();
  1494.                 return;
  1495.             }
  1496.             if (this.download_progress)
  1497.             {
  1498.                 return;
  1499.             }
  1500.             this.download_progress = true;
  1501.             if (!Directory.Exists(this.dest_arma + "@Studio"))
  1502.             {
  1503.                 Directory.CreateDirectory(this.dest_arma + "@Studio");
  1504.             }
  1505.             if (!Directory.Exists(this.dest_arma + "@Studio\\addons\\"))
  1506.             {
  1507.                 Directory.CreateDirectory(this.dest_arma + "@Studio\\addons\\");
  1508.             }
  1509.             if (File.Exists(this.appdata + this.file_modslist))
  1510.             {
  1511.                 File.Delete(this.appdata + this.file_modslist);
  1512.             }
  1513.             this.Download_CPP.RunWorkerAsync();
  1514.         }
  1515.  
  1516.         // Token: 0x06000017 RID: 23 RVA: 0x00004D90 File Offset: 0x00002F90
  1517.         private void Pont_Cpp(object sender, RunWorkerCompletedEventArgs e)
  1518.         {
  1519.             if (this.counter_cpp >= this.line_1)
  1520.             {
  1521.                 this.Loading.Visible = false;
  1522.                 this.Download_Mods.RunWorkerAsync();
  1523.                 this.Download_Group.Visible = true;
  1524.                 return;
  1525.             }
  1526.             this.counter_cpp++;
  1527.             this.Download_CPP.RunWorkerAsync();
  1528.         }
  1529.  
  1530.         // Token: 0x0600000B RID: 11 RVA: 0x00003B20 File Offset: 0x00001D20
  1531.         private void Show_Launcher_Info(object sender, EventArgs e)
  1532.         {
  1533.             try
  1534.             {
  1535.                 File.WriteAllText(this.appdata + "info.txt", string.Concat(new string[]
  1536.                 {
  1537.                     "http://launcher.altistudio.fr/",
  1538.                     Environment.NewLine,
  1539.                     "AltiStudio",
  1540.                     Environment.NewLine,
  1541.                     this.ipserver,
  1542.                     Environment.NewLine,
  1543.                     "ts.altistudio.fr:none@none",
  1544.                     Environment.NewLine,
  1545.                     "http://altistudio.fr/",
  1546.                     Environment.NewLine,
  1547.                     this.GUID
  1548.                 }));
  1549.             }
  1550.             catch
  1551.             {
  1552.                 File.WriteAllText("info.txt", string.Concat(new string[]
  1553.                 {
  1554.                     "http://launcher.altistudio.fr/",
  1555.                     Environment.NewLine,
  1556.                     "AltiStudio",
  1557.                     Environment.NewLine,
  1558.                     this.ipserver,
  1559.                     Environment.NewLine,
  1560.                     "ts.altistudio.fr:none@none",
  1561.                     Environment.NewLine,
  1562.                     "http://altistudio.fr/",
  1563.                     Environment.NewLine,
  1564.                     this.GUID
  1565.                 }));
  1566.             }
  1567.         }
  1568.  
  1569.         // Token: 0x06000012 RID: 18 RVA: 0x000044F0 File Offset: 0x000026F0
  1570.         private void Start_Arma_DoWork(object sender, DoWorkEventArgs e)
  1571.         {
  1572.             if (File.Exists(this.appdata + this.dest_options + "\\" + this.file_username))
  1573.             {
  1574.                 string[] array = File.ReadAllLines(this.appdata + this.dest_options + "\\" + this.file_username);
  1575.                 if (array[1] == "True")
  1576.                 {
  1577.                     this.speudo = array[0];
  1578.                 }
  1579.             }
  1580.             if (File.Exists(this.appdata + this.dest_options + "\\" + this.file_a3options))
  1581.             {
  1582.                 string[] array2 = File.ReadAllLines(this.appdata + this.dest_options + "\\" + this.file_a3options);
  1583.                 if (array2[1] == "True")
  1584.                 {
  1585.                     this.startoption = array2[0];
  1586.                 }
  1587.             }
  1588.             if (!this.start_arma)
  1589.             {
  1590.                 return;
  1591.             }
  1592.             if (File.Exists(this.dest_arma + this.file_arma3))
  1593.             {
  1594.                 if (this.servpassword == "none")
  1595.                 {
  1596.                     if (this.startoption == "any")
  1597.                     {
  1598.                         if (this.speudo == "any")
  1599.                         {
  1600.                             Process.Start(this.dest_arma + this.file_arma3, "0 1 -mod=@Studio -connect=" + this.ipserver);
  1601.                         }
  1602.                         else
  1603.                         {
  1604.                             Process.Start(this.dest_arma + this.file_arma3, "0 1 -mod=@Studio -connect=" + this.ipserver + " -name=" + this.speudo);
  1605.                         }
  1606.                     }
  1607.                     else if (this.speudo == "any")
  1608.                     {
  1609.                         Process.Start(this.dest_arma + this.file_arma3, "0 1 -mod=@Studio -connect=" + this.ipserver + " " + this.startoption);
  1610.                     }
  1611.                     else
  1612.                     {
  1613.                         Process.Start(this.dest_arma + this.file_arma3, string.Concat(new string[]
  1614.                         {
  1615.                             "0 1 -mod=@Studio -connect=",
  1616.                             this.ipserver,
  1617.                             " -name=",
  1618.                             this.speudo,
  1619.                             " ",
  1620.                             this.startoption
  1621.                         }));
  1622.                     }
  1623.                 }
  1624.                 else if (this.startoption == "any")
  1625.                 {
  1626.                     if (this.speudo == "any")
  1627.                     {
  1628.                         Process.Start(this.dest_arma + this.file_arma3, "0 1 -mod=@Studio -connect=" + this.ipserver + " -password=" + this.servpassword);
  1629.                     }
  1630.                     else
  1631.                     {
  1632.                         Process.Start(this.dest_arma + this.file_arma3, string.Concat(new string[]
  1633.                         {
  1634.                             "0 1 -mod=@Studio -connect=",
  1635.                             this.ipserver,
  1636.                             " -name=",
  1637.                             this.speudo,
  1638.                             " -password=",
  1639.                             this.servpassword
  1640.                         }));
  1641.                     }
  1642.                 }
  1643.                 else if (this.speudo == "any")
  1644.                 {
  1645.                     Process.Start(this.dest_arma + this.file_arma3, string.Concat(new string[]
  1646.                     {
  1647.                         "0 1 -mod=@Studio -connect=",
  1648.                         this.ipserver,
  1649.                         " -password=",
  1650.                         this.servpassword,
  1651.                         " ",
  1652.                         this.startoption
  1653.                     }));
  1654.                 }
  1655.                 else
  1656.                 {
  1657.                     Process.Start(this.dest_arma + this.file_arma3, string.Concat(new string[]
  1658.                     {
  1659.                         "0 1 -mod=@Studio -connect=",
  1660.                         this.ipserver,
  1661.                         " -name=",
  1662.                         this.speudo,
  1663.                         " -password=",
  1664.                         this.servpassword,
  1665.                         " ",
  1666.                         this.startoption
  1667.                     }));
  1668.                 }
  1669.                 this.started_arma = true;
  1670.                 if (!this.Music.IsBusy)
  1671.                 {
  1672.                     this.Music.RunWorkerAsync();
  1673.                     return;
  1674.                 }
  1675.             }
  1676.             else if (!this.Erreur_Msg.IsBusy)
  1677.             {
  1678.                 this.error_code = 401;
  1679.                 this.Erreur_Msg.RunWorkerAsync();
  1680.             }
  1681.         }
  1682.  
  1683.         // Token: 0x06000008 RID: 8 RVA: 0x00002D44 File Offset: 0x00000F44
  1684.         private void Update_Launcher_DoWork(object sender, DoWorkEventArgs e)
  1685.         {
  1686.             WebClient webClient = new WebClient();
  1687.             Stream stream = webClient.OpenRead("http://launcher.altistudio.fr/" + this.dest_version + "/" + this.file_vlauncher);
  1688.             StreamReader streamReader = new StreamReader(stream);
  1689.             string text = streamReader.ReadToEnd();
  1690.             if (text != this.vlauncher)
  1691.             {
  1692.                 if (!Directory.Exists(this.appdata + this.dest_update))
  1693.                 {
  1694.                     Directory.CreateDirectory(this.appdata + this.dest_update);
  1695.                 }
  1696.                 MessageBox.Show(string.Concat(new string[]
  1697.                 {
  1698.                     "Une mise à jour du launcher est disponible ! Télécharger la sur notre site !",
  1699.                     Environment.NewLine,
  1700.                     Environment.NewLine,
  1701.                     "Version Launcher: ",
  1702.                     this.vlauncher,
  1703.                     Environment.NewLine,
  1704.                     "Version Update: ",
  1705.                     text
  1706.                 }));
  1707.                 if (File.Exists(this.appdata + this.dest_update + "\\" + this.update_site))
  1708.                 {
  1709.                     File.Delete(this.appdata + this.dest_update + "\\" + this.update_site);
  1710.                 }
  1711.                 File.AppendAllText(this.appdata + this.dest_update + "\\" + this.update_site, "http://launcher.altistudio.fr/" + this.dest_update + "/AltiStudio.exe");
  1712.                 if (File.Exists(this.appdata + this.dest_update + "\\" + this.update_destlaunch))
  1713.                 {
  1714.                     File.Delete(this.appdata + this.dest_update + "\\" + this.update_destlaunch);
  1715.                 }
  1716.                 File.AppendAllText(this.appdata + this.dest_update + "\\" + this.update_destlaunch, this.dlauncher);
  1717.                 WebClient webClient2 = new WebClient();
  1718.                 webClient2.DownloadFile("http://launcher.altistudio.fr/" + this.dest_update + "/" + this.update_ext, this.appdata + this.dest_update + "\\" + this.update_ext);
  1719.                 Process.Start(this.appdata + this.dest_update + "\\" + this.update_ext);
  1720.                 Application.Exit();
  1721.             }
  1722.         }
  1723.  
  1724.         // Token: 0x06000005 RID: 5 RVA: 0x000028B4 File Offset: 0x00000AB4
  1725.         private void Vocal_bouton_Click(object sender, EventArgs e)
  1726.         {
  1727.             if (this.locked)
  1728.             {
  1729.                 if (!this.Erreur_Msg.IsBusy)
  1730.                 {
  1731.                     this.error_code = 100;
  1732.                     this.Erreur_Msg.RunWorkerAsync();
  1733.                 }
  1734.                 this.credits_label.Text = Resources.Copyright;
  1735.                 return;
  1736.             }
  1737.             Process.Start("ts3server://ts.altistudio.fr");
  1738.         }
  1739.  
  1740.         // Token: 0x06000003 RID: 3 RVA: 0x00002720 File Offset: 0x00000920
  1741.         private void WebSite_bouton_Click(object sender, EventArgs e)
  1742.         {
  1743.             if (this.locked)
  1744.             {
  1745.                 if (!this.Erreur_Msg.IsBusy)
  1746.                 {
  1747.                     this.error_code = 100;
  1748.                     this.Erreur_Msg.RunWorkerAsync();
  1749.                 }
  1750.                 this.credits_label.Text = Resources.Copyright;
  1751.                 return;
  1752.             }
  1753.             if (this.web_type == "Forum")
  1754.             {
  1755.                 Process.Start("http://forum.altistudio.fr");
  1756.                 return;
  1757.             }
  1758.             Process.Start("http://altistudio.fr/");
  1759.         }
  1760.  
  1761.         // Token: 0x04000010 RID: 16
  1762.         private bool anticheat = true;
  1763.  
  1764.         // Token: 0x04000087 RID: 135
  1765.         private BackgroundWorker Anti_Cheat;
  1766.  
  1767.         // Token: 0x04000047 RID: 71
  1768.         private string appdata = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\AltiStudio\\";
  1769.  
  1770.         // Token: 0x04000058 RID: 88
  1771.         private Assembly assembly = Assembly.GetExecutingAssembly();
  1772.  
  1773.         // Token: 0x04000097 RID: 151
  1774.         private BackgroundWorker Back_Test;
  1775.  
  1776.         // Token: 0x0400005D RID: 93
  1777.         private string bytes;
  1778.  
  1779.         // Token: 0x0400005E RID: 94
  1780.         private string bytes_d;
  1781.  
  1782.         // Token: 0x04000011 RID: 17
  1783.         private bool changelogs = true;
  1784.  
  1785.         // Token: 0x04000093 RID: 147
  1786.         private BackgroundWorker Changelogs;
  1787.  
  1788.         // Token: 0x04000092 RID: 146
  1789.         private Ambiance_ListBox Changelogs_Launcher;
  1790.  
  1791.         // Token: 0x04000090 RID: 144
  1792.         private Ambiance_ListBox Changelogs_Serveur;
  1793.  
  1794.         // Token: 0x04000074 RID: 116
  1795.         private BackgroundWorker Change_Lang;
  1796.  
  1797.         // Token: 0x0400008D RID: 141
  1798.         private BackgroundWorker CheckInternet;
  1799.  
  1800.         // Token: 0x04000096 RID: 150
  1801.         private BackgroundWorker Check_Mods;
  1802.  
  1803.         // Token: 0x0400007F RID: 127
  1804.         private new System.Windows.Forms.Timer Close;
  1805.  
  1806.         // Token: 0x0400006A RID: 106
  1807.         private IContainer components;
  1808.  
  1809.         // Token: 0x04000059 RID: 89
  1810.         private bool connection = NetworkInterface.GetIsNetworkAvailable();
  1811.  
  1812.         // Token: 0x04000075 RID: 117
  1813.         private iTalk_Label connection_label;
  1814.  
  1815.         // Token: 0x04000066 RID: 102
  1816.         private int counter;
  1817.  
  1818.         // Token: 0x0400004F RID: 79
  1819.         private int counter_cpp;
  1820.  
  1821.         // Token: 0x04000067 RID: 103
  1822.         private int counter_total;
  1823.  
  1824.         // Token: 0x04000078 RID: 120
  1825.         protected Label credits_label;
  1826.  
  1827.         // Token: 0x04000073 RID: 115
  1828.         private iTalk_Button_2 destination_bouton;
  1829.  
  1830.         // Token: 0x0400001D RID: 29
  1831.         private string dest_arma = "C:\\Program Files (x86)\\Steam\\SteamApps\\common\\Arma 3\\";
  1832.  
  1833.         // Token: 0x04000020 RID: 32
  1834.         private string dest_cpp = "cpp";
  1835.  
  1836.         // Token: 0x0400001B RID: 27
  1837.         private string dest_mods = "mods";
  1838.  
  1839.         // Token: 0x0400001E RID: 30
  1840.         private string dest_news = "news";
  1841.  
  1842.         // Token: 0x0400001F RID: 31
  1843.         private string dest_options = "options";
  1844.  
  1845.         // Token: 0x04000021 RID: 33
  1846.         private string dest_taskforce = "taskforce";
  1847.  
  1848.         // Token: 0x0400001C RID: 28
  1849.         private string dest_update = "update";
  1850.  
  1851.         // Token: 0x0400001A RID: 26
  1852.         private string dest_version = "version";
  1853.  
  1854.         // Token: 0x04000048 RID: 72
  1855.         private string dlauncher = Application.ExecutablePath;
  1856.  
  1857.         // Token: 0x0400008B RID: 139
  1858.         private BackgroundWorker Download_CPP;
  1859.  
  1860.         // Token: 0x04000050 RID: 80
  1861.         private bool download_finish;
  1862.  
  1863.         // Token: 0x0400007E RID: 126
  1864.         private iTalk_GroupBox Download_Group;
  1865.  
  1866.         // Token: 0x0400007A RID: 122
  1867.         private BackgroundWorker Download_Mods;
  1868.  
  1869.         // Token: 0x0400005C RID: 92
  1870.         private bool download_progress;
  1871.  
  1872.         // Token: 0x04000082 RID: 130
  1873.         private PerplexProgressBar Download_Progress;
  1874.  
  1875.         // Token: 0x0400008A RID: 138
  1876.         private PerplexProgressBar Download_Progressbar;
  1877.  
  1878.         // Token: 0x0400007C RID: 124
  1879.         private BackgroundWorker Erreur_Msg;
  1880.  
  1881.         // Token: 0x0400003C RID: 60
  1882.         private string error10;
  1883.  
  1884.         // Token: 0x0400003B RID: 59
  1885.         private bool error404;
  1886.  
  1887.         // Token: 0x0400003F RID: 63
  1888.         private int error_code;
  1889.  
  1890.         // Token: 0x04000040 RID: 64
  1891.         private string error_message;
  1892.  
  1893.         // Token: 0x0400003D RID: 61
  1894.         private int error_time = 5000;
  1895.  
  1896.         // Token: 0x0400003E RID: 62
  1897.         private string error_type;
  1898.  
  1899.         // Token: 0x0400003A RID: 58
  1900.         private string error_xml = "errorlist";
  1901.  
  1902.         // Token: 0x04000005 RID: 5
  1903.         private const string extention = "AltiStudio.exe";
  1904.  
  1905.         // Token: 0x0400007D RID: 125
  1906.         private System.Windows.Forms.Timer Fader;
  1907.  
  1908.         // Token: 0x0400000F RID: 15
  1909.         private bool fader_statut = true;
  1910.  
  1911.         // Token: 0x0400002A RID: 42
  1912.         private string file_a3options = "A3_Options.a3";
  1913.  
  1914.         // Token: 0x04000025 RID: 37
  1915.         private string file_arma3 = "arma3battleye.exe";
  1916.  
  1917.         // Token: 0x04000032 RID: 50
  1918.         private string file_changlauncher = "changelogs_launcher.txt";
  1919.  
  1920.         // Token: 0x04000031 RID: 49
  1921.         private string file_changserveur = "changelogs_serveur.txt";
  1922.  
  1923.         // Token: 0x0400002E RID: 46
  1924.         private string file_cpp = "list_cpp.txt";
  1925.  
  1926.         // Token: 0x04000024 RID: 36
  1927.         private string file_darma = "darma3.a3";
  1928.  
  1929.         // Token: 0x0400002B RID: 43
  1930.         private string file_language = "Language.a3";
  1931.  
  1932.         // Token: 0x04000030 RID: 48
  1933.         private string file_listtask = "list_taskforce.txt";
  1934.  
  1935.         // Token: 0x04000033 RID: 51
  1936.         private string file_maintenan_img = "maintenance.png";
  1937.  
  1938.         // Token: 0x04000027 RID: 39
  1939.         private string file_modslist = "modslist.txt";
  1940.  
  1941.         // Token: 0x0400002D RID: 45
  1942.         private string file_music = "Music.wav";
  1943.  
  1944.         // Token: 0x04000028 RID: 40
  1945.         private string file_news = "news.txt";
  1946.  
  1947.         // Token: 0x0400002C RID: 44
  1948.         private string file_option = "options.a3";
  1949.  
  1950.         // Token: 0x0400002F RID: 47
  1951.         private string file_teamspeak = "teamspeak.a3";
  1952.  
  1953.         // Token: 0x04000026 RID: 38
  1954.         private string file_translate = "translate.xml";
  1955.  
  1956.         // Token: 0x04000029 RID: 41
  1957.         private string file_username = "UserName.a3";
  1958.  
  1959.         // Token: 0x04000022 RID: 34
  1960.         private string file_vlauncher = "vlauncher.txt";
  1961.  
  1962.         // Token: 0x04000023 RID: 35
  1963.         private string file_vmods = "vmods.txt";
  1964.  
  1965.         // Token: 0x04000076 RID: 118
  1966.         private FolderBrowserDialog Folder;
  1967.  
  1968.         // Token: 0x0400004B RID: 75
  1969.         private bool force_download;
  1970.  
  1971.         // Token: 0x0400009B RID: 155
  1972.         private iTalk_CheckBox Force_Update;
  1973.  
  1974.         // Token: 0x0400009C RID: 156
  1975.         private iTalk_Label Force_Update_Label;
  1976.  
  1977.         // Token: 0x04000007 RID: 7
  1978.         private const string forum = "http://forum.altistudio.fr";
  1979.  
  1980.         // Token: 0x04000001 RID: 1
  1981.         private const string ftp = "http://launcher.altistudio.fr/";
  1982.  
  1983.         // Token: 0x0400006D RID: 109
  1984.         private iTalk_GroupBox Group_Link;
  1985.  
  1986.         // Token: 0x0400005F RID: 95
  1987.         private string GUID;
  1988.  
  1989.         // Token: 0x0400006E RID: 110
  1990.         private PictureBox imagebox;
  1991.  
  1992.         // Token: 0x04000013 RID: 19
  1993.         private bool intro_music;
  1994.  
  1995.         // Token: 0x04000009 RID: 9
  1996.         private const string ipmumble = "none";
  1997.  
  1998.         // Token: 0x04000016 RID: 22
  1999.         private string ipserver = "151.80.110.174:2302";
  2000.  
  2001.         // Token: 0x0400000C RID: 12
  2002.         private const string ipTS = "ts.altistudio.fr";
  2003.  
  2004.         // Token: 0x0400006F RID: 111
  2005.         private iTalk_ControlBox iTalk_ControlBox1;
  2006.  
  2007.         // Token: 0x0400006B RID: 107
  2008.         private iTalk_ThemeContainer iTalk_ThemeContainer1;
  2009.  
  2010.         // Token: 0x0400009D RID: 157
  2011.         private Label label1;
  2012.  
  2013.         // Token: 0x0400009E RID: 158
  2014.         private Label label2;
  2015.  
  2016.         // Token: 0x04000077 RID: 119
  2017.         private iTalk_Label label_darma;
  2018.  
  2019.         // Token: 0x04000083 RID: 131
  2020.         private iTalk_Label Label_mods;
  2021.  
  2022.         // Token: 0x04000086 RID: 134
  2023.         private iTalk_Label Label_modsdeal;
  2024.  
  2025.         // Token: 0x04000081 RID: 129
  2026.         private iTalk_Label Label_valu;
  2027.  
  2028.         // Token: 0x04000018 RID: 24
  2029.         public string language = "FR";
  2030.  
  2031.         // Token: 0x04000019 RID: 25
  2032.         public string language_Text = "Français";
  2033.  
  2034.         // Token: 0x04000054 RID: 84
  2035.         private string line;
  2036.  
  2037.         // Token: 0x04000053 RID: 83
  2038.         private int line_1;
  2039.  
  2040.         // Token: 0x0400008C RID: 140
  2041.         private Ambiance_ProgressIndicator Loading;
  2042.  
  2043.         // Token: 0x0400004E RID: 78
  2044.         private bool load_finish;
  2045.  
  2046.         // Token: 0x0400005A RID: 90
  2047.         private bool locked;
  2048.  
  2049.         // Token: 0x04000094 RID: 148
  2050.         private PictureBox Maintenance;
  2051.  
  2052.         // Token: 0x04000095 RID: 149
  2053.         private Ambiance_Label Maintenance_Label;
  2054.  
  2055.         // Token: 0x04000004 RID: 4
  2056.         private const string modsname = "@Studio";
  2057.  
  2058.         // Token: 0x04000052 RID: 82
  2059.         private string mods_update;
  2060.  
  2061.         // Token: 0x04000057 RID: 87
  2062.         private string msg_darma = "Arma3 Directory: ";
  2063.  
  2064.         // Token: 0x04000088 RID: 136
  2065.         private BackgroundWorker Music;
  2066.  
  2067.         // Token: 0x04000055 RID: 85
  2068.         private bool music_play;
  2069.  
  2070.         // Token: 0x04000051 RID: 81
  2071.         private bool music_started;
  2072.  
  2073.         // Token: 0x04000014 RID: 20
  2074.         private int music_volume = 2;
  2075.  
  2076.         // Token: 0x04000003 RID: 3
  2077.         private const string namelaunch = "AltiStudio Launcher ©";
  2078.  
  2079.         // Token: 0x04000085 RID: 133
  2080.         private BackgroundWorker News;
  2081.  
  2082.         // Token: 0x04000084 RID: 132
  2083.         private MonoFlat_NotificationBox News_Notif;
  2084.  
  2085.         // Token: 0x0400006C RID: 108
  2086.         private MonoFlat_NotificationBox notif_1;
  2087.  
  2088.         // Token: 0x04000072 RID: 114
  2089.         private iTalk_Button_1 Option_Boutton;
  2090.  
  2091.         // Token: 0x0400009A RID: 154
  2092.         private iTalk_GroupBox Option_Group;
  2093.  
  2094.         // Token: 0x0400008E RID: 142
  2095.         private iTalk_TabControl Panel;
  2096.  
  2097.         // Token: 0x0400000B RID: 11
  2098.         private const string passmumble = "none";
  2099.  
  2100.         // Token: 0x0400000E RID: 14
  2101.         private const string passTS = "none";
  2102.  
  2103.         // Token: 0x04000079 RID: 121
  2104.         private PictureBox picture_darma;
  2105.  
  2106.         // Token: 0x04000070 RID: 112
  2107.         private iTalk_Button_2 Play_bouton;
  2108.  
  2109.         // Token: 0x0400000A RID: 10
  2110.         private const string portmumble = "none";
  2111.  
  2112.         // Token: 0x0400000D RID: 13
  2113.         private const string portTS = "none";
  2114.  
  2115.         // Token: 0x04000002 RID: 2
  2116.         private const string servername = "AltiStudio";
  2117.  
  2118.         // Token: 0x04000008 RID: 8
  2119.         private const string servervocal = "teamspeak3";
  2120.  
  2121.         // Token: 0x04000017 RID: 23
  2122.         private string servpassword = "azer123";
  2123.  
  2124.         // Token: 0x04000089 RID: 137
  2125.         private PictureBox Sound;
  2126.  
  2127.         // Token: 0x0400004D RID: 77
  2128.         private string speudo = "any";
  2129.  
  2130.         // Token: 0x04000056 RID: 86
  2131.         private bool started_arma;
  2132.  
  2133.         // Token: 0x0400004C RID: 76
  2134.         private string startoption = "any";
  2135.  
  2136.         // Token: 0x0400005B RID: 91
  2137.         private bool start_arma;
  2138.  
  2139.         // Token: 0x04000080 RID: 128
  2140.         private BackgroundWorker Start_Arma;
  2141.  
  2142.         // Token: 0x0400008F RID: 143
  2143.         private TabPage tabPage1;
  2144.  
  2145.         // Token: 0x04000091 RID: 145
  2146.         private TabPage tabPage2;
  2147.  
  2148.         // Token: 0x04000012 RID: 18
  2149.         private bool TaskForce_statut = true;
  2150.  
  2151.         // Token: 0x0400007B RID: 123
  2152.         private iTalk_ProgressBar Total_Progress;
  2153.  
  2154.         // Token: 0x04000044 RID: 68
  2155.         private string Trans_Checks;
  2156.  
  2157.         // Token: 0x04000045 RID: 69
  2158.         private string Trans_Deal;
  2159.  
  2160.         // Token: 0x04000042 RID: 66
  2161.         private string Trans_Download;
  2162.  
  2163.         // Token: 0x04000043 RID: 67
  2164.         private string Trans_Download2;
  2165.  
  2166.         // Token: 0x04000046 RID: 70
  2167.         private string Trans_Play;
  2168.  
  2169.         // Token: 0x04000041 RID: 65
  2170.         private string Trans_Progress;
  2171.  
  2172.         // Token: 0x04000036 RID: 54
  2173.         private string update_destlaunch = "update.txt";
  2174.  
  2175.         // Token: 0x04000034 RID: 52
  2176.         private string update_ext = "Update.exe";
  2177.  
  2178.         // Token: 0x04000071 RID: 113
  2179.         private BackgroundWorker Update_Launcher;
  2180.  
  2181.         // Token: 0x04000037 RID: 55
  2182.         private string update_message;
  2183.  
  2184.         // Token: 0x04000035 RID: 53
  2185.         private string update_site = "site.txt";
  2186.  
  2187.         // Token: 0x04000060 RID: 96
  2188.         private string var_1;
  2189.  
  2190.         // Token: 0x04000061 RID: 97
  2191.         private string var_2;
  2192.  
  2193.         // Token: 0x04000062 RID: 98
  2194.         private string var_3;
  2195.  
  2196.         // Token: 0x04000063 RID: 99
  2197.         private string var_message;
  2198.  
  2199.         // Token: 0x04000064 RID: 100
  2200.         private string var_message2;
  2201.  
  2202.         // Token: 0x04000065 RID: 101
  2203.         private string var_message3;
  2204.  
  2205.         // Token: 0x04000038 RID: 56
  2206.         private string version_now;
  2207.  
  2208.         // Token: 0x04000039 RID: 57
  2209.         private string version_up;
  2210.  
  2211.         // Token: 0x04000049 RID: 73
  2212.         private string vlauncher = Application.ProductVersion.ToString();
  2213.  
  2214.         // Token: 0x04000098 RID: 152
  2215.         private PictureBox Vocal_Icon;
  2216.  
  2217.         // Token: 0x04000006 RID: 6
  2218.         private const string website = "http://altistudio.fr/";
  2219.  
  2220.         // Token: 0x04000099 RID: 153
  2221.         private PictureBox Web_Icon;
  2222.  
  2223.         // Token: 0x04000015 RID: 21
  2224.         private string web_type = "WebSite";
  2225.  
  2226.         // Token: 0x0400004A RID: 74
  2227.         private WindowsMediaPlayer wplayer = (WindowsMediaPlayer)Activator.CreateInstance(Marshal.GetTypeFromCLSID(new Guid("6BF52A52-394A-11D3-B153-00C04F79FAA6")));
  2228.  
  2229.         // Token: 0x04000068 RID: 104
  2230.         private string wrs_1;
  2231.  
  2232.         // Token: 0x04000069 RID: 105
  2233.         private string wrs_2;
  2234.     }
  2235. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement