From d826c91c99358f633f3338e6232bdd11087823ec Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Wed, 27 Apr 2016 22:58:47 -0500 Subject: [PATCH 1/3] Cleanup reload launchers --- .../functions/fnc_addMissileReloadActions.sqf | 28 +++++++++++-------- .../reloadlaunchers/functions/fnc_canLoad.sqf | 11 +++----- .../functions/fnc_getLoadableMissiles.sqf | 12 ++++---- addons/reloadlaunchers/functions/fnc_load.sqf | 11 +++----- .../functions/fnc_reloadLauncher.sqf | 6 ++-- 5 files changed, 33 insertions(+), 35 deletions(-) diff --git a/addons/reloadlaunchers/functions/fnc_addMissileReloadActions.sqf b/addons/reloadlaunchers/functions/fnc_addMissileReloadActions.sqf index a07afe8e221..f6cd9238453 100644 --- a/addons/reloadlaunchers/functions/fnc_addMissileReloadActions.sqf +++ b/addons/reloadlaunchers/functions/fnc_addMissileReloadActions.sqf @@ -3,28 +3,31 @@ * Create one action per reloadable missile * * Argument: - * 1: Player (Object) - * 0: Target (Object) - * 2: Parameters ??? (Array) + * 1: Target (Object) + * 0: Player (Object) * * Return value: * Children actions (Array) * + * Public: No + * */ #include "script_component.hpp" -private ["_unit", "_target", "_parameters"]; - -_unit = _this select 1; -_target = _this select 0; -_parameters = _this select 2; // ??? +params ["_target", "_unit"]; +TRACE_2("params",_target,_unit); -private ["_actions", "_weapon", "_loadableMissiles"]; +//Fast exit for common case: +private _weapon = secondaryWeapon _target; +if ((_weapon == "") || {(getNumber (configFile >> "CfgWeapons" >> _weapon >> QGVAR(enabled))) == 0}) exitWith { + TRACE_1("weapon not supported",_weapon); + [] +}; -_actions = []; +private _actions = []; -_weapon = secondaryWeapon _target; -_loadableMissiles = [_unit, _weapon] call FUNC(getLoadableMissiles); +private _loadableMissiles = [_unit, _weapon] call FUNC(getLoadableMissiles); +TRACE_2("",_weapon,_loadableMissiles); { private ["_name", "_displayName", "_statement", "_condition", "_action"]; @@ -45,4 +48,5 @@ _loadableMissiles = [_unit, _weapon] call FUNC(getLoadableMissiles); _actions pushBack [_action, [], _unit]; } forEach _loadableMissiles; +TRACE_1("return",_actions); _actions diff --git a/addons/reloadlaunchers/functions/fnc_canLoad.sqf b/addons/reloadlaunchers/functions/fnc_canLoad.sqf index 5bbfe4dd870..116a900092e 100644 --- a/addons/reloadlaunchers/functions/fnc_canLoad.sqf +++ b/addons/reloadlaunchers/functions/fnc_canLoad.sqf @@ -1,6 +1,5 @@ /* * Author: commy2 - * * Check of the unit can reload the launcher of target unit. * * Argument: @@ -11,15 +10,13 @@ * * Return value: * NONE + * + * Public: No */ #include "script_component.hpp" -private ["_unit", "_target", "_weapon", "_magazine"]; - -_unit = _this select 0; -_target = _this select 1; -_weapon = _this select 2; -_magazine = _this select 3; +params ["_unit", "_target", "_weapon", "_magazine"]; +TRACE_4("params",_unit,_target,_weapon,_magazine); if (!alive _target) exitWith {false}; if (vehicle _target != _target) exitWith {false}; diff --git a/addons/reloadlaunchers/functions/fnc_getLoadableMissiles.sqf b/addons/reloadlaunchers/functions/fnc_getLoadableMissiles.sqf index e75d826513c..f466490b64d 100644 --- a/addons/reloadlaunchers/functions/fnc_getLoadableMissiles.sqf +++ b/addons/reloadlaunchers/functions/fnc_getLoadableMissiles.sqf @@ -1,6 +1,5 @@ /* * Author: commy2 - * * Return all magazine types from reloaders inventory that are compatible with given weapon. * * Argument: @@ -9,17 +8,16 @@ * * Return value: * Reloable magazines (Array) + * + * Public: No */ #include "script_component.hpp" -private ["_unit", "_weapon"]; - -_unit = _this select 0; -_weapon = _this select 1; +params ["_unit", "_weapon"]; +TRACE_2("params",_unit,_weapon); // get available magazines of reloader, Note: "magazines" does not include currently loaded magazines -private "_magazines"; -_magazines = magazines _unit; +private _magazines = magazines _unit; // case sensitvity _magazines = _magazines apply {toLower _x}; diff --git a/addons/reloadlaunchers/functions/fnc_load.sqf b/addons/reloadlaunchers/functions/fnc_load.sqf index ce7b743df57..db010b5e476 100644 --- a/addons/reloadlaunchers/functions/fnc_load.sqf +++ b/addons/reloadlaunchers/functions/fnc_load.sqf @@ -1,6 +1,5 @@ /* * Author: commy2 - * * Reload a launcher * * Argument: @@ -11,15 +10,13 @@ * * Return value: * NONE + * + * Public: No */ #include "script_component.hpp" -private ["_unit", "_target", "_weapon", "_magazine"]; - -_unit = _this select 0; -_target = _this select 1; -_weapon = _this select 2; -_magazine = _this select 3; +params ["_unit", "_target", "_weapon", "_magazine"]; +TRACE_4("params",_unit,_target,_weapon,_magazine); private "_reloadTime"; _reloadTime = getNumber (configFile >> "CfgWeapons" >> _weapon >> "magazineReloadTime"); diff --git a/addons/reloadlaunchers/functions/fnc_reloadLauncher.sqf b/addons/reloadlaunchers/functions/fnc_reloadLauncher.sqf index fc802a025cd..2aec180d223 100644 --- a/addons/reloadlaunchers/functions/fnc_reloadLauncher.sqf +++ b/addons/reloadlaunchers/functions/fnc_reloadLauncher.sqf @@ -1,6 +1,5 @@ /* * Author: commy2 - * * Reload a launcher * * Argument: @@ -11,10 +10,13 @@ * * Return value: * NONE + * + * Public: No */ #include "script_component.hpp" -PARAMS_4(_unit,_target,_weapon,_magazine); +params ["_unit","_target","_weapon","_magazine"]; +TRACE_4("params",_unit,_target,_weapon,_magazine); _target selectWeapon _weapon; From 76659356413a9518aaa064e2dac0fb880cf0521e Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Fri, 29 Apr 2016 13:00:35 -0500 Subject: [PATCH 2/3] Use constant reload time value instead of config --- addons/reloadlaunchers/functions/fnc_load.sqf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/reloadlaunchers/functions/fnc_load.sqf b/addons/reloadlaunchers/functions/fnc_load.sqf index db010b5e476..9f0b36ce8de 100644 --- a/addons/reloadlaunchers/functions/fnc_load.sqf +++ b/addons/reloadlaunchers/functions/fnc_load.sqf @@ -18,8 +18,8 @@ params ["_unit", "_target", "_weapon", "_magazine"]; TRACE_4("params",_unit,_target,_weapon,_magazine); -private "_reloadTime"; -_reloadTime = getNumber (configFile >> "CfgWeapons" >> _weapon >> "magazineReloadTime"); +// private _reloadTime = getNumber (configFile >> "CfgWeapons" >> _weapon >> "magazineReloadTime"); //Not a good config value, use a constant for now: +private _reloadTime = 2.5; // do animation [_unit] call EFUNC(common,goKneeling); From 398b76f30bc0e8a6dffeaff0050038b77cee0ac6 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 3 May 2016 23:13:43 -0500 Subject: [PATCH 3/3] Get reload time from QGVAR(buddyReloadTime) --- addons/reloadlaunchers/functions/fnc_load.sqf | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/addons/reloadlaunchers/functions/fnc_load.sqf b/addons/reloadlaunchers/functions/fnc_load.sqf index 9f0b36ce8de..db18e7edaa4 100644 --- a/addons/reloadlaunchers/functions/fnc_load.sqf +++ b/addons/reloadlaunchers/functions/fnc_load.sqf @@ -18,8 +18,11 @@ params ["_unit", "_target", "_weapon", "_magazine"]; TRACE_4("params",_unit,_target,_weapon,_magazine); -// private _reloadTime = getNumber (configFile >> "CfgWeapons" >> _weapon >> "magazineReloadTime"); //Not a good config value, use a constant for now: -private _reloadTime = 2.5; +private _reloadTime = if (isNumber (configFile >> "CfgWeapons" >> _weapon >> QGVAR(buddyReloadTime))) then { + getNumber (configFile >> "CfgWeapons" >> _weapon >> QGVAR(buddyReloadTime)) +} else { + 2.5 +}; // do animation [_unit] call EFUNC(common,goKneeling);