Added new configuration manager.
More misc changes.
This commit is contained in:
parent
96e3da735d
commit
82fbf36796
7 changed files with 89 additions and 23 deletions
|
@ -19,8 +19,8 @@
|
|||
|
||||
<!--The controller's HD rumble settings for the low/high frequency rumble. Change to change the pitch of the rumble.-->
|
||||
<!--Don't set above ~1200. Default: 160 and 320 -->
|
||||
<add key="LowFreqRumble" value="160" />
|
||||
<add key="HighFreqRumble" value="320" />
|
||||
<add key="LowFreqRumble" value="80" />
|
||||
<add key="HighFreqRumble" value="160" />
|
||||
|
||||
<!--Rumble Setting. Turns rumble on or off.-->
|
||||
<!--On is "true"; off is "false". Default: true -->
|
||||
|
|
|
@ -83,6 +83,7 @@
|
|||
<HintPath>..\packages\Crc32.NET.1.2.0\lib\net20\Crc32.NET.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Configuration" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Numerics" />
|
||||
|
@ -96,6 +97,7 @@
|
|||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Config.cs" />
|
||||
<Compile Include="HIDapi.cs" />
|
||||
<Compile Include="Joycon.cs" />
|
||||
<Compile Include="MainForm.cs">
|
||||
|
|
50
BetterJoyForCemu/Config.cs
Normal file
50
BetterJoyForCemu/Config.cs
Normal file
|
@ -0,0 +1,50 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BetterJoyForCemu {
|
||||
public static class Config { // stores dynamic configuration, including
|
||||
const string PATH = "settings";
|
||||
static Dictionary<string, bool> variables = new Dictionary<string, bool>();
|
||||
|
||||
public static void Init() {
|
||||
variables["ProgressiveScan"] = true;
|
||||
|
||||
if (File.Exists(PATH)) {
|
||||
using (StreamReader file = new StreamReader(PATH)) {
|
||||
string line = String.Empty;
|
||||
while ((line = file.ReadLine()) != null) {
|
||||
string[] vs = line.Split();
|
||||
try {
|
||||
variables[vs[0]] = Boolean.Parse(vs[1]);
|
||||
} catch { }
|
||||
}
|
||||
}
|
||||
} else {
|
||||
using (StreamWriter file = new StreamWriter(PATH)) {
|
||||
foreach (string k in variables.Keys)
|
||||
file.WriteLine(String.Format("{0} {1}", k, variables[k]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static bool Value(string key) {
|
||||
if (!variables.TryGetValue(key, out bool temp)) {
|
||||
return false;
|
||||
}
|
||||
return variables[key];
|
||||
}
|
||||
|
||||
public static void Save(string key, bool value) {
|
||||
variables[key] = value;
|
||||
|
||||
using (StreamWriter file = new StreamWriter(PATH, false)) {
|
||||
foreach (string k in variables.Keys)
|
||||
file.WriteLine(String.Format("{0} {1}", k, variables[k]));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -207,13 +207,13 @@ namespace BetterJoyForCemu {
|
|||
public Xbox360Controller xin;
|
||||
Xbox360Report report;
|
||||
|
||||
int rumblePeriod = Int32.Parse(ConfigurationSettings.AppSettings["RumblePeriod"]);
|
||||
int lowFreq = Int32.Parse(ConfigurationSettings.AppSettings["LowFreqRumble"]);
|
||||
int highFreq = Int32.Parse(ConfigurationSettings.AppSettings["HighFreqRumble"]);
|
||||
int rumblePeriod = Int32.Parse(ConfigurationManager.AppSettings["RumblePeriod"]);
|
||||
int lowFreq = Int32.Parse(ConfigurationManager.AppSettings["LowFreqRumble"]);
|
||||
int highFreq = Int32.Parse(ConfigurationManager.AppSettings["HighFreqRumble"]);
|
||||
|
||||
bool toRumble = Boolean.Parse(ConfigurationSettings.AppSettings["EnableRumble"]);
|
||||
bool toRumble = Boolean.Parse(ConfigurationManager.AppSettings["EnableRumble"]);
|
||||
|
||||
bool showAsXInput = Boolean.Parse(ConfigurationSettings.AppSettings["ShowAsXInput"]);
|
||||
bool showAsXInput = Boolean.Parse(ConfigurationManager.AppSettings["ShowAsXInput"]);
|
||||
|
||||
public MainForm form;
|
||||
|
||||
|
|
22
BetterJoyForCemu/MainForm.Designer.cs
generated
22
BetterJoyForCemu/MainForm.Designer.cs
generated
|
@ -31,7 +31,7 @@
|
|||
this.contextMenu = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||
this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.button1 = new System.Windows.Forms.Button();
|
||||
this.btn_conf = new System.Windows.Forms.Button();
|
||||
this.passiveScanBox = new System.Windows.Forms.CheckBox();
|
||||
this.linkLabel1 = new System.Windows.Forms.LinkLabel();
|
||||
this.contextMenu.SuspendLayout();
|
||||
|
@ -88,14 +88,15 @@
|
|||
this.label2.TabIndex = 2;
|
||||
this.label2.Text = "v5.0";
|
||||
//
|
||||
// button1
|
||||
// btn_conf
|
||||
//
|
||||
this.button1.Location = new System.Drawing.Point(12, 200);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(260, 26);
|
||||
this.button1.TabIndex = 3;
|
||||
this.button1.Text = "Open Controller Configuration";
|
||||
this.button1.UseVisualStyleBackColor = true;
|
||||
this.btn_conf.Enabled = false;
|
||||
this.btn_conf.Location = new System.Drawing.Point(12, 200);
|
||||
this.btn_conf.Name = "btn_conf";
|
||||
this.btn_conf.Size = new System.Drawing.Size(260, 26);
|
||||
this.btn_conf.TabIndex = 3;
|
||||
this.btn_conf.Text = "Open Controller Configuration";
|
||||
this.btn_conf.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// passiveScanBox
|
||||
//
|
||||
|
@ -109,6 +110,7 @@
|
|||
this.passiveScanBox.TabIndex = 4;
|
||||
this.passiveScanBox.Text = "Passive Scan";
|
||||
this.passiveScanBox.UseVisualStyleBackColor = true;
|
||||
this.passiveScanBox.CheckedChanged += new System.EventHandler(this.passiveScanBox_CheckedChanged);
|
||||
//
|
||||
// linkLabel1
|
||||
//
|
||||
|
@ -128,7 +130,7 @@
|
|||
this.ClientSize = new System.Drawing.Size(284, 261);
|
||||
this.Controls.Add(this.linkLabel1);
|
||||
this.Controls.Add(this.passiveScanBox);
|
||||
this.Controls.Add(this.button1);
|
||||
this.Controls.Add(this.btn_conf);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.console);
|
||||
|
@ -153,7 +155,7 @@
|
|||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.ContextMenuStrip contextMenu;
|
||||
private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem;
|
||||
private System.Windows.Forms.Button button1;
|
||||
private System.Windows.Forms.Button btn_conf;
|
||||
private System.Windows.Forms.CheckBox passiveScanBox;
|
||||
private System.Windows.Forms.LinkLabel linkLabel1;
|
||||
}
|
||||
|
|
|
@ -1,12 +1,14 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Configuration;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using System.Xml.Linq;
|
||||
|
||||
namespace BetterJoyForCemu {
|
||||
public partial class MainForm : Form {
|
||||
|
@ -33,19 +35,23 @@ namespace BetterJoyForCemu {
|
|||
notifyIcon.Visible = false;
|
||||
this.Show();
|
||||
Program.Start();
|
||||
|
||||
Config.Init();
|
||||
|
||||
passiveScanBox.Checked = Config.Value("ProgressiveScan");
|
||||
}
|
||||
|
||||
private void MainForm_FormClosing(object sender, FormClosingEventArgs e) {
|
||||
try {
|
||||
Program.Stop();
|
||||
Close();
|
||||
Environment.Exit(0);
|
||||
} catch { }
|
||||
}
|
||||
|
||||
private void exitToolStripMenuItem_Click(object sender, EventArgs e) {
|
||||
try {
|
||||
Program.Stop();
|
||||
Close();
|
||||
Environment.Exit(0);
|
||||
} catch { }
|
||||
}
|
||||
|
||||
|
@ -53,5 +59,9 @@ namespace BetterJoyForCemu {
|
|||
linkLabel1.LinkVisited = true;
|
||||
System.Diagnostics.Process.Start("http://paypal.me/DavidKhachaturov/5");
|
||||
}
|
||||
|
||||
private void passiveScanBox_CheckedChanged(object sender, EventArgs e) {
|
||||
Config.Save("ProgressiveScan", passiveScanBox.Checked);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -246,7 +246,7 @@ namespace BetterJoyForCemu {
|
|||
|
||||
static MainForm form;
|
||||
|
||||
static bool useHIDG = Boolean.Parse(ConfigurationSettings.AppSettings["UseHIDG"]);
|
||||
static bool useHIDG = Boolean.Parse(ConfigurationManager.AppSettings["UseHIDG"]);
|
||||
|
||||
public static void Start() {
|
||||
pid = Process.GetCurrentProcess().Id.ToString(); // get current process id for HidCerberus.Srv
|
||||
|
@ -268,7 +268,7 @@ namespace BetterJoyForCemu {
|
|||
}
|
||||
|
||||
HttpWebResponse response;
|
||||
if (Boolean.Parse(ConfigurationSettings.AppSettings["PurgeWhitelist"])) {
|
||||
if (Boolean.Parse(ConfigurationManager.AppSettings["PurgeWhitelist"])) {
|
||||
try {
|
||||
response = (HttpWebResponse)WebRequest.Create(@"http://localhost:26762/api/v1/hidguardian/whitelist/purge/").GetResponse(); // remove all programs allowed to see controller
|
||||
} catch (Exception e) {
|
||||
|
@ -304,7 +304,7 @@ namespace BetterJoyForCemu {
|
|||
server = new UdpServer(mgr.j);
|
||||
server.form = form;
|
||||
|
||||
server.Start(IPAddress.Parse(ConfigurationSettings.AppSettings["IP"]), Int32.Parse(ConfigurationSettings.AppSettings["Port"]));
|
||||
server.Start(IPAddress.Parse(ConfigurationManager.AppSettings["IP"]), Int32.Parse(ConfigurationManager.AppSettings["Port"]));
|
||||
timer = new HighResTimer(pollsPerSecond, new HighResTimer.ActionDelegate(mgr.Update));
|
||||
timer.Start();
|
||||
|
||||
|
@ -313,7 +313,7 @@ namespace BetterJoyForCemu {
|
|||
|
||||
public static void Stop() {
|
||||
try {
|
||||
HttpWebResponse response = (HttpWebResponse)WebRequest.Create(@"http://localhost:26762/api/v1/hidguardian/whitelist/remove/" + pid).GetResponse(); // add BetterJoyForCemu to allowed processes
|
||||
HttpWebResponse response = (HttpWebResponse)WebRequest.Create(@"http://localhost:26762/api/v1/hidguardian/whitelist/remove/" + pid).GetResponse();
|
||||
} catch (Exception e) {
|
||||
form.console.Text += "Unable to remove program from whitelist.\r\n";
|
||||
}
|
||||
|
@ -321,6 +321,8 @@ namespace BetterJoyForCemu {
|
|||
server.Stop();
|
||||
timer.Stop();
|
||||
mgr.OnApplicationQuit();
|
||||
|
||||
form.console.Text += "";
|
||||
}
|
||||
|
||||
static void Main(string[] args) {
|
||||
|
|
Loading…
Add table
Reference in a new issue