- Fixed vibration not picking up SmallMotor (simple addition for now)

This commit is contained in:
David Khachaturov 2020-05-07 15:50:07 +01:00
parent 38609c0fd7
commit b7b8309995
2 changed files with 11 additions and 8 deletions

View file

@ -17,9 +17,9 @@
<!--The response of rumble does not only depend on this setting and it's always high. Default: 300 -->
<add key="RumblePeriod" value="300" />
<!--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: 20 and 20 -->
<!--Don't set above ~1200. Default: 20 and 400 -->
<add key="LowFreqRumble" value="20" />
<add key="HighFreqRumble" value="20" />
<add key="HighFreqRumble" value="400" />
<!--Rumble Setting. Turns rumble on or off.-->
<!--On is "true"; off is "false". Default: true -->
<add key="EnableRumble" value="true" />

View file

@ -284,7 +284,7 @@ namespace BetterJoyForCemu {
SetRumble(lowFreq, highFreq, (float)e.LargeMotor / (float)255, rumblePeriod);
if (other != null && other != this)
other.SetRumble(lowFreq, highFreq, (float)e.LargeMotor / (float)255, rumblePeriod);
other.SetRumble(lowFreq, highFreq, (float)(e.LargeMotor + e.SmallMotor) / (float)255, rumblePeriod);
}
public void getActiveData() {
@ -295,7 +295,7 @@ namespace BetterJoyForCemu {
SetRumble(lowFreq, highFreq, (float)e.LargeMotor / (float)255, rumblePeriod);
if (other != null && other != this)
other.SetRumble(lowFreq, highFreq, (float)e.LargeMotor / (float)255, rumblePeriod);
other.SetRumble(lowFreq, highFreq, (float)(e.LargeMotor + e.SmallMotor) / (float)255, rumblePeriod);
}
public void DebugPrint(String s, DebugType d) {
@ -628,9 +628,10 @@ namespace BetterJoyForCemu {
} else if (extraGyroFeature == "mouse" && (isPro || (other == null) || (other != null && (Boolean.Parse(ConfigurationManager.AppSettings["GyroMouseLeftHanded"]) ? isLeft : !isLeft)))) {
string res_val = Config.Value("active_gyro");
if (res_val.StartsWith("joy_")){
if (buttons_down[Int32.Parse(res_val.Substring(4))] || (other != null && other.buttons_down[Int32.Parse(res_val.Substring(4))]))
int i = Int32.Parse(res_val.Substring(4));
if (buttons_down[i] || (other != null && other.buttons_down[i]))
active_gyro = true;
else if (buttons_up[Int32.Parse(res_val.Substring(4))] || (other != null && other.buttons_up[Int32.Parse(res_val.Substring(4))]))
else if (buttons_up[i] || (other != null && other.buttons_up[i]))
active_gyro = false;
}
@ -646,9 +647,11 @@ namespace BetterJoyForCemu {
// reset mouse position to centre of primary monitor
res_val = Config.Value("reset_mouse");
if (res_val.StartsWith("joy_"))
if (buttons_down[Int32.Parse(res_val.Substring(4))] || (other != null && other.buttons_down[Int32.Parse(res_val.Substring(4))]))
if (res_val.StartsWith("joy_")) {
int i = Int32.Parse(res_val.Substring(4));
if (buttons_down[i] || (other != null && other.buttons_down[i]))
WindowsInput.Simulate.Events().MoveTo(Screen.PrimaryScreen.Bounds.Width / 2, Screen.PrimaryScreen.Bounds.Height / 2).Invoke();
}
}
}