htw

The Other One

htw
Apr 19th, 2019
191
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.IO;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Windows.Forms;
  10.  
  11. namespace MMOLoader
  12. {
  13.     public partial class EQVersion : Form
  14.     {
  15.         public EQVersion()
  16.         {
  17.             InitializeComponent();
  18.         }
  19.  
  20.         private void closeButton_Click(object sender, EventArgs e)
  21.         {
  22.             Hide();
  23.         }
  24.  
  25.         private void exeLocationButton_Click(object sender, EventArgs e)
  26.         {
  27.             SelectFile();
  28.         }
  29.  
  30.         private void SelectFile()
  31.         {
  32.             this.Enabled = false;
  33.             exeOpenFileDialog.InitialDirectory = exeLocationTextBox.Text;
  34.             DialogResult drResult = exeOpenFileDialog.ShowDialog();
  35.             if (drResult != DialogResult.OK)
  36.             {
  37.                 this.Enabled = true;
  38.                 return;
  39.             }
  40.             exeLocationTextBox.Text = exeOpenFileDialog.FileName;
  41.             ReadAndDisplayVersion();
  42.             this.Enabled = true;
  43.         }
  44.  
  45.         private void ReadAndDisplayVersion()
  46.         {
  47.             try
  48.             {
  49.                 FileStream fs = File.OpenRead(exeOpenFileDialog.FileName);
  50.                 byte[] buffer = new byte[fs.Length];
  51.                 int bytesRead = fs.Read(buffer, 0, buffer.Length);
  52.                 fs.Close();
  53.                 if (bytesRead > 0)
  54.                 {
  55.                     string tmpBuffer = ASCIIEncoding.ASCII.GetString(buffer);
  56.                     int startLoc = tmpBuffer.IndexOf("Client Version: %s %s") + 48;
  57.                     versionTextBox.Text = tmpBuffer.Substring(startLoc);
  58.                     startLoc += versionTextBox.TextLength + 1;
  59.                     versionTextBox.Text += " " + tmpBuffer.Substring(startLoc);
  60.                     if (!(versionTextBox.Text.Contains("20")))
  61.                     {
  62.                         versionTextBox.Text = "";
  63.                         startLoc = tmpBuffer.IndexOf("Client Version: %s %s") - 22;
  64.                         string verDate = "                           ", verTime = "                      ";
  65.                         for (int z = startLoc; z >= 0 && z > startLoc - 100; z--)
  66.                         {
  67.                             if (tmpBuffer[z] == 0)
  68.                             {
  69.                                 verTime = tmpBuffer.Substring(z + 1);
  70.                                 if (verTime.Length == 0)
  71.                                     verTime = "Unknown";
  72.                                 startLoc = tmpBuffer.IndexOf("Client Version: %s %s") - 2;
  73.                                 for (int y = startLoc; y >= 0 && y > startLoc - 100; y--)
  74.                                 {
  75.                                     if (tmpBuffer[y] == 0)
  76.                                     {
  77.                                         verDate = tmpBuffer.Substring(y + 1);
  78.                                         if (verDate.Length == 0)
  79.                                             verDate = "Unknown";
  80.                                         versionTextBox.Text = verDate;
  81.                                         versionTextBox.Text += " " + verTime;
  82.                                         break;
  83.                                     }
  84.                                 }
  85.                                 break;
  86.                             }
  87.                         }
  88.                         if (versionTextBox.TextLength == 0)
  89.                             versionTextBox.Text = "Unknown";
  90.                     }
  91.  
  92.                 }
  93.                 else
  94.                 {
  95.                     versionTextBox.Text = "Unknown";
  96.                 }
  97.                 MainForm.EQType eqType = MainForm.GetEQType(exeOpenFileDialog.FileName);
  98.                 if (eqType == MainForm.EQType.BETA_TYPE)
  99.                 {
  100.                     versionLabel.Text = "Version of EverQuest:  Beta Server";
  101.                 }
  102.                 else if (eqType == MainForm.EQType.LIVE_TYPE)
  103.                 {
  104.                     versionLabel.Text = "Version of EverQuest:  Live Servers";
  105.                 }
  106.                 else if (eqType == MainForm.EQType.TEST_TYPE)
  107.                 {
  108.                     versionLabel.Text = "Version of EverQuest:  Test Server";
  109.                 }
  110.                 else if (eqType == MainForm.EQType.EMU_MAC_TYPE)
  111.                 {
  112.                     versionLabel.Text = "Version of EverQuest:  Mac (Macintosh/Al'Kabor) EMU";
  113.                 }
  114.                 else if (eqType == MainForm.EQType.EMU_ROF2_TYPE)
  115.                 {
  116.                     versionLabel.Text = "Version of EverQuest:  Rain of Fear 2 (ROF2) EMU";
  117.                 }
  118.                 else if (eqType == MainForm.EQType.EMU_ROF_TYPE)
  119.                 {
  120.                     versionLabel.Text = "Version of EverQuest:  Rain of Fear (ROF) EMU";
  121.                 }
  122.                 else if (eqType == MainForm.EQType.EMU_HOT_TYPE)
  123.                 {
  124.                     versionLabel.Text = "Version of EverQuest:  House of Thule (HOT) EMU";
  125.                 }
  126.                 else if (eqType == MainForm.EQType.EMU_UF_TYPE)
  127.                 {
  128.                     versionLabel.Text = "Version of EverQuest:  Underfoot (UF) EMU";
  129.                 }
  130.                 else if (eqType == MainForm.EQType.EMU_SOD_TYPE)
  131.                 {
  132.                     versionLabel.Text = "Version of EverQuest:  Seeds of Destruction (SOD) EMU";
  133.                 }
  134.                 else if (eqType == MainForm.EQType.EMU_SOF_TYPE)
  135.                 {
  136.                     versionLabel.Text = "Version of EverQuest:  Secrets of Faydwer (SOF) EMU";
  137.                 }
  138.                 else if (eqType == MainForm.EQType.EMU_TIT_TYPE)
  139.                 {
  140.                     versionLabel.Text = "Version of EverQuest:  Titanium (TIT) EMU";
  141.                 }
  142.                 else
  143.                 {
  144.                     versionLabel.Text = "Version of EverQuest:  Unknown Client Type";
  145.                 }
  146.             }
  147.             catch (Exception ex)
  148.             {
  149.                 versionTextBox.Text = ex.Message;
  150.             }
  151.         }
  152.  
  153.     }
  154. }
RAW Paste Data