mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Show Charge - Cleanup Settings
This commit is contained in:
parent
e71378f9b3
commit
0281897a3d
@ -33,18 +33,24 @@ class CfgVehicles {
|
|||||||
// icon = QUOTE(PATHTOF(UI\Icon_.paa));
|
// icon = QUOTE(PATHTOF(UI\Icon_.paa));
|
||||||
functionPriority = 0;
|
functionPriority = 0;
|
||||||
class Arguments {
|
class Arguments {
|
||||||
class disableComputerRangefinder {
|
|
||||||
displayName = "Remove MK6 Computer/Rangefinder";
|
|
||||||
description = "Removes Computer and Rangefinder (these should be removed if you enable air resistance)";
|
|
||||||
typeName = "BOOL";
|
|
||||||
defaultValue = 1;
|
|
||||||
};
|
|
||||||
class airResistanceEnabled {
|
class airResistanceEnabled {
|
||||||
displayName = "Air Resitance";
|
displayName = "Air Resitance";
|
||||||
description = "For Player Shots, Model Air Restiance and Wind Effects";
|
description = "For Player Shots, Model Air Restiance and Wind Effects";
|
||||||
typeName = "BOOL";
|
typeName = "BOOL";
|
||||||
defaultValue = 1;
|
defaultValue = 1;
|
||||||
};
|
};
|
||||||
|
class allowComputerRangefinder {
|
||||||
|
displayName = "Allow MK6 Computer/Rangefinder";
|
||||||
|
description = "Show the Computer and Rangefinder (these should be removed if you enable air resistance)";
|
||||||
|
typeName = "BOOL";
|
||||||
|
defaultValue = 0;
|
||||||
|
};
|
||||||
|
class allowCompass {
|
||||||
|
displayName = "Allow MK6 Compass";
|
||||||
|
description = "Show the MK6 Digital Compass";
|
||||||
|
typeName = "BOOL";
|
||||||
|
defaultValue = 1;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
class ModuleDescription: ModuleDescription {
|
class ModuleDescription: ModuleDescription {
|
||||||
description = "";
|
description = "";
|
||||||
|
@ -11,6 +11,20 @@ class RscInGameUI {
|
|||||||
class ACE_MILS_GROUP: CA_IGUI_elements_group {
|
class ACE_MILS_GROUP: CA_IGUI_elements_group {
|
||||||
idc = 80170;
|
idc = 80170;
|
||||||
class controls {
|
class controls {
|
||||||
|
class CA_Heading_MILS: RscText
|
||||||
|
{
|
||||||
|
idc = 80156;
|
||||||
|
style = 0;
|
||||||
|
colorText[] = {0.706,0.0745,0.0196,1};
|
||||||
|
sizeEx = "0.028*SafezoneH";
|
||||||
|
shadow = 0;
|
||||||
|
font = "EtelkaMonospacePro";
|
||||||
|
text = "015";
|
||||||
|
x = "25.3 * (0.01875 * SafezoneH)";
|
||||||
|
y = "6.3 * (0.025 * SafezoneH)";
|
||||||
|
w = "2.2 * (0.01875 * SafezoneH)";
|
||||||
|
h = "1 * (0.025 * SafezoneH)";
|
||||||
|
};
|
||||||
class CA_Elev_MILS: RscText {
|
class CA_Elev_MILS: RscText {
|
||||||
idc = 80175;
|
idc = 80175;
|
||||||
style = 1;
|
style = 1;
|
||||||
@ -19,14 +33,14 @@ class RscInGameUI {
|
|||||||
shadow = 0;
|
shadow = 0;
|
||||||
font = "EtelkaMonospacePro";
|
font = "EtelkaMonospacePro";
|
||||||
text = "80.5";
|
text = "80.5";
|
||||||
x = "36.8 * (0.01875 * SafezoneH)";
|
x = "36.8 * (0.01875 * SafezoneH)";
|
||||||
y = "29.3 * (0.025 * SafezoneH)";
|
y = "29.3 * (0.025 * SafezoneH)";
|
||||||
w = "5.2 * (0.01875 * SafezoneH)";
|
w = "5.2 * (0.01875 * SafezoneH)";
|
||||||
h = "1.2 * (0.025 * SafezoneH)";
|
h = "1.2 * (0.025 * SafezoneH)";
|
||||||
};
|
};
|
||||||
class CA_Elev_Need_MILS: CA_Elev_MILS {
|
class CA_Elev_Need_MILS: CA_Elev_MILS {
|
||||||
idc = 80176;
|
idc = 80176;
|
||||||
y = "30.8 * (0.025 * SafezoneH)";
|
y = "30.8 * (0.025 * SafezoneH)";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -25,13 +25,20 @@ class ACE_Settings {
|
|||||||
isClientSetable = 1;
|
isClientSetable = 1;
|
||||||
displayName = "$STR_ACE_mk6mortar_useMils";
|
displayName = "$STR_ACE_mk6mortar_useMils";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//These settings effect gameplay difficutly: defaults will leave the mortar the same as vanilla
|
||||||
class GVAR(airResistanceEnabled) {
|
class GVAR(airResistanceEnabled) {
|
||||||
value = 0;
|
value = 0;
|
||||||
typeName = "BOOL";
|
typeName = "BOOL";
|
||||||
isClientSetable = 0;
|
isClientSetable = 0;
|
||||||
};
|
};
|
||||||
class GVAR(disableComputerRangefinder) {
|
class GVAR(allowComputerRangefinder) {
|
||||||
value = 0;
|
value = 1;
|
||||||
|
typeName = "BOOL";
|
||||||
|
isClientSetable = 0;
|
||||||
|
};
|
||||||
|
class GVAR(allowCompass) {
|
||||||
|
value = 1;
|
||||||
typeName = "BOOL";
|
typeName = "BOOL";
|
||||||
isClientSetable = 0;
|
isClientSetable = 0;
|
||||||
};
|
};
|
||||||
|
@ -29,24 +29,34 @@ _hPos = 1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25);
|
|||||||
_chargeText ctrlSetPosition [_xPos, _yPos, _wPos, _hPos];
|
_chargeText ctrlSetPosition [_xPos, _yPos, _wPos, _hPos];
|
||||||
_chargeText ctrlCommit 0;
|
_chargeText ctrlCommit 0;
|
||||||
|
|
||||||
|
_tubeWeaponName = (weapons _newVehicle) select 0;
|
||||||
|
_fireModes = getArray (configFile >> "CfgWeapons" >> _tubeWeaponName >> "modes");
|
||||||
|
|
||||||
[{
|
[{
|
||||||
PARAMS_2(_args,_pfID);
|
PARAMS_2(_args,_pfID);
|
||||||
EXPLODE_2_PVT(_args,_veh,_chargeText);
|
EXPLODE_3_PVT(_args,_mortarVeh,_chargeText,_fireModes);
|
||||||
|
|
||||||
if ((vehicle ACE_player) != _veh) then {
|
if ((vehicle ACE_player) != _mortarVeh) then {
|
||||||
[_pfID] call CBA_fnc_removePerFrameHandler;
|
[_pfID] call CBA_fnc_removePerFrameHandler;
|
||||||
ctrlDelete _chargeText;
|
ctrlDelete _chargeText;
|
||||||
} else {
|
} else {
|
||||||
_text = format ["<t size='0.8'>%1: %2 <img image='%3'/></t>", "Charge", 1, QUOTE(PATHTOF(UI\ui_charges.paa))];
|
|
||||||
|
//Compute: 'charge' from weaponstate
|
||||||
|
_currentFireMode = (weaponState [_mortarVeh, [0]]) select 2;
|
||||||
|
_currentChargeMode = _fireModes find _currentFireMode;
|
||||||
|
|
||||||
|
_text = format ["<t size='0.8'>%1: %2 <img image='%3'/></t>", "Charge", _currentChargeMode, QUOTE(PATHTOF(UI\ui_charges.paa))];
|
||||||
_chargeText ctrlSetStructuredText parseText _text;
|
_chargeText ctrlSetStructuredText parseText _text;
|
||||||
if (shownArtilleryComputer && GVAR(disableComputerRangefinder)) then {
|
if (shownArtilleryComputer && {!GVAR(allowComputerRangefinder)}) then {
|
||||||
//Don't like this solution, but it works
|
//Don't like this solution, but it works
|
||||||
closeDialog 0;
|
closeDialog 0;
|
||||||
[parseText "Computer Disabled"] call EFUNC(common,displayTextStructured);
|
[parseText "Computer Disabled"] call EFUNC(common,displayTextStructured);
|
||||||
};
|
};
|
||||||
|
|
||||||
_display = uiNamespace getVariable ["ACE_Mk6_RscWeaponRangeArtillery", displayNull];
|
_display = uiNamespace getVariable ["ACE_Mk6_RscWeaponRangeArtillery", displayNull];
|
||||||
if (isNull _display) exitWith {systemChat "null";};
|
if (isNull _display) exitWith {systemChat "null";};
|
||||||
|
|
||||||
|
//Update CurrentElevation Display:
|
||||||
_elevDeg = parseNumber ctrlText (_display displayCtrl 175);
|
_elevDeg = parseNumber ctrlText (_display displayCtrl 175);
|
||||||
if (GVAR(useMils)) then {
|
if (GVAR(useMils)) then {
|
||||||
(_display displayCtrl 80175) ctrlSetText str round (_elevDeg * 6400 / 360);
|
(_display displayCtrl 80175) ctrlSetText str round (_elevDeg * 6400 / 360);
|
||||||
@ -54,7 +64,8 @@ _chargeText ctrlCommit 0;
|
|||||||
(_display displayCtrl 80175) ctrlSetText str _elevDeg;
|
(_display displayCtrl 80175) ctrlSetText str _elevDeg;
|
||||||
};
|
};
|
||||||
|
|
||||||
if (GVAR(disableComputerRangefinder)) then {
|
//Update ElevationNeeded Display:
|
||||||
|
if (!GVAR(allowComputerRangefinder)) then {
|
||||||
(_display displayCtrl 80176) ctrlSetText "";
|
(_display displayCtrl 80176) ctrlSetText "";
|
||||||
} else {
|
} else {
|
||||||
_elevDeg = parseNumber ctrlText (_display displayCtrl 176);
|
_elevDeg = parseNumber ctrlText (_display displayCtrl 176);
|
||||||
@ -68,5 +79,17 @@ _chargeText ctrlCommit 0;
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//Update Heading Display:
|
||||||
|
if (!GVAR(allowCompass)) then {
|
||||||
|
(_display displayCtrl 80156) ctrlSetText "";
|
||||||
|
} else {
|
||||||
|
_elevDeg = parseNumber ctrlText (_display displayCtrl 156);
|
||||||
|
if (GVAR(useMils)) then {
|
||||||
|
(_display displayCtrl 80156) ctrlSetText str round (_elevDeg * 6400 / 360);
|
||||||
|
} else {
|
||||||
|
(_display displayCtrl 80156) ctrlSetText str _elevDeg;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}, 0, [_newVehicle, _chargeText]] call CBA_fnc_addPerFrameHandler;
|
}, 0, [_newVehicle, _chargeText,_fireModes]] call CBA_fnc_addPerFrameHandler;
|
@ -22,5 +22,6 @@ PARAMS_3(_logic,_syncedUnits,_activated);
|
|||||||
if (!_activated) exitWith {WARNING("Module - placed but not active");};
|
if (!_activated) exitWith {WARNING("Module - placed but not active");};
|
||||||
if (!isServer) exitWith {};
|
if (!isServer) exitWith {};
|
||||||
|
|
||||||
[_logic, QGVAR(disableComputerRangefinder), "disableComputerRangefinder"] call EFUNC(common,readSettingFromModule);
|
|
||||||
[_logic, QGVAR(airResistanceEnabled), "airResistanceEnabled"] call EFUNC(common,readSettingFromModule);
|
[_logic, QGVAR(airResistanceEnabled), "airResistanceEnabled"] call EFUNC(common,readSettingFromModule);
|
||||||
|
[_logic, QGVAR(allowComputerRangefinder), "allowComputerRangefinder"] call EFUNC(common,readSettingFromModule);
|
||||||
|
[_logic, QGVAR(allowCompass), "allowCompass"] call EFUNC(common,readSettingFromModule);
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
|
|
||||||
#define CTRL_CA_HEADING (configFile >> "RscInGameUI" >> "ACE_Mk6_RscWeaponRangeArtillery" >> "CA_IGUI_elements_group" >> "controls" >> "CA_Heading")
|
|
||||||
#define CTRL_CA_OPTICSPITCH (configFile >> "RscInGameUI" >> "ACE_Mk6_RscWeaponRangeArtillery" >> "CA_IGUI_elements_group" >> "controls" >> "CA_OPTICSPITCH")
|
#define CTRL_CA_OPTICSPITCH (configFile >> "RscInGameUI" >> "ACE_Mk6_RscWeaponRangeArtillery" >> "CA_IGUI_elements_group" >> "controls" >> "CA_OPTICSPITCH")
|
||||||
#define CTRL_CA_OPTICSZOOM (configFile >> "RscInGameUI" >> "ACE_Mk6_RscWeaponRangeArtillery" >> "CA_IGUI_elements_group" >> "controls" >> "CA_OPTICSZOOM")
|
#define CTRL_CA_OPTICSZOOM (configFile >> "RscInGameUI" >> "ACE_Mk6_RscWeaponRangeArtillery" >> "CA_IGUI_elements_group" >> "controls" >> "CA_OPTICSZOOM")
|
||||||
#define CTRL_CA_SOLUTION_TEXT (configFile >> "RscInGameUI" >> "ACE_Mk6_RscWeaponRangeArtillery" >> "CA_IGUI_elements_group" >> "controls" >> "CA_SOLUTION_TEXT")
|
#define CTRL_CA_SOLUTION_TEXT (configFile >> "RscInGameUI" >> "ACE_Mk6_RscWeaponRangeArtillery" >> "CA_IGUI_elements_group" >> "controls" >> "CA_SOLUTION_TEXT")
|
||||||
@ -23,6 +23,7 @@
|
|||||||
#define CTRL_CA_ELEV_NEED_TEXT (configFile >> "RscInGameUI" >> "ACE_Mk6_RscWeaponRangeArtillery" >> "CA_IGUI_elements_group" >> "controls" >> "CA_ELEV_NEED_TEXT")
|
#define CTRL_CA_ELEV_NEED_TEXT (configFile >> "RscInGameUI" >> "ACE_Mk6_RscWeaponRangeArtillery" >> "CA_IGUI_elements_group" >> "controls" >> "CA_ELEV_NEED_TEXT")
|
||||||
#define CTRL_CA_RANGEELEMENTS_GROUP (configFile >> "RscInGameUI" >> "ACE_Mk6_RscWeaponRangeArtillery" >> "CA_RangeElements_group")
|
#define CTRL_CA_RANGEELEMENTS_GROUP (configFile >> "RscInGameUI" >> "ACE_Mk6_RscWeaponRangeArtillery" >> "CA_RangeElements_group")
|
||||||
|
|
||||||
|
#define CTRL_CA_HEADING (configFile >> "RscInGameUI" >> "ACE_Mk6_RscWeaponRangeArtillery" >> "CA_IGUI_elements_group" >> "controls" >> "CA_Heading")
|
||||||
#define CTRL_CA_ELEV (configFile >> "RscInGameUI" >> "ACE_Mk6_RscWeaponRangeArtillery" >> "CA_IGUI_elements_group" >> "controls" >> "CA_ELEV")
|
#define CTRL_CA_ELEV (configFile >> "RscInGameUI" >> "ACE_Mk6_RscWeaponRangeArtillery" >> "CA_IGUI_elements_group" >> "controls" >> "CA_ELEV")
|
||||||
#define CTRL_CA_ELEV_NEED (configFile >> "RscInGameUI" >> "ACE_Mk6_RscWeaponRangeArtillery" >> "CA_IGUI_elements_group" >> "controls" >> "CA_ELEV_NEED")
|
#define CTRL_CA_ELEV_NEED (configFile >> "RscInGameUI" >> "ACE_Mk6_RscWeaponRangeArtillery" >> "CA_IGUI_elements_group" >> "controls" >> "CA_ELEV_NEED")
|
||||||
|
|
||||||
@ -54,8 +55,10 @@ _fnc_hideControl = {
|
|||||||
|
|
||||||
{
|
{
|
||||||
[_x, GVAR(disableComputerRangefinder)] call _fnc_hideControl;
|
[_x, GVAR(disableComputerRangefinder)] call _fnc_hideControl;
|
||||||
} forEach [CTRL_CA_HEADING, CTRL_CA_OPTICSPITCH, CTRL_CA_OPTICSZOOM, CTRL_CA_SOLUTION_TEXT, CTRL_CA_DISTANCE_TEXT, CTRL_CA_DISTANCE, CTRL_CA_TIME_TEXT, CTRL_CA_TIME, CTRL_CA_ELEV_NEED_TEXT, CTRL_CA_RANGEELEMENTS_GROUP];
|
} forEach [CTRL_CA_OPTICSPITCH, CTRL_CA_OPTICSZOOM, CTRL_CA_SOLUTION_TEXT, CTRL_CA_DISTANCE_TEXT, CTRL_CA_DISTANCE, CTRL_CA_TIME_TEXT, CTRL_CA_TIME, CTRL_CA_ELEV_NEED_TEXT, CTRL_CA_RANGEELEMENTS_GROUP];
|
||||||
|
|
||||||
//Always hide these, handled by the mil convertions in handlePlayerVehChanged
|
//Always hide these, handled by the mil convertions PFEH in handlePlayerVehChanged
|
||||||
|
[CTRL_CA_HEADING, true] call _fnc_hideControl;
|
||||||
[CTRL_CA_ELEV, true] call _fnc_hideControl;
|
[CTRL_CA_ELEV, true] call _fnc_hideControl;
|
||||||
[CTRL_CA_ELEV_NEED, true] call _fnc_hideControl;
|
[CTRL_CA_ELEV_NEED, true] call _fnc_hideControl;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user