Advanced Fatigue - Solid stamina bar option (#6911)

* Translation Entries (EN+DE)

* Add setting

* Obey setting in handler

* Add setting to movedToSQF list

* Replace elegant else-if with clunky SQF

* Revert adding solidStaminaBar to movedToSqf list

* Remove unnecessary fade applications

* Invert solid/fade setting for better translation

* Change translations to "fade"

* Invert fade/solid logic

* Dont unfade when disabled overall

* Dont unfade with AF disabled; fix old bug
This commit is contained in:
Blutze 2019-12-07 22:23:04 +01:00 committed by PabstMirror
parent f336b6ce62
commit 30b4f3edf0
3 changed files with 37 additions and 6 deletions

View File

@ -25,10 +25,12 @@ _posAndSize set [2, _stamina * GVAR(staminaBarWidth)];
_staminaBarContainer ctrlSetPosition _posAndSize;
// - Opacity ------------------------------------------------------------------
if (_stamina >= 0.8) then {
_staminaBarContainer ctrlSetFade (0.9 + 0.1 * (_stamina - 0.8) / 0.2);
} else {
_staminaBarContainer ctrlSetFade (0.9 * _stamina / 0.8);
if (GVAR(fadeStaminaBar)) then {
if (_stamina >= 0.8) then {
_staminaBarContainer ctrlSetFade (0.9 + 0.1 * (_stamina - 0.8) / 0.2);
} else {
_staminaBarContainer ctrlSetFade (0.9 * _stamina / 0.8);
};
};
// - Color --------------------------------------------------------------------

View File

@ -4,8 +4,14 @@
[LSTRING(Enabled), LSTRING(Enabled_Description)],
LSTRING(DisplayName),
true,
true,
{[QGVAR(enabled), _this] call EFUNC(common,cbaSettings_settingChanged)},
true, {
if (!_this) then {
private _staminaBarContainer = uiNamespace getVariable [QGVAR(staminaBarContainer), controlNull];
_staminaBarContainer ctrlSetFade 1;
_staminaBarContainer ctrlCommit 0;
};
[QGVAR(enabled), _this] call EFUNC(common,cbaSettings_settingChanged)
},
true // Needs mission restart
] call CBA_Settings_fnc_init;
@ -24,6 +30,21 @@
}
] call CBA_Settings_fnc_init;
[
QGVAR(fadeStaminaBar),
"CHECKBOX",
[LSTRING(FadeStaminaBar), LSTRING(FadeStaminaBar_Description)],
LSTRING(DisplayName),
true,
false, {
if (!_this && GVAR(enabled) && GVAR(enableStaminaBar)) then {
private _staminaBarContainer = uiNamespace getVariable [QGVAR(staminaBarContainer), controlNull];
_staminaBarContainer ctrlSetFade 0;
_staminaBarContainer ctrlCommit 0;
};
}
] call CBA_Settings_fnc_init;
[
QGVAR(performanceFactor),
"SLIDER",

View File

@ -223,5 +223,13 @@
<Portuguese>Exibe a barra de estamina.</Portuguese>
<Czech>Zobrazuje lištu výdrže</Czech>
</Key>
<Key ID="STR_ACE_Advanced_Fatigue_FadeStaminaBar">
<English>Fade Stamina bar automatically</English>
<German>Blende Ausdauerleiste automatisch aus</German>
</Key>
<Key ID="STR_ACE_Advanced_Fatigue_FadeStaminaBar_Description">
<English>Adjusts transparency of the bar based on stamina status.</English>
<German>Passt die Transparenz der Ausdauerleiste abhängig vom Ausdauerstatus an.</German>
</Key>
</Package>
</Project>