Skip to content

Commit

Permalink
v1.8.1
Browse files Browse the repository at this point in the history
- Fix WindowsGSM.cfg corrupted issue (Thanks to ! AssaultLine)
- Fix crash on start when WindowsGSM.cfg is blank
  • Loading branch information
BattlefieldDuck committed Jan 29, 2020
1 parent c23be5b commit a49e07e
Show file tree
Hide file tree
Showing 3 changed files with 55 additions and 54 deletions.
46 changes: 20 additions & 26 deletions WindowsGSM/Functions/ServerConfig.cs
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,8 @@ public ServerConfig(string serverid)
{
foreach (string line in File.ReadLines(configpath))
{
string[] keyvalue = line.Split('=');
string[] keyvalue = line.Split(new char[] { '=' }, 2);

if (keyvalue.Length == 2)
{
keyvalue[1] = keyvalue[1].Trim('\"');
Expand Down Expand Up @@ -256,21 +257,17 @@ public static bool ToggleSetting(string serverId, string settingName)
//Write all lines
foreach (string line in lines)
{
string[] keyvalue = line.Split('=');
if (keyvalue.Length == 2)
string[] keyvalue = line.Split(new char[] { '=' }, 2);
if (keyvalue.Length == 2 && settingName == keyvalue[0])
{
keyvalue[1] = keyvalue[1].Trim('\"');

if (settingName == keyvalue[0])
{
returnBool = (keyvalue[1] == "1") ? false : true;
string nextBool = (keyvalue[1] == "1") ? "0" : "1";
textwriter.WriteLine($"{keyvalue[0]}=\"{nextBool}\"");
}
else
{
textwriter.WriteLine(line);
}
returnBool = (keyvalue[1] == "1") ? false : true;
string nextBool = (keyvalue[1] == "1") ? "0" : "1";
textwriter.WriteLine($"{keyvalue[0]}=\"{nextBool}\"");
}
else
{
textwriter.WriteLine(line);
}
}

Expand Down Expand Up @@ -299,7 +296,7 @@ public static string GetDiscordWebhookUrl(string serverId)
//Read all lines
foreach (string line in lines)
{
string[] keyvalue = line.Split('=');
string[] keyvalue = line.Split(new char[] { '=' }, 2);
if (keyvalue.Length == 2)
{
if ("discordwebhook" == keyvalue[0])
Expand Down Expand Up @@ -333,18 +330,15 @@ public static void SetDiscordWebhookUrl(string serverId, string webhookUrl)
//Write lines
foreach (string line in lines)
{
string[] keyvalue = line.Split('=');
if (keyvalue.Length == 2)
string[] keyvalue = line.Split(new char[] { '=' }, 2);
if (keyvalue.Length == 2 && "discordwebhook" == keyvalue[0])
{
textwriter.WriteLine($"discordwebhook=\"{webhookUrl}\"");
saved = true;
}
else
{
if ("discordwebhook" == keyvalue[0])
{
textwriter.WriteLine($"discordwebhook=\"{webhookUrl}\"");
saved = true;
}
else
{
textwriter.WriteLine(line);
}
textwriter.WriteLine(line);
}
}

Expand Down
59 changes: 33 additions & 26 deletions WindowsGSM/MainWindow.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ private enum ServerStatus
Deleting = 12
}

public static readonly string WGSM_VERSION = "v1.8.0";
public static readonly string WGSM_VERSION = "v1.8.1";
public static readonly int MAX_SERVER = 100;
public static readonly string WGSM_PATH = Process.GetCurrentProcess().MainModule.FileName.Replace(@"\WindowsGSM.exe", "");

Expand Down Expand Up @@ -225,35 +225,42 @@ public void LoadServerTable()
}
}

var row = new Functions.ServerTable
{
ID = i.ToString(),
Game = serverConfig.ServerGame,
Icon = "/WindowsGSM;component/" + GameServer.Data.Icon.ResourceManager.GetString(serverConfig.ServerGame),
Status = status,
Name = serverConfig.ServerName,
IP = serverConfig.ServerIP,
Port = serverConfig.ServerPort,
Defaultmap = serverConfig.ServerMap,
Maxplayers = serverConfig.ServerMaxPlayer
};

ServerGrid.Items.Add(row);

if (selectedrow != null)
try
{
if (selectedrow.ID == row.ID)
var row = new Functions.ServerTable
{
ID = i.ToString(),
Game = serverConfig.ServerGame,
Icon = "/WindowsGSM;component/" + GameServer.Data.Icon.ResourceManager.GetString(serverConfig.ServerGame),
Status = status,
Name = serverConfig.ServerName,
IP = serverConfig.ServerIP,
Port = serverConfig.ServerPort,
Defaultmap = serverConfig.ServerMap,
Maxplayers = serverConfig.ServerMaxPlayer
};

ServerGrid.Items.Add(row);

if (selectedrow != null)
{
ServerGrid.SelectedItem = row;
if (selectedrow.ID == row.ID)
{
ServerGrid.SelectedItem = row;
}
}
}

g_bAutoRestart[i] = serverConfig.AutoRestart;
g_bAutoStart[i] = serverConfig.AutoStart;
g_bAutoUpdate[i] = serverConfig.AutoUpdate;
g_bUpdateOnStart[i] = serverConfig.UpdateOnStart;
g_bDiscordAlert[i] = serverConfig.DiscordAlert;
g_DiscordWebhook[i] = serverConfig.DiscordWebhook;
g_bAutoRestart[i] = serverConfig.AutoRestart;
g_bAutoStart[i] = serverConfig.AutoStart;
g_bAutoUpdate[i] = serverConfig.AutoUpdate;
g_bUpdateOnStart[i] = serverConfig.UpdateOnStart;
g_bDiscordAlert[i] = serverConfig.DiscordAlert;
g_DiscordWebhook[i] = serverConfig.DiscordWebhook;
}
catch
{
continue;
}
}

grid_action.Visibility = (ServerGrid.Items.Count != 0) ? Visibility.Visible : Visibility.Hidden;
Expand Down
4 changes: 2 additions & 2 deletions WindowsGSM/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.8.0.0")]
[assembly: AssemblyFileVersion("1.8.0.0")]
[assembly: AssemblyVersion("1.8.1.0")]
[assembly: AssemblyFileVersion("1.8.1.0")]
[assembly: NeutralResourcesLanguage("en")]

0 comments on commit a49e07e

Please sign in to comment.