mirror of
https://github.com/cemu-project/DS4Windows.git
synced 2025-01-23 21:51:09 +01:00
Speed up looking for custom action and extras
This commit is contained in:
parent
7d6e33ba2f
commit
f103d955f6
@ -42,7 +42,7 @@ namespace DS4Windows
|
|||||||
sp.Stream = Properties.Resources.EE;
|
sp.Stream = Properties.Resources.EE;
|
||||||
x360Bus = new X360Device();
|
x360Bus = new X360Device();
|
||||||
AddtoDS4List();
|
AddtoDS4List();
|
||||||
for (int i = 0; i < DS4Controllers.Length; i++)
|
for (int i = 0, arlength = DS4Controllers.Length; i < arlength; i++)
|
||||||
{
|
{
|
||||||
processingData[i] = new X360Data();
|
processingData[i] = new X360Data();
|
||||||
MappedState[i] = new DS4State();
|
MappedState[i] = new DS4State();
|
||||||
@ -167,7 +167,7 @@ namespace DS4Windows
|
|||||||
if (showlog)
|
if (showlog)
|
||||||
LogDebug(Properties.Resources.StoppingX360);
|
LogDebug(Properties.Resources.StoppingX360);
|
||||||
bool anyUnplugged = false;
|
bool anyUnplugged = false;
|
||||||
for (int i = 0; i < DS4Controllers.Length; i++)
|
for (int i = 0, arlength = DS4Controllers.Length; i < arlength; i++)
|
||||||
{
|
{
|
||||||
if (DS4Controllers[i] != null)
|
if (DS4Controllers[i] != null)
|
||||||
{
|
{
|
||||||
@ -479,7 +479,7 @@ namespace DS4Windows
|
|||||||
*/
|
*/
|
||||||
cState = Mapping.SetCurveAndDeadzone(ind, cState);
|
cState = Mapping.SetCurveAndDeadzone(ind, cState);
|
||||||
if (!recordingMacro && (!string.IsNullOrEmpty(tempprofilename[ind]) ||
|
if (!recordingMacro && (!string.IsNullOrEmpty(tempprofilename[ind]) ||
|
||||||
HasCustomAction(ind) || HasCustomExtras(ind) || ProfileActions[ind].Count > 0))
|
containsCustomAction(ind) || containsCustomExtras(ind) || ProfileActions[ind].Count > 0))
|
||||||
{
|
{
|
||||||
Mapping.MapCustom(ind, cState, MappedState[ind], ExposedState[ind], touchPad[ind], this);
|
Mapping.MapCustom(ind, cState, MappedState[ind], ExposedState[ind], touchPad[ind], this);
|
||||||
cState = MappedState[ind];
|
cState = MappedState[ind];
|
||||||
|
@ -943,8 +943,8 @@ namespace DS4Windows
|
|||||||
|
|
||||||
if (usingExtra == DS4Controls.None || usingExtra == dcs.control)
|
if (usingExtra == DS4Controls.None || usingExtra == dcs.control)
|
||||||
{
|
{
|
||||||
bool shiftE = dcs.shiftExtras != "0,0,0,0,0,0,0,0" && dcs.shiftExtras != "" && ShiftTrigger(dcs.shiftTrigger, device, cState, eState, tp);
|
bool shiftE = !string.IsNullOrEmpty(dcs.shiftExtras) && dcs.shiftExtras != "0,0,0,0,0,0,0,0" && ShiftTrigger(dcs.shiftTrigger, device, cState, eState, tp);
|
||||||
bool regE = dcs.extras != "0,0,0,0,0,0,0,0" && dcs.extras != "";
|
bool regE = !string.IsNullOrEmpty(dcs.extras) && dcs.extras != "0,0,0,0,0,0,0,0";
|
||||||
if ((regE || shiftE) && getBoolMapping(device, dcs.control, cState, eState, tp))
|
if ((regE || shiftE) && getBoolMapping(device, dcs.control, cState, eState, tp))
|
||||||
{
|
{
|
||||||
usingExtra = dcs.control;
|
usingExtra = dcs.control;
|
||||||
|
@ -19,7 +19,8 @@ namespace DS4Windows
|
|||||||
public class DS4ControlSettings
|
public class DS4ControlSettings
|
||||||
{
|
{
|
||||||
public DS4Controls control;
|
public DS4Controls control;
|
||||||
public string extras = "0,0,0,0,0,0,0,0";
|
//public string extras = "0,0,0,0,0,0,0,0";
|
||||||
|
public string extras = null;
|
||||||
public DS4KeyType keyType = DS4KeyType.None;
|
public DS4KeyType keyType = DS4KeyType.None;
|
||||||
public enum ActionType : byte { Default, Key, Button, Macro };
|
public enum ActionType : byte { Default, Key, Button, Macro };
|
||||||
public ActionType actionType = ActionType.Default;
|
public ActionType actionType = ActionType.Default;
|
||||||
@ -27,7 +28,8 @@ namespace DS4Windows
|
|||||||
public ActionType shiftActionType = ActionType.Default;
|
public ActionType shiftActionType = ActionType.Default;
|
||||||
public object shiftAction = null;
|
public object shiftAction = null;
|
||||||
public int shiftTrigger = 0;
|
public int shiftTrigger = 0;
|
||||||
public string shiftExtras = "0,0,0,0,0,0,0,0";
|
//public string shiftExtras = "0,0,0,0,0,0,0,0";
|
||||||
|
public string shiftExtras = null;
|
||||||
public DS4KeyType shiftKeyType = DS4KeyType.None;
|
public DS4KeyType shiftKeyType = DS4KeyType.None;
|
||||||
|
|
||||||
public DS4ControlSettings(DS4Controls ctrl)
|
public DS4ControlSettings(DS4Controls ctrl)
|
||||||
@ -37,14 +39,16 @@ namespace DS4Windows
|
|||||||
|
|
||||||
public void Reset()
|
public void Reset()
|
||||||
{
|
{
|
||||||
extras = "0,0,0,0,0,0,0,0";
|
//extras = "0,0,0,0,0,0,0,0";
|
||||||
|
extras = null;
|
||||||
keyType = DS4KeyType.None;
|
keyType = DS4KeyType.None;
|
||||||
actionType = ActionType.Default;
|
actionType = ActionType.Default;
|
||||||
action = null;
|
action = null;
|
||||||
shiftActionType = ActionType.Default;
|
shiftActionType = ActionType.Default;
|
||||||
shiftAction = null;
|
shiftAction = null;
|
||||||
shiftTrigger = 0;
|
shiftTrigger = 0;
|
||||||
shiftExtras = "0,0,0,0,0,0,0,0";
|
//shiftExtras = "0,0,0,0,0,0,0,0";
|
||||||
|
shiftExtras = null;
|
||||||
shiftKeyType = DS4KeyType.None;
|
shiftKeyType = DS4KeyType.None;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -371,10 +375,14 @@ namespace DS4Windows
|
|||||||
public static void UpdateDS4CSetting (int deviceNum, string buttonName, bool shift, object action, string exts, DS4KeyType kt, int trigger = 0)
|
public static void UpdateDS4CSetting (int deviceNum, string buttonName, bool shift, object action, string exts, DS4KeyType kt, int trigger = 0)
|
||||||
{
|
{
|
||||||
m_Config.UpdateDS4CSetting(deviceNum, buttonName, shift, action, exts, kt, trigger);
|
m_Config.UpdateDS4CSetting(deviceNum, buttonName, shift, action, exts, kt, trigger);
|
||||||
|
m_Config.containsCustomAction[deviceNum] = m_Config.HasCustomActions(deviceNum);
|
||||||
|
m_Config.containsCustomExtras[deviceNum] = m_Config.HasCustomExtras(deviceNum);
|
||||||
}
|
}
|
||||||
public static void UpdateDS4Extra(int deviceNum, string buttonName, bool shift, string exts)
|
public static void UpdateDS4Extra(int deviceNum, string buttonName, bool shift, string exts)
|
||||||
{
|
{
|
||||||
m_Config.UpdateDS4CExtra(deviceNum, buttonName, shift, exts);
|
m_Config.UpdateDS4CExtra(deviceNum, buttonName, shift, exts);
|
||||||
|
m_Config.containsCustomAction[deviceNum] = m_Config.HasCustomActions(deviceNum);
|
||||||
|
m_Config.containsCustomExtras[deviceNum] = m_Config.HasCustomExtras(deviceNum);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static object GetDS4Action(int deviceNum, string buttonName, bool shift) => m_Config.GetDS4Action(deviceNum, buttonName, shift);
|
public static object GetDS4Action(int deviceNum, string buttonName, bool shift) => m_Config.GetDS4Action(deviceNum, buttonName, shift);
|
||||||
@ -385,6 +393,14 @@ namespace DS4Windows
|
|||||||
public static DS4ControlSettings getDS4CSetting(int deviceNum, string control) => m_Config.getDS4CSetting(deviceNum, control);
|
public static DS4ControlSettings getDS4CSetting(int deviceNum, string control) => m_Config.getDS4CSetting(deviceNum, control);
|
||||||
public static bool HasCustomAction(int deviceNum) => m_Config.HasCustomActions(deviceNum);
|
public static bool HasCustomAction(int deviceNum) => m_Config.HasCustomActions(deviceNum);
|
||||||
public static bool HasCustomExtras(int deviceNum) => m_Config.HasCustomExtras(deviceNum);
|
public static bool HasCustomExtras(int deviceNum) => m_Config.HasCustomExtras(deviceNum);
|
||||||
|
public static bool containsCustomAction(int deviceNum)
|
||||||
|
{
|
||||||
|
return m_Config.containsCustomAction[deviceNum];
|
||||||
|
}
|
||||||
|
public static bool containsCustomExtras(int deviceNum)
|
||||||
|
{
|
||||||
|
return m_Config.containsCustomExtras[deviceNum];
|
||||||
|
}
|
||||||
|
|
||||||
public static void SaveAction(string name, string controls, int mode, string details, bool edit, string extras = "")
|
public static void SaveAction(string name, string controls, int mode, string details, bool edit, string extras = "")
|
||||||
{
|
{
|
||||||
@ -658,6 +674,8 @@ namespace DS4Windows
|
|||||||
public bool useWhiteIcon;
|
public bool useWhiteIcon;
|
||||||
public bool flashWhenLate = true;
|
public bool flashWhenLate = true;
|
||||||
public int flashWhenLateAt = 20;
|
public int flashWhenLateAt = 20;
|
||||||
|
public bool[] containsCustomAction = { false, false, false, false, false };
|
||||||
|
public bool[] containsCustomExtras = { false, false, false, false, false };
|
||||||
public int[] gyroSensitivity = { 100, 100, 100, 100, 100 };
|
public int[] gyroSensitivity = { 100, 100, 100, 100, 100 };
|
||||||
public int[] gyroInvert = { 0, 0, 0, 0, 0 };
|
public int[] gyroInvert = { 0, 0, 0, 0, 0 };
|
||||||
|
|
||||||
@ -1533,6 +1551,9 @@ namespace DS4Windows
|
|||||||
foreach (DS4ControlSettings dcs in ds4settings[device])
|
foreach (DS4ControlSettings dcs in ds4settings[device])
|
||||||
dcs.Reset();
|
dcs.Reset();
|
||||||
|
|
||||||
|
containsCustomAction[device] = false;
|
||||||
|
containsCustomExtras[device] = false;
|
||||||
|
|
||||||
DS4KeyType keyType;
|
DS4KeyType keyType;
|
||||||
ushort wvk;
|
ushort wvk;
|
||||||
|
|
||||||
@ -1706,6 +1727,8 @@ namespace DS4Windows
|
|||||||
if (missingSetting && Loaded)// && buttons != null)
|
if (missingSetting && Loaded)// && buttons != null)
|
||||||
SaveProfile(device, profilepath);
|
SaveProfile(device, profilepath);
|
||||||
|
|
||||||
|
containsCustomAction[device] = HasCustomActions(device);
|
||||||
|
containsCustomExtras[device] = HasCustomExtras(device);
|
||||||
return Loaded;
|
return Loaded;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user