Add ACE Arsenal stats (#6110)
* Add test class
* Add stats mockup
* Merge branch 'master' of https://github.com/acemod/ACE3 into arsenalStats
* Finish mockup, add basic hide/show logic
* Add base for stats
* Use CBA EHs for stats to allow 3rd party mods of it
* Add handleStats and most of the UI behaviors for stats
* Continue work on stats
* Add container stats
* Add page support for stats
* Add text for the ROF stat
* Add accuracy in MOA for the accuracy stat
* Change accuracy shown number to 1 decimal instead of 2
* Add MIL in the dispersion stat text
* Change stats layout, remove dummy text strings
* Add some AB stats
* Remove last test string
* Replace configExtremes by normal lookup where it's relevant
* Add "undefined value" string when AB stat isn't present
Mostly for laucnhers
* Fix typo in preInit
* Change drag model stat to ballistic coef
* Fix issue with unused stats, change text to white when bar is present
* Rewrite some part of handleStats
Reason: add support for conditions, less redundant code, less reasons for dedmen to emasculate me
* Re-add _hideUnusedFnc, handle empty stats arrays
* Pass args to stat conditions, add test condition stat
* Add hearing related stats
* Remove the padding between stats and the stat bar / text
* Add strings for stats
* Change stats window to fit baer's suggestion
* Algin the close stats button, add missing strings
* Finish code review
* Add missing newline
* Remove duplicate strings
* Add explosive range stat
* Use proper string for the explo range stat
* Fix capitalization for ctrlParent
* Fix conditional stats blocking other stats
* Add better integration for ballistics, hearing and explosive stats
* Replace the private array in handleStat by params
* Add backblast stats
* Add backblast stat strings
* Add flashlight map color and g-force reduction stats
* Shorten preInit
* Change stats close button to fit arsenal design
* Improve stats page indicator look
* Rework how stats are stored and retrieved
* Remove args config entry, add priority entry, add vanilla weapon stats
* Add vanilla container stats
* Remove some lines in preInit
* Add ballistics stats
* Add hearing stats
* Remove uneeded config entries
* Add explosive range stat
* Add backblast stats
* Add spaces after semicolons in statements
To make JJ happy because I don't care.
* Add flashlights map color stat
* Add gforce reduction stat
FINALLY FUCKING DONE
* Fix headers for the new stats funcs
* Add add / remove stat API
* Fix typo in removeStat header
* Remove uneeded inline func
* Clean up add / remove stat
* Move all CfgACEArsenalStats entries to their own file
* Replace STR_ACE_Ballistics_statAmmo by a BI string
* Add script profiler related macro and code
* Use the highest ballistic coef instead of first one defined
* Add support for future ammo displayname
* Add ACE_standardAtmosphere for ballistic coef
* Add mag muzzle velocity stat
* Add weapon muzzle velocity stat
* Add comment explaining the ENABLE_PERF_PROFILING macro
* Change cfgACEArsenalStats to ACE_Arsenal_Stats
* Make JJ less pissy about spaces around =
* Fix indentation in weaponMuzzleVelocity, use param
* Use GVAR and EGVAR when appropriate
* Prefix all stats except the base class
* Fix Merge
* Fix aspect ratio scaling of stats panel
* Minor fixes
2018-02-15 16:03:22 +00:00
|
|
|
/*
|
|
|
|
* Author: Alganthe
|
|
|
|
* Remove a stat from ACE Arsenal.
|
|
|
|
*
|
|
|
|
* Arguments:
|
|
|
|
* 0: Array of IDs (ARRAY)
|
|
|
|
*
|
|
|
|
* Return Value:
|
|
|
|
* None
|
|
|
|
*
|
|
|
|
* Example:
|
|
|
|
* [["scopeStatL00","scopeStatL01","scopeStatL02","scopeStatR07"]] call ace_arsenal_fnc_removeStat;
|
|
|
|
*
|
|
|
|
* Public: Yes
|
|
|
|
*/
|
|
|
|
#include "script_component.hpp"
|
|
|
|
|
|
|
|
params ["_IDList"];
|
|
|
|
|
2018-02-24 05:30:15 +00:00
|
|
|
call FUNC(compileStats);
|
Add ACE Arsenal stats (#6110)
* Add test class
* Add stats mockup
* Merge branch 'master' of https://github.com/acemod/ACE3 into arsenalStats
* Finish mockup, add basic hide/show logic
* Add base for stats
* Use CBA EHs for stats to allow 3rd party mods of it
* Add handleStats and most of the UI behaviors for stats
* Continue work on stats
* Add container stats
* Add page support for stats
* Add text for the ROF stat
* Add accuracy in MOA for the accuracy stat
* Change accuracy shown number to 1 decimal instead of 2
* Add MIL in the dispersion stat text
* Change stats layout, remove dummy text strings
* Add some AB stats
* Remove last test string
* Replace configExtremes by normal lookup where it's relevant
* Add "undefined value" string when AB stat isn't present
Mostly for laucnhers
* Fix typo in preInit
* Change drag model stat to ballistic coef
* Fix issue with unused stats, change text to white when bar is present
* Rewrite some part of handleStats
Reason: add support for conditions, less redundant code, less reasons for dedmen to emasculate me
* Re-add _hideUnusedFnc, handle empty stats arrays
* Pass args to stat conditions, add test condition stat
* Add hearing related stats
* Remove the padding between stats and the stat bar / text
* Add strings for stats
* Change stats window to fit baer's suggestion
* Algin the close stats button, add missing strings
* Finish code review
* Add missing newline
* Remove duplicate strings
* Add explosive range stat
* Use proper string for the explo range stat
* Fix capitalization for ctrlParent
* Fix conditional stats blocking other stats
* Add better integration for ballistics, hearing and explosive stats
* Replace the private array in handleStat by params
* Add backblast stats
* Add backblast stat strings
* Add flashlight map color and g-force reduction stats
* Shorten preInit
* Change stats close button to fit arsenal design
* Improve stats page indicator look
* Rework how stats are stored and retrieved
* Remove args config entry, add priority entry, add vanilla weapon stats
* Add vanilla container stats
* Remove some lines in preInit
* Add ballistics stats
* Add hearing stats
* Remove uneeded config entries
* Add explosive range stat
* Add backblast stats
* Add spaces after semicolons in statements
To make JJ happy because I don't care.
* Add flashlights map color stat
* Add gforce reduction stat
FINALLY FUCKING DONE
* Fix headers for the new stats funcs
* Add add / remove stat API
* Fix typo in removeStat header
* Remove uneeded inline func
* Clean up add / remove stat
* Move all CfgACEArsenalStats entries to their own file
* Replace STR_ACE_Ballistics_statAmmo by a BI string
* Add script profiler related macro and code
* Use the highest ballistic coef instead of first one defined
* Add support for future ammo displayname
* Add ACE_standardAtmosphere for ballistic coef
* Add mag muzzle velocity stat
* Add weapon muzzle velocity stat
* Add comment explaining the ENABLE_PERF_PROFILING macro
* Change cfgACEArsenalStats to ACE_Arsenal_Stats
* Make JJ less pissy about spaces around =
* Fix indentation in weaponMuzzleVelocity, use param
* Use GVAR and EGVAR when appropriate
* Prefix all stats except the base class
* Fix Merge
* Fix aspect ratio scaling of stats panel
* Minor fixes
2018-02-15 16:03:22 +00:00
|
|
|
|
|
|
|
{
|
|
|
|
private _currentID = _x;
|
|
|
|
private _stringCount = count _currentID;
|
|
|
|
private _side = _currentID select [_stringCount - 3, 1];
|
|
|
|
private _tab = _currentID select [_stringCount - 2, 2];
|
|
|
|
_tab = parseNumber _tab;
|
|
|
|
|
|
|
|
private _tabToChange = if (_side == "R") then {
|
2018-02-24 05:30:15 +00:00
|
|
|
GVAR(statsListRightPanel) select _tab
|
Add ACE Arsenal stats (#6110)
* Add test class
* Add stats mockup
* Merge branch 'master' of https://github.com/acemod/ACE3 into arsenalStats
* Finish mockup, add basic hide/show logic
* Add base for stats
* Use CBA EHs for stats to allow 3rd party mods of it
* Add handleStats and most of the UI behaviors for stats
* Continue work on stats
* Add container stats
* Add page support for stats
* Add text for the ROF stat
* Add accuracy in MOA for the accuracy stat
* Change accuracy shown number to 1 decimal instead of 2
* Add MIL in the dispersion stat text
* Change stats layout, remove dummy text strings
* Add some AB stats
* Remove last test string
* Replace configExtremes by normal lookup where it's relevant
* Add "undefined value" string when AB stat isn't present
Mostly for laucnhers
* Fix typo in preInit
* Change drag model stat to ballistic coef
* Fix issue with unused stats, change text to white when bar is present
* Rewrite some part of handleStats
Reason: add support for conditions, less redundant code, less reasons for dedmen to emasculate me
* Re-add _hideUnusedFnc, handle empty stats arrays
* Pass args to stat conditions, add test condition stat
* Add hearing related stats
* Remove the padding between stats and the stat bar / text
* Add strings for stats
* Change stats window to fit baer's suggestion
* Algin the close stats button, add missing strings
* Finish code review
* Add missing newline
* Remove duplicate strings
* Add explosive range stat
* Use proper string for the explo range stat
* Fix capitalization for ctrlParent
* Fix conditional stats blocking other stats
* Add better integration for ballistics, hearing and explosive stats
* Replace the private array in handleStat by params
* Add backblast stats
* Add backblast stat strings
* Add flashlight map color and g-force reduction stats
* Shorten preInit
* Change stats close button to fit arsenal design
* Improve stats page indicator look
* Rework how stats are stored and retrieved
* Remove args config entry, add priority entry, add vanilla weapon stats
* Add vanilla container stats
* Remove some lines in preInit
* Add ballistics stats
* Add hearing stats
* Remove uneeded config entries
* Add explosive range stat
* Add backblast stats
* Add spaces after semicolons in statements
To make JJ happy because I don't care.
* Add flashlights map color stat
* Add gforce reduction stat
FINALLY FUCKING DONE
* Fix headers for the new stats funcs
* Add add / remove stat API
* Fix typo in removeStat header
* Remove uneeded inline func
* Clean up add / remove stat
* Move all CfgACEArsenalStats entries to their own file
* Replace STR_ACE_Ballistics_statAmmo by a BI string
* Add script profiler related macro and code
* Use the highest ballistic coef instead of first one defined
* Add support for future ammo displayname
* Add ACE_standardAtmosphere for ballistic coef
* Add mag muzzle velocity stat
* Add weapon muzzle velocity stat
* Add comment explaining the ENABLE_PERF_PROFILING macro
* Change cfgACEArsenalStats to ACE_Arsenal_Stats
* Make JJ less pissy about spaces around =
* Fix indentation in weaponMuzzleVelocity, use param
* Use GVAR and EGVAR when appropriate
* Prefix all stats except the base class
* Fix Merge
* Fix aspect ratio scaling of stats panel
* Minor fixes
2018-02-15 16:03:22 +00:00
|
|
|
} else {
|
2018-02-24 05:30:15 +00:00
|
|
|
GVAR(statsListLeftPanel) select _tab
|
Add ACE Arsenal stats (#6110)
* Add test class
* Add stats mockup
* Merge branch 'master' of https://github.com/acemod/ACE3 into arsenalStats
* Finish mockup, add basic hide/show logic
* Add base for stats
* Use CBA EHs for stats to allow 3rd party mods of it
* Add handleStats and most of the UI behaviors for stats
* Continue work on stats
* Add container stats
* Add page support for stats
* Add text for the ROF stat
* Add accuracy in MOA for the accuracy stat
* Change accuracy shown number to 1 decimal instead of 2
* Add MIL in the dispersion stat text
* Change stats layout, remove dummy text strings
* Add some AB stats
* Remove last test string
* Replace configExtremes by normal lookup where it's relevant
* Add "undefined value" string when AB stat isn't present
Mostly for laucnhers
* Fix typo in preInit
* Change drag model stat to ballistic coef
* Fix issue with unused stats, change text to white when bar is present
* Rewrite some part of handleStats
Reason: add support for conditions, less redundant code, less reasons for dedmen to emasculate me
* Re-add _hideUnusedFnc, handle empty stats arrays
* Pass args to stat conditions, add test condition stat
* Add hearing related stats
* Remove the padding between stats and the stat bar / text
* Add strings for stats
* Change stats window to fit baer's suggestion
* Algin the close stats button, add missing strings
* Finish code review
* Add missing newline
* Remove duplicate strings
* Add explosive range stat
* Use proper string for the explo range stat
* Fix capitalization for ctrlParent
* Fix conditional stats blocking other stats
* Add better integration for ballistics, hearing and explosive stats
* Replace the private array in handleStat by params
* Add backblast stats
* Add backblast stat strings
* Add flashlight map color and g-force reduction stats
* Shorten preInit
* Change stats close button to fit arsenal design
* Improve stats page indicator look
* Rework how stats are stored and retrieved
* Remove args config entry, add priority entry, add vanilla weapon stats
* Add vanilla container stats
* Remove some lines in preInit
* Add ballistics stats
* Add hearing stats
* Remove uneeded config entries
* Add explosive range stat
* Add backblast stats
* Add spaces after semicolons in statements
To make JJ happy because I don't care.
* Add flashlights map color stat
* Add gforce reduction stat
FINALLY FUCKING DONE
* Fix headers for the new stats funcs
* Add add / remove stat API
* Fix typo in removeStat header
* Remove uneeded inline func
* Clean up add / remove stat
* Move all CfgACEArsenalStats entries to their own file
* Replace STR_ACE_Ballistics_statAmmo by a BI string
* Add script profiler related macro and code
* Use the highest ballistic coef instead of first one defined
* Add support for future ammo displayname
* Add ACE_standardAtmosphere for ballistic coef
* Add mag muzzle velocity stat
* Add weapon muzzle velocity stat
* Add comment explaining the ENABLE_PERF_PROFILING macro
* Change cfgACEArsenalStats to ACE_Arsenal_Stats
* Make JJ less pissy about spaces around =
* Fix indentation in weaponMuzzleVelocity, use param
* Use GVAR and EGVAR when appropriate
* Prefix all stats except the base class
* Fix Merge
* Fix aspect ratio scaling of stats panel
* Minor fixes
2018-02-15 16:03:22 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
{
|
|
|
|
private _currentPage = _x;
|
|
|
|
|
|
|
|
{
|
|
|
|
if (_x select 0 == _currentID) then {
|
|
|
|
_currentPage deleteAt _forEachIndex;
|
|
|
|
};
|
|
|
|
} foreach _currentPage;
|
|
|
|
} foreach _tabToChange;
|
|
|
|
} foreach _IDList;
|
|
|
|
|
|
|
|
// Clear empty pages
|
|
|
|
private _fnc_deleteEmptyPage = {
|
2018-02-24 05:30:15 +00:00
|
|
|
params ["_list"];
|
Add ACE Arsenal stats (#6110)
* Add test class
* Add stats mockup
* Merge branch 'master' of https://github.com/acemod/ACE3 into arsenalStats
* Finish mockup, add basic hide/show logic
* Add base for stats
* Use CBA EHs for stats to allow 3rd party mods of it
* Add handleStats and most of the UI behaviors for stats
* Continue work on stats
* Add container stats
* Add page support for stats
* Add text for the ROF stat
* Add accuracy in MOA for the accuracy stat
* Change accuracy shown number to 1 decimal instead of 2
* Add MIL in the dispersion stat text
* Change stats layout, remove dummy text strings
* Add some AB stats
* Remove last test string
* Replace configExtremes by normal lookup where it's relevant
* Add "undefined value" string when AB stat isn't present
Mostly for laucnhers
* Fix typo in preInit
* Change drag model stat to ballistic coef
* Fix issue with unused stats, change text to white when bar is present
* Rewrite some part of handleStats
Reason: add support for conditions, less redundant code, less reasons for dedmen to emasculate me
* Re-add _hideUnusedFnc, handle empty stats arrays
* Pass args to stat conditions, add test condition stat
* Add hearing related stats
* Remove the padding between stats and the stat bar / text
* Add strings for stats
* Change stats window to fit baer's suggestion
* Algin the close stats button, add missing strings
* Finish code review
* Add missing newline
* Remove duplicate strings
* Add explosive range stat
* Use proper string for the explo range stat
* Fix capitalization for ctrlParent
* Fix conditional stats blocking other stats
* Add better integration for ballistics, hearing and explosive stats
* Replace the private array in handleStat by params
* Add backblast stats
* Add backblast stat strings
* Add flashlight map color and g-force reduction stats
* Shorten preInit
* Change stats close button to fit arsenal design
* Improve stats page indicator look
* Rework how stats are stored and retrieved
* Remove args config entry, add priority entry, add vanilla weapon stats
* Add vanilla container stats
* Remove some lines in preInit
* Add ballistics stats
* Add hearing stats
* Remove uneeded config entries
* Add explosive range stat
* Add backblast stats
* Add spaces after semicolons in statements
To make JJ happy because I don't care.
* Add flashlights map color stat
* Add gforce reduction stat
FINALLY FUCKING DONE
* Fix headers for the new stats funcs
* Add add / remove stat API
* Fix typo in removeStat header
* Remove uneeded inline func
* Clean up add / remove stat
* Move all CfgACEArsenalStats entries to their own file
* Replace STR_ACE_Ballistics_statAmmo by a BI string
* Add script profiler related macro and code
* Use the highest ballistic coef instead of first one defined
* Add support for future ammo displayname
* Add ACE_standardAtmosphere for ballistic coef
* Add mag muzzle velocity stat
* Add weapon muzzle velocity stat
* Add comment explaining the ENABLE_PERF_PROFILING macro
* Change cfgACEArsenalStats to ACE_Arsenal_Stats
* Make JJ less pissy about spaces around =
* Fix indentation in weaponMuzzleVelocity, use param
* Use GVAR and EGVAR when appropriate
* Prefix all stats except the base class
* Fix Merge
* Fix aspect ratio scaling of stats panel
* Minor fixes
2018-02-15 16:03:22 +00:00
|
|
|
{
|
|
|
|
private _evaluatedTab = _forEachIndex;
|
|
|
|
{
|
|
|
|
if (count _x == 0) then {
|
|
|
|
_markedForDeletion pushBack [_evaluatedTab, _forEachIndex];
|
|
|
|
};
|
|
|
|
} foreach _x;
|
|
|
|
|
|
|
|
{
|
2018-02-24 05:30:15 +00:00
|
|
|
(_list select (_x select 0)) deleteAt (_x select 1);
|
Add ACE Arsenal stats (#6110)
* Add test class
* Add stats mockup
* Merge branch 'master' of https://github.com/acemod/ACE3 into arsenalStats
* Finish mockup, add basic hide/show logic
* Add base for stats
* Use CBA EHs for stats to allow 3rd party mods of it
* Add handleStats and most of the UI behaviors for stats
* Continue work on stats
* Add container stats
* Add page support for stats
* Add text for the ROF stat
* Add accuracy in MOA for the accuracy stat
* Change accuracy shown number to 1 decimal instead of 2
* Add MIL in the dispersion stat text
* Change stats layout, remove dummy text strings
* Add some AB stats
* Remove last test string
* Replace configExtremes by normal lookup where it's relevant
* Add "undefined value" string when AB stat isn't present
Mostly for laucnhers
* Fix typo in preInit
* Change drag model stat to ballistic coef
* Fix issue with unused stats, change text to white when bar is present
* Rewrite some part of handleStats
Reason: add support for conditions, less redundant code, less reasons for dedmen to emasculate me
* Re-add _hideUnusedFnc, handle empty stats arrays
* Pass args to stat conditions, add test condition stat
* Add hearing related stats
* Remove the padding between stats and the stat bar / text
* Add strings for stats
* Change stats window to fit baer's suggestion
* Algin the close stats button, add missing strings
* Finish code review
* Add missing newline
* Remove duplicate strings
* Add explosive range stat
* Use proper string for the explo range stat
* Fix capitalization for ctrlParent
* Fix conditional stats blocking other stats
* Add better integration for ballistics, hearing and explosive stats
* Replace the private array in handleStat by params
* Add backblast stats
* Add backblast stat strings
* Add flashlight map color and g-force reduction stats
* Shorten preInit
* Change stats close button to fit arsenal design
* Improve stats page indicator look
* Rework how stats are stored and retrieved
* Remove args config entry, add priority entry, add vanilla weapon stats
* Add vanilla container stats
* Remove some lines in preInit
* Add ballistics stats
* Add hearing stats
* Remove uneeded config entries
* Add explosive range stat
* Add backblast stats
* Add spaces after semicolons in statements
To make JJ happy because I don't care.
* Add flashlights map color stat
* Add gforce reduction stat
FINALLY FUCKING DONE
* Fix headers for the new stats funcs
* Add add / remove stat API
* Fix typo in removeStat header
* Remove uneeded inline func
* Clean up add / remove stat
* Move all CfgACEArsenalStats entries to their own file
* Replace STR_ACE_Ballistics_statAmmo by a BI string
* Add script profiler related macro and code
* Use the highest ballistic coef instead of first one defined
* Add support for future ammo displayname
* Add ACE_standardAtmosphere for ballistic coef
* Add mag muzzle velocity stat
* Add weapon muzzle velocity stat
* Add comment explaining the ENABLE_PERF_PROFILING macro
* Change cfgACEArsenalStats to ACE_Arsenal_Stats
* Make JJ less pissy about spaces around =
* Fix indentation in weaponMuzzleVelocity, use param
* Use GVAR and EGVAR when appropriate
* Prefix all stats except the base class
* Fix Merge
* Fix aspect ratio scaling of stats panel
* Minor fixes
2018-02-15 16:03:22 +00:00
|
|
|
} foreach _markedForDeletion;
|
|
|
|
} foreach (_this select 0);
|
|
|
|
};
|
|
|
|
|
|
|
|
private _markedForDeletion = [];
|
|
|
|
|
2018-02-24 05:30:15 +00:00
|
|
|
[GVAR(statsListLeftPanel)] call _fnc_deleteEmptyPage;
|
|
|
|
[GVAR(statsListRightPanel)] call _fnc_deleteEmptyPage;
|