mirror of
https://github.com/cemu-project/DS4Windows.git
synced 2024-12-24 15:41:49 +01:00
Use temp arrays to help cache some data
This commit is contained in:
parent
63dddf4373
commit
1c613139ef
@ -644,6 +644,8 @@ namespace DS4Windows
|
||||
|
||||
public bool[] lag = { false, false, false, false };
|
||||
public bool[] inWarnMonitor = { false, false, false, false };
|
||||
private byte[] currentBattery = { 0, 0, 0, 0, 0 };
|
||||
private bool[] charging = { false, false, false, false, false };
|
||||
|
||||
// Called every time a new input report has arrived
|
||||
protected virtual void On_Report(object sender, EventArgs e)
|
||||
@ -673,7 +675,7 @@ namespace DS4Windows
|
||||
int flashWhenLateAt = getFlashWhenLateAt();
|
||||
if (!lag[ind] && device.Latency >= flashWhenLateAt)
|
||||
{
|
||||
device.getUiContext()?.Post(new SendOrPostCallback(delegate (object state4)
|
||||
device.getUiContext()?.Post(new SendOrPostCallback(delegate (object state)
|
||||
{
|
||||
LagFlashWarning(ind, true);
|
||||
}), null);
|
||||
@ -682,7 +684,7 @@ namespace DS4Windows
|
||||
}
|
||||
else if (lag[ind] && device.Latency < flashWhenLateAt)
|
||||
{
|
||||
device.getUiContext()?.Post(new SendOrPostCallback(delegate (object state4)
|
||||
device.getUiContext()?.Post(new SendOrPostCallback(delegate (object state)
|
||||
{
|
||||
LagFlashWarning(ind, false);
|
||||
}), null);
|
||||
@ -706,7 +708,7 @@ namespace DS4Windows
|
||||
if (!device.firstReport && device.IsAlive())
|
||||
{
|
||||
device.firstReport = true;
|
||||
device.getUiContext()?.Post(new SendOrPostCallback(delegate (object state4)
|
||||
device.getUiContext()?.Post(new SendOrPostCallback(delegate (object state)
|
||||
{
|
||||
OnDeviceStatusChanged(this, ind);
|
||||
}), null);
|
||||
@ -716,9 +718,11 @@ namespace DS4Windows
|
||||
}
|
||||
else if (pState.Battery != cState.Battery || device.oldCharging != device.isCharging())
|
||||
{
|
||||
device.getUiContext()?.Post(new SendOrPostCallback(delegate (object state4)
|
||||
byte tempBattery = currentBattery[ind] = cState.Battery;
|
||||
bool tempCharging = charging[ind] = device.isCharging();
|
||||
device.getUiContext()?.Post(new SendOrPostCallback(delegate (object state)
|
||||
{
|
||||
OnBatteryStatusChange(this, ind, cState.Battery, device.isCharging());
|
||||
OnBatteryStatusChange(this, ind, tempBattery, tempCharging);
|
||||
}), null);
|
||||
|
||||
//OnBatteryStatusChange(this, ind, cState.Battery, device.isCharging());
|
||||
|
@ -128,8 +128,8 @@ namespace DS4Windows
|
||||
|
||||
// Define here to save some time processing.
|
||||
// It is enough to feel a difference during gameplay.
|
||||
private static int rsOutCurveMode = 0;
|
||||
private static int lsOutCurveMode = 0;
|
||||
private static int[] rsOutCurveModeArray = { 0, 0, 0, 0 };
|
||||
private static int[] lsOutCurveModeArray = { 0, 0, 0, 0 };
|
||||
|
||||
// Special macros
|
||||
static bool altTabDone = true;
|
||||
@ -745,7 +745,7 @@ namespace DS4Windows
|
||||
if (r2Sens != 1.0)
|
||||
dState.R2 = (byte)Global.Clamp(0, r2Sens * dState.R2, 255);
|
||||
|
||||
lsOutCurveMode = getLsOutCurveMode(device);
|
||||
int lsOutCurveMode = lsOutCurveModeArray[device] = getLsOutCurveMode(device);
|
||||
if (lsOutCurveMode != 0)
|
||||
{
|
||||
double tempX = (dState.LX - 127.5f) / 127.5;
|
||||
@ -805,7 +805,7 @@ namespace DS4Windows
|
||||
}
|
||||
}
|
||||
|
||||
rsOutCurveMode = getRsOutCurveMode(device);
|
||||
int rsOutCurveMode = rsOutCurveModeArray[device] = getRsOutCurveMode(device);
|
||||
if (rsOutCurveMode != 0)
|
||||
{
|
||||
double tempX = (dState.RX - 127.5f) / 127.5;
|
||||
|
Loading…
Reference in New Issue
Block a user