|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- using GCMM.Properties;
- using System;
- using System.Collections.Generic;
- using System.Diagnostics;
- using System.Drawing;
- using System.IO;
- using System.Linq;
- using System.Net;
- using System.Text;
- using System.Text.RegularExpressions;
- using System.Threading.Tasks;
- using System.Windows.Forms;
-
- namespace GCMM
- {
- partial class MainForm
- {
- public void UpdateButton(Button button, bool enabled)
- {
- if (enabled)
- {
- button.ForeColor = Color.Lime;
- button.FlatAppearance.MouseOverBackColor = Color.FromArgb(0, 40, 0);
- button.FlatAppearance.MouseDownBackColor = Color.Green;
- }
- else
- {
- button.ForeColor = Color.Green;
- button.FlatAppearance.MouseOverBackColor = Color.Black;
- button.FlatAppearance.MouseDownBackColor = Color.Black;
- }
- }
-
- public string GetGameFolder()
- {
- string libs;
- if (Environment.OSVersion.Platform == PlatformID.Win32NT)
- libs = @"C:\Program Files (x86)\Steam\steamapps\libraryfolders.vdf";
- else
- return null;
- foreach (var line in File.ReadAllLines(libs).Concat(new[] { @"C:\Program Files (x86)\Steam\" }))
- {
- var regex = new Regex("\\t\"\\d+\"\\t\\t\"(.+)\"");
- var match = regex.Match(line);
- if (!match.Success)
- continue;
- string library = match.Groups[1].Value.Replace("\\\\", "\\");
- library += @"\steamapps\common\";
- if (File.Exists(library + @"Gamecraft\Gamecraft.exe"))
- return library + "Gamecraft";
- if (File.Exists(library + @"RobocraftX\Gamecraft.exe"))
- return library + "RobocraftX";
- }
- return libs;
- }
-
- public string SelectGameFolder()
- {
- var ofd = new OpenFileDialog();
- ofd.Filter = "Gamecraft executable|Gamecraft.exe";
- ofd.Title = "Game location";
- ofd.InitialDirectory = @"C:\Program Files (x86)\Steam\steamapps\common\";
- ofd.CheckFileExists = true;
- ofd.ShowDialog();
- if (string.IsNullOrWhiteSpace(ofd.FileName))
- return null;
- return Directory.GetParent(ofd.FileName).FullName;
- }
-
- private void CheckStartGame(object sender, EventArgs e)
- {
- Action act = () =>
- {
- if ((sender as Process).ExitCode != 0)
- {
- status.Text = "Status: Patching failed";
- return;
- }
- if (CheckIfPatched() ?? false)
- Process.Start("steam://run/1078000/");
- };
- if (InvokeRequired)
- Invoke(act);
- }
-
- public WebClient GetClient()
- {
- var client = new WebClient();
- if (!Settings.Default.UseProxy)
- client.Proxy = null;
- client.Headers.Clear();
- client.Headers[HttpRequestHeader.Accept] = "application/json";
- client.BaseAddress = "https://git.exmods.org";
- return client;
- }
- }
- }
|