From 80417b114df9d6b1cdc92b150ed5aeec176ec36e Mon Sep 17 00:00:00 2001
From: johnb432 <58661205+johnb432@users.noreply.github.com>
Date: Sun, 24 Mar 2024 22:28:14 +0100
Subject: [PATCH] Advanced Fatigue - Move sway to common and add enable sway
setting (#9872)
* Move sway from fatigue to common
* Added enable sway setting
* Update addons/common/stringtable.xml
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
* Update addons/common/stringtable.xml
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
* Update addons/common/stringtable.xml
---------
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
---
addons/advanced_fatigue/XEH_postInit.sqf | 14 ----
addons/advanced_fatigue/initSettings.inc.sqf | 27 -------
addons/advanced_fatigue/stringtable.xml | 70 -----------------
addons/common/XEH_postInit.sqf | 18 ++++-
addons/common/functions/fnc_swayLoop.sqf | 4 +-
addons/common/initSettings.inc.sqf | 45 ++++++++++-
addons/common/stringtable.xml | 79 ++++++++++++++++++++
7 files changed, 139 insertions(+), 118 deletions(-)
diff --git a/addons/advanced_fatigue/XEH_postInit.sqf b/addons/advanced_fatigue/XEH_postInit.sqf
index ff09464901..f5aa7432f0 100644
--- a/addons/advanced_fatigue/XEH_postInit.sqf
+++ b/addons/advanced_fatigue/XEH_postInit.sqf
@@ -25,20 +25,6 @@ if (!hasInterface) exitWith {};
};
}, QUOTE(ADDON)] call EFUNC(common,addSwayFactor);
- ["multiplier", {
- switch (true) do {
- case (isWeaponRested ACE_player): {
- GVAR(swayFactor) * GVAR(restedSwayFactor)
- };
- case (isWeaponDeployed ACE_player): {
- GVAR(swayFactor) * GVAR(deployedSwayFactor)
- };
- default {
- GVAR(swayFactor)
- };
- };
- }, QUOTE(ADDON)] call EFUNC(common,addSwayFactor);
-
// - Post process effect ------------------------------------------------------
GVAR(ppeBlackout) = ppEffectCreate ["ColorCorrections", 4220];
GVAR(ppeBlackout) ppEffectEnable true;
diff --git a/addons/advanced_fatigue/initSettings.inc.sqf b/addons/advanced_fatigue/initSettings.inc.sqf
index e2d797bf91..9952a51d23 100644
--- a/addons/advanced_fatigue/initSettings.inc.sqf
+++ b/addons/advanced_fatigue/initSettings.inc.sqf
@@ -80,30 +80,3 @@
[0, 5, 1, 1],
true
] call CBA_fnc_addSetting;
-
-[
- QGVAR(swayFactor),
- "SLIDER",
- [LSTRING(SwayFactor), LSTRING(SwayFactor_Description)],
- LSTRING(DisplayName),
- [0, 5, 1, 1],
- true
-] call CBA_fnc_addSetting;
-
-[
- QGVAR(restedSwayFactor),
- "SLIDER",
- [LSTRING(RestedSwayFactor), LSTRING(RestedSwayFactor_Description)],
- LSTRING(DisplayName),
- [0, 5, 1, 2],
- true
-] call CBA_fnc_addSetting;
-
-[
- QGVAR(deployedSwayFactor),
- "SLIDER",
- [LSTRING(DeployedSwayFactor), LSTRING(DeployedSwayFactor_Description)],
- LSTRING(DisplayName),
- [0, 5, 1, 2],
- true
-] call CBA_fnc_addSetting;
diff --git a/addons/advanced_fatigue/stringtable.xml b/addons/advanced_fatigue/stringtable.xml
index 502ed12efd..5cd36ffce6 100644
--- a/addons/advanced_fatigue/stringtable.xml
+++ b/addons/advanced_fatigue/stringtable.xml
@@ -154,76 +154,6 @@
Define o quanto que um terreno íngrime aumenta na perda de estamina. Quanto maior, maior a perda de estamina.
Nastavuje, o kolik strmý terén zvyšuje ztrátu výdrže. Vyšší znamená vyšší ztrátu výdrže.
-
- Sway factor
- Factor de balanceo de mira
- Verwacklungsfaktor
- 手ぶれ因数
- 抖动系数
- 抖動因素
- Facteur de tremblement
- Fattore di Oscillazione
- Czynnik kołysania
- Фактор колебания прицела
- Fator de Balanço de Mira
- Faktor kývání
- 손떨림 정도
-
-
- Influences the amount of weapon sway. Higher means more sway.
- Afecta al la estabilidad de la mira. Más alto significa más balanceo
- Beeinflusst, wie ruhig man eine Waffe halten kann. Ein höherer Wert bedeutet weniger Stabilisierung.
- 武器の手ぶれの量に影響します。値が高いほど、手ぶれが強くなります。
- 影响手持武器的晃动程度,数值越高,抖动的越厉害。
- 影響手持武器晃動程度,數值越高抖動越厲害
- Influe sur l'amplitude du tremblement de l'arme. Une valeur plus élevée signifie plus de tremblement.
- Influenza l'aumento di oscillazione dell'arma quando affaticato. Maggiore significa più oscillazione.
- Wpływa na poziom kołysania broni. Większa ilość znaczy większe kołysanie.
- Влияет на колебания прицела оружия. Чем выше - тем больше.
- Influencia a quantidade de balanço da mira da arma. Quanto maior, mais balanço.
- Ovlivňuje množství kývání zbraní. Vyšší znamená více kývání.
- 손떨림의 정도를 정합니다. 높을 수록 많이 휘적입니다.
-
-
- Rested sway factor
- Facteur de balancement au repos
- 휴식 시 손떨림 정도
- Fator de balanço de mira em repouso
- Verwacklungsfaktor, wenn aufgelegt
- Fattore di Oscillazione Appoggiato
- 静止時の手ぶれ係数
- Коэффициент колебания прицела в состоянии покоя
-
-
- Influences the amount of weapon sway while weapon is rested.
- Influence le degré de balancement de l'arme au repos.
- 무기가 아무런 행동도 하지 않는 동안 무기가 흔들리는 정도를 정합니다.
- Influencia a quantidade de balanço de mira enquanto a arma está em repouso.
- Beeinflusst, wie ruhig man die Waffe hält, während sie aufgelegt ist.
- Determina la quantità di oscillazione dell'arma quando questa è appoggiata.
- 静止している時の武器の手ぶれの量に影響します。
- Влияет на величину колебания прицела оружия в состоянии покоя.
-
-
- Deployed sway factor
- Facteur de balancement déployé
- 거치 시 손떨림 정도
- Fator de balanço de mira em posição de tiro
- Verwacklungsfaktor, wenn Zweibein aufgestellt ist.
- Fattore di Oscillazione su Bipode
- 展開時の手ぶれ係数
- Коэффициент колебания прицела при развертывании
-
-
- Influences the amount of weapon sway while weapon is deployed.
- Influence le degré de balancement de l'arme déployée.
- 무기를 거치하는 동안 무기를 흔드는 정도를 정합니다.
- Influencia a quantidade de balanço de mira enquanto a arma está em posição de tiro.
- Beeinflusst, wie ruhig man die Waffen hält, während das Zweibein aufgestellt ist.
- Determina la quantità di oscillazione dell'arma quando questa è stabilizzata usando il bipode.
- 武器の展開(Cキー)時の武器の手ぶれの量に影響します。
- Влияет на величину колебания прицела оружия при его развертывании.
-
Enabled
Activada
diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf
index cf1f4b6fe0..c5b9c55eb2 100644
--- a/addons/common/XEH_postInit.sqf
+++ b/addons/common/XEH_postInit.sqf
@@ -499,10 +499,24 @@ GVAR(reloadMutex_lastMagazines) = [];
// Start the sway loop
//////////////////////////////////////////////////
["CBA_settingsInitialized", {
+ ["multiplier", {
+ switch (true) do {
+ case (isWeaponRested ACE_player): {
+ GVAR(swayFactor) * GVAR(restedSwayFactor)
+ };
+ case (isWeaponDeployed ACE_player): {
+ GVAR(swayFactor) * GVAR(deployedSwayFactor)
+ };
+ default {
+ GVAR(swayFactor)
+ };
+ };
+ }, QUOTE(ADDON)] call FUNC(addSwayFactor);
+
[{
// frame after settingsInitialized to ensure all other addons have added their factors
- if ((GVAR(swayFactorsBaseline) + GVAR(swayFactorsMultiplier)) isNotEqualTo []) then {
- call FUNC(swayLoop)
+ if (GVAR(enableSway)) then {
+ call FUNC(swayLoop);
};
// check for pre-3.16 sway factors being added
if (!isNil {missionNamespace getVariable "ACE_setCustomAimCoef"}) then {
diff --git a/addons/common/functions/fnc_swayLoop.sqf b/addons/common/functions/fnc_swayLoop.sqf
index 069d908d1a..adbc32053f 100644
--- a/addons/common/functions/fnc_swayLoop.sqf
+++ b/addons/common/functions/fnc_swayLoop.sqf
@@ -17,12 +17,12 @@
private _baseline = 1;
if (GVAR(swayFactorsBaseline) isNotEqualTo []) then {
- _baseline = 1 max ([missionNamespace, "ACE_setCustomAimCoef_baseline", "max"] call EFUNC(common,arithmeticGetResult));
+ _baseline = 1 max ([missionNamespace, "ACE_setCustomAimCoef_baseline", "max"] call FUNC(arithmeticGetResult));
};
private _multiplier = 1;
if (GVAR(swayFactorsMultiplier) isNotEqualTo []) then {
- _multiplier = [missionNamespace, "ACE_setCustomAimCoef_multiplier", "product"] call EFUNC(common,arithmeticGetResult);
+ _multiplier = [missionNamespace, "ACE_setCustomAimCoef_multiplier", "product"] call FUNC(arithmeticGetResult);
};
ACE_player setCustomAimCoef (_baseline * _multiplier);
diff --git a/addons/common/initSettings.inc.sqf b/addons/common/initSettings.inc.sqf
index 41fcdafecd..a784ac64a9 100644
--- a/addons/common/initSettings.inc.sqf
+++ b/addons/common/initSettings.inc.sqf
@@ -1,5 +1,6 @@
private _category = format ["ACE %1", LLSTRING(DisplayName)];
-private _categoryColors = [_category, format ["| %1 |", LLSTRING(subcategory_colors)]];
+private _categoryColors = [_category, LSTRING(subcategory_colors)];
+private _categorySway = [_category, LSTRING(subcategory_sway)];
[
QGVAR(checkPBOsAction),
@@ -87,7 +88,7 @@ private _categoryColors = [_category, format ["| %1 |", LLSTRING(subcategory_col
QGVAR(epilepsyFriendlyMode),
"CHECKBOX",
[LSTRING(EpilepsyFriendlyMode), LSTRING(EpilepsyFriendlyModeTooltip)],
- format ["ACE %1", localize LSTRING(DisplayName)],
+ _category,
false,
2
] call CBA_fnc_addSetting;
@@ -96,7 +97,45 @@ private _categoryColors = [_category, format ["| %1 |", LLSTRING(subcategory_col
QGVAR(progressBarInfo),
"LIST",
[LSTRING(progressBarInfoName), LSTRING(progressBarInfoDesc)],
- format ["ACE %1", localize LSTRING(DisplayName)],
+ _category,
[[0, 1, 2], [LSTRING(None), LSTRING(progressBarInfoPercentage), LSTRING(progressBarInfoTime)], 2],
0
] call CBA_fnc_addSetting;
+
+[
+ QGVAR(enableSway),
+ "CHECKBOX",
+ [LSTRING(enableSway), LSTRING(enableSway_Description)],
+ _categorySway,
+ true,
+ 1,
+ {},
+ true
+] call CBA_fnc_addSetting;
+
+[
+ QGVAR(swayFactor),
+ "SLIDER",
+ [LSTRING(SwayFactor), LSTRING(SwayFactor_Description)],
+ _categorySway,
+ [0, 5, 1, 2],
+ 1
+] call CBA_fnc_addSetting;
+
+[
+ QGVAR(restedSwayFactor),
+ "SLIDER",
+ [LSTRING(RestedSwayFactor), LSTRING(RestedSwayFactor_Description)],
+ _categorySway,
+ [0, 5, 1, 2],
+ 1
+] call CBA_fnc_addSetting;
+
+[
+ QGVAR(deployedSwayFactor),
+ "SLIDER",
+ [LSTRING(DeployedSwayFactor), LSTRING(DeployedSwayFactor_Description)],
+ _categorySway,
+ [0, 5, 1, 2],
+ 1
+] call CBA_fnc_addSetting;
diff --git a/addons/common/stringtable.xml b/addons/common/stringtable.xml
index 64d5fc61f3..c243f0eb6b 100644
--- a/addons/common/stringtable.xml
+++ b/addons/common/stringtable.xml
@@ -1828,5 +1828,84 @@
下方
Alt
+
+ Sway
+
+
+ Enable ACE Sway
+
+
+ Enables weapon sway influenced by sway factors, such as stance, fatigue and medical condition.\nDisabling this setting will defer sway to vanilla or other mods.
+
+
+ Sway factor
+ Factor de balanceo de mira
+ Verwacklungsfaktor
+ 手ぶれ因数
+ 抖动系数
+ 抖動因素
+ Facteur de tremblement
+ Fattore di Oscillazione
+ Czynnik kołysania
+ Фактор колебания прицела
+ Fator de Balanço de Mira
+ Faktor kývání
+ 손떨림 정도
+
+
+ Influences the amount of weapon sway. Higher means more sway.
+ Afecta al la estabilidad de la mira. Más alto significa más balanceo
+ Beeinflusst, wie ruhig man eine Waffe halten kann. Ein höherer Wert bedeutet weniger Stabilisierung.
+ 武器の手ぶれの量に影響します。値が高いほど、手ぶれが強くなります。
+ 影响手持武器的晃动程度,数值越高,抖动的越厉害。
+ 影響手持武器晃動程度,數值越高抖動越厲害
+ Influe sur l'amplitude du tremblement de l'arme. Une valeur plus élevée signifie plus de tremblement.
+ Influenza l'aumento di oscillazione dell'arma quando affaticato. Maggiore significa più oscillazione.
+ Wpływa na poziom kołysania broni. Większa ilość znaczy większe kołysanie.
+ Влияет на колебания прицела оружия. Чем выше - тем больше.
+ Influencia a quantidade de balanço da mira da arma. Quanto maior, mais balanço.
+ Ovlivňuje množství kývání zbraní. Vyšší znamená více kývání.
+ 손떨림의 정도를 정합니다. 높을 수록 많이 휘적입니다.
+
+
+ Rested sway factor
+ Facteur de balancement au repos
+ 휴식 시 손떨림 정도
+ Fator de balanço de mira em repouso
+ Verwacklungsfaktor, wenn aufgelegt
+ Fattore di Oscillazione Appoggiato
+ 静止時の手ぶれ係数
+ Коэффициент колебания прицела в состоянии покоя
+
+
+ Influences the amount of weapon sway while weapon is rested.
+ Influence le degré de balancement de l'arme au repos.
+ 무기가 아무런 행동도 하지 않는 동안 무기가 흔들리는 정도를 정합니다.
+ Influencia a quantidade de balanço de mira enquanto a arma está em repouso.
+ Beeinflusst, wie ruhig man die Waffe hält, während sie aufgelegt ist.
+ Determina la quantità di oscillazione dell'arma quando questa è appoggiata.
+ 静止している時の武器の手ぶれの量に影響します。
+ Влияет на величину колебания прицела оружия в состоянии покоя.
+
+
+ Deployed sway factor
+ Facteur de balancement déployé
+ 거치 시 손떨림 정도
+ Fator de balanço de mira em posição de tiro
+ Verwacklungsfaktor, wenn Zweibein aufgestellt ist.
+ Fattore di Oscillazione su Bipode
+ 展開時の手ぶれ係数
+ Коэффициент колебания прицела при развертывании
+
+
+ Influences the amount of weapon sway while weapon is deployed.
+ Influence le degré de balancement de l'arme déployée.
+ 무기를 거치하는 동안 무기를 흔드는 정도를 정합니다.
+ Influencia a quantidade de balanço de mira enquanto a arma está em posição de tiro.
+ Beeinflusst, wie ruhig man die Waffen hält, während das Zweibein aufgestellt ist.
+ Determina la quantità di oscillazione dell'arma quando questa è stabilizzata usando il bipode.
+ 武器の展開(Cキー)時の武器の手ぶれの量に影響します。
+ Влияет на величину колебания прицела оружия при его развертывании.
+