mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Merge branch 'master' of https://github.com/KoffeinFlummi/ACE3
This commit is contained in:
commit
8aad369ed3
@ -69,9 +69,9 @@ class ACE_Settings {
|
|||||||
* force = 0;
|
* force = 0;
|
||||||
*
|
*
|
||||||
* Does it appear on the options menu?
|
* Does it appear on the options menu?
|
||||||
* isClientSetable = 1;
|
* isClientSettable = 1;
|
||||||
*
|
*
|
||||||
* The following settings only apply when isClientSetable == 1
|
* The following settings only apply when isClientSettable == 1
|
||||||
* Stringtable entry with the setting name
|
* Stringtable entry with the setting name
|
||||||
* displayName = "$STR_ACE_Common_SettingName";
|
* displayName = "$STR_ACE_Common_SettingName";
|
||||||
*
|
*
|
||||||
@ -90,14 +90,14 @@ class ACE_Settings {
|
|||||||
/*class GVAR(enableNumberHotkeys) {
|
/*class GVAR(enableNumberHotkeys) {
|
||||||
value = 1;
|
value = 1;
|
||||||
typeName = "BOOL";
|
typeName = "BOOL";
|
||||||
isClientSetable = 1;
|
isClientSettable = 1;
|
||||||
displayName = "$STR_ACE_Common_EnableNumberHotkeys";
|
displayName = "$STR_ACE_Common_EnableNumberHotkeys";
|
||||||
};*/
|
};*/
|
||||||
class GVAR(settingFeedbackIcons) {
|
class GVAR(settingFeedbackIcons) {
|
||||||
value = 1;
|
value = 1;
|
||||||
typeName = "SCALAR";
|
typeName = "SCALAR";
|
||||||
force = 0;
|
force = 0;
|
||||||
isClientSetable = 1;
|
isClientSettable = 1;
|
||||||
displayName = "$STR_ACE_Common_SettingFeedbackIconsName";
|
displayName = "$STR_ACE_Common_SettingFeedbackIconsName";
|
||||||
description = "$STR_ACE_Common_SettingFeedbackIconsDesc";
|
description = "$STR_ACE_Common_SettingFeedbackIconsDesc";
|
||||||
values[] = {"Hide", "Top right, downwards", "Top right, to the left", "Top left, downwards", "Top left, to the right"};
|
values[] = {"Hide", "Top right, downwards", "Top right, to the left", "Top left, downwards", "Top left, to the right"};
|
||||||
@ -106,7 +106,7 @@ class ACE_Settings {
|
|||||||
value = 0;
|
value = 0;
|
||||||
typeName = "SCALAR";
|
typeName = "SCALAR";
|
||||||
force = 0;
|
force = 0;
|
||||||
isClientSetable = 1;
|
isClientSettable = 1;
|
||||||
displayName = "$STR_ACE_Common_SettingProgressbarLocationName";
|
displayName = "$STR_ACE_Common_SettingProgressbarLocationName";
|
||||||
description = "$STR_ACE_Common_SettingProgressbarLocationDesc";
|
description = "$STR_ACE_Common_SettingProgressbarLocationDesc";
|
||||||
values[] = {"Top", "Bottom"};
|
values[] = {"Top", "Bottom"};
|
||||||
@ -114,14 +114,14 @@ class ACE_Settings {
|
|||||||
class GVAR(displayTextColor) {
|
class GVAR(displayTextColor) {
|
||||||
value[] = {0,0,0,0.1};
|
value[] = {0,0,0,0.1};
|
||||||
typeName = "COLOR";
|
typeName = "COLOR";
|
||||||
isClientSetable = 1;
|
isClientSettable = 1;
|
||||||
displayName = "$STR_ACE_Common_SettingDisplayTextColorName";
|
displayName = "$STR_ACE_Common_SettingDisplayTextColorName";
|
||||||
description = "$STR_ACE_Common_SettingDisplayTextColorDesc";
|
description = "$STR_ACE_Common_SettingDisplayTextColorDesc";
|
||||||
};
|
};
|
||||||
class GVAR(displayTextFontColor) {
|
class GVAR(displayTextFontColor) {
|
||||||
value[] = {1,1,1,1};
|
value[] = {1,1,1,1};
|
||||||
typeName = "COLOR";
|
typeName = "COLOR";
|
||||||
isClientSetable = 1;
|
isClientSettable = 1;
|
||||||
displayName = "$STR_ACE_Common_SettingDisplayTextFontColorName";
|
displayName = "$STR_ACE_Common_SettingDisplayTextFontColorName";
|
||||||
description = "$STR_ACE_Common_SettingDisplayTextFontColorDesc";
|
description = "$STR_ACE_Common_SettingDisplayTextFontColorDesc";
|
||||||
};
|
};
|
||||||
|
@ -58,7 +58,7 @@ if (isNil _name) then {
|
|||||||
/*_settingData = [
|
/*_settingData = [
|
||||||
_name,
|
_name,
|
||||||
_typeName,
|
_typeName,
|
||||||
_isClientSetable,
|
_isClientSettable,
|
||||||
_localizedName,
|
_localizedName,
|
||||||
_localizedDescription,
|
_localizedDescription,
|
||||||
_possibleValues,
|
_possibleValues,
|
||||||
@ -68,7 +68,7 @@ if (isNil _name) then {
|
|||||||
_settingData = [
|
_settingData = [
|
||||||
_name,
|
_name,
|
||||||
_typeName,
|
_typeName,
|
||||||
(getNumber (_optionEntry >> "isClientSetable")) > 0,
|
(getNumber (_optionEntry >> "isClientSettable")) > 0,
|
||||||
getText (_optionEntry >> "displayName"),
|
getText (_optionEntry >> "displayName"),
|
||||||
getText (_optionEntry >> "description"),
|
getText (_optionEntry >> "description"),
|
||||||
getArray (_optionEntry >> "values"),
|
getArray (_optionEntry >> "values"),
|
||||||
|
@ -247,7 +247,7 @@ class ACE_Settings {
|
|||||||
class GVAR(showInThirdPerson) {
|
class GVAR(showInThirdPerson) {
|
||||||
value = 0;
|
value = 0;
|
||||||
typeName = "BOOL";
|
typeName = "BOOL";
|
||||||
isClientSetable = 1;
|
isClientSettable = 1;
|
||||||
displayName = "$STR_ACE_Goggles_ShowInThirdPerson";
|
displayName = "$STR_ACE_Goggles_ShowInThirdPerson";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -38,7 +38,7 @@ class ACE_Settings {
|
|||||||
class GVAR(DisableEarRinging) {
|
class GVAR(DisableEarRinging) {
|
||||||
value = 0;
|
value = 0;
|
||||||
typeName = "BOOL";
|
typeName = "BOOL";
|
||||||
isClientSetable = 1;
|
isClientSettable = 1;
|
||||||
displayName = "$STR_ACE_Hearing_DisableEarRinging";
|
displayName = "$STR_ACE_Hearing_DisableEarRinging";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -20,7 +20,7 @@ class ACE_Settings {
|
|||||||
class GVAR(AlwaysUseCursorSelfInteraction) {
|
class GVAR(AlwaysUseCursorSelfInteraction) {
|
||||||
value = 0;
|
value = 0;
|
||||||
typeName = "BOOL";
|
typeName = "BOOL";
|
||||||
isClientSetable = 1;
|
isClientSettable = 1;
|
||||||
displayName = "$STR_ACE_Interact_Menu_AlwaysUseCursorSelfInteraction";
|
displayName = "$STR_ACE_Interact_Menu_AlwaysUseCursorSelfInteraction";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -18,7 +18,7 @@ class ACE_Settings {
|
|||||||
class GVAR(inventoryDisplaySize) {
|
class GVAR(inventoryDisplaySize) {
|
||||||
value = 0;
|
value = 0;
|
||||||
typeName = "SCALAR";
|
typeName = "SCALAR";
|
||||||
isClientSetable = 1;
|
isClientSettable = 1;
|
||||||
displayName = "$STR_ACE_Inventory_SettingName";
|
displayName = "$STR_ACE_Inventory_SettingName";
|
||||||
description = "$STR_ACE_Inventory_SettingDescription";
|
description = "$STR_ACE_Inventory_SettingDescription";
|
||||||
values[] = {"Normal (Default Size)", "Medium", "Bigger"};
|
values[] = {"Normal (Default Size)", "Medium", "Bigger"};
|
||||||
|
@ -4,7 +4,7 @@ TRACE_1("enter", _this);
|
|||||||
|
|
||||||
#define __TRACKINTERVAL 0 // how frequent the check should be.
|
#define __TRACKINTERVAL 0 // how frequent the check should be.
|
||||||
#define __LOCKONTIME 3 // Lock on won't occur sooner
|
#define __LOCKONTIME 3 // Lock on won't occur sooner
|
||||||
#define __LOCKONTIMERANDOM 2 // Deviation in lock on time
|
|
||||||
|
|
||||||
#define __OffsetX ((ctrlPosition __JavelinIGUITargetingLineV) select 0) - 0.5
|
#define __OffsetX ((ctrlPosition __JavelinIGUITargetingLineV) select 0) - 0.5
|
||||||
#define __OffsetY ((ctrlPosition __JavelinIGUITargetingLineH) select 1) - 0.5
|
#define __OffsetY ((ctrlPosition __JavelinIGUITargetingLineH) select 1) - 0.5
|
||||||
@ -39,6 +39,7 @@ _currentTarget = _args select 1;
|
|||||||
_runTime = _args select 2;
|
_runTime = _args select 2;
|
||||||
_lockTime = _args select 3;
|
_lockTime = _args select 3;
|
||||||
_soundTime = _args select 4;
|
_soundTime = _args select 4;
|
||||||
|
_randomLockInterval = _args select 5;
|
||||||
|
|
||||||
// Find a target within the optic range
|
// Find a target within the optic range
|
||||||
_newTarget = objNull;
|
_newTarget = objNull;
|
||||||
@ -135,7 +136,7 @@ if (isNull _newTarget) then {
|
|||||||
|
|
||||||
playSound "ACE_Javelin_Locking";
|
playSound "ACE_Javelin_Locking";
|
||||||
} else {
|
} else {
|
||||||
if(diag_tickTime - _lockTime > __LOCKONTIME + (random __LOCKONTIMERANDOM)) then {
|
if(diag_tickTime - _lockTime > __LOCKONTIME + _randomLockInterval) then {
|
||||||
TRACE_2("LOCKED!", _currentTarget, _lockTime);
|
TRACE_2("LOCKED!", _currentTarget, _lockTime);
|
||||||
|
|
||||||
__JavelinIGUISeek ctrlSetTextColor __ColorGreen;
|
__JavelinIGUISeek ctrlSetTextColor __ColorGreen;
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
TRACE_1("enter", _this);
|
TRACE_1("enter", _this);
|
||||||
|
|
||||||
|
#define __LOCKONTIMERANDOM 2 // Deviation in lock on time
|
||||||
|
|
||||||
if((count _this) > 0) then {
|
if((count _this) > 0) then {
|
||||||
uiNameSpace setVariable ['ACE_RscOptics_javelin',_this select 0];
|
uiNameSpace setVariable ['ACE_RscOptics_javelin',_this select 0];
|
||||||
};
|
};
|
||||||
@ -22,10 +24,13 @@ uiNameSpace setVariable [QGVAR(arguments),
|
|||||||
objNull, // currentTargetObject
|
objNull, // currentTargetObject
|
||||||
0, // Run Time
|
0, // Run Time
|
||||||
0, // Lock Time
|
0, // Lock Time
|
||||||
0 // Sound timer
|
0, // Sound timer
|
||||||
|
(random __LOCKONTIMERANDOM) // random lock time addition
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
_pfh_handle = uiNamespace getVariable ["ACE_RscOptics_javelin_PFH", nil];
|
_pfh_handle = uiNamespace getVariable ["ACE_RscOptics_javelin_PFH", nil];
|
||||||
if(isNil "_pfh_handle") then {
|
if(isNil "_pfh_handle") then {
|
||||||
_pfh_handle = [FUNC(onOpticDraw), 0, []] call CBA_fnc_addPerFrameHandler;
|
_pfh_handle = [FUNC(onOpticDraw), 0, []] call CBA_fnc_addPerFrameHandler;
|
||||||
|
@ -4,8 +4,10 @@
|
|||||||
*
|
*
|
||||||
* Arguments:
|
* Arguments:
|
||||||
* 0: Position of seeker (ASL) <position>
|
* 0: Position of seeker (ASL) <position>
|
||||||
* 1: Seeker wavelength sensitivity range, [1550,1550] is common eye safe. <array>
|
* 1: Direction vector (will be normalized) <vector>
|
||||||
* 2: Seeker laser code. <number>
|
* 2: Seeker FOV in degrees <number>
|
||||||
|
* 3: Seeker wavelength sensitivity range, [1550,1550] is common eye safe. <array>
|
||||||
|
* 4: Seeker laser code. <number>
|
||||||
*
|
*
|
||||||
* Return value:
|
* Return value:
|
||||||
* Array, [Strongest compatible laser spot ASL pos, owner object] Nil array values if nothing found.
|
* Array, [Strongest compatible laser spot ASL pos, owner object] Nil array values if nothing found.
|
||||||
@ -18,8 +20,13 @@ private ["_pos", "_seekerWavelengths", "_seekerCode", "_spots", "_buckets", "_ex
|
|||||||
"_testPos", "_finalBuckets", "_largest", "_largestIndex", "_finalBucket", "_owners", "_avgX", "_avgY", "_avgZ", "_count", "_maxOwner", "_maxOwnerIndex", "_finalOwner"];
|
"_testPos", "_finalBuckets", "_largest", "_largestIndex", "_finalBucket", "_owners", "_avgX", "_avgY", "_avgZ", "_count", "_maxOwner", "_maxOwnerIndex", "_finalOwner"];
|
||||||
|
|
||||||
_pos = _this select 0;
|
_pos = _this select 0;
|
||||||
_seekerWavelengths = _this select 1;
|
_dir = vectorNormalized (_this select 1);
|
||||||
_seekerCode = _this select 2;
|
_seekerFov = _this select 2;
|
||||||
|
_seekerWavelengths = _this select 3;
|
||||||
|
_seekerCode = _this select 4;
|
||||||
|
|
||||||
|
|
||||||
|
_seekerCos = cos _seekerFov;
|
||||||
|
|
||||||
_spots = [];
|
_spots = [];
|
||||||
_buckets = [];
|
_buckets = [];
|
||||||
@ -58,7 +65,12 @@ _finalOwner = nil;
|
|||||||
_laserDir = _laser select 1;
|
_laserDir = _laser select 1;
|
||||||
_res = [_laserPos, _laserDir, _divergence] call FUNC(shootCone);
|
_res = [_laserPos, _laserDir, _divergence] call FUNC(shootCone);
|
||||||
{
|
{
|
||||||
_spots pushBack [_x select 0, _owner];
|
_testPoint = _x select 0;
|
||||||
|
_testPointVector = vectorNormalized (_testPoint vectorDiff _pos);
|
||||||
|
_testDotProduct = _dir vectorDotProduct _testPointVector;
|
||||||
|
if(_testDotProduct > _seekerCos) then {
|
||||||
|
_spots pushBack [_testPoint, _owner];
|
||||||
|
};
|
||||||
} forEach (_res select 2);
|
} forEach (_res select 2);
|
||||||
};
|
};
|
||||||
} forEach (GVAR(laserEmitters) select 1);
|
} forEach (GVAR(laserEmitters) select 1);
|
||||||
|
@ -22,4 +22,9 @@ if( (count _this) > 2) then {
|
|||||||
|
|
||||||
GVAR(active) = false;
|
GVAR(active) = false;
|
||||||
|
|
||||||
|
if(!isNil QGVAR(selfDesignateHandle)) then {
|
||||||
|
[GVAR(selfDesignateHandle)] call CBA_fnc_removePerFrameHandler;
|
||||||
|
GVAR(selfDesignateHandle) = nil;
|
||||||
|
};
|
||||||
|
|
||||||
true
|
true
|
@ -83,7 +83,7 @@ if(!GVAR(active)) then {
|
|||||||
// @TODO: Nou gets to field all tickets about missing lasers.
|
// @TODO: Nou gets to field all tickets about missing lasers.
|
||||||
//_localLaserTarget = "LaserTargetW" createVehicleLocal (getpos ACE_player);
|
//_localLaserTarget = "LaserTargetW" createVehicleLocal (getpos ACE_player);
|
||||||
|
|
||||||
_handle = [FUNC(laserHudDesignatePFH), 0.1, [ACE_player, _laserUuid, nil]] call cba_fnc_addPerFrameHandler;
|
GVAR(selfDesignateHandle) = [FUNC(laserHudDesignatePFH), 0.1, [ACE_player, _laserUuid, nil]] call cba_fnc_addPerFrameHandler;
|
||||||
} else {
|
} else {
|
||||||
[] call FUNC(laserHudDesignateOff);
|
[] call FUNC(laserHudDesignateOff);
|
||||||
[] call FUNC(laserHudDesignateOn);
|
[] call FUNC(laserHudDesignateOn);
|
||||||
|
@ -21,6 +21,6 @@ class ACE_Settings {
|
|||||||
class GVAR(MapDataAvailable) {
|
class GVAR(MapDataAvailable) {
|
||||||
value = 2;
|
value = 2;
|
||||||
typeName = "SCALAR";
|
typeName = "SCALAR";
|
||||||
isClientSetable = 0;
|
isClientSettable = 0;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -12,38 +12,19 @@
|
|||||||
* Boolean
|
* Boolean
|
||||||
*/
|
*/
|
||||||
|
|
||||||
//#define DEBUG_MODE_FULL
|
|
||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
private["_seeker", "_targetPos", "_seekerMaxAngle", "_vectorTo", "_sensorPos", "_vertOk", "_horzOk", "_dir", "_headingPitch"];
|
private["_seeker", "_targetPos", "_seekerMaxAngle", "_sensorPos", "_testPointVector", "_testDotProduct"];
|
||||||
|
|
||||||
_seeker = _this select 0;
|
_seeker = _this select 0;
|
||||||
_targetPos = _this select 1;
|
_targetPos = _this select 1;
|
||||||
_seekerMaxAngle = _this select 2;
|
_seekerMaxAngle = _this select 2;
|
||||||
|
|
||||||
_vertOk = false;
|
|
||||||
_horzOk = false;
|
|
||||||
|
|
||||||
_sensorPos = getPosASL _seeker;
|
_sensorPos = getPosASL _seeker;
|
||||||
_vectorTo = _sensorPos vectorFromTo _targetPos;
|
|
||||||
|
|
||||||
_headingPitch = (vectorDir _seeker) call CBA_fnc_vect2polar;
|
_testPointVector = vectorNormalized (_targetPos vectorDiff _sensorPos);
|
||||||
_polarTo = _vectorTo call CBA_fnc_vect2polar;
|
_testDotProduct = (vectorNormalized (velocity _seeker)) vectorDotProduct _testPointVector;
|
||||||
|
|
||||||
_dir = _polarTo select 1;
|
if(_testDotProduct < (cos _seekerMaxAngle)) exitWith {
|
||||||
_dir = _dir - (_headingPitch select 1);
|
|
||||||
|
|
||||||
if (_dir < 0) then {_dir = _dir + 360};
|
|
||||||
if (_dir > 360) then {_dir = _dir - 360};
|
|
||||||
_vertOk = false;
|
|
||||||
_horzOk = false;
|
|
||||||
if(_dir < _angleFov || {_dir > (360-_angleFov)}) then {
|
|
||||||
_horzOk = true;
|
|
||||||
};
|
|
||||||
if(abs((abs(_polarTo select 2))-(abs(_headingPitch select 2))) < _angleFov) then {
|
|
||||||
_vertOk = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
if(!_vertOk || !_horzOk ) exitWith {
|
|
||||||
false
|
false
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -6,15 +6,15 @@ _seekerTargetPos = _this select 0;
|
|||||||
|
|
||||||
_launchParams = _this select 1;
|
_launchParams = _this select 1;
|
||||||
_seekerParams = _launchParams select 3;
|
_seekerParams = _launchParams select 3;
|
||||||
|
_angleFov = _seekerParams select 0;
|
||||||
|
|
||||||
_laserResult = [(getPosASL _projectile), [ACE_DEFAULT_LASER_WAVELENGTH,ACE_DEFAULT_LASER_WAVELENGTH], ACE_DEFAULT_LASER_CODE] call EFUNC(laser,seekerFindLaserSpot);
|
_laserResult = [(getPosASL _projectile), (velocity _projectile), _angleFov, [ACE_DEFAULT_LASER_WAVELENGTH,ACE_DEFAULT_LASER_WAVELENGTH], ACE_DEFAULT_LASER_CODE] call EFUNC(laser,seekerFindLaserSpot);
|
||||||
_foundTargetPos = _laserResult select 0;
|
_foundTargetPos = _laserResult select 0;
|
||||||
TRACE_1("Search", _laserResult);
|
TRACE_1("Search", _laserResult);
|
||||||
|
|
||||||
|
|
||||||
if(!isNil "_foundTargetPos") then {
|
if(!isNil "_foundTargetPos") then {
|
||||||
_angleFov = _seekerParams select 0;
|
//_canSeeTarget = [_projectile, _foundTargetPos, _angleFov] call FUNC(checkSeekerAngle);
|
||||||
_canSeeTarget = [_projectile, _foundTargetPos, _angleFov] call FUNC(checkSeekerAngle);
|
|
||||||
|
|
||||||
// If we got here, it was an invalid target, just return a spot 5m in front of the missile
|
// If we got here, it was an invalid target, just return a spot 5m in front of the missile
|
||||||
if(!_canSeeTarget) then {
|
if(!_canSeeTarget) then {
|
||||||
|
@ -21,7 +21,7 @@ class ACE_Settings {
|
|||||||
class GVAR(useImperial) {
|
class GVAR(useImperial) {
|
||||||
value = 0;
|
value = 0;
|
||||||
typeName = "BOOL";
|
typeName = "BOOL";
|
||||||
isClientSetable = 1;
|
isClientSettable = 1;
|
||||||
displayName = "$STR_ACE_Movement_UseImperial";
|
displayName = "$STR_ACE_Movement_UseImperial";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -19,55 +19,55 @@ class ACE_Settings {
|
|||||||
class GVAR(defaultNametagColor) {
|
class GVAR(defaultNametagColor) {
|
||||||
value[] = {0.77, 0.51, 0.08, 1};
|
value[] = {0.77, 0.51, 0.08, 1};
|
||||||
typeName = "COLOR";
|
typeName = "COLOR";
|
||||||
isClientSetable = 1;
|
isClientSettable = 1;
|
||||||
displayName = "$STR_ACE_NameTags_DefaultNametagColor";
|
displayName = "$STR_ACE_NameTags_DefaultNametagColor";
|
||||||
};
|
};
|
||||||
class GVAR(showPlayerNames) {
|
class GVAR(showPlayerNames) {
|
||||||
value = 1;
|
value = 1;
|
||||||
typeName = "SCALAR";
|
typeName = "SCALAR";
|
||||||
isClientSetable = 1;
|
isClientSettable = 1;
|
||||||
displayName = "$STR_ACE_NameTags_ShowPlayerNames";
|
displayName = "$STR_ACE_NameTags_ShowPlayerNames";
|
||||||
values[] = {"Disabled", "Enabled", "Only Cursor", "Only On Keypress", "Only Cursor and KeyPress"};
|
values[] = {"Disabled", "Enabled", "Only Cursor", "Only On Keypress", "Only Cursor and KeyPress"};
|
||||||
};
|
};
|
||||||
class GVAR(showPlayerRanks) {
|
class GVAR(showPlayerRanks) {
|
||||||
value = 1;
|
value = 1;
|
||||||
typeName = "BOOL";
|
typeName = "BOOL";
|
||||||
isClientSetable = 1;
|
isClientSettable = 1;
|
||||||
displayName = "$STR_ACE_NameTags_ShowPlayerRanks";
|
displayName = "$STR_ACE_NameTags_ShowPlayerRanks";
|
||||||
};
|
};
|
||||||
class GVAR(showVehicleCrewInfo) {
|
class GVAR(showVehicleCrewInfo) {
|
||||||
value = 1;
|
value = 1;
|
||||||
typeName = "BOOL";
|
typeName = "BOOL";
|
||||||
isClientSetable = 1;
|
isClientSettable = 1;
|
||||||
displayName = "$STR_ACE_NameTags_ShowVehicleCrewInfo";
|
displayName = "$STR_ACE_NameTags_ShowVehicleCrewInfo";
|
||||||
};
|
};
|
||||||
class GVAR(showNamesForAI) {
|
class GVAR(showNamesForAI) {
|
||||||
value = 0;
|
value = 0;
|
||||||
typeName = "BOOL";
|
typeName = "BOOL";
|
||||||
isClientSetable = 1;
|
isClientSettable = 1;
|
||||||
displayName = "$STR_ACE_NameTags_ShowNamesForAI";
|
displayName = "$STR_ACE_NameTags_ShowNamesForAI";
|
||||||
};
|
};
|
||||||
class GVAR(showCursorTagForVehicles) {
|
class GVAR(showCursorTagForVehicles) {
|
||||||
value = 0;
|
value = 0;
|
||||||
typeName = "BOOL";
|
typeName = "BOOL";
|
||||||
isClientSetable = 0;
|
isClientSettable = 0;
|
||||||
};
|
};
|
||||||
class GVAR(showSoundWaves) {
|
class GVAR(showSoundWaves) {
|
||||||
value = 1;
|
value = 1;
|
||||||
typeName = "SCALAR";
|
typeName = "SCALAR";
|
||||||
isClientSetable = 1;
|
isClientSettable = 1;
|
||||||
displayName = "$STR_ACE_NameTags_ShowSoundWaves";
|
displayName = "$STR_ACE_NameTags_ShowSoundWaves";
|
||||||
values[] = {"Disabled", "Use Nametag settings", "Always Show All"};
|
values[] = {"Disabled", "Use Nametag settings", "Always Show All"};
|
||||||
};
|
};
|
||||||
class GVAR(PlayerNamesViewDistance) {
|
class GVAR(PlayerNamesViewDistance) {
|
||||||
value = 5;
|
value = 5;
|
||||||
typeName = "SCALAR";
|
typeName = "SCALAR";
|
||||||
isClientSetable = 0;
|
isClientSettable = 0;
|
||||||
};
|
};
|
||||||
class GVAR(PlayerNamesMaxAlpha) {
|
class GVAR(PlayerNamesMaxAlpha) {
|
||||||
value = 0.8;
|
value = 0.8;
|
||||||
typeName = "SCALAR";
|
typeName = "SCALAR";
|
||||||
isClientSetable = 0;
|
isClientSettable = 0;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ class CfgPatches {
|
|||||||
class ACE_Settings {
|
class ACE_Settings {
|
||||||
class GVAR(DisplayTextOnJam) {
|
class GVAR(DisplayTextOnJam) {
|
||||||
typeName = "BOOL";
|
typeName = "BOOL";
|
||||||
isClientSetable = 1;
|
isClientSettable = 1;
|
||||||
value = 1;
|
value = 1;
|
||||||
displayName = "$STR_ACE_overheating_SettingDisplayTextName";
|
displayName = "$STR_ACE_overheating_SettingDisplayTextName";
|
||||||
description = "$STR_ACE_overheating_SettingDisplayTextDesc";
|
description = "$STR_ACE_overheating_SettingDisplayTextDesc";
|
||||||
|
@ -25,7 +25,7 @@ class CfgPatches {
|
|||||||
class ACE_Settings {
|
class ACE_Settings {
|
||||||
class GVAR(DisplayText) {
|
class GVAR(DisplayText) {
|
||||||
typeName = "BOOL";
|
typeName = "BOOL";
|
||||||
isClientSetable = 1;
|
isClientSettable = 1;
|
||||||
value = 1;
|
value = 1;
|
||||||
displayName = "$STR_ACE_reload_SettingDisplayTextName";
|
displayName = "$STR_ACE_reload_SettingDisplayTextName";
|
||||||
description = "$STR_ACE_reload_SettingDisplayTextDesc";
|
description = "$STR_ACE_reload_SettingDisplayTextDesc";
|
||||||
|
@ -17,7 +17,7 @@ class CfgPatches {
|
|||||||
class ACE_Settings {
|
class ACE_Settings {
|
||||||
class GVAR(DisplayText) {
|
class GVAR(DisplayText) {
|
||||||
typeName = "BOOL";
|
typeName = "BOOL";
|
||||||
isClientSetable = 1;
|
isClientSettable = 1;
|
||||||
value = 1;
|
value = 1;
|
||||||
displayName = "$STR_ACE_Weaponselect_SettingDisplayTextName";
|
displayName = "$STR_ACE_Weaponselect_SettingDisplayTextName";
|
||||||
description = "$STR_ACE_Weaponselect_SettingDisplayTextDesc";
|
description = "$STR_ACE_Weaponselect_SettingDisplayTextDesc";
|
||||||
|
@ -19,6 +19,11 @@ def check_for_changes(addonspath, module):
|
|||||||
return True
|
return True
|
||||||
return mod_time(os.path.join(addonspath, module)) > mod_time(os.path.join(addonspath, "ace_{}.pbo".format(module)))
|
return mod_time(os.path.join(addonspath, module)) > mod_time(os.path.join(addonspath, "ace_{}.pbo".format(module)))
|
||||||
|
|
||||||
|
def check_for_obsolete_pbos(addonspath, file):
|
||||||
|
module = file[4:-4]
|
||||||
|
if not os.path.exists(os.path.join(addonspath, module)):
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
print("""
|
print("""
|
||||||
@ -36,6 +41,16 @@ def main():
|
|||||||
made = 0
|
made = 0
|
||||||
failed = 0
|
failed = 0
|
||||||
skipped = 0
|
skipped = 0
|
||||||
|
removed = 0
|
||||||
|
|
||||||
|
for file in os.listdir(addonspath):
|
||||||
|
if os.path.isfile(file):
|
||||||
|
if check_for_obsolete_pbos(addonspath, file):
|
||||||
|
removed += 1
|
||||||
|
print(" Removing obsolete file => " + file)
|
||||||
|
os.remove(file)
|
||||||
|
print("")
|
||||||
|
|
||||||
for p in os.listdir(addonspath):
|
for p in os.listdir(addonspath):
|
||||||
path = os.path.join(addonspath, p)
|
path = os.path.join(addonspath, p)
|
||||||
if not os.path.isdir(path):
|
if not os.path.isdir(path):
|
||||||
@ -65,7 +80,7 @@ def main():
|
|||||||
print(" Successfully made {}.".format(p))
|
print(" Successfully made {}.".format(p))
|
||||||
|
|
||||||
print("\n# Done.")
|
print("\n# Done.")
|
||||||
print(" Made {}, skipped {}, failed to make {}.".format(made, skipped, failed))
|
print(" Made {}, skipped {}, removed {}, failed to make {}.".format(made, skipped, removed, failed))
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
Loading…
Reference in New Issue
Block a user