2023-09-12 18:58:10 +00:00
|
|
|
#include "..\script_component.hpp"
|
2020-08-18 17:43:35 +00:00
|
|
|
#include "..\defines.hpp"
|
|
|
|
/*
|
Arsenal - Add/Fix/Improve/Change numerous aspects (#9040)
* Arsenal update
* Fixes
* Update fnc_onSelChangedLeft.sqf
* Update fnc_updateUniqueItemsList.sqf
* Header fixes
* Fix for defines.hpp
Co-authored-by: Dystopian <sddex@ya.ru>
* Moved fnc_baseWeapon, filtered invalid items
* Update addons/arsenal/functions/fnc_scanConfig.sqf
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
* Fixes and tweaks
- Sorting is guaranteed to give a fixed order
- Dog tags no longer throw errors when reloading the ACE arsenal mission when you had some saved in your loadout before quitting the last time you played.
* Cleanup, bug fixes and additions
- Added the ability to add items from "CfgMagazines" into the "Misc. items" or custom tabs.
- Added "baseWeapon" class support for weapon attachments. If a weapon attachment has the config property "baseWeapon" defined, it will take that item and show that in the arsenal.
- Added stronger filtering on item scopes (scope > 0 at least for every item)
- Added "descending" (default, as it is now) and "ascending" sort order as a drop down menu,
- Unique backpacks in containers can now be removed with either the "-" or "clear all items" button.
- When sorting by a number, 2 decimal points have been added, so that when you sort by weight it returns the correct order.
* More fixes and tweaks
- Converted the arsenal to partially work with hashmaps instead of arrays (for configItems and virtualItems, currentItems is still an array).
- Because of the above, performance of FUNC(addVirtualItems) and FUNC(removeVirtualItems) has improved immensely.
- Sorting now caches results, reducing repeated sorting times drastically.
- CBA disposable launchers are handled differently now: Within the arsenal, you can change weapon attachments on disposable launchers, but you can't change their magazines (primary or secondary). Item info on the right and the stats show correct information.
- FUNC(addSort) now checks if the new sorting method already exists and doesn't add it if it does.
- FUNC(removeSort) now exists. You can't remove the default sort type (alphabetically) to avoid problems with the arsenal.
- Both FUNC(addStat) and FUNC(compileStats) actually taken priority into account now. Because of that priority on several stats needed to be tweaked.
- FUNC(removeStat) ensures that there are no gaps within the stat array (so if there is an empty spot in the stats page, it's because there is a stat, but the condition for it being shown hasn't been met).
* Update fnc_replaceUniqueItemsLoadout.sqf
* Update fnc_onSelChangedLeft.sqf
* Update fnc_scanConfig.sqf
* Update docs/wiki/framework/arsenal-framework.md
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
* Minor cleanup
* Baseweapon filtering
* Improvements + better unique items support
* Update fnc_fillRightPanel.sqf
* Update fnc_onSelChangedLeft.sqf
Fixed: Switching between weapons with incompatible primary magazines while a compatible secondary magazine is loaded doesn't equip the new weapon's primary magazine.
* Update addons/common/functions/fnc_uniqueUnitItems.sqf
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
* undefined variable
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
* fix undefined loadout var
* Update fnc_fillLoadoutsList.sqf
---------
Co-authored-by: Dystopian <sddex@ya.ru>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2023-07-21 18:25:25 +00:00
|
|
|
* Author: Alganthe, Brett Mayson, johnb43
|
|
|
|
* Fills the sort menu.
|
2020-08-18 17:43:35 +00:00
|
|
|
*
|
|
|
|
* Arguments:
|
|
|
|
* 0: Arsenal display <DISPLAY>
|
|
|
|
* 1: Tab control <CONTROL>
|
|
|
|
* 2: Sort control <CONTROL>
|
|
|
|
*
|
|
|
|
* Return Value:
|
|
|
|
* None
|
|
|
|
*
|
|
|
|
* Public: No
|
|
|
|
*/
|
|
|
|
|
Arsenal - Add/Fix/Improve/Change numerous aspects (#9040)
* Arsenal update
* Fixes
* Update fnc_onSelChangedLeft.sqf
* Update fnc_updateUniqueItemsList.sqf
* Header fixes
* Fix for defines.hpp
Co-authored-by: Dystopian <sddex@ya.ru>
* Moved fnc_baseWeapon, filtered invalid items
* Update addons/arsenal/functions/fnc_scanConfig.sqf
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
* Fixes and tweaks
- Sorting is guaranteed to give a fixed order
- Dog tags no longer throw errors when reloading the ACE arsenal mission when you had some saved in your loadout before quitting the last time you played.
* Cleanup, bug fixes and additions
- Added the ability to add items from "CfgMagazines" into the "Misc. items" or custom tabs.
- Added "baseWeapon" class support for weapon attachments. If a weapon attachment has the config property "baseWeapon" defined, it will take that item and show that in the arsenal.
- Added stronger filtering on item scopes (scope > 0 at least for every item)
- Added "descending" (default, as it is now) and "ascending" sort order as a drop down menu,
- Unique backpacks in containers can now be removed with either the "-" or "clear all items" button.
- When sorting by a number, 2 decimal points have been added, so that when you sort by weight it returns the correct order.
* More fixes and tweaks
- Converted the arsenal to partially work with hashmaps instead of arrays (for configItems and virtualItems, currentItems is still an array).
- Because of the above, performance of FUNC(addVirtualItems) and FUNC(removeVirtualItems) has improved immensely.
- Sorting now caches results, reducing repeated sorting times drastically.
- CBA disposable launchers are handled differently now: Within the arsenal, you can change weapon attachments on disposable launchers, but you can't change their magazines (primary or secondary). Item info on the right and the stats show correct information.
- FUNC(addSort) now checks if the new sorting method already exists and doesn't add it if it does.
- FUNC(removeSort) now exists. You can't remove the default sort type (alphabetically) to avoid problems with the arsenal.
- Both FUNC(addStat) and FUNC(compileStats) actually taken priority into account now. Because of that priority on several stats needed to be tweaked.
- FUNC(removeStat) ensures that there are no gaps within the stat array (so if there is an empty spot in the stats page, it's because there is a stat, but the condition for it being shown hasn't been met).
* Update fnc_replaceUniqueItemsLoadout.sqf
* Update fnc_onSelChangedLeft.sqf
* Update fnc_scanConfig.sqf
* Update docs/wiki/framework/arsenal-framework.md
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
* Minor cleanup
* Baseweapon filtering
* Improvements + better unique items support
* Update fnc_fillRightPanel.sqf
* Update fnc_onSelChangedLeft.sqf
Fixed: Switching between weapons with incompatible primary magazines while a compatible secondary magazine is loaded doesn't equip the new weapon's primary magazine.
* Update addons/common/functions/fnc_uniqueUnitItems.sqf
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
* undefined variable
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
* fix undefined loadout var
* Update fnc_fillLoadoutsList.sqf
---------
Co-authored-by: Dystopian <sddex@ya.ru>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2023-07-21 18:25:25 +00:00
|
|
|
params ["_display", "_control", "_sortCtrl", "_sortDirectionCtrl"];
|
2020-08-18 17:43:35 +00:00
|
|
|
|
|
|
|
lbClear _sortCtrl;
|
Arsenal - Add/Fix/Improve/Change numerous aspects (#9040)
* Arsenal update
* Fixes
* Update fnc_onSelChangedLeft.sqf
* Update fnc_updateUniqueItemsList.sqf
* Header fixes
* Fix for defines.hpp
Co-authored-by: Dystopian <sddex@ya.ru>
* Moved fnc_baseWeapon, filtered invalid items
* Update addons/arsenal/functions/fnc_scanConfig.sqf
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
* Fixes and tweaks
- Sorting is guaranteed to give a fixed order
- Dog tags no longer throw errors when reloading the ACE arsenal mission when you had some saved in your loadout before quitting the last time you played.
* Cleanup, bug fixes and additions
- Added the ability to add items from "CfgMagazines" into the "Misc. items" or custom tabs.
- Added "baseWeapon" class support for weapon attachments. If a weapon attachment has the config property "baseWeapon" defined, it will take that item and show that in the arsenal.
- Added stronger filtering on item scopes (scope > 0 at least for every item)
- Added "descending" (default, as it is now) and "ascending" sort order as a drop down menu,
- Unique backpacks in containers can now be removed with either the "-" or "clear all items" button.
- When sorting by a number, 2 decimal points have been added, so that when you sort by weight it returns the correct order.
* More fixes and tweaks
- Converted the arsenal to partially work with hashmaps instead of arrays (for configItems and virtualItems, currentItems is still an array).
- Because of the above, performance of FUNC(addVirtualItems) and FUNC(removeVirtualItems) has improved immensely.
- Sorting now caches results, reducing repeated sorting times drastically.
- CBA disposable launchers are handled differently now: Within the arsenal, you can change weapon attachments on disposable launchers, but you can't change their magazines (primary or secondary). Item info on the right and the stats show correct information.
- FUNC(addSort) now checks if the new sorting method already exists and doesn't add it if it does.
- FUNC(removeSort) now exists. You can't remove the default sort type (alphabetically) to avoid problems with the arsenal.
- Both FUNC(addStat) and FUNC(compileStats) actually taken priority into account now. Because of that priority on several stats needed to be tweaked.
- FUNC(removeStat) ensures that there are no gaps within the stat array (so if there is an empty spot in the stats page, it's because there is a stat, but the condition for it being shown hasn't been met).
* Update fnc_replaceUniqueItemsLoadout.sqf
* Update fnc_onSelChangedLeft.sqf
* Update fnc_scanConfig.sqf
* Update docs/wiki/framework/arsenal-framework.md
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
* Minor cleanup
* Baseweapon filtering
* Improvements + better unique items support
* Update fnc_fillRightPanel.sqf
* Update fnc_onSelChangedLeft.sqf
Fixed: Switching between weapons with incompatible primary magazines while a compatible secondary magazine is loaded doesn't equip the new weapon's primary magazine.
* Update addons/common/functions/fnc_uniqueUnitItems.sqf
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
* undefined variable
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
* fix undefined loadout var
* Update fnc_fillLoadoutsList.sqf
---------
Co-authored-by: Dystopian <sddex@ya.ru>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2023-07-21 18:25:25 +00:00
|
|
|
lbClear _sortDirectionCtrl;
|
2020-08-18 17:43:35 +00:00
|
|
|
|
|
|
|
private _right = false;
|
Arsenal - Add/Fix/Improve/Change numerous aspects (#9040)
* Arsenal update
* Fixes
* Update fnc_onSelChangedLeft.sqf
* Update fnc_updateUniqueItemsList.sqf
* Header fixes
* Fix for defines.hpp
Co-authored-by: Dystopian <sddex@ya.ru>
* Moved fnc_baseWeapon, filtered invalid items
* Update addons/arsenal/functions/fnc_scanConfig.sqf
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
* Fixes and tweaks
- Sorting is guaranteed to give a fixed order
- Dog tags no longer throw errors when reloading the ACE arsenal mission when you had some saved in your loadout before quitting the last time you played.
* Cleanup, bug fixes and additions
- Added the ability to add items from "CfgMagazines" into the "Misc. items" or custom tabs.
- Added "baseWeapon" class support for weapon attachments. If a weapon attachment has the config property "baseWeapon" defined, it will take that item and show that in the arsenal.
- Added stronger filtering on item scopes (scope > 0 at least for every item)
- Added "descending" (default, as it is now) and "ascending" sort order as a drop down menu,
- Unique backpacks in containers can now be removed with either the "-" or "clear all items" button.
- When sorting by a number, 2 decimal points have been added, so that when you sort by weight it returns the correct order.
* More fixes and tweaks
- Converted the arsenal to partially work with hashmaps instead of arrays (for configItems and virtualItems, currentItems is still an array).
- Because of the above, performance of FUNC(addVirtualItems) and FUNC(removeVirtualItems) has improved immensely.
- Sorting now caches results, reducing repeated sorting times drastically.
- CBA disposable launchers are handled differently now: Within the arsenal, you can change weapon attachments on disposable launchers, but you can't change their magazines (primary or secondary). Item info on the right and the stats show correct information.
- FUNC(addSort) now checks if the new sorting method already exists and doesn't add it if it does.
- FUNC(removeSort) now exists. You can't remove the default sort type (alphabetically) to avoid problems with the arsenal.
- Both FUNC(addStat) and FUNC(compileStats) actually taken priority into account now. Because of that priority on several stats needed to be tweaked.
- FUNC(removeStat) ensures that there are no gaps within the stat array (so if there is an empty spot in the stats page, it's because there is a stat, but the condition for it being shown hasn't been met).
* Update fnc_replaceUniqueItemsLoadout.sqf
* Update fnc_onSelChangedLeft.sqf
* Update fnc_scanConfig.sqf
* Update docs/wiki/framework/arsenal-framework.md
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
* Minor cleanup
* Baseweapon filtering
* Improvements + better unique items support
* Update fnc_fillRightPanel.sqf
* Update fnc_onSelChangedLeft.sqf
Fixed: Switching between weapons with incompatible primary magazines while a compatible secondary magazine is loaded doesn't equip the new weapon's primary magazine.
* Update addons/common/functions/fnc_uniqueUnitItems.sqf
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
* undefined variable
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
* fix undefined loadout var
* Update fnc_fillLoadoutsList.sqf
---------
Co-authored-by: Dystopian <sddex@ya.ru>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2023-07-21 18:25:25 +00:00
|
|
|
private _rightSort = ctrlIDC _sortCtrl == IDC_sortRightTab;
|
2020-08-18 17:43:35 +00:00
|
|
|
|
Arsenal - Add/Fix/Improve/Change numerous aspects (#9040)
* Arsenal update
* Fixes
* Update fnc_onSelChangedLeft.sqf
* Update fnc_updateUniqueItemsList.sqf
* Header fixes
* Fix for defines.hpp
Co-authored-by: Dystopian <sddex@ya.ru>
* Moved fnc_baseWeapon, filtered invalid items
* Update addons/arsenal/functions/fnc_scanConfig.sqf
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
* Fixes and tweaks
- Sorting is guaranteed to give a fixed order
- Dog tags no longer throw errors when reloading the ACE arsenal mission when you had some saved in your loadout before quitting the last time you played.
* Cleanup, bug fixes and additions
- Added the ability to add items from "CfgMagazines" into the "Misc. items" or custom tabs.
- Added "baseWeapon" class support for weapon attachments. If a weapon attachment has the config property "baseWeapon" defined, it will take that item and show that in the arsenal.
- Added stronger filtering on item scopes (scope > 0 at least for every item)
- Added "descending" (default, as it is now) and "ascending" sort order as a drop down menu,
- Unique backpacks in containers can now be removed with either the "-" or "clear all items" button.
- When sorting by a number, 2 decimal points have been added, so that when you sort by weight it returns the correct order.
* More fixes and tweaks
- Converted the arsenal to partially work with hashmaps instead of arrays (for configItems and virtualItems, currentItems is still an array).
- Because of the above, performance of FUNC(addVirtualItems) and FUNC(removeVirtualItems) has improved immensely.
- Sorting now caches results, reducing repeated sorting times drastically.
- CBA disposable launchers are handled differently now: Within the arsenal, you can change weapon attachments on disposable launchers, but you can't change their magazines (primary or secondary). Item info on the right and the stats show correct information.
- FUNC(addSort) now checks if the new sorting method already exists and doesn't add it if it does.
- FUNC(removeSort) now exists. You can't remove the default sort type (alphabetically) to avoid problems with the arsenal.
- Both FUNC(addStat) and FUNC(compileStats) actually taken priority into account now. Because of that priority on several stats needed to be tweaked.
- FUNC(removeStat) ensures that there are no gaps within the stat array (so if there is an empty spot in the stats page, it's because there is a stat, but the condition for it being shown hasn't been met).
* Update fnc_replaceUniqueItemsLoadout.sqf
* Update fnc_onSelChangedLeft.sqf
* Update fnc_scanConfig.sqf
* Update docs/wiki/framework/arsenal-framework.md
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
* Minor cleanup
* Baseweapon filtering
* Improvements + better unique items support
* Update fnc_fillRightPanel.sqf
* Update fnc_onSelChangedLeft.sqf
Fixed: Switching between weapons with incompatible primary magazines while a compatible secondary magazine is loaded doesn't equip the new weapon's primary magazine.
* Update addons/common/functions/fnc_uniqueUnitItems.sqf
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
* undefined variable
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
* fix undefined loadout var
* Update fnc_fillLoadoutsList.sqf
---------
Co-authored-by: Dystopian <sddex@ya.ru>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2023-07-21 18:25:25 +00:00
|
|
|
// Handle sorting direction
|
|
|
|
private _lastSortDirection = [GVAR(lastSortDirectionLeft), GVAR(lastSortDirectionRight)] select _rightSort;
|
|
|
|
private _sortIndex = 0;
|
|
|
|
private _index = -1;
|
|
|
|
|
|
|
|
{
|
|
|
|
_x params ["_sortName", "_displayName", "_direction"];
|
|
|
|
|
|
|
|
_index = _sortDirectionCtrl lbAdd _displayName;
|
|
|
|
_sortDirectionCtrl lbSetData [_index, _sortName];
|
|
|
|
_sortDirectionCtrl lbSetValue [_index, _direction];
|
|
|
|
|
|
|
|
if (_direction == _lastSortDirection) then {
|
|
|
|
_sortIndex = _index;
|
|
|
|
};
|
|
|
|
} forEach [[QGVAR(descending), LLSTRING(sortDescending), DESCENDING], [QGVAR(ascending), LLSTRING(sortAscending), ASCENDING]];
|
|
|
|
|
|
|
|
// Prevent FUNC(sortPanel) being called twice in succession
|
|
|
|
GVAR(ignoreFirstSortPanelCall) = true;
|
|
|
|
_sortDirectionCtrl lbSetCurSel _sortIndex;
|
|
|
|
|
|
|
|
// Handle sorting
|
|
|
|
private _sorts = if (_rightSort && {GVAR(currentLeftPanel) in [IDC_buttonUniform, IDC_buttonVest, IDC_buttonBackpack]}) then {
|
2020-08-18 17:43:35 +00:00
|
|
|
_right = true;
|
Arsenal - Add/Fix/Improve/Change numerous aspects (#9040)
* Arsenal update
* Fixes
* Update fnc_onSelChangedLeft.sqf
* Update fnc_updateUniqueItemsList.sqf
* Header fixes
* Fix for defines.hpp
Co-authored-by: Dystopian <sddex@ya.ru>
* Moved fnc_baseWeapon, filtered invalid items
* Update addons/arsenal/functions/fnc_scanConfig.sqf
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
* Fixes and tweaks
- Sorting is guaranteed to give a fixed order
- Dog tags no longer throw errors when reloading the ACE arsenal mission when you had some saved in your loadout before quitting the last time you played.
* Cleanup, bug fixes and additions
- Added the ability to add items from "CfgMagazines" into the "Misc. items" or custom tabs.
- Added "baseWeapon" class support for weapon attachments. If a weapon attachment has the config property "baseWeapon" defined, it will take that item and show that in the arsenal.
- Added stronger filtering on item scopes (scope > 0 at least for every item)
- Added "descending" (default, as it is now) and "ascending" sort order as a drop down menu,
- Unique backpacks in containers can now be removed with either the "-" or "clear all items" button.
- When sorting by a number, 2 decimal points have been added, so that when you sort by weight it returns the correct order.
* More fixes and tweaks
- Converted the arsenal to partially work with hashmaps instead of arrays (for configItems and virtualItems, currentItems is still an array).
- Because of the above, performance of FUNC(addVirtualItems) and FUNC(removeVirtualItems) has improved immensely.
- Sorting now caches results, reducing repeated sorting times drastically.
- CBA disposable launchers are handled differently now: Within the arsenal, you can change weapon attachments on disposable launchers, but you can't change their magazines (primary or secondary). Item info on the right and the stats show correct information.
- FUNC(addSort) now checks if the new sorting method already exists and doesn't add it if it does.
- FUNC(removeSort) now exists. You can't remove the default sort type (alphabetically) to avoid problems with the arsenal.
- Both FUNC(addStat) and FUNC(compileStats) actually taken priority into account now. Because of that priority on several stats needed to be tweaked.
- FUNC(removeStat) ensures that there are no gaps within the stat array (so if there is an empty spot in the stats page, it's because there is a stat, but the condition for it being shown hasn't been met).
* Update fnc_replaceUniqueItemsLoadout.sqf
* Update fnc_onSelChangedLeft.sqf
* Update fnc_scanConfig.sqf
* Update docs/wiki/framework/arsenal-framework.md
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
* Minor cleanup
* Baseweapon filtering
* Improvements + better unique items support
* Update fnc_fillRightPanel.sqf
* Update fnc_onSelChangedLeft.sqf
Fixed: Switching between weapons with incompatible primary magazines while a compatible secondary magazine is loaded doesn't equip the new weapon's primary magazine.
* Update addons/common/functions/fnc_uniqueUnitItems.sqf
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
* undefined variable
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
* fix undefined loadout var
* Update fnc_fillLoadoutsList.sqf
---------
Co-authored-by: Dystopian <sddex@ya.ru>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2023-07-21 18:25:25 +00:00
|
|
|
|
|
|
|
// Right panel for uniforms, vest and backpacks
|
2020-08-18 17:43:35 +00:00
|
|
|
GVAR(sortListRightPanel) select (
|
|
|
|
switch (GVAR(currentRightPanel)) do {
|
Arsenal - Add/Fix/Improve/Change numerous aspects (#9040)
* Arsenal update
* Fixes
* Update fnc_onSelChangedLeft.sqf
* Update fnc_updateUniqueItemsList.sqf
* Header fixes
* Fix for defines.hpp
Co-authored-by: Dystopian <sddex@ya.ru>
* Moved fnc_baseWeapon, filtered invalid items
* Update addons/arsenal/functions/fnc_scanConfig.sqf
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
* Fixes and tweaks
- Sorting is guaranteed to give a fixed order
- Dog tags no longer throw errors when reloading the ACE arsenal mission when you had some saved in your loadout before quitting the last time you played.
* Cleanup, bug fixes and additions
- Added the ability to add items from "CfgMagazines" into the "Misc. items" or custom tabs.
- Added "baseWeapon" class support for weapon attachments. If a weapon attachment has the config property "baseWeapon" defined, it will take that item and show that in the arsenal.
- Added stronger filtering on item scopes (scope > 0 at least for every item)
- Added "descending" (default, as it is now) and "ascending" sort order as a drop down menu,
- Unique backpacks in containers can now be removed with either the "-" or "clear all items" button.
- When sorting by a number, 2 decimal points have been added, so that when you sort by weight it returns the correct order.
* More fixes and tweaks
- Converted the arsenal to partially work with hashmaps instead of arrays (for configItems and virtualItems, currentItems is still an array).
- Because of the above, performance of FUNC(addVirtualItems) and FUNC(removeVirtualItems) has improved immensely.
- Sorting now caches results, reducing repeated sorting times drastically.
- CBA disposable launchers are handled differently now: Within the arsenal, you can change weapon attachments on disposable launchers, but you can't change their magazines (primary or secondary). Item info on the right and the stats show correct information.
- FUNC(addSort) now checks if the new sorting method already exists and doesn't add it if it does.
- FUNC(removeSort) now exists. You can't remove the default sort type (alphabetically) to avoid problems with the arsenal.
- Both FUNC(addStat) and FUNC(compileStats) actually taken priority into account now. Because of that priority on several stats needed to be tweaked.
- FUNC(removeStat) ensures that there are no gaps within the stat array (so if there is an empty spot in the stats page, it's because there is a stat, but the condition for it being shown hasn't been met).
* Update fnc_replaceUniqueItemsLoadout.sqf
* Update fnc_onSelChangedLeft.sqf
* Update fnc_scanConfig.sqf
* Update docs/wiki/framework/arsenal-framework.md
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
* Minor cleanup
* Baseweapon filtering
* Improvements + better unique items support
* Update fnc_fillRightPanel.sqf
* Update fnc_onSelChangedLeft.sqf
Fixed: Switching between weapons with incompatible primary magazines while a compatible secondary magazine is loaded doesn't equip the new weapon's primary magazine.
* Update addons/common/functions/fnc_uniqueUnitItems.sqf
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
* undefined variable
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
* fix undefined loadout var
* Update fnc_fillLoadoutsList.sqf
---------
Co-authored-by: Dystopian <sddex@ya.ru>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2023-07-21 18:25:25 +00:00
|
|
|
case IDC_buttonOptic: {0};
|
|
|
|
case IDC_buttonItemAcc: {1};
|
|
|
|
case IDC_buttonMuzzle: {2};
|
|
|
|
case IDC_buttonBipod: {3};
|
2020-08-18 17:43:35 +00:00
|
|
|
case IDC_buttonCurrentMag;
|
|
|
|
case IDC_buttonCurrentMag2;
|
|
|
|
case IDC_buttonMag;
|
Arsenal - Add/Fix/Improve/Change numerous aspects (#9040)
* Arsenal update
* Fixes
* Update fnc_onSelChangedLeft.sqf
* Update fnc_updateUniqueItemsList.sqf
* Header fixes
* Fix for defines.hpp
Co-authored-by: Dystopian <sddex@ya.ru>
* Moved fnc_baseWeapon, filtered invalid items
* Update addons/arsenal/functions/fnc_scanConfig.sqf
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
* Fixes and tweaks
- Sorting is guaranteed to give a fixed order
- Dog tags no longer throw errors when reloading the ACE arsenal mission when you had some saved in your loadout before quitting the last time you played.
* Cleanup, bug fixes and additions
- Added the ability to add items from "CfgMagazines" into the "Misc. items" or custom tabs.
- Added "baseWeapon" class support for weapon attachments. If a weapon attachment has the config property "baseWeapon" defined, it will take that item and show that in the arsenal.
- Added stronger filtering on item scopes (scope > 0 at least for every item)
- Added "descending" (default, as it is now) and "ascending" sort order as a drop down menu,
- Unique backpacks in containers can now be removed with either the "-" or "clear all items" button.
- When sorting by a number, 2 decimal points have been added, so that when you sort by weight it returns the correct order.
* More fixes and tweaks
- Converted the arsenal to partially work with hashmaps instead of arrays (for configItems and virtualItems, currentItems is still an array).
- Because of the above, performance of FUNC(addVirtualItems) and FUNC(removeVirtualItems) has improved immensely.
- Sorting now caches results, reducing repeated sorting times drastically.
- CBA disposable launchers are handled differently now: Within the arsenal, you can change weapon attachments on disposable launchers, but you can't change their magazines (primary or secondary). Item info on the right and the stats show correct information.
- FUNC(addSort) now checks if the new sorting method already exists and doesn't add it if it does.
- FUNC(removeSort) now exists. You can't remove the default sort type (alphabetically) to avoid problems with the arsenal.
- Both FUNC(addStat) and FUNC(compileStats) actually taken priority into account now. Because of that priority on several stats needed to be tweaked.
- FUNC(removeStat) ensures that there are no gaps within the stat array (so if there is an empty spot in the stats page, it's because there is a stat, but the condition for it being shown hasn't been met).
* Update fnc_replaceUniqueItemsLoadout.sqf
* Update fnc_onSelChangedLeft.sqf
* Update fnc_scanConfig.sqf
* Update docs/wiki/framework/arsenal-framework.md
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
* Minor cleanup
* Baseweapon filtering
* Improvements + better unique items support
* Update fnc_fillRightPanel.sqf
* Update fnc_onSelChangedLeft.sqf
Fixed: Switching between weapons with incompatible primary magazines while a compatible secondary magazine is loaded doesn't equip the new weapon's primary magazine.
* Update addons/common/functions/fnc_uniqueUnitItems.sqf
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
* undefined variable
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
* fix undefined loadout var
* Update fnc_fillLoadoutsList.sqf
---------
Co-authored-by: Dystopian <sddex@ya.ru>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2023-07-21 18:25:25 +00:00
|
|
|
case IDC_buttonMagALL: {4};
|
|
|
|
case IDC_buttonThrow: {5};
|
|
|
|
case IDC_buttonPut: {6};
|
|
|
|
case IDC_buttonMisc: {7};
|
2020-08-18 17:43:35 +00:00
|
|
|
}
|
|
|
|
)
|
|
|
|
} else {
|
|
|
|
private _idc = ctrlIDC _control;
|
Arsenal - Add/Fix/Improve/Change numerous aspects (#9040)
* Arsenal update
* Fixes
* Update fnc_onSelChangedLeft.sqf
* Update fnc_updateUniqueItemsList.sqf
* Header fixes
* Fix for defines.hpp
Co-authored-by: Dystopian <sddex@ya.ru>
* Moved fnc_baseWeapon, filtered invalid items
* Update addons/arsenal/functions/fnc_scanConfig.sqf
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
* Fixes and tweaks
- Sorting is guaranteed to give a fixed order
- Dog tags no longer throw errors when reloading the ACE arsenal mission when you had some saved in your loadout before quitting the last time you played.
* Cleanup, bug fixes and additions
- Added the ability to add items from "CfgMagazines" into the "Misc. items" or custom tabs.
- Added "baseWeapon" class support for weapon attachments. If a weapon attachment has the config property "baseWeapon" defined, it will take that item and show that in the arsenal.
- Added stronger filtering on item scopes (scope > 0 at least for every item)
- Added "descending" (default, as it is now) and "ascending" sort order as a drop down menu,
- Unique backpacks in containers can now be removed with either the "-" or "clear all items" button.
- When sorting by a number, 2 decimal points have been added, so that when you sort by weight it returns the correct order.
* More fixes and tweaks
- Converted the arsenal to partially work with hashmaps instead of arrays (for configItems and virtualItems, currentItems is still an array).
- Because of the above, performance of FUNC(addVirtualItems) and FUNC(removeVirtualItems) has improved immensely.
- Sorting now caches results, reducing repeated sorting times drastically.
- CBA disposable launchers are handled differently now: Within the arsenal, you can change weapon attachments on disposable launchers, but you can't change their magazines (primary or secondary). Item info on the right and the stats show correct information.
- FUNC(addSort) now checks if the new sorting method already exists and doesn't add it if it does.
- FUNC(removeSort) now exists. You can't remove the default sort type (alphabetically) to avoid problems with the arsenal.
- Both FUNC(addStat) and FUNC(compileStats) actually taken priority into account now. Because of that priority on several stats needed to be tweaked.
- FUNC(removeStat) ensures that there are no gaps within the stat array (so if there is an empty spot in the stats page, it's because there is a stat, but the condition for it being shown hasn't been met).
* Update fnc_replaceUniqueItemsLoadout.sqf
* Update fnc_onSelChangedLeft.sqf
* Update fnc_scanConfig.sqf
* Update docs/wiki/framework/arsenal-framework.md
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
* Minor cleanup
* Baseweapon filtering
* Improvements + better unique items support
* Update fnc_fillRightPanel.sqf
* Update fnc_onSelChangedLeft.sqf
Fixed: Switching between weapons with incompatible primary magazines while a compatible secondary magazine is loaded doesn't equip the new weapon's primary magazine.
* Update addons/common/functions/fnc_uniqueUnitItems.sqf
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
* undefined variable
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
* fix undefined loadout var
* Update fnc_fillLoadoutsList.sqf
---------
Co-authored-by: Dystopian <sddex@ya.ru>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2023-07-21 18:25:25 +00:00
|
|
|
|
|
|
|
switch (true) do {
|
|
|
|
// Right panel for weapons
|
|
|
|
case (_rightSort): {
|
2020-08-18 17:43:35 +00:00
|
|
|
GVAR(sortListRightPanel) select (
|
|
|
|
switch (_idc) do {
|
Arsenal - Add/Fix/Improve/Change numerous aspects (#9040)
* Arsenal update
* Fixes
* Update fnc_onSelChangedLeft.sqf
* Update fnc_updateUniqueItemsList.sqf
* Header fixes
* Fix for defines.hpp
Co-authored-by: Dystopian <sddex@ya.ru>
* Moved fnc_baseWeapon, filtered invalid items
* Update addons/arsenal/functions/fnc_scanConfig.sqf
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
* Fixes and tweaks
- Sorting is guaranteed to give a fixed order
- Dog tags no longer throw errors when reloading the ACE arsenal mission when you had some saved in your loadout before quitting the last time you played.
* Cleanup, bug fixes and additions
- Added the ability to add items from "CfgMagazines" into the "Misc. items" or custom tabs.
- Added "baseWeapon" class support for weapon attachments. If a weapon attachment has the config property "baseWeapon" defined, it will take that item and show that in the arsenal.
- Added stronger filtering on item scopes (scope > 0 at least for every item)
- Added "descending" (default, as it is now) and "ascending" sort order as a drop down menu,
- Unique backpacks in containers can now be removed with either the "-" or "clear all items" button.
- When sorting by a number, 2 decimal points have been added, so that when you sort by weight it returns the correct order.
* More fixes and tweaks
- Converted the arsenal to partially work with hashmaps instead of arrays (for configItems and virtualItems, currentItems is still an array).
- Because of the above, performance of FUNC(addVirtualItems) and FUNC(removeVirtualItems) has improved immensely.
- Sorting now caches results, reducing repeated sorting times drastically.
- CBA disposable launchers are handled differently now: Within the arsenal, you can change weapon attachments on disposable launchers, but you can't change their magazines (primary or secondary). Item info on the right and the stats show correct information.
- FUNC(addSort) now checks if the new sorting method already exists and doesn't add it if it does.
- FUNC(removeSort) now exists. You can't remove the default sort type (alphabetically) to avoid problems with the arsenal.
- Both FUNC(addStat) and FUNC(compileStats) actually taken priority into account now. Because of that priority on several stats needed to be tweaked.
- FUNC(removeStat) ensures that there are no gaps within the stat array (so if there is an empty spot in the stats page, it's because there is a stat, but the condition for it being shown hasn't been met).
* Update fnc_replaceUniqueItemsLoadout.sqf
* Update fnc_onSelChangedLeft.sqf
* Update fnc_scanConfig.sqf
* Update docs/wiki/framework/arsenal-framework.md
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
* Minor cleanup
* Baseweapon filtering
* Improvements + better unique items support
* Update fnc_fillRightPanel.sqf
* Update fnc_onSelChangedLeft.sqf
Fixed: Switching between weapons with incompatible primary magazines while a compatible secondary magazine is loaded doesn't equip the new weapon's primary magazine.
* Update addons/common/functions/fnc_uniqueUnitItems.sqf
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
* undefined variable
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
* fix undefined loadout var
* Update fnc_fillLoadoutsList.sqf
---------
Co-authored-by: Dystopian <sddex@ya.ru>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2023-07-21 18:25:25 +00:00
|
|
|
case IDC_buttonOptic: {0};
|
|
|
|
case IDC_buttonItemAcc: {1};
|
|
|
|
case IDC_buttonMuzzle: {2};
|
|
|
|
case IDC_buttonBipod: {3};
|
2020-08-18 17:43:35 +00:00
|
|
|
case IDC_buttonCurrentMag;
|
|
|
|
case IDC_buttonCurrentMag2;
|
|
|
|
case IDC_buttonMag;
|
Arsenal - Add/Fix/Improve/Change numerous aspects (#9040)
* Arsenal update
* Fixes
* Update fnc_onSelChangedLeft.sqf
* Update fnc_updateUniqueItemsList.sqf
* Header fixes
* Fix for defines.hpp
Co-authored-by: Dystopian <sddex@ya.ru>
* Moved fnc_baseWeapon, filtered invalid items
* Update addons/arsenal/functions/fnc_scanConfig.sqf
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
* Fixes and tweaks
- Sorting is guaranteed to give a fixed order
- Dog tags no longer throw errors when reloading the ACE arsenal mission when you had some saved in your loadout before quitting the last time you played.
* Cleanup, bug fixes and additions
- Added the ability to add items from "CfgMagazines" into the "Misc. items" or custom tabs.
- Added "baseWeapon" class support for weapon attachments. If a weapon attachment has the config property "baseWeapon" defined, it will take that item and show that in the arsenal.
- Added stronger filtering on item scopes (scope > 0 at least for every item)
- Added "descending" (default, as it is now) and "ascending" sort order as a drop down menu,
- Unique backpacks in containers can now be removed with either the "-" or "clear all items" button.
- When sorting by a number, 2 decimal points have been added, so that when you sort by weight it returns the correct order.
* More fixes and tweaks
- Converted the arsenal to partially work with hashmaps instead of arrays (for configItems and virtualItems, currentItems is still an array).
- Because of the above, performance of FUNC(addVirtualItems) and FUNC(removeVirtualItems) has improved immensely.
- Sorting now caches results, reducing repeated sorting times drastically.
- CBA disposable launchers are handled differently now: Within the arsenal, you can change weapon attachments on disposable launchers, but you can't change their magazines (primary or secondary). Item info on the right and the stats show correct information.
- FUNC(addSort) now checks if the new sorting method already exists and doesn't add it if it does.
- FUNC(removeSort) now exists. You can't remove the default sort type (alphabetically) to avoid problems with the arsenal.
- Both FUNC(addStat) and FUNC(compileStats) actually taken priority into account now. Because of that priority on several stats needed to be tweaked.
- FUNC(removeStat) ensures that there are no gaps within the stat array (so if there is an empty spot in the stats page, it's because there is a stat, but the condition for it being shown hasn't been met).
* Update fnc_replaceUniqueItemsLoadout.sqf
* Update fnc_onSelChangedLeft.sqf
* Update fnc_scanConfig.sqf
* Update docs/wiki/framework/arsenal-framework.md
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
* Minor cleanup
* Baseweapon filtering
* Improvements + better unique items support
* Update fnc_fillRightPanel.sqf
* Update fnc_onSelChangedLeft.sqf
Fixed: Switching between weapons with incompatible primary magazines while a compatible secondary magazine is loaded doesn't equip the new weapon's primary magazine.
* Update addons/common/functions/fnc_uniqueUnitItems.sqf
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
* undefined variable
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
* fix undefined loadout var
* Update fnc_fillLoadoutsList.sqf
---------
Co-authored-by: Dystopian <sddex@ya.ru>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2023-07-21 18:25:25 +00:00
|
|
|
case IDC_buttonMagALL: {4};
|
|
|
|
case IDC_buttonThrow: {5};
|
|
|
|
case IDC_buttonPut: {6};
|
|
|
|
case IDC_buttonMisc: {7};
|
2020-08-18 17:43:35 +00:00
|
|
|
}
|
|
|
|
)
|
|
|
|
};
|
Arsenal - Add/Fix/Improve/Change numerous aspects (#9040)
* Arsenal update
* Fixes
* Update fnc_onSelChangedLeft.sqf
* Update fnc_updateUniqueItemsList.sqf
* Header fixes
* Fix for defines.hpp
Co-authored-by: Dystopian <sddex@ya.ru>
* Moved fnc_baseWeapon, filtered invalid items
* Update addons/arsenal/functions/fnc_scanConfig.sqf
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
* Fixes and tweaks
- Sorting is guaranteed to give a fixed order
- Dog tags no longer throw errors when reloading the ACE arsenal mission when you had some saved in your loadout before quitting the last time you played.
* Cleanup, bug fixes and additions
- Added the ability to add items from "CfgMagazines" into the "Misc. items" or custom tabs.
- Added "baseWeapon" class support for weapon attachments. If a weapon attachment has the config property "baseWeapon" defined, it will take that item and show that in the arsenal.
- Added stronger filtering on item scopes (scope > 0 at least for every item)
- Added "descending" (default, as it is now) and "ascending" sort order as a drop down menu,
- Unique backpacks in containers can now be removed with either the "-" or "clear all items" button.
- When sorting by a number, 2 decimal points have been added, so that when you sort by weight it returns the correct order.
* More fixes and tweaks
- Converted the arsenal to partially work with hashmaps instead of arrays (for configItems and virtualItems, currentItems is still an array).
- Because of the above, performance of FUNC(addVirtualItems) and FUNC(removeVirtualItems) has improved immensely.
- Sorting now caches results, reducing repeated sorting times drastically.
- CBA disposable launchers are handled differently now: Within the arsenal, you can change weapon attachments on disposable launchers, but you can't change their magazines (primary or secondary). Item info on the right and the stats show correct information.
- FUNC(addSort) now checks if the new sorting method already exists and doesn't add it if it does.
- FUNC(removeSort) now exists. You can't remove the default sort type (alphabetically) to avoid problems with the arsenal.
- Both FUNC(addStat) and FUNC(compileStats) actually taken priority into account now. Because of that priority on several stats needed to be tweaked.
- FUNC(removeStat) ensures that there are no gaps within the stat array (so if there is an empty spot in the stats page, it's because there is a stat, but the condition for it being shown hasn't been met).
* Update fnc_replaceUniqueItemsLoadout.sqf
* Update fnc_onSelChangedLeft.sqf
* Update fnc_scanConfig.sqf
* Update docs/wiki/framework/arsenal-framework.md
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
* Minor cleanup
* Baseweapon filtering
* Improvements + better unique items support
* Update fnc_fillRightPanel.sqf
* Update fnc_onSelChangedLeft.sqf
Fixed: Switching between weapons with incompatible primary magazines while a compatible secondary magazine is loaded doesn't equip the new weapon's primary magazine.
* Update addons/common/functions/fnc_uniqueUnitItems.sqf
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
* undefined variable
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
* fix undefined loadout var
* Update fnc_fillLoadoutsList.sqf
---------
Co-authored-by: Dystopian <sddex@ya.ru>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2023-07-21 18:25:25 +00:00
|
|
|
// Left panel
|
2020-08-18 17:43:35 +00:00
|
|
|
default {
|
|
|
|
GVAR(sortListLeftPanel) select ([
|
|
|
|
IDC_buttonPrimaryWeapon,
|
|
|
|
IDC_buttonHandgun,
|
|
|
|
IDC_buttonSecondaryWeapon,
|
|
|
|
IDC_buttonUniform,
|
|
|
|
IDC_buttonVest,
|
|
|
|
IDC_buttonBackpack,
|
|
|
|
IDC_buttonHeadgear,
|
|
|
|
IDC_buttonGoggles,
|
|
|
|
IDC_buttonNVG,
|
|
|
|
IDC_buttonBinoculars,
|
|
|
|
IDC_buttonMap,
|
|
|
|
IDC_buttonGPS,
|
|
|
|
IDC_buttonRadio,
|
|
|
|
IDC_buttonCompass,
|
2020-08-27 15:37:20 +00:00
|
|
|
IDC_buttonWatch,
|
|
|
|
IDC_buttonFace,
|
|
|
|
IDC_buttonVoice,
|
|
|
|
IDC_buttonInsignia
|
2020-08-18 17:43:35 +00:00
|
|
|
] find _idc)
|
|
|
|
};
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
private _lastSort = [GVAR(lastSortLeft), GVAR(lastSortRight)] select _rightSort;
|
Arsenal - Add/Fix/Improve/Change numerous aspects (#9040)
* Arsenal update
* Fixes
* Update fnc_onSelChangedLeft.sqf
* Update fnc_updateUniqueItemsList.sqf
* Header fixes
* Fix for defines.hpp
Co-authored-by: Dystopian <sddex@ya.ru>
* Moved fnc_baseWeapon, filtered invalid items
* Update addons/arsenal/functions/fnc_scanConfig.sqf
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
* Fixes and tweaks
- Sorting is guaranteed to give a fixed order
- Dog tags no longer throw errors when reloading the ACE arsenal mission when you had some saved in your loadout before quitting the last time you played.
* Cleanup, bug fixes and additions
- Added the ability to add items from "CfgMagazines" into the "Misc. items" or custom tabs.
- Added "baseWeapon" class support for weapon attachments. If a weapon attachment has the config property "baseWeapon" defined, it will take that item and show that in the arsenal.
- Added stronger filtering on item scopes (scope > 0 at least for every item)
- Added "descending" (default, as it is now) and "ascending" sort order as a drop down menu,
- Unique backpacks in containers can now be removed with either the "-" or "clear all items" button.
- When sorting by a number, 2 decimal points have been added, so that when you sort by weight it returns the correct order.
* More fixes and tweaks
- Converted the arsenal to partially work with hashmaps instead of arrays (for configItems and virtualItems, currentItems is still an array).
- Because of the above, performance of FUNC(addVirtualItems) and FUNC(removeVirtualItems) has improved immensely.
- Sorting now caches results, reducing repeated sorting times drastically.
- CBA disposable launchers are handled differently now: Within the arsenal, you can change weapon attachments on disposable launchers, but you can't change their magazines (primary or secondary). Item info on the right and the stats show correct information.
- FUNC(addSort) now checks if the new sorting method already exists and doesn't add it if it does.
- FUNC(removeSort) now exists. You can't remove the default sort type (alphabetically) to avoid problems with the arsenal.
- Both FUNC(addStat) and FUNC(compileStats) actually taken priority into account now. Because of that priority on several stats needed to be tweaked.
- FUNC(removeStat) ensures that there are no gaps within the stat array (so if there is an empty spot in the stats page, it's because there is a stat, but the condition for it being shown hasn't been met).
* Update fnc_replaceUniqueItemsLoadout.sqf
* Update fnc_onSelChangedLeft.sqf
* Update fnc_scanConfig.sqf
* Update docs/wiki/framework/arsenal-framework.md
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
* Minor cleanup
* Baseweapon filtering
* Improvements + better unique items support
* Update fnc_fillRightPanel.sqf
* Update fnc_onSelChangedLeft.sqf
Fixed: Switching between weapons with incompatible primary magazines while a compatible secondary magazine is loaded doesn't equip the new weapon's primary magazine.
* Update addons/common/functions/fnc_uniqueUnitItems.sqf
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
* undefined variable
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
* fix undefined loadout var
* Update fnc_fillLoadoutsList.sqf
---------
Co-authored-by: Dystopian <sddex@ya.ru>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2023-07-21 18:25:25 +00:00
|
|
|
_sortIndex = 0;
|
2020-08-18 17:43:35 +00:00
|
|
|
|
|
|
|
{
|
Arsenal - Add/Fix/Improve/Change numerous aspects (#9040)
* Arsenal update
* Fixes
* Update fnc_onSelChangedLeft.sqf
* Update fnc_updateUniqueItemsList.sqf
* Header fixes
* Fix for defines.hpp
Co-authored-by: Dystopian <sddex@ya.ru>
* Moved fnc_baseWeapon, filtered invalid items
* Update addons/arsenal/functions/fnc_scanConfig.sqf
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
* Fixes and tweaks
- Sorting is guaranteed to give a fixed order
- Dog tags no longer throw errors when reloading the ACE arsenal mission when you had some saved in your loadout before quitting the last time you played.
* Cleanup, bug fixes and additions
- Added the ability to add items from "CfgMagazines" into the "Misc. items" or custom tabs.
- Added "baseWeapon" class support for weapon attachments. If a weapon attachment has the config property "baseWeapon" defined, it will take that item and show that in the arsenal.
- Added stronger filtering on item scopes (scope > 0 at least for every item)
- Added "descending" (default, as it is now) and "ascending" sort order as a drop down menu,
- Unique backpacks in containers can now be removed with either the "-" or "clear all items" button.
- When sorting by a number, 2 decimal points have been added, so that when you sort by weight it returns the correct order.
* More fixes and tweaks
- Converted the arsenal to partially work with hashmaps instead of arrays (for configItems and virtualItems, currentItems is still an array).
- Because of the above, performance of FUNC(addVirtualItems) and FUNC(removeVirtualItems) has improved immensely.
- Sorting now caches results, reducing repeated sorting times drastically.
- CBA disposable launchers are handled differently now: Within the arsenal, you can change weapon attachments on disposable launchers, but you can't change their magazines (primary or secondary). Item info on the right and the stats show correct information.
- FUNC(addSort) now checks if the new sorting method already exists and doesn't add it if it does.
- FUNC(removeSort) now exists. You can't remove the default sort type (alphabetically) to avoid problems with the arsenal.
- Both FUNC(addStat) and FUNC(compileStats) actually taken priority into account now. Because of that priority on several stats needed to be tweaked.
- FUNC(removeStat) ensures that there are no gaps within the stat array (so if there is an empty spot in the stats page, it's because there is a stat, but the condition for it being shown hasn't been met).
* Update fnc_replaceUniqueItemsLoadout.sqf
* Update fnc_onSelChangedLeft.sqf
* Update fnc_scanConfig.sqf
* Update docs/wiki/framework/arsenal-framework.md
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
* Minor cleanup
* Baseweapon filtering
* Improvements + better unique items support
* Update fnc_fillRightPanel.sqf
* Update fnc_onSelChangedLeft.sqf
Fixed: Switching between weapons with incompatible primary magazines while a compatible secondary magazine is loaded doesn't equip the new weapon's primary magazine.
* Update addons/common/functions/fnc_uniqueUnitItems.sqf
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
* undefined variable
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
* fix undefined loadout var
* Update fnc_fillLoadoutsList.sqf
---------
Co-authored-by: Dystopian <sddex@ya.ru>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2023-07-21 18:25:25 +00:00
|
|
|
if (_x isEqualTo []) then {
|
|
|
|
continue;
|
|
|
|
};
|
|
|
|
|
2020-11-03 03:42:48 +00:00
|
|
|
_x params ["_sortName", "_displayName", "", "_condition"];
|
Arsenal - Add/Fix/Improve/Change numerous aspects (#9040)
* Arsenal update
* Fixes
* Update fnc_onSelChangedLeft.sqf
* Update fnc_updateUniqueItemsList.sqf
* Header fixes
* Fix for defines.hpp
Co-authored-by: Dystopian <sddex@ya.ru>
* Moved fnc_baseWeapon, filtered invalid items
* Update addons/arsenal/functions/fnc_scanConfig.sqf
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
* Fixes and tweaks
- Sorting is guaranteed to give a fixed order
- Dog tags no longer throw errors when reloading the ACE arsenal mission when you had some saved in your loadout before quitting the last time you played.
* Cleanup, bug fixes and additions
- Added the ability to add items from "CfgMagazines" into the "Misc. items" or custom tabs.
- Added "baseWeapon" class support for weapon attachments. If a weapon attachment has the config property "baseWeapon" defined, it will take that item and show that in the arsenal.
- Added stronger filtering on item scopes (scope > 0 at least for every item)
- Added "descending" (default, as it is now) and "ascending" sort order as a drop down menu,
- Unique backpacks in containers can now be removed with either the "-" or "clear all items" button.
- When sorting by a number, 2 decimal points have been added, so that when you sort by weight it returns the correct order.
* More fixes and tweaks
- Converted the arsenal to partially work with hashmaps instead of arrays (for configItems and virtualItems, currentItems is still an array).
- Because of the above, performance of FUNC(addVirtualItems) and FUNC(removeVirtualItems) has improved immensely.
- Sorting now caches results, reducing repeated sorting times drastically.
- CBA disposable launchers are handled differently now: Within the arsenal, you can change weapon attachments on disposable launchers, but you can't change their magazines (primary or secondary). Item info on the right and the stats show correct information.
- FUNC(addSort) now checks if the new sorting method already exists and doesn't add it if it does.
- FUNC(removeSort) now exists. You can't remove the default sort type (alphabetically) to avoid problems with the arsenal.
- Both FUNC(addStat) and FUNC(compileStats) actually taken priority into account now. Because of that priority on several stats needed to be tweaked.
- FUNC(removeStat) ensures that there are no gaps within the stat array (so if there is an empty spot in the stats page, it's because there is a stat, but the condition for it being shown hasn't been met).
* Update fnc_replaceUniqueItemsLoadout.sqf
* Update fnc_onSelChangedLeft.sqf
* Update fnc_scanConfig.sqf
* Update docs/wiki/framework/arsenal-framework.md
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
* Minor cleanup
* Baseweapon filtering
* Improvements + better unique items support
* Update fnc_fillRightPanel.sqf
* Update fnc_onSelChangedLeft.sqf
Fixed: Switching between weapons with incompatible primary magazines while a compatible secondary magazine is loaded doesn't equip the new weapon's primary magazine.
* Update addons/common/functions/fnc_uniqueUnitItems.sqf
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
* undefined variable
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
* fix undefined loadout var
* Update fnc_fillLoadoutsList.sqf
---------
Co-authored-by: Dystopian <sddex@ya.ru>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2023-07-21 18:25:25 +00:00
|
|
|
|
|
|
|
// Check if sort if available for this panel
|
2020-11-02 18:23:44 +00:00
|
|
|
if ([_right] call _condition) then {
|
Arsenal - Add/Fix/Improve/Change numerous aspects (#9040)
* Arsenal update
* Fixes
* Update fnc_onSelChangedLeft.sqf
* Update fnc_updateUniqueItemsList.sqf
* Header fixes
* Fix for defines.hpp
Co-authored-by: Dystopian <sddex@ya.ru>
* Moved fnc_baseWeapon, filtered invalid items
* Update addons/arsenal/functions/fnc_scanConfig.sqf
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
* Fixes and tweaks
- Sorting is guaranteed to give a fixed order
- Dog tags no longer throw errors when reloading the ACE arsenal mission when you had some saved in your loadout before quitting the last time you played.
* Cleanup, bug fixes and additions
- Added the ability to add items from "CfgMagazines" into the "Misc. items" or custom tabs.
- Added "baseWeapon" class support for weapon attachments. If a weapon attachment has the config property "baseWeapon" defined, it will take that item and show that in the arsenal.
- Added stronger filtering on item scopes (scope > 0 at least for every item)
- Added "descending" (default, as it is now) and "ascending" sort order as a drop down menu,
- Unique backpacks in containers can now be removed with either the "-" or "clear all items" button.
- When sorting by a number, 2 decimal points have been added, so that when you sort by weight it returns the correct order.
* More fixes and tweaks
- Converted the arsenal to partially work with hashmaps instead of arrays (for configItems and virtualItems, currentItems is still an array).
- Because of the above, performance of FUNC(addVirtualItems) and FUNC(removeVirtualItems) has improved immensely.
- Sorting now caches results, reducing repeated sorting times drastically.
- CBA disposable launchers are handled differently now: Within the arsenal, you can change weapon attachments on disposable launchers, but you can't change their magazines (primary or secondary). Item info on the right and the stats show correct information.
- FUNC(addSort) now checks if the new sorting method already exists and doesn't add it if it does.
- FUNC(removeSort) now exists. You can't remove the default sort type (alphabetically) to avoid problems with the arsenal.
- Both FUNC(addStat) and FUNC(compileStats) actually taken priority into account now. Because of that priority on several stats needed to be tweaked.
- FUNC(removeStat) ensures that there are no gaps within the stat array (so if there is an empty spot in the stats page, it's because there is a stat, but the condition for it being shown hasn't been met).
* Update fnc_replaceUniqueItemsLoadout.sqf
* Update fnc_onSelChangedLeft.sqf
* Update fnc_scanConfig.sqf
* Update docs/wiki/framework/arsenal-framework.md
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
* Minor cleanup
* Baseweapon filtering
* Improvements + better unique items support
* Update fnc_fillRightPanel.sqf
* Update fnc_onSelChangedLeft.sqf
Fixed: Switching between weapons with incompatible primary magazines while a compatible secondary magazine is loaded doesn't equip the new weapon's primary magazine.
* Update addons/common/functions/fnc_uniqueUnitItems.sqf
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
* undefined variable
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
* fix undefined loadout var
* Update fnc_fillLoadoutsList.sqf
---------
Co-authored-by: Dystopian <sddex@ya.ru>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2023-07-21 18:25:25 +00:00
|
|
|
_index = _sortCtrl lbAdd _displayName;
|
2020-11-02 18:23:44 +00:00
|
|
|
_sortCtrl lbSetData [_index, _sortName];
|
Arsenal - Add/Fix/Improve/Change numerous aspects (#9040)
* Arsenal update
* Fixes
* Update fnc_onSelChangedLeft.sqf
* Update fnc_updateUniqueItemsList.sqf
* Header fixes
* Fix for defines.hpp
Co-authored-by: Dystopian <sddex@ya.ru>
* Moved fnc_baseWeapon, filtered invalid items
* Update addons/arsenal/functions/fnc_scanConfig.sqf
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
* Fixes and tweaks
- Sorting is guaranteed to give a fixed order
- Dog tags no longer throw errors when reloading the ACE arsenal mission when you had some saved in your loadout before quitting the last time you played.
* Cleanup, bug fixes and additions
- Added the ability to add items from "CfgMagazines" into the "Misc. items" or custom tabs.
- Added "baseWeapon" class support for weapon attachments. If a weapon attachment has the config property "baseWeapon" defined, it will take that item and show that in the arsenal.
- Added stronger filtering on item scopes (scope > 0 at least for every item)
- Added "descending" (default, as it is now) and "ascending" sort order as a drop down menu,
- Unique backpacks in containers can now be removed with either the "-" or "clear all items" button.
- When sorting by a number, 2 decimal points have been added, so that when you sort by weight it returns the correct order.
* More fixes and tweaks
- Converted the arsenal to partially work with hashmaps instead of arrays (for configItems and virtualItems, currentItems is still an array).
- Because of the above, performance of FUNC(addVirtualItems) and FUNC(removeVirtualItems) has improved immensely.
- Sorting now caches results, reducing repeated sorting times drastically.
- CBA disposable launchers are handled differently now: Within the arsenal, you can change weapon attachments on disposable launchers, but you can't change their magazines (primary or secondary). Item info on the right and the stats show correct information.
- FUNC(addSort) now checks if the new sorting method already exists and doesn't add it if it does.
- FUNC(removeSort) now exists. You can't remove the default sort type (alphabetically) to avoid problems with the arsenal.
- Both FUNC(addStat) and FUNC(compileStats) actually taken priority into account now. Because of that priority on several stats needed to be tweaked.
- FUNC(removeStat) ensures that there are no gaps within the stat array (so if there is an empty spot in the stats page, it's because there is a stat, but the condition for it being shown hasn't been met).
* Update fnc_replaceUniqueItemsLoadout.sqf
* Update fnc_onSelChangedLeft.sqf
* Update fnc_scanConfig.sqf
* Update docs/wiki/framework/arsenal-framework.md
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
* Minor cleanup
* Baseweapon filtering
* Improvements + better unique items support
* Update fnc_fillRightPanel.sqf
* Update fnc_onSelChangedLeft.sqf
Fixed: Switching between weapons with incompatible primary magazines while a compatible secondary magazine is loaded doesn't equip the new weapon's primary magazine.
* Update addons/common/functions/fnc_uniqueUnitItems.sqf
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
* undefined variable
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
* fix undefined loadout var
* Update fnc_fillLoadoutsList.sqf
---------
Co-authored-by: Dystopian <sddex@ya.ru>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2023-07-21 18:25:25 +00:00
|
|
|
|
|
|
|
if (_displayName == _lastSort) then {
|
2020-11-02 18:23:44 +00:00
|
|
|
_sortIndex = _index;
|
|
|
|
};
|
2020-08-18 17:43:35 +00:00
|
|
|
};
|
|
|
|
} forEach _sorts;
|
|
|
|
|
|
|
|
_sortCtrl lbSetCurSel _sortIndex;
|