mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
commit
93450b9e38
@ -1,24 +0,0 @@
|
||||
|
||||
class RscControlsGroup;
|
||||
class RscText;
|
||||
|
||||
class RscInGameUI {
|
||||
class RscUnitInfo {
|
||||
// Soldiers
|
||||
class WeaponInfoControlsGroupLeft: RscControlsGroup {
|
||||
class controls {
|
||||
class CA_AmmoCount: RscText {
|
||||
sizeEx = 0;
|
||||
};
|
||||
};
|
||||
};
|
||||
// Vehicles
|
||||
/*class WeaponInfoControlsGroupRight: RscControlsGroup {
|
||||
class controls {
|
||||
class CA_AmmoCount: RscText {
|
||||
sizeEx = 0;
|
||||
};
|
||||
};
|
||||
};*/
|
||||
};
|
||||
};
|
@ -20,6 +20,4 @@ class CfgPatches {
|
||||
|
||||
#include "CfgActions.hpp"
|
||||
|
||||
#include "RscInGameUI.hpp"
|
||||
|
||||
#include "ACE_Settings.hpp"
|
||||
|
217
addons/ui/ACE_Settings.hpp
Normal file
217
addons/ui/ACE_Settings.hpp
Normal file
@ -0,0 +1,217 @@
|
||||
class ACE_Settings {
|
||||
class GVAR(allowSelectiveUI) {
|
||||
category = CSTRING(Category);
|
||||
displayName = CSTRING(AllowSelectiveUI);
|
||||
description = CSTRING(AllowSelectiveUI_Description);
|
||||
typeName = "BOOL";
|
||||
value = 1;
|
||||
};
|
||||
|
||||
// BASIC
|
||||
class GVAR(soldierVehicleWeaponInfo) {
|
||||
category = CSTRING(Category);
|
||||
displayName = CSTRING(SoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
value = 1;
|
||||
isClientSettable = 1;
|
||||
};
|
||||
class GVAR(vehicleRadar) {
|
||||
category = CSTRING(Category);
|
||||
displayName = CSTRING(VehicleRadar);
|
||||
typeName = "BOOL";
|
||||
value = 1;
|
||||
isClientSettable = 1;
|
||||
};
|
||||
class GVAR(vehicleCompass) {
|
||||
category = CSTRING(Category);
|
||||
displayName = CSTRING(VehicleCompass);
|
||||
typeName = "BOOL";
|
||||
value = 1;
|
||||
isClientSettable = 1;
|
||||
};
|
||||
class GVAR(commandMenu) {
|
||||
category = CSTRING(Category);
|
||||
displayName = CSTRING(CommandMenu);
|
||||
typeName = "BOOL";
|
||||
value = 1;
|
||||
isClientSettable = 1;
|
||||
};
|
||||
class GVAR(groupBar) {
|
||||
category = CSTRING(Category);
|
||||
displayName = CSTRING(GroupBar);
|
||||
typeName = "BOOL";
|
||||
value = 0;
|
||||
isClientSettable = 1;
|
||||
};
|
||||
|
||||
// ADVANCED
|
||||
// Upper Weapon Info
|
||||
class GVAR(weaponName) {
|
||||
category = CSTRING(Category);
|
||||
displayName = CSTRING(WeaponName);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
value = 1;
|
||||
isClientSettable = 1;
|
||||
};
|
||||
class GVAR(weaponNameBackground) {
|
||||
category = CSTRING(Category);
|
||||
displayName = CSTRING(WeaponNameBackground);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
value = 1;
|
||||
isClientSettable = 1;
|
||||
};
|
||||
class GVAR(firingMode) {
|
||||
category = CSTRING(Category);
|
||||
displayName = CSTRING(FiringMode);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
value = 1;
|
||||
isClientSettable = 1;
|
||||
};
|
||||
|
||||
// Lower Weapon Info
|
||||
class GVAR(ammoType) {
|
||||
category = CSTRING(Category);
|
||||
displayName = CSTRING(AmmoType);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
value = 1;
|
||||
isClientSettable = 1;
|
||||
};
|
||||
class GVAR(ammoCount) {
|
||||
category = CSTRING(Category);
|
||||
displayName = CSTRING(AmmoCount);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
value = 0;
|
||||
isClientSettable = 1;
|
||||
};
|
||||
class GVAR(magCount) {
|
||||
category = CSTRING(Category);
|
||||
displayName = CSTRING(MagCount);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
value = 1;
|
||||
isClientSettable = 1;
|
||||
};
|
||||
class GVAR(throwableName) {
|
||||
category = CSTRING(Category);
|
||||
displayName = CSTRING(throwableName);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
value = 1;
|
||||
isClientSettable = 1;
|
||||
};
|
||||
class GVAR(throwableCount) {
|
||||
category = CSTRING(Category);
|
||||
displayName = CSTRING(throwableCount);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
value = 1;
|
||||
isClientSettable = 1;
|
||||
};
|
||||
class GVAR(zeroing) {
|
||||
category = CSTRING(Category);
|
||||
displayName = CSTRING(Zeroing);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
value = 1;
|
||||
isClientSettable = 1;
|
||||
};
|
||||
class GVAR(weaponLowerInfoBackground) {
|
||||
category = CSTRING(Category);
|
||||
displayName = CSTRING(WeaponLowerInfoBackground); //todo
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
value = 1;
|
||||
isClientSettable = 1;
|
||||
};
|
||||
|
||||
// Stance
|
||||
class GVAR(stance) {
|
||||
category = CSTRING(Category);
|
||||
displayName = CSTRING(Stance);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
value = 1;
|
||||
isClientSettable = 1;
|
||||
};
|
||||
|
||||
// Stamina Bar
|
||||
class GVAR(staminaBar) {
|
||||
category = CSTRING(Category);
|
||||
displayName = CSTRING(StaminaBar);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
value = 1;
|
||||
isClientSettable = 1;
|
||||
};
|
||||
|
||||
// Vehicle
|
||||
class GVAR(vehicleName) {
|
||||
category = CSTRING(Category);
|
||||
displayName = CSTRING(VehicleName);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
value = 1;
|
||||
isClientSettable = 1;
|
||||
};
|
||||
class GVAR(vehicleNameBackground) {
|
||||
category = CSTRING(Category);
|
||||
displayName = CSTRING(VehicleNameBackground);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
value = 1;
|
||||
isClientSettable = 1;
|
||||
};
|
||||
class GVAR(vehicleFuelBar) {
|
||||
category = CSTRING(Category);
|
||||
displayName = CSTRING(VehicleFuelBar);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
value = 1;
|
||||
isClientSettable = 1;
|
||||
};
|
||||
class GVAR(vehicleSpeed) {
|
||||
category = CSTRING(Category);
|
||||
displayName = CSTRING(VehicleSpeed);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
value = 1;
|
||||
isClientSettable = 1;
|
||||
};
|
||||
class GVAR(vehicleAltitude) {
|
||||
category = CSTRING(Category);
|
||||
displayName = CSTRING(VehicleAltitude);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
value = 1;
|
||||
isClientSettable = 1;
|
||||
};
|
||||
class GVAR(vehicleDamage) {
|
||||
category = CSTRING(Category);
|
||||
displayName = CSTRING(VehicleDamage);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
value = 1;
|
||||
isClientSettable = 1;
|
||||
};
|
||||
class GVAR(vehicleInfoBackground) {
|
||||
category = CSTRING(Category);
|
||||
displayName = CSTRING(VehicleInfoBackground);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
value = 1;
|
||||
isClientSettable = 1;
|
||||
};
|
||||
class GVAR(vehicleGunnerWeapon) {
|
||||
category = CSTRING(Category);
|
||||
displayName = CSTRING(VehicleGunnerWeapon);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
value = 1;
|
||||
isClientSettable = 1;
|
||||
};
|
||||
};
|
17
addons/ui/CfgEventHandlers.hpp
Normal file
17
addons/ui/CfgEventHandlers.hpp
Normal file
@ -0,0 +1,17 @@
|
||||
class Extended_PreStart_EventHandlers {
|
||||
class ADDON {
|
||||
init = QUOTE(call COMPILE_FILE(XEH_preStart));
|
||||
};
|
||||
};
|
||||
|
||||
class Extended_PreInit_EventHandlers {
|
||||
class ADDON {
|
||||
init = QUOTE(call COMPILE_FILE(XEH_preInit));
|
||||
};
|
||||
};
|
||||
|
||||
class Extended_PostInit_EventHandlers {
|
||||
class ADDON {
|
||||
clientInit = QUOTE(call COMPILE_FILE(XEH_clientInit));
|
||||
};
|
||||
};
|
181
addons/ui/CfgVehicles.hpp
Normal file
181
addons/ui/CfgVehicles.hpp
Normal file
@ -0,0 +1,181 @@
|
||||
class CfgVehicles {
|
||||
class ACE_Module;
|
||||
class GVAR(Module): ACE_Module {
|
||||
author = ECSTRING(common,ACETeam);
|
||||
category = "ACE";
|
||||
displayName = CSTRING(ModuleName);
|
||||
function = QFUNC(moduleInit);
|
||||
scope = 2;
|
||||
isGlobal = 1;
|
||||
icon = QUOTE(PATHTOF(UI\Icon_Module_UI_ca.paa));
|
||||
class Arguments {
|
||||
class allowSelectiveUI {
|
||||
displayName = CSTRING(AllowSelectiveUI);
|
||||
description = CSTRING(AllowSelectiveUI_Description);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 1;
|
||||
};
|
||||
|
||||
// BASIC
|
||||
class soldierVehicleWeaponInfo {
|
||||
displayName = CSTRING(SoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 1;
|
||||
};
|
||||
class vehicleRadar {
|
||||
displayName = CSTRING(VehicleRadar);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 1;
|
||||
};
|
||||
class vehicleCompass {
|
||||
displayName = CSTRING(VehicleCompass);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 1;
|
||||
};
|
||||
class commandMenu {
|
||||
displayName = CSTRING(CommandMenu);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 1;
|
||||
};
|
||||
class groupBar {
|
||||
displayName = CSTRING(GroupBar);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 0;
|
||||
};
|
||||
|
||||
// ADVANCED
|
||||
// Upper Weapon Info
|
||||
class weaponName {
|
||||
displayName = CSTRING(WeaponName);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 1;
|
||||
};
|
||||
class weaponNameBackground {
|
||||
displayName = CSTRING(WeaponNameBackground);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 1;
|
||||
};
|
||||
class firingMode {
|
||||
displayName = CSTRING(FiringMode);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 1;
|
||||
};
|
||||
|
||||
// Lower Weapon Info
|
||||
class ammoType {
|
||||
displayName = CSTRING(AmmoType);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 1;
|
||||
};
|
||||
class ammoCount {
|
||||
displayName = CSTRING(AmmoCount);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 0;
|
||||
};
|
||||
class magCount {
|
||||
displayName = CSTRING(MagCount);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 1;
|
||||
};
|
||||
class throwableName {
|
||||
displayName = CSTRING(throwableName);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 1;
|
||||
};
|
||||
class throwableCount {
|
||||
displayName = CSTRING(throwableCount);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 1;
|
||||
};
|
||||
class zeroing {
|
||||
displayName = CSTRING(Zeroing);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 1;
|
||||
};
|
||||
class weaponLowerInfoBackground {
|
||||
displayName = CSTRING(WeaponLowerInfoBackground);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 1;
|
||||
};
|
||||
|
||||
// Stance
|
||||
class stance {
|
||||
displayName = CSTRING(Stance);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 1;
|
||||
};
|
||||
|
||||
// Stamina Bar
|
||||
class staminaBar {
|
||||
displayName = CSTRING(StaminaBar);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 1;
|
||||
};
|
||||
|
||||
// Vehicle
|
||||
class vehicleName {
|
||||
displayName = CSTRING(VehicleName);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 1;
|
||||
};
|
||||
class vehicleNameBackground {
|
||||
displayName = CSTRING(VehicleNameBackground);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 1;
|
||||
};
|
||||
class vehicleFuelBar {
|
||||
displayName = CSTRING(VehicleFuelBar);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 1;
|
||||
};
|
||||
class vehicleSpeed {
|
||||
displayName = CSTRING(VehicleSpeed);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 1;
|
||||
};
|
||||
class vehicleAltitude {
|
||||
displayName = CSTRING(VehicleAltitude);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 1;
|
||||
};
|
||||
class vehicleDamage {
|
||||
displayName = CSTRING(VehicleDamage);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 1;
|
||||
};
|
||||
class vehicleInfoBackground {
|
||||
displayName = CSTRING(VehicleInfoBackground);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 1;
|
||||
};
|
||||
class vehicleGunnerWeapon {
|
||||
displayName = CSTRING(VehicleGunnerWeapon);
|
||||
description = CSTRING(RequiresSoldierVehicleWeaponInfo);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 1;
|
||||
};
|
||||
};
|
||||
class ModuleDescription {
|
||||
description = CSTRING(ModuleDescription);
|
||||
};
|
||||
};
|
||||
};
|
@ -1,7 +1,7 @@
|
||||
ace_ui
|
||||
=======
|
||||
|
||||
Removes vignette and changes the chat contrast on the map to allow easier reading.
|
||||
Removes vignette, changes the chat contrast on the map to allow easier reading and provides settings to hide or show different UI elements.
|
||||
|
||||
|
||||
## Maintainers
|
||||
@ -9,3 +9,4 @@ Removes vignette and changes the chat contrast on the map to allow easier readin
|
||||
The people responsible for merging changes to this component or answering potential questions.
|
||||
|
||||
- [VKing](https://github.com/VKing6)
|
||||
- [Jonpas](https://github.com/jonpas)
|
||||
|
BIN
addons/ui/UI/Icon_Module_UI_ca.paa
Normal file
BIN
addons/ui/UI/Icon_Module_UI_ca.paa
Normal file
Binary file not shown.
4
addons/ui/XEH_PREP.hpp
Normal file
4
addons/ui/XEH_PREP.hpp
Normal file
@ -0,0 +1,4 @@
|
||||
PREP(moduleInit);
|
||||
PREP(setAdvancedElement);
|
||||
PREP(setElements);
|
||||
PREP(setElementVisibility);
|
40
addons/ui/XEH_clientInit.sqf
Normal file
40
addons/ui/XEH_clientInit.sqf
Normal file
@ -0,0 +1,40 @@
|
||||
#include "script_component.hpp"
|
||||
|
||||
// Exit on Headless
|
||||
if (!hasInterface) exitWith {};
|
||||
|
||||
["SettingsInitialized", {
|
||||
// Initial settings
|
||||
[true] call FUNC(setElements);
|
||||
|
||||
// On load and entering/exiting a vehicle
|
||||
["infoDisplayChanged", {
|
||||
// Selective UI Advanced
|
||||
// Defaults must be set in this EH to make sure controls are activated and advanced settings can be modified
|
||||
private _force = [true, false] select (GVAR(allowSelectiveUI));
|
||||
{
|
||||
[_x select 0, _x select 1, _x select 2, _force] call FUNC(setAdvancedElement);
|
||||
} forEach ELEMENTS_ADVANCED;
|
||||
}] call EFUNC(common,addEventHandler);
|
||||
|
||||
// On changing settings
|
||||
["SettingChanged", {
|
||||
params ["_name"];
|
||||
|
||||
// Selective UI Basic
|
||||
if (_name in ELEMENTS_BASIC) then {
|
||||
[false] call FUNC(setElements);
|
||||
};
|
||||
|
||||
// Selective UI Advanced
|
||||
{
|
||||
_x params ["_idd", "_elements", "_elementName"];
|
||||
|
||||
if (_name == _elementName) then {
|
||||
[_idd, _elements, _elementName] call FUNC(setAdvancedElement);
|
||||
TRACE_2("Setting Changed",_name,_elementName);
|
||||
};
|
||||
} forEach ELEMENTS_ADVANCED;
|
||||
}] call EFUNC(common,addEventHandler);
|
||||
|
||||
}] call EFUNC(common,addEventHandler);
|
9
addons/ui/XEH_preInit.sqf
Normal file
9
addons/ui/XEH_preInit.sqf
Normal file
@ -0,0 +1,9 @@
|
||||
#include "script_component.hpp"
|
||||
|
||||
ADDON = false;
|
||||
|
||||
#include "XEH_PREP.hpp"
|
||||
|
||||
GVAR(elementsSet) = [];
|
||||
|
||||
ADDON = true;
|
3
addons/ui/XEH_preStart.sqf
Normal file
3
addons/ui/XEH_preStart.sqf
Normal file
@ -0,0 +1,3 @@
|
||||
#include "script_component.hpp"
|
||||
|
||||
#include "XEH_PREP.hpp"
|
@ -12,5 +12,9 @@ class CfgPatches {
|
||||
};
|
||||
};
|
||||
|
||||
#include "CfgEventHandlers.hpp"
|
||||
#include "CfgVehicles.hpp"
|
||||
#include "ACE_Settings.hpp"
|
||||
|
||||
#include "RscChat.hpp"
|
||||
#include "RscVignette.hpp"
|
||||
|
56
addons/ui/functions/fnc_moduleInit.sqf
Normal file
56
addons/ui/functions/fnc_moduleInit.sqf
Normal file
@ -0,0 +1,56 @@
|
||||
/*
|
||||
* Author: Jonpas
|
||||
* Initializes the UI module.
|
||||
*
|
||||
* Arguments:
|
||||
* 0: Module Logic <LOGIC>
|
||||
* 1: Units <ARRAY>
|
||||
* 2: Activated <BOOL>
|
||||
*
|
||||
* Return Value:
|
||||
* None
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
if (!isServer) exitWith {};
|
||||
|
||||
params ["_logic", "_units", "_activated"];
|
||||
|
||||
if (!_activated) exitWith {};
|
||||
|
||||
// Basic
|
||||
if (isArray (missionConfigFile >> "showHUD")) then {
|
||||
// HUD visibility is hardcoded in mission config and showHUD command is overriden
|
||||
ACE_LOGINFO("User Interface Module Failed to Initialize Basic settings - showHUD overriden in mission config!");
|
||||
} else {
|
||||
[_logic, QGVAR(allowSelectiveUI), "allowSelectiveUI"] call EFUNC(common,readSettingFromModule);
|
||||
[_logic, QGVAR(soldierVehicleWeaponInfo), "soldierVehicleWeaponInfo"] call EFUNC(common,readSettingFromModule);
|
||||
[_logic, QGVAR(vehicleRadar), "vehicleRadar"] call EFUNC(common,readSettingFromModule);
|
||||
[_logic, QGVAR(vehicleCompass), "vehicleCompass"] call EFUNC(common,readSettingFromModule);
|
||||
[_logic, QGVAR(commandMenu), "commandMenu"] call EFUNC(common,readSettingFromModule);
|
||||
[_logic, QGVAR(groupBar), "groupBar"] call EFUNC(common,readSettingFromModule);
|
||||
};
|
||||
|
||||
// Advanced
|
||||
[_logic, QGVAR(weaponName), "weaponName"] call EFUNC(common,readSettingFromModule);
|
||||
[_logic, QGVAR(weaponNameBackground), "weaponNameBackground"] call EFUNC(common,readSettingFromModule);
|
||||
[_logic, QGVAR(firingMode), "firingMode"] call EFUNC(common,readSettingFromModule);
|
||||
[_logic, QGVAR(ammoType), "ammoType"] call EFUNC(common,readSettingFromModule);
|
||||
[_logic, QGVAR(ammoCount), "ammoCount"] call EFUNC(common,readSettingFromModule);
|
||||
[_logic, QGVAR(magCount), "magCount"] call EFUNC(common,readSettingFromModule);
|
||||
[_logic, QGVAR(throwableName), "throwableName"] call EFUNC(common,readSettingFromModule);
|
||||
[_logic, QGVAR(throwableCount), "throwableCount"] call EFUNC(common,readSettingFromModule);
|
||||
[_logic, QGVAR(zeroing), "zeroing"] call EFUNC(common,readSettingFromModule);
|
||||
[_logic, QGVAR(weaponLowerInfoBackground), "weaponLowerInfoBackground"] call EFUNC(common,readSettingFromModule);
|
||||
[_logic, QGVAR(stance), "stance"] call EFUNC(common,readSettingFromModule);
|
||||
[_logic, QGVAR(staminaBar), "staminaBar"] call EFUNC(common,readSettingFromModule);
|
||||
[_logic, QGVAR(vehicleName), "vehicleName"] call EFUNC(common,readSettingFromModule);
|
||||
[_logic, QGVAR(vehicleNameBackground), "vehicleNameBackground"] call EFUNC(common,readSettingFromModule);
|
||||
[_logic, QGVAR(vehicleFuelBar), "vehicleFuelBar"] call EFUNC(common,readSettingFromModule);
|
||||
[_logic, QGVAR(vehicleSpeed), "vehicleSpeed"] call EFUNC(common,readSettingFromModule);
|
||||
[_logic, QGVAR(vehicleAltitude), "vehicleAltitude"] call EFUNC(common,readSettingFromModule);
|
||||
[_logic, QGVAR(vehicleDamage), "vehicleDamage"] call EFUNC(common,readSettingFromModule);
|
||||
[_logic, QGVAR(vehicleInfoBackground), "vehicleInfoBackground"] call EFUNC(common,readSettingFromModule);
|
||||
[_logic, QGVAR(vehicleGunnerWeapon), "vehicleGunnerWeapon"] call EFUNC(common,readSettingFromModule);
|
||||
|
||||
ACE_LOGINFO_1("User Interface Module Initialized. Allow client modifications: %1",GVAR(allowSelectiveUI));
|
53
addons/ui/functions/fnc_setAdvancedElement.sqf
Normal file
53
addons/ui/functions/fnc_setAdvancedElement.sqf
Normal file
@ -0,0 +1,53 @@
|
||||
/*
|
||||
* Author: Jonpas
|
||||
* Sets advanced visible element of the UI using displays and controls.
|
||||
*
|
||||
* Arguments:
|
||||
* 0: Element IDD <NUMBER>
|
||||
* 1: Element IDCs <ARRAY>
|
||||
* 2: Show/Hide Element OR Element ACE Settings Variable <BOOL/STRING>
|
||||
* 3: Force change even when disallowed <BOOL> (default: false)
|
||||
*
|
||||
* Return Value:
|
||||
* Successfully Set <BOOL>
|
||||
*
|
||||
* Example:
|
||||
* [303, [188], true, false] call ace_ui_fnc_setAdvancedElement
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
params ["_idd", "_elements", "_show", ["_force", false, [true]] ];
|
||||
|
||||
if (_elementInfo in GVAR(elementsSet)) exitWith {};
|
||||
|
||||
if (!_force && {!GVAR(allowSelectiveUI)}) exitWith {
|
||||
[LSTRING(Disallowed), 2] call EFUNC(common,displayTextStructured)
|
||||
};
|
||||
|
||||
// Get show/hide boolean from mission namespace if it's a string
|
||||
if (typeName _show == "STRING") then {
|
||||
_show = missionNamespace getVariable _show;
|
||||
};
|
||||
_show = [1, 0] select _show;
|
||||
|
||||
// Disable/Enable elements
|
||||
private _success = false;
|
||||
{
|
||||
private _idc = _x;
|
||||
|
||||
// Loop through IGUI displays as they can be present several times for some reason
|
||||
{
|
||||
if (_idd == ctrlIDD _x) then {
|
||||
TRACE_3("Setting Element Visibility",_show,_idd,_idc);
|
||||
|
||||
(_x displayCtrl _idc) ctrlSetFade _show;
|
||||
(_x displayCtrl _idc) ctrlCommit 0;
|
||||
|
||||
_success = true;
|
||||
};
|
||||
} forEach (uiNamespace getVariable "IGUI_displays");
|
||||
} forEach _elements;
|
||||
|
||||
_success
|
52
addons/ui/functions/fnc_setElementVisibility.sqf
Normal file
52
addons/ui/functions/fnc_setElementVisibility.sqf
Normal file
@ -0,0 +1,52 @@
|
||||
/*
|
||||
* Author: Jonpas
|
||||
* Setter for toggling advanced element visibility.
|
||||
*
|
||||
* Arguments:
|
||||
* 0: Set/Unset <BOOL> (default: true)
|
||||
* 1: Element IDD <NUMBER> (default: 0)
|
||||
* 2: Element IDCs <ARRAY> (default: [])
|
||||
* 3: Show/Hide Element OR Element ACE Settings Variable <BOOL/STRING> (default: false)
|
||||
*
|
||||
* Return Value:
|
||||
* None
|
||||
*
|
||||
* Example:
|
||||
* [true, 300, [188], false] call ace_ui_fnc_setElementVisibility
|
||||
*
|
||||
* Public: Yes
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
params [
|
||||
["_set", true, [true]],
|
||||
["_idd", 0, [0]],
|
||||
["_elements", [], [[]]],
|
||||
["_show", false, [true, ""]]
|
||||
];
|
||||
|
||||
private _return = false;
|
||||
|
||||
if (_set) then {
|
||||
if ([_idd, _elements] in GVAR(elementsSet)) exitWith { TRACE_3("Element already set",_idd,_elements,GVAR(elementsSet)); };
|
||||
|
||||
TRACE_4("Setting element",_idd,_elements,_show,GVAR(elementsSet));
|
||||
private _success = [_idd, _elements, _show] call FUNC(setAdvancedElement);
|
||||
|
||||
if (_success) then {
|
||||
GVAR(elementsSet) pushBack [_idd, _elements];
|
||||
_return = true;
|
||||
};
|
||||
} else {
|
||||
if ([_idd, _elements] in GVAR(elementsSet)) then {
|
||||
TRACE_4("Setting element",_idd,_elements,_show,GVAR(elementsSet));
|
||||
[_idd, _elements, _show] call FUNC(setAdvancedElement);
|
||||
|
||||
private _index = GVAR(elementsSet) find [_idd, _elements];
|
||||
GVAR(elementsSet) deleteAt _index;
|
||||
_return = true;
|
||||
};
|
||||
};
|
||||
|
||||
TRACE_2("Visibility set",_return,GVAR(elementsSet));
|
||||
_return
|
37
addons/ui/functions/fnc_setElements.sqf
Normal file
37
addons/ui/functions/fnc_setElements.sqf
Normal file
@ -0,0 +1,37 @@
|
||||
/*
|
||||
* Author: Jonpas
|
||||
* Sets basic visible elements of the UI using showHUD setter.
|
||||
*
|
||||
* Arguments:
|
||||
* 0: Force change even when disallowed <BOOL> (default: false)
|
||||
*
|
||||
* Return Value:
|
||||
* None
|
||||
*
|
||||
* Example:
|
||||
* [false] call ace_ui_fnc_setElements
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
if (isArray (missionConfigFile >> "showHUD")) exitWith {};
|
||||
|
||||
params [ ["_force", false, [true]] ];
|
||||
|
||||
if (!_force && {!GVAR(allowSelectiveUI)}) exitWith {
|
||||
[LSTRING(Disallowed), 2] call EFUNC(common,displayTextStructured);
|
||||
};
|
||||
|
||||
private _shownHUD = shownHUD; // [hud, info, radar, compass, direction, menu, group, cursors]
|
||||
|
||||
["ui", [
|
||||
_shownHUD select 0,
|
||||
GVAR(soldierVehicleWeaponInfo),
|
||||
GVAR(vehicleRadar),
|
||||
GVAR(vehicleCompass),
|
||||
_shownHUD select 4,
|
||||
GVAR(commandMenu),
|
||||
GVAR(groupBar),
|
||||
_shownHUD select 7
|
||||
]] call EFUNC(common,showHud);
|
1
addons/ui/functions/script_component.hpp
Normal file
1
addons/ui/functions/script_component.hpp
Normal file
@ -0,0 +1 @@
|
||||
#include "\z\ace\addons\ui\script_component.hpp"
|
@ -15,3 +15,81 @@
|
||||
#endif
|
||||
|
||||
#include "\z\ace\addons\main\script_macros.hpp"
|
||||
|
||||
|
||||
// Elements
|
||||
#define ELEMENTS_BASIC [QGVAR(soldierVehicleWeaponInfo), QGVAR(vehicleRadar), QGVAR(vehicleCompass), QGVAR(commandMenu), QGVAR(groupBar)]
|
||||
|
||||
// IDD, IDC, Element (must be string to compare to changed setting name)
|
||||
#define ELEMENTS_ADVANCED [ \
|
||||
[300, [118], QGVAR(weaponName)], \
|
||||
[300, [1001, 1008], QGVAR(weaponNameBackground)], \
|
||||
[300, [187, 1203], QGVAR(firingMode)], \
|
||||
[300, [155], QGVAR(ammoType)], \
|
||||
[300, [184], QGVAR(ammoCount)], \
|
||||
[300, [185], QGVAR(magCount)], \
|
||||
[300, [152], QGVAR(throwableName)], \
|
||||
[300, [151], QGVAR(throwableCount)], \
|
||||
[300, [1202], QGVAR(weaponLowerInfoBackground)], \
|
||||
[300, [168], QGVAR(zeroing)], \
|
||||
[305, [193], QGVAR(staminaBar)], \
|
||||
[303, [188, 1201], QGVAR(stance)], \
|
||||
[300, [120], QGVAR(vehicleName)], \
|
||||
[300, [1000, 1013], QGVAR(vehicleNameBackground)], \
|
||||
[300, [113, 1202], QGVAR(vehicleFuelBar)], \
|
||||
[300, [121, 1004, 1006], QGVAR(vehicleSpeed)], \
|
||||
[300, [122, 1005, 1014], QGVAR(vehicleAltitude)], \
|
||||
[300, [111], QGVAR(vehicleDamage)], \
|
||||
[300, [1200], QGVAR(vehicleInfoBackground)], \
|
||||
[300, [150], QGVAR(vehicleGunnerWeapon)] \
|
||||
]
|
||||
|
||||
|
||||
/*
|
||||
RscUnitInfo = 300
|
||||
--------------------
|
||||
118 (Weapon Name)
|
||||
+ 1001 (Weapon Name Background 1/2)
|
||||
+ 1008 (Weapon Name Background 2/2)
|
||||
|
||||
187 (Firing Mode)
|
||||
+ 1203 (Firing Mode Background)
|
||||
|
||||
155 (Ammo Type)
|
||||
184 (Ammo Count) - disabled in config by ace_reload
|
||||
185 (Magazine Count)
|
||||
152 (Grenade/Flare Type)
|
||||
151 (Grenade/Flare Count)
|
||||
1202 (Lower Weapon Info Background)
|
||||
168 (Zeroing)
|
||||
|
||||
|
||||
120 (Vehicle Name)
|
||||
1000 (Vehicle Name Background 1/2)
|
||||
+ 1013 (Vehicle Name Background 2/2)
|
||||
|
||||
113 (Vehicle Fuel Bar)
|
||||
+ 1202 (Vehicle Fuel Bar Background)
|
||||
|
||||
121 (Vehicle Speed Number)
|
||||
+ 1004 (Vehicle Speed Unit)
|
||||
+ 1006 (Vehicle Speed Background)
|
||||
122 (Vehicle Altitude Number)
|
||||
+ 1005 (Vehicle Altitude Units)
|
||||
+ 1014 (Vehicle Altitude Background)
|
||||
111 (Vehicle Damage)
|
||||
1200 (Vehicle Info Background)
|
||||
|
||||
150 (Vehicle Gunner Weapon)
|
||||
|
||||
|
||||
RscStanceInfo = 303
|
||||
--------------------
|
||||
188 (Stance)
|
||||
+ 1201 (Stance Background)
|
||||
|
||||
|
||||
RscStaminaBar = 305
|
||||
--------------------
|
||||
193 (Stamina Bar)
|
||||
*/
|
||||
|
101
addons/ui/stringtable.xml
Normal file
101
addons/ui/stringtable.xml
Normal file
@ -0,0 +1,101 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project name="ACE">
|
||||
<Package name="UI">
|
||||
<Key ID="STR_ACE_UI_Category">
|
||||
<English>User Interface</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_UI_ModuleName">
|
||||
<English>User Interface</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_UI_ModuleDescription">
|
||||
<English>This module allows toggling visible user interface parts.</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_UI_AllowSelectiveUI">
|
||||
<English>Allow Selective UI</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_UI_AllowSelectiveUI_Description">
|
||||
<English>Allow client to modify their UI.</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_UI_SoldierVehicleWeaponInfo">
|
||||
<English>Soldier/Vehicle/Weapon Information</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_UI_VehicleRadar">
|
||||
<English>Vehicle Radar</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_UI_VehicleCompass">
|
||||
<English>Vehicle Compass</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_UI_CommandMenu">
|
||||
<English>Command Menu</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_UI_GroupBar">
|
||||
<English>Group Bar</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_UI_WeaponName">
|
||||
<English>Weapon Name</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_UI_WeaponNameBackground">
|
||||
<English>Weapon Name Background</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_UI_FiringMode">
|
||||
<English>Firing Mode</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_UI_AmmoType">
|
||||
<English>Ammo Type</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_UI_AmmoCount">
|
||||
<English>Ammo Count</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_UI_MagCount">
|
||||
<English>Magazine Count</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_UI_ThrowableName">
|
||||
<English>Throwable Type</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_UI_ThrowableCount">
|
||||
<English>Throwable Count</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_UI_Zeroing">
|
||||
<English>Zeroing</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_UI_WeaponLowerInfoBackground">
|
||||
<English>Weapon Lower Info Background</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_UI_Stance">
|
||||
<English>Stance</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_UI_StaminaBar">
|
||||
<English>Stamina Bar</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_UI_VehicleName">
|
||||
<English>Vehicle Name</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_UI_VehicleNameBackground">
|
||||
<English>Vehicle Name Background</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_UI_VehicleFuelBar">
|
||||
<English>Vehicle Fuel Bar</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_UI_VehicleSpeed">
|
||||
<English>Vehicle Speed</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_UI_VehicleAltitude">
|
||||
<English>Vehicle Altitude</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_UI_VehicleDamage">
|
||||
<English>Vehicle Damage</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_UI_VehicleInfoBackground">
|
||||
<English>Vehicle Info Background</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_UI_VehicleGunnerWeapon">
|
||||
<English>Vehicle Gunner Weapon</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_UI_RequiresSoldierVehicleWeaponInfo">
|
||||
<English>Requires Soldier/Vehicle/Weapons Information.</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_UI_Disallowed">
|
||||
<English>Modifying User Interface is disabled.</English>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
BIN
extras/assets/icons/Icon_Module_png/Icon_Module_UI_ca.png
Normal file
BIN
extras/assets/icons/Icon_Module_png/Icon_Module_UI_ca.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.9 KiB |
Binary file not shown.
Loading…
Reference in New Issue
Block a user