147 lines
4.8 KiB
C#
147 lines
4.8 KiB
C#
using System;
|
|
using System.Drawing;
|
|
using System.IO;
|
|
using System.Windows.Forms;
|
|
using System.Xml;
|
|
|
|
namespace GayMaker_Studio
|
|
{
|
|
public partial class GameSettings : Form
|
|
{
|
|
|
|
String ProjectPath;
|
|
XmlDocument DefaultConfig = new XmlDocument();
|
|
|
|
public GameSettings()
|
|
{
|
|
//Bypass Windows DPI Scaling
|
|
Font = new Font(Font.Name, 8.25f * 96f / CreateGraphics().DpiX, Font.Style, Font.Unit, Font.GdiCharSet, Font.GdiVerticalFont);
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void GameSettings_Load(object sender, EventArgs e)
|
|
{
|
|
Program.GMS.Enabled = false;
|
|
|
|
ProjectPath = Path.GetDirectoryName(Program.GMS.GetProjectPath());
|
|
Console.WriteLine(ProjectPath);
|
|
DefaultConfig.Load(ProjectPath + "\\Configs\\Default.config.gmx");
|
|
|
|
XmlNode TP = DefaultConfig.GetElementsByTagName("option_ps4_texture_page")[0];
|
|
XmlNode IT = DefaultConfig.GetElementsByTagName("option_ps4_interpolate")[0];
|
|
XmlNode SC = DefaultConfig.GetElementsByTagName("option_ps4_scale")[0];
|
|
XmlNode DC = DefaultConfig.GetElementsByTagName("option_ps4_displaycursor")[0];
|
|
|
|
|
|
try
|
|
{
|
|
//If global game settings was never opened then its true/false for some reason
|
|
DisplayCursor.Checked = bool.Parse(DC.InnerText);
|
|
Interporlate.Checked = bool.Parse(IT.InnerText);
|
|
|
|
}
|
|
catch
|
|
{
|
|
//Otherwise its -1 / 0 (GM IS WEIRD)
|
|
if (int.Parse(DC.InnerText) == 0)
|
|
{
|
|
DisplayCursor.Checked = false;
|
|
}
|
|
else
|
|
{
|
|
DisplayCursor.Checked = true;
|
|
}
|
|
|
|
if (int.Parse(IT.InnerText) == 0)
|
|
{
|
|
Interporlate.Checked = false;
|
|
}
|
|
else
|
|
{
|
|
Interporlate.Checked = true;
|
|
}
|
|
|
|
if (int.Parse(SC.InnerText) == 0)
|
|
{
|
|
FullScale.Checked = true;
|
|
KeepAspect.Checked = false;
|
|
}
|
|
else
|
|
{
|
|
FullScale.Checked = false;
|
|
KeepAspect.Checked = true;
|
|
}
|
|
};
|
|
|
|
|
|
|
|
TexturePageSize.Text = int.Parse(TP.InnerText).ToString();
|
|
|
|
}
|
|
|
|
private void Save_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
|
|
if (DisplayCursor.Checked)
|
|
{
|
|
XmlNode DC = DefaultConfig.GetElementsByTagName("option_ps4_displaycursor")[0];
|
|
DC.InnerText = "-1";
|
|
}
|
|
else
|
|
{
|
|
XmlNode DC = DefaultConfig.GetElementsByTagName("option_ps4_displaycursor")[0];
|
|
DC.InnerText = "0";
|
|
}
|
|
|
|
if (Interporlate.Checked)
|
|
{
|
|
XmlNode IT = DefaultConfig.GetElementsByTagName("option_ps4_interpolate")[0];
|
|
IT.InnerText = "-1";
|
|
}
|
|
else
|
|
{
|
|
XmlNode IT = DefaultConfig.GetElementsByTagName("option_ps4_interpolate")[0];
|
|
IT.InnerText = "0";
|
|
}
|
|
|
|
if (KeepAspect.Checked)
|
|
{
|
|
XmlNode SC = DefaultConfig.GetElementsByTagName("option_ps4_scale")[0];
|
|
SC.InnerText = "-1";
|
|
}
|
|
else
|
|
{
|
|
XmlNode SC = DefaultConfig.GetElementsByTagName("option_ps4_scale")[0];
|
|
SC.InnerText = "0";
|
|
}
|
|
|
|
XmlNode TP = DefaultConfig.GetElementsByTagName("option_ps4_texture_page")[0];
|
|
TP.InnerText = TexturePageSize.Text;
|
|
|
|
XmlWriterSettings settings = new XmlWriterSettings { Indent = true, OmitXmlDeclaration = true };
|
|
XmlWriter writer = XmlWriter.Create(ProjectPath + "\\Configs\\Default.config.gmx", settings);
|
|
DefaultConfig.Save(writer);
|
|
writer.Close();
|
|
|
|
}
|
|
|
|
catch (Exception)
|
|
{
|
|
MessageBox.Show("There was an error while saving settings!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
}
|
|
|
|
|
|
Program.GMS.Enabled = true;
|
|
|
|
Close();
|
|
|
|
}
|
|
|
|
private void GameSettings_FormClosing(object sender, FormClosingEventArgs e)
|
|
{
|
|
Program.GMS.Enabled = true;
|
|
}
|
|
}
|
|
} |