mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Merge branch 'master' into basic-medical-tweaks
This commit is contained in:
commit
348bf611f8
@ -76,4 +76,4 @@ ruPaladin <happyworm24@rambler.ru>
|
||||
BlackPixxel
|
||||
Asgar Serran <piechottaf@web.de>
|
||||
Kavinsky <nmunozfernandez@gmail.com>
|
||||
BlackPixxel
|
||||
|
||||
|
@ -69,9 +69,9 @@ class ACE_Settings {
|
||||
* force = 0;
|
||||
*
|
||||
* 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
|
||||
* displayName = "$STR_ACE_Common_SettingName";
|
||||
*
|
||||
@ -90,14 +90,14 @@ class ACE_Settings {
|
||||
/*class GVAR(enableNumberHotkeys) {
|
||||
value = 1;
|
||||
typeName = "BOOL";
|
||||
isClientSetable = 1;
|
||||
isClientSettable = 1;
|
||||
displayName = "$STR_ACE_Common_EnableNumberHotkeys";
|
||||
};*/
|
||||
class GVAR(settingFeedbackIcons) {
|
||||
value = 1;
|
||||
typeName = "SCALAR";
|
||||
force = 0;
|
||||
isClientSetable = 1;
|
||||
isClientSettable = 1;
|
||||
displayName = "$STR_ACE_Common_SettingFeedbackIconsName";
|
||||
description = "$STR_ACE_Common_SettingFeedbackIconsDesc";
|
||||
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;
|
||||
typeName = "SCALAR";
|
||||
force = 0;
|
||||
isClientSetable = 1;
|
||||
isClientSettable = 1;
|
||||
displayName = "$STR_ACE_Common_SettingProgressbarLocationName";
|
||||
description = "$STR_ACE_Common_SettingProgressbarLocationDesc";
|
||||
values[] = {"Top", "Bottom"};
|
||||
@ -114,14 +114,14 @@ class ACE_Settings {
|
||||
class GVAR(displayTextColor) {
|
||||
value[] = {0,0,0,0.1};
|
||||
typeName = "COLOR";
|
||||
isClientSetable = 1;
|
||||
isClientSettable = 1;
|
||||
displayName = "$STR_ACE_Common_SettingDisplayTextColorName";
|
||||
description = "$STR_ACE_Common_SettingDisplayTextColorDesc";
|
||||
};
|
||||
class GVAR(displayTextFontColor) {
|
||||
value[] = {1,1,1,1};
|
||||
typeName = "COLOR";
|
||||
isClientSetable = 1;
|
||||
isClientSettable = 1;
|
||||
displayName = "$STR_ACE_Common_SettingDisplayTextFontColorName";
|
||||
description = "$STR_ACE_Common_SettingDisplayTextFontColorDesc";
|
||||
};
|
||||
|
@ -58,7 +58,7 @@ if (isNil _name) then {
|
||||
/*_settingData = [
|
||||
_name,
|
||||
_typeName,
|
||||
_isClientSetable,
|
||||
_isClientSettable,
|
||||
_localizedName,
|
||||
_localizedDescription,
|
||||
_possibleValues,
|
||||
@ -68,7 +68,7 @@ if (isNil _name) then {
|
||||
_settingData = [
|
||||
_name,
|
||||
_typeName,
|
||||
(getNumber (_optionEntry >> "isClientSetable")) > 0,
|
||||
(getNumber (_optionEntry >> "isClientSettable")) > 0,
|
||||
getText (_optionEntry >> "displayName"),
|
||||
getText (_optionEntry >> "description"),
|
||||
getArray (_optionEntry >> "values"),
|
||||
|
@ -247,7 +247,7 @@ class ACE_Settings {
|
||||
class GVAR(showInThirdPerson) {
|
||||
value = 0;
|
||||
typeName = "BOOL";
|
||||
isClientSetable = 1;
|
||||
isClientSettable = 1;
|
||||
displayName = "$STR_ACE_Goggles_ShowInThirdPerson";
|
||||
};
|
||||
};
|
||||
|
@ -38,7 +38,7 @@ class ACE_Settings {
|
||||
class GVAR(DisableEarRinging) {
|
||||
value = 0;
|
||||
typeName = "BOOL";
|
||||
isClientSetable = 1;
|
||||
isClientSettable = 1;
|
||||
displayName = "$STR_ACE_Hearing_DisableEarRinging";
|
||||
};
|
||||
};
|
||||
|
@ -20,7 +20,7 @@ class ACE_Settings {
|
||||
class GVAR(AlwaysUseCursorSelfInteraction) {
|
||||
value = 0;
|
||||
typeName = "BOOL";
|
||||
isClientSetable = 1;
|
||||
isClientSettable = 1;
|
||||
displayName = "$STR_ACE_Interact_Menu_AlwaysUseCursorSelfInteraction";
|
||||
};
|
||||
};
|
||||
|
@ -18,7 +18,7 @@ class ACE_Settings {
|
||||
class GVAR(inventoryDisplaySize) {
|
||||
value = 0;
|
||||
typeName = "SCALAR";
|
||||
isClientSetable = 1;
|
||||
isClientSettable = 1;
|
||||
displayName = "$STR_ACE_Inventory_SettingName";
|
||||
description = "$STR_ACE_Inventory_SettingDescription";
|
||||
values[] = {"Normal (Default Size)", "Medium", "Bigger"};
|
||||
|
@ -4,7 +4,7 @@ TRACE_1("enter", _this);
|
||||
|
||||
#define __TRACKINTERVAL 0 // how frequent the check should be.
|
||||
#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 __OffsetY ((ctrlPosition __JavelinIGUITargetingLineH) select 1) - 0.5
|
||||
@ -39,6 +39,7 @@ _currentTarget = _args select 1;
|
||||
_runTime = _args select 2;
|
||||
_lockTime = _args select 3;
|
||||
_soundTime = _args select 4;
|
||||
_randomLockInterval = _args select 5;
|
||||
|
||||
// Find a target within the optic range
|
||||
_newTarget = objNull;
|
||||
@ -135,7 +136,7 @@ if (isNull _newTarget) then {
|
||||
|
||||
playSound "ACE_Javelin_Locking";
|
||||
} else {
|
||||
if(diag_tickTime - _lockTime > __LOCKONTIME + (random __LOCKONTIMERANDOM)) then {
|
||||
if(diag_tickTime - _lockTime > __LOCKONTIME + _randomLockInterval) then {
|
||||
TRACE_2("LOCKED!", _currentTarget, _lockTime);
|
||||
|
||||
__JavelinIGUISeek ctrlSetTextColor __ColorGreen;
|
||||
|
@ -2,6 +2,8 @@
|
||||
#include "script_component.hpp"
|
||||
TRACE_1("enter", _this);
|
||||
|
||||
#define __LOCKONTIMERANDOM 2 // Deviation in lock on time
|
||||
|
||||
if((count _this) > 0) then {
|
||||
uiNameSpace setVariable ['ACE_RscOptics_javelin',_this select 0];
|
||||
};
|
||||
@ -22,10 +24,13 @@ uiNameSpace setVariable [QGVAR(arguments),
|
||||
objNull, // currentTargetObject
|
||||
0, // Run 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];
|
||||
if(isNil "_pfh_handle") then {
|
||||
_pfh_handle = [FUNC(onOpticDraw), 0, []] call CBA_fnc_addPerFrameHandler;
|
||||
|
@ -4,8 +4,10 @@
|
||||
*
|
||||
* Arguments:
|
||||
* 0: Position of seeker (ASL) <position>
|
||||
* 1: Seeker wavelength sensitivity range, [1550,1550] is common eye safe. <array>
|
||||
* 2: Seeker laser code. <number>
|
||||
* 1: Direction vector (will be normalized) <vector>
|
||||
* 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:
|
||||
* Array, [Strongest compatible laser spot ASL pos, owner object] Nil array values if nothing found.
|
||||
@ -17,9 +19,14 @@ private ["_pos", "_seekerWavelengths", "_seekerCode", "_spots", "_buckets", "_ex
|
||||
"_emitterWavelength", "_laserCode", "_divergence", "_laser", "_laserPos", "_laserDir", "_res", "_bucketPos", "_bucketList", "_c", "_forEachIndex", "_index",
|
||||
"_testPos", "_finalBuckets", "_largest", "_largestIndex", "_finalBucket", "_owners", "_avgX", "_avgY", "_avgZ", "_count", "_maxOwner", "_maxOwnerIndex", "_finalOwner"];
|
||||
|
||||
_pos = _this select 0;
|
||||
_seekerWavelengths = _this select 1;
|
||||
_seekerCode = _this select 2;
|
||||
_pos = _this select 0;
|
||||
_dir = vectorNormalized (_this select 1);
|
||||
_seekerFov = _this select 2;
|
||||
_seekerWavelengths = _this select 3;
|
||||
_seekerCode = _this select 4;
|
||||
|
||||
|
||||
_seekerCos = cos _seekerFov;
|
||||
|
||||
_spots = [];
|
||||
_buckets = [];
|
||||
@ -57,8 +64,13 @@ _finalOwner = nil;
|
||||
_laserPos = _laser select 0;
|
||||
_laserDir = _laser select 1;
|
||||
_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 (GVAR(laserEmitters) select 1);
|
||||
|
@ -22,4 +22,9 @@ if( (count _this) > 2) then {
|
||||
|
||||
GVAR(active) = false;
|
||||
|
||||
if(!isNil QGVAR(selfDesignateHandle)) then {
|
||||
[GVAR(selfDesignateHandle)] call CBA_fnc_removePerFrameHandler;
|
||||
GVAR(selfDesignateHandle) = nil;
|
||||
};
|
||||
|
||||
true
|
@ -83,7 +83,7 @@ if(!GVAR(active)) then {
|
||||
// @TODO: Nou gets to field all tickets about missing lasers.
|
||||
//_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 {
|
||||
[] call FUNC(laserHudDesignateOff);
|
||||
[] call FUNC(laserHudDesignateOn);
|
||||
|
@ -21,6 +21,6 @@ class ACE_Settings {
|
||||
class GVAR(MapDataAvailable) {
|
||||
value = 2;
|
||||
typeName = "SCALAR";
|
||||
isClientSetable = 0;
|
||||
isClientSettable = 0;
|
||||
};
|
||||
};
|
||||
|
@ -11,39 +11,20 @@
|
||||
* Return value:
|
||||
* Boolean
|
||||
*/
|
||||
|
||||
//#define DEBUG_MODE_FULL
|
||||
|
||||
#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;
|
||||
_targetPos = _this select 1;
|
||||
_seekerMaxAngle = _this select 2;
|
||||
|
||||
_vertOk = false;
|
||||
_horzOk = false;
|
||||
|
||||
_sensorPos = getPosASL _seeker;
|
||||
_vectorTo = _sensorPos vectorFromTo _targetPos;
|
||||
|
||||
_headingPitch = (vectorDir _seeker) call CBA_fnc_vect2polar;
|
||||
_polarTo = _vectorTo call CBA_fnc_vect2polar;
|
||||
_testPointVector = vectorNormalized (_targetPos vectorDiff _sensorPos);
|
||||
_testDotProduct = (vectorNormalized (velocity _seeker)) vectorDotProduct _testPointVector;
|
||||
|
||||
_dir = _polarTo select 1;
|
||||
_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 {
|
||||
if(_testDotProduct < (cos _seekerMaxAngle)) exitWith {
|
||||
false
|
||||
};
|
||||
|
||||
|
@ -6,15 +6,15 @@ _seekerTargetPos = _this select 0;
|
||||
|
||||
_launchParams = _this select 1;
|
||||
_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;
|
||||
TRACE_1("Search", _laserResult);
|
||||
|
||||
|
||||
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(!_canSeeTarget) then {
|
||||
|
@ -21,7 +21,7 @@ class ACE_Settings {
|
||||
class GVAR(useImperial) {
|
||||
value = 0;
|
||||
typeName = "BOOL";
|
||||
isClientSetable = 1;
|
||||
isClientSettable = 1;
|
||||
displayName = "$STR_ACE_Movement_UseImperial";
|
||||
};
|
||||
};
|
||||
|
@ -19,55 +19,55 @@ class ACE_Settings {
|
||||
class GVAR(defaultNametagColor) {
|
||||
value[] = {0.77, 0.51, 0.08, 1};
|
||||
typeName = "COLOR";
|
||||
isClientSetable = 1;
|
||||
isClientSettable = 1;
|
||||
displayName = "$STR_ACE_NameTags_DefaultNametagColor";
|
||||
};
|
||||
class GVAR(showPlayerNames) {
|
||||
value = 1;
|
||||
typeName = "SCALAR";
|
||||
isClientSetable = 1;
|
||||
isClientSettable = 1;
|
||||
displayName = "$STR_ACE_NameTags_ShowPlayerNames";
|
||||
values[] = {"Disabled", "Enabled", "Only Cursor", "Only On Keypress", "Only Cursor and KeyPress"};
|
||||
};
|
||||
class GVAR(showPlayerRanks) {
|
||||
value = 1;
|
||||
typeName = "BOOL";
|
||||
isClientSetable = 1;
|
||||
isClientSettable = 1;
|
||||
displayName = "$STR_ACE_NameTags_ShowPlayerRanks";
|
||||
};
|
||||
class GVAR(showVehicleCrewInfo) {
|
||||
value = 1;
|
||||
typeName = "BOOL";
|
||||
isClientSetable = 1;
|
||||
isClientSettable = 1;
|
||||
displayName = "$STR_ACE_NameTags_ShowVehicleCrewInfo";
|
||||
};
|
||||
class GVAR(showNamesForAI) {
|
||||
value = 0;
|
||||
typeName = "BOOL";
|
||||
isClientSetable = 1;
|
||||
isClientSettable = 1;
|
||||
displayName = "$STR_ACE_NameTags_ShowNamesForAI";
|
||||
};
|
||||
class GVAR(showCursorTagForVehicles) {
|
||||
value = 0;
|
||||
typeName = "BOOL";
|
||||
isClientSetable = 0;
|
||||
isClientSettable = 0;
|
||||
};
|
||||
class GVAR(showSoundWaves) {
|
||||
value = 1;
|
||||
typeName = "SCALAR";
|
||||
isClientSetable = 1;
|
||||
isClientSettable = 1;
|
||||
displayName = "$STR_ACE_NameTags_ShowSoundWaves";
|
||||
values[] = {"Disabled", "Use Nametag settings", "Always Show All"};
|
||||
};
|
||||
class GVAR(PlayerNamesViewDistance) {
|
||||
value = 5;
|
||||
typeName = "SCALAR";
|
||||
isClientSetable = 0;
|
||||
isClientSettable = 0;
|
||||
};
|
||||
class GVAR(PlayerNamesMaxAlpha) {
|
||||
value = 0.8;
|
||||
typeName = "SCALAR";
|
||||
isClientSetable = 0;
|
||||
isClientSettable = 0;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -23,7 +23,7 @@ class CfgPatches {
|
||||
class ACE_Settings {
|
||||
class GVAR(DisplayTextOnJam) {
|
||||
typeName = "BOOL";
|
||||
isClientSetable = 1;
|
||||
isClientSettable = 1;
|
||||
value = 1;
|
||||
displayName = "$STR_ACE_overheating_SettingDisplayTextName";
|
||||
description = "$STR_ACE_overheating_SettingDisplayTextDesc";
|
||||
|
@ -25,7 +25,7 @@ class CfgPatches {
|
||||
class ACE_Settings {
|
||||
class GVAR(DisplayText) {
|
||||
typeName = "BOOL";
|
||||
isClientSetable = 1;
|
||||
isClientSettable = 1;
|
||||
value = 1;
|
||||
displayName = "$STR_ACE_reload_SettingDisplayTextName";
|
||||
description = "$STR_ACE_reload_SettingDisplayTextDesc";
|
||||
|
@ -42,7 +42,6 @@ if !(hasInterface) exitWith {};
|
||||
|
||||
// Statement
|
||||
[ACE_player, ELEVATION_UP, MINOR_INCREMENT] call FUNC(adjustScope);
|
||||
true
|
||||
},
|
||||
{false},
|
||||
[201, [false, false, false]], true] call cba_fnc_addKeybind;
|
||||
@ -56,7 +55,6 @@ if !(hasInterface) exitWith {};
|
||||
|
||||
// Statement
|
||||
[ACE_player, ELEVATION_DOWN, MINOR_INCREMENT] call FUNC(adjustScope);
|
||||
true
|
||||
},
|
||||
{false},
|
||||
[209, [false, false, false]], true] call cba_fnc_addKeybind;
|
||||
@ -70,7 +68,6 @@ if !(hasInterface) exitWith {};
|
||||
|
||||
// Statement
|
||||
[ACE_player, WINDAGE_LEFT, MINOR_INCREMENT] call FUNC(adjustScope);
|
||||
true
|
||||
},
|
||||
{false},
|
||||
[209, [false, true, false]], true] call cba_fnc_addKeybind;
|
||||
@ -84,7 +81,6 @@ if !(hasInterface) exitWith {};
|
||||
|
||||
// Statement
|
||||
[ACE_player, WINDAGE_RIGHT, MINOR_INCREMENT] call FUNC(adjustScope);
|
||||
true
|
||||
},
|
||||
{false},
|
||||
[201, [false, true, false]], true] call cba_fnc_addKeybind;
|
||||
@ -98,7 +94,6 @@ if !(hasInterface) exitWith {};
|
||||
|
||||
// Statement
|
||||
[ACE_player, ELEVATION_UP, MAJOR_INCREMENT] call FUNC(adjustScope);
|
||||
true
|
||||
},
|
||||
{false},
|
||||
[201, [true, false, false]], true] call cba_fnc_addKeybind;
|
||||
@ -112,7 +107,6 @@ if !(hasInterface) exitWith {};
|
||||
|
||||
// Statement
|
||||
[ACE_player, ELEVATION_DOWN, MAJOR_INCREMENT] call FUNC(adjustScope);
|
||||
true
|
||||
},
|
||||
{false},
|
||||
[209, [true, false, false]], true] call cba_fnc_addKeybind;
|
||||
@ -126,7 +120,6 @@ if !(hasInterface) exitWith {};
|
||||
|
||||
// Statement
|
||||
[ACE_player, WINDAGE_LEFT, MAJOR_INCREMENT] call FUNC(adjustScope);
|
||||
true
|
||||
},
|
||||
{false},
|
||||
[209, [true, true, false]], true] call cba_fnc_addKeybind;
|
||||
@ -140,7 +133,6 @@ if !(hasInterface) exitWith {};
|
||||
|
||||
// Statement
|
||||
[ACE_player, WINDAGE_RIGHT, MAJOR_INCREMENT] call FUNC(adjustScope);
|
||||
true
|
||||
},
|
||||
{false},
|
||||
[201, [true, true, false]], true] call cba_fnc_addKeybind;
|
||||
|
@ -69,3 +69,5 @@ if ((_elevation + _zero) < _maxVertical select 0 or (_elevation + _zero) > _maxV
|
||||
if (_windage < _maxHorizontal select 0 or _windage > _maxHorizontal select 1) exitWith {false};
|
||||
|
||||
[_unit, _elevation, _windage, _zero] call FUNC(applyScopeAdjustment);
|
||||
|
||||
true
|
||||
|
@ -17,7 +17,7 @@ class CfgPatches {
|
||||
class ACE_Settings {
|
||||
class GVAR(DisplayText) {
|
||||
typeName = "BOOL";
|
||||
isClientSetable = 1;
|
||||
isClientSettable = 1;
|
||||
value = 1;
|
||||
displayName = "$STR_ACE_Weaponselect_SettingDisplayTextName";
|
||||
description = "$STR_ACE_Weaponselect_SettingDisplayTextDesc";
|
||||
|
@ -19,6 +19,11 @@ def check_for_changes(addonspath, module):
|
||||
return True
|
||||
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():
|
||||
print("""
|
||||
@ -36,6 +41,16 @@ def main():
|
||||
made = 0
|
||||
failed = 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):
|
||||
path = os.path.join(addonspath, p)
|
||||
if not os.path.isdir(path):
|
||||
@ -65,7 +80,7 @@ def main():
|
||||
print(" Successfully made {}.".format(p))
|
||||
|
||||
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__":
|
||||
|
Loading…
Reference in New Issue
Block a user