diff --git a/README.md b/README.md
index dd464966f2..3ec6fe0683 100644
--- a/README.md
+++ b/README.md
@@ -40,7 +40,7 @@ If you installed ACE3, but have trouble understanding how it all works, or where
#### Contributing
If you want to help put with the ongoing development, you can do so by looking for possible bugs or by contributing new features. To contribute something to ACE, simply fork this repository and submit your pull requests for review by other collaborators. In the process, please add yourself to the author array of any .pbo you will be editing and the AUTHORS.txt file; including a valid email address.
-To report a bug, propose a feature, or suggest a change to the existing one — please, use our [Issue Tracker](https://github.com/acemod/ACE3/issues).
+To report a bug, propose a feature, or suggest a change to the existing one — please, use our [Issue Tracker](https://github.com/acemod/ACE3/issues). See [this link](http://ace3mod.com/wiki/user/how-to-report-an-issue.html) for details.
#### Testing & Building
If you want to help us test the latest development changes, feel free to download our master branch, using either git — if familiar with the process — or directly, by following [this link](https://github.com/acemod/ACE3/archive/master.zip).
diff --git a/addons/attach/functions/fnc_attach.sqf b/addons/attach/functions/fnc_attach.sqf
index 3bb54eee16..45b1c0a336 100644
--- a/addons/attach/functions/fnc_attach.sqf
+++ b/addons/attach/functions/fnc_attach.sqf
@@ -62,6 +62,7 @@ if (_unit == _attachToVehicle) then { //Self Attachment
_actionID = _unit addAction [format ["%1", localize "STR_ACE_Attach_CancelAction"], {GVAR(placeAction) = 0}];
[{
+ private "_startingPosition";
PARAMS_2(_args,_pfID);
EXPLODE_7_PVT(_args,_unit,_attachToVehicle,_itemClassname,_itemVehClass,_tempObject,_onAtachText,_actionID);
diff --git a/addons/attach/functions/fnc_canAttach.sqf b/addons/attach/functions/fnc_canAttach.sqf
index d0930dc069..18071092d5 100644
--- a/addons/attach/functions/fnc_canAttach.sqf
+++ b/addons/attach/functions/fnc_canAttach.sqf
@@ -19,7 +19,7 @@
PARAMS_3(_attachToVehicle,_player,_args);
-private ["_itemName", "_attachLimit", "_attachedObjects"];
+private ["_itemName", "_attachLimit", "_attachedObjects","_playerPos"];
_itemName = [_args, 0, ""] call CBA_fnc_defaultParam;
_attachLimit = [6, 1] select (_player == _attachToVehicle);
diff --git a/addons/attach/functions/fnc_detach.sqf b/addons/attach/functions/fnc_detach.sqf
index 99ac646013..a56936301d 100644
--- a/addons/attach/functions/fnc_detach.sqf
+++ b/addons/attach/functions/fnc_detach.sqf
@@ -18,7 +18,7 @@
PARAMS_2(_attachToVehicle,_unit);
-private ["_attachedObjects", "_attachedItems"];
+private ["_attachedObjects", "_attachedItems", "_itemDisplayName"];
_attachedObjects = _attachToVehicle getVariable [QGVAR(Objects), []];
_attachedItems = _attachToVehicle getVariable [QGVAR(ItemNames), []];
diff --git a/addons/attach/functions/fnc_getChildrenAttachActions.sqf b/addons/attach/functions/fnc_getChildrenAttachActions.sqf
index 3594e10bd6..fb432146be 100644
--- a/addons/attach/functions/fnc_getChildrenAttachActions.sqf
+++ b/addons/attach/functions/fnc_getChildrenAttachActions.sqf
@@ -17,6 +17,7 @@
*/
#include "script_component.hpp"
+private ["_listed", "_actions", "_item", "_displayName", "_picture", "_action"];
PARAMS_2(_target,_player);
_listed = [];
diff --git a/addons/backpacks/functions/fnc_backpackOpened.sqf b/addons/backpacks/functions/fnc_backpackOpened.sqf
index 1894d68f23..3f5cf53994 100644
--- a/addons/backpacks/functions/fnc_backpackOpened.sqf
+++ b/addons/backpacks/functions/fnc_backpackOpened.sqf
@@ -13,11 +13,7 @@
*/
#include "script_component.hpp"
-private ["_unit", "_target"];
-
-_unit = _this select 0;
-_target = _this select 1;
-_backpack = _this select 2;
+PARAMS_3(_unit,_target,_backpack);
// do cam shake if the target is the player
if ([_target] call EFUNC(common,isPlayer)) then {
diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml
index cf59b59f40..c95da8d760 100644
--- a/addons/ballistics/stringtable.xml
+++ b/addons/ballistics/stringtable.xml
@@ -480,7 +480,7 @@
Caliber: .338 Norma Magnum Tracer IR-DIM<br />Rounds: 130<br />Used in: SPMG
Kaliber: .338 Norma Magnum Leuchtspur IR-DIM<br />Schuss: 130<br />Verwendet für: SPMG
Kaliber: .338 Norma Magnum Smugacz IR-DIM<br />Pociski: 130<br />Używany w: SPMG
- Calibre: .338 Norma Magnum Traçante IR-DIM<br />Cartouches: 130<br />Utilisé dans: SPMG
+ Calibre: .338 Norma Magnum Traçante IR-DIM<br />Cartouches: 130<br />Utilisé dans: SPMG
Calibre: .338 Norma Magnum trazadora IR-DIM<br />Balas: 130<br />Se usa en: SPMG
@@ -805,31 +805,37 @@
7.62mm 10Rnd Mag (Mk319 Mod 0)
Magazynek 7,62mm 10rd (Mk319 Mod 0)
7.62mm 10Cps (Mk319 Mod 0)
+ Cargador de 10 balas de 7.62mm (Mk319 Mod 0)
7.62mm Mk319
7,62mm Mk319
7.62mm Mk319
+ 7.62mm Mk319
Caliber: 7.62x51 mm NATO (Mk319 Mod 0)<br />Rounds: 10
Kaliber: 7,62x51 mm NATO (Mk319 Mod 0)<br />Pociski: 10
Calibre: 7.62x51 mm NATO (Mk319 Mod 0)<br />Cartouches: 10
+ Calibre: 7.62x51 mm NATO (Mk319 Mod 0)<br />Balas: 10
7.62mm 20Rnd Mag (Mk319 Mod 0)
Magazynek 7,62mm 20rd (Mk319 Mod 0)
7.62mm 20Cps (Mk319 Mod 0)
+ Cargador de 20 balas de 7.62mm (Mk319 Mod 0)
7.62mm Mk319
7,62mm Mk319
7.62mm Mk319
+ 7.62mm Mk319
Caliber: 7.62x51 mm NATO (Mk319 Mod 0)<br />Rounds: 20
Kaliber: 7,62x51 mm NATO (Mk319 Mod 0)<br />Pociski: 20
Calibre: 7.62x51 mm NATO (Mk319 Mod 0)<br />Cartouches: 20
+ Calibre: 7.62x51 mm NATO (Mk319 Mod 0)<br />Balas: 20
7.62mm 20Rnd Mag (Mk248 Mod 0)
@@ -918,38 +924,47 @@
.338 10Rnd Mag (API526)
.338 10Cps (API526)
+ Cargador de 10 balas de .338 (API526)
.338 AP
.338 AP
+ .338 AP
Caliber: 8.6x70mm (API526)<br />Rounds: 10
Calibre: 8.6x70mm (API526)<br />Cartouches: 10
+ Calibre: 8.6x70mm (API526)<br />Balas: 10
12.7x99mm 5Rnd Mag
12.7x99mm 5Cps
+ Cargador de 5 balas de 12.7x99mm
12.7mm
12.7mm
+ 12.7mm
Caliber: 12.7x99mm<br />Rounds: 5
Calibre: 12.7x99mm<br />Cartouches: 5
+ Calibre: 12.7x99mm<br />Balas: 5
12.7x99mm 5Rnd Mag (AMAX)
12.7x99mm 5Rnd Mag (AMAX)
+ Cargador de 5 balas de 12.7x99mm (AMAX)
12.7mm
12.7mm
+ 12.7mm
Caliber: 12.7x99mm (AMAX)<br />Rounds: 5
Calibre: 12.7x99mm (AMAX)<br />Cartouches: 5
+ Calibre: 12.7x99mm (AMAX)<br />Balas: 5
-
+
\ No newline at end of file
diff --git a/addons/captives/XEH_postInit.sqf b/addons/captives/XEH_postInit.sqf
index 651edbcf86..f91f24025e 100644
--- a/addons/captives/XEH_postInit.sqf
+++ b/addons/captives/XEH_postInit.sqf
@@ -7,6 +7,7 @@
if (isServer) then {
addMissionEventHandler ["HandleDisconnect", {
PARAMS_1(_disconnectedPlayer);
+ private "_escortedUnit";
_escortedUnit = _disconnectedPlayer getVariable [QGVAR(escortedUnit), objNull];
if ((!isNull _escortedUnit) && {(attachedTo _escortedUnit) == _disconnectedPlayer}) then {
detach _escortedUnit;
diff --git a/addons/captives/functions/fnc_doLoadCaptive.sqf b/addons/captives/functions/fnc_doLoadCaptive.sqf
index 9fd65a130d..97ecd98a0a 100644
--- a/addons/captives/functions/fnc_doLoadCaptive.sqf
+++ b/addons/captives/functions/fnc_doLoadCaptive.sqf
@@ -18,6 +18,7 @@
#include "script_component.hpp"
PARAMS_3(_unit,_target,_vehicle);
+private "_objects";
if (isNull _target) then {
_objects = attachedObjects _unit;
diff --git a/addons/captives/functions/fnc_moduleSurrender.sqf b/addons/captives/functions/fnc_moduleSurrender.sqf
index 0506b0cc17..bf0e04cd6a 100644
--- a/addons/captives/functions/fnc_moduleSurrender.sqf
+++ b/addons/captives/functions/fnc_moduleSurrender.sqf
@@ -18,6 +18,7 @@
#include "script_component.hpp"
PARAMS_3(_logic,_units,_activated);
+private ["_bisMouseOver", "_mouseOverObject"];
if (!_activated) exitWith {};
diff --git a/addons/captives/functions/fnc_setHandcuffed.sqf b/addons/captives/functions/fnc_setHandcuffed.sqf
index 5f134ab03b..bd141988bb 100644
--- a/addons/captives/functions/fnc_setHandcuffed.sqf
+++ b/addons/captives/functions/fnc_setHandcuffed.sqf
@@ -50,6 +50,7 @@ if (_state) then {
//Adds an animation changed eh
//If we get a change in animation then redo the animation (handles people vaulting to break the animation chain)
+ private "_animChangedEHID";
_animChangedEHID = _unit addEventHandler ["AnimChanged", {
PARAMS_2(_unit,_newAnimation);
if ((_newAnimation != "ACE_AmovPercMstpSsurWnonDnon") && {!(_unit getVariable ["ACE_isUnconscious", false])}) then {
@@ -66,6 +67,7 @@ if (_state) then {
[_unit, QGVAR(Handcuffed), false] call EFUNC(common,setCaptivityStatus);
//remove AnimChanged EH
+ private "_animChangedEHID";
_animChangedEHID = _unit getVariable [QGVAR(handcuffAnimEHID), -1];
_unit removeEventHandler ["AnimChanged", _animChangedEHID];
_unit setVariable [QGVAR(handcuffAnimEHID), -1];
diff --git a/addons/captives/functions/fnc_setSurrendered.sqf b/addons/captives/functions/fnc_setSurrendered.sqf
index d774e7f6e0..22de70921d 100644
--- a/addons/captives/functions/fnc_setSurrendered.sqf
+++ b/addons/captives/functions/fnc_setSurrendered.sqf
@@ -48,6 +48,7 @@ if (_state) then {
if (_unit getVariable [QGVAR(isSurrendering), false] && {(vehicle _unit) == _unit}) then {
//Adds an animation changed eh
//If we get a change in animation then redo the animation (handles people vaulting to break the animation chain)
+ private "_animChangedEHID";
_animChangedEHID = _unit addEventHandler ["AnimChanged", {
PARAMS_2(_unit,_newAnimation);
if ((_newAnimation != "ACE_AmovPercMstpSsurWnonDnon") && {!(_unit getVariable ["ACE_isUnconscious", false])}) then {
@@ -63,6 +64,7 @@ if (_state) then {
[_unit, QGVAR(Surrendered), false] call EFUNC(common,setCaptivityStatus);
//remove AnimChanged EH
+ private "_animChangedEHID";
_animChangedEHID = _unit getVariable [QGVAR(surrenderAnimEHID), -1];
_unit removeEventHandler ["AnimChanged", _animChangedEHID];
_unit setVariable [QGVAR(surrenderAnimEHID), -1];
diff --git a/addons/common/CfgMagazines.hpp b/addons/common/CfgMagazines.hpp
index 815ab6db9f..465ea57f78 100644
--- a/addons/common/CfgMagazines.hpp
+++ b/addons/common/CfgMagazines.hpp
@@ -2,6 +2,7 @@
class CfgMagazines {
class CA_Magazine;
class ACE_FakeMagazine: CA_Magazine {
+ scopeCurator = 1;
descriptionShort = "";
displayName = "";
displayNameShort = "";
diff --git a/addons/common/CfgWeapons.hpp b/addons/common/CfgWeapons.hpp
index c2d1532f40..cf8c06798e 100644
--- a/addons/common/CfgWeapons.hpp
+++ b/addons/common/CfgWeapons.hpp
@@ -14,6 +14,8 @@ class CfgWeapons {
class ACE_FakePrimaryWeapon: Rifle_Base_F {
scope = 2;
+ scopeCurator = 1;
+
displayName = "";
model = "\A3\Weapons_f\empty";
picture = "";
diff --git a/addons/disarming/functions/fnc_canBeDisarmed.sqf b/addons/disarming/functions/fnc_canBeDisarmed.sqf
index 04171a900d..25ec884919 100644
--- a/addons/disarming/functions/fnc_canBeDisarmed.sqf
+++ b/addons/disarming/functions/fnc_canBeDisarmed.sqf
@@ -17,6 +17,8 @@
PARAMS_1(_target);
+private ["_animationStateCfgMoves", "_putDownAnim"];
+
//Check animationState for putDown anim
//This ensures the unit doesn't have to actualy do any animation to drop something
//This should always be true for the 3 possible status effects that allow disarming
diff --git a/addons/disarming/functions/fnc_disarmDropItems.sqf b/addons/disarming/functions/fnc_disarmDropItems.sqf
index 24ab96a2cf..2cb3e89b5d 100644
--- a/addons/disarming/functions/fnc_disarmDropItems.sqf
+++ b/addons/disarming/functions/fnc_disarmDropItems.sqf
@@ -20,6 +20,9 @@
#define TIME_MAX_WAIT 5
+private ["_fncSumArray", "_return", "_holder", "_dropPos", "_targetMagazinesStart", "_holderMagazinesStart", "_xClassname", "_xAmmo", "_targetMagazinesEnd", "_holderMagazinesEnd", "_holderItemsStart", "_targetItemsStart", "_addToCrateClassnames", "_addToCrateCount", "_index", "_holderItemsEnd", "_targetItemsEnd", "_holderIsEmpty"];
+
+
PARAMS_3(_caller,_target,_listOfItemsToRemove);
DEFAULT_PARAM(3,_doNotDropAmmo,false); //By default units drop all weapon mags when dropping a weapon
@@ -154,6 +157,8 @@ if (_holderIsEmpty) then {
//Start the PFEH to do the actions (which could take >1 frame)
[{
+ private ["_needToRemoveWeapon", "_needToRemoveMagazines", "_needToRemoveBackpack", "_needToRemoveVest", "_needToRemoveUniform", "_error", "_magsToPickup", "_index", "_magazinesInHolder"];
+
PARAMS_2(_args,_pfID);
EXPLODE_8_PVT(_args,_caller,_target,_listOfItemsToRemove,_holder,_holderIsEmpty,_maxWaitTime,_doNotDropAmmo,_startingMagazines);
diff --git a/addons/disarming/functions/fnc_eventTargetStart.sqf b/addons/disarming/functions/fnc_eventTargetStart.sqf
index c91f717e2a..316ec2b656 100644
--- a/addons/disarming/functions/fnc_eventTargetStart.sqf
+++ b/addons/disarming/functions/fnc_eventTargetStart.sqf
@@ -20,6 +20,8 @@
PARAMS_3(_caller,_target,_listOfObjectsToRemove);
+private "_itemsToAdd";
+
_itemsToAdd = [];
{
if (_x == (uniform _target)) then {
diff --git a/addons/disarming/functions/fnc_getAllGearUnit.sqf b/addons/disarming/functions/fnc_getAllGearUnit.sqf
index d07f40c972..a319c006ee 100644
--- a/addons/disarming/functions/fnc_getAllGearUnit.sqf
+++ b/addons/disarming/functions/fnc_getAllGearUnit.sqf
@@ -17,6 +17,8 @@
PARAMS_1(_target);
+private ["_allItems", "_classnamesCount", "_index", "_uniqueClassnames"];
+
_allItems = ((weapons _target) + (magazines _target) + (items _target) + (assignedItems _target));
if ((backpack _target) != "") then {
diff --git a/addons/disarming/functions/fnc_openDisarmDialog.sqf b/addons/disarming/functions/fnc_openDisarmDialog.sqf
index 6da123b831..832f32ced5 100644
--- a/addons/disarming/functions/fnc_openDisarmDialog.sqf
+++ b/addons/disarming/functions/fnc_openDisarmDialog.sqf
@@ -28,6 +28,7 @@
]
PARAMS_2(_caller,_target);
+private "_display";
//Sanity Checks
if (_caller != ACE_player) exitwith {ERROR("Player isn't caller?");};
@@ -59,6 +60,7 @@ GVAR(disarmTarget) = _target;
//Setup PFEH
[{
+ private ["_groundContainer", "_targetContainer", "_playerName", "_rankPicture", "_rankIndex", "_targetUniqueItems", "_holderUniqueItems"];
disableSerialization;
EXPLODE_2_PVT(_this,_args,_pfID);
EXPLODE_3_PVT(_args,_player,_target,_display);
@@ -71,6 +73,7 @@ GVAR(disarmTarget) = _target;
GVAR(disarmTarget) = objNull;
if (!isNull _display) then {closeDialog 0;}; //close dialog if still open
} else {
+
_groundContainer = _display displayCtrl 632;
_targetContainer = _display displayCtrl 633;
_playerName = _display displayCtrl 111;
diff --git a/addons/disarming/functions/fnc_showItemsInListbox.sqf b/addons/disarming/functions/fnc_showItemsInListbox.sqf
index e040233b82..5c809de4a2 100644
--- a/addons/disarming/functions/fnc_showItemsInListbox.sqf
+++ b/addons/disarming/functions/fnc_showItemsInListbox.sqf
@@ -19,7 +19,7 @@
disableSerialization;
PARAMS_2(_listBoxCtrl,_itemsCountArray);
-private "_classname";
+private ["_classname", "_count", "_displayName", "_picture"];
{
_displayName = "";
diff --git a/addons/disarming/functions/fnc_verifyMagazinesMoved.sqf b/addons/disarming/functions/fnc_verifyMagazinesMoved.sqf
index 779a5e39ba..e1753f390a 100644
--- a/addons/disarming/functions/fnc_verifyMagazinesMoved.sqf
+++ b/addons/disarming/functions/fnc_verifyMagazinesMoved.sqf
@@ -20,7 +20,7 @@
*/
#include "script_component.hpp"
-private ["_problem", "_beginingArray"];
+private ["_problem", "_beginingArray", "_index"];
PARAMS_4(_startA,_endA,_startB,_endB);
diff --git a/addons/disposable/XEH_postInitClient.sqf b/addons/disposable/XEH_postInitClient.sqf
index 1fe598137f..c20dfa886b 100644
--- a/addons/disposable/XEH_postInitClient.sqf
+++ b/addons/disposable/XEH_postInitClient.sqf
@@ -5,7 +5,6 @@
#include "script_component.hpp"
["inventoryDisplayLoaded",{
- _player = ACE_player;
- [_player] call FUNC(takeLoadedATWeapon);
- [_player, (_this select 0)] call FUNC(updateInventoryDisplay);
+ [ACE_player] call FUNC(takeLoadedATWeapon);
+ [ACE_player, (_this select 0)] call FUNC(updateInventoryDisplay);
}] call EFUNC(common,addEventHandler);
\ No newline at end of file
diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml
index af003b4c28..409a149f83 100644
--- a/addons/respawn/stringtable.xml
+++ b/addons/respawn/stringtable.xml
@@ -5,7 +5,7 @@
Deploy in 5 seconds ...
Déploiement dans 5 secondes ...
Wird in 5 Sekunden errichtet ...
- Desplegando en 5 segundos ...
+ Despliegue en 5 segundos ...
Возрождение через 5 секунд ...
Rozmieszczenie za 5 sekund ...
Respawn za 5 sekund...
@@ -44,26 +44,32 @@
Rallypoint West (Base)
Sammelpunkt West (Basis)
+ Punto de reunión Oeste (Base)
Rallypoint East (Base)
Sammelpunkt Ost (Basis)
+ Punto de reunión Este (Base)
Rallypoint Independent (Base)
Sammelpunkt Widerstand (Basis)
+ Punto de reunión Independiente (Base)
Rallypoint West
Sammelpunkt West
+ Punto de reunión Oeste
Rallypoint East
Sammelpunkt Ost
+ Punto de reunión Este
Rallypoint Independent
Sammelpunkt Widerstand
+ Punto de reunión Independiente
-
+
\ No newline at end of file
diff --git a/tools/search_privates.py b/tools/search_privates.py
index 9cc55fbdcc..404c56f4db 100644
--- a/tools/search_privates.py
+++ b/tools/search_privates.py
@@ -21,7 +21,7 @@ def get_private_declare(content):
priv_split = sorted(set(priv_split))
priv_declared += priv_split;
- srch = re.compile('PARAMS_[0-9].*|EXPLODE_[0-9]_PVT.*')
+ srch = re.compile('PARAMS_[0-9].*|EXPLODE_[0-9]_PVT.*|DEFAULT_PARAM.*|KEY_PARAM.*')
priv_srch_declared = srch.findall(content)
priv_srch_declared = sorted(set(priv_srch_declared))