Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Arsenal - Fill left panel over multiple frames #9785

Draft
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

LinkIsGrim
Copy link
Contributor

@LinkIsGrim LinkIsGrim commented Feb 9, 2024

When merged this pull request will:

  • Title.
  • Cache missionConfigFile insignias.

See #9787 first.

The intent is to reduce/eliminate the noticeable hangups when switching tabs or opening the arsenal with lots of items. CUP + CFP + WS already puts the weapons count at around ~1000 with a full arsenal.

Specifics:

  • Up to 250 items are processed per frame.
  • If less than 250 items are available, filling is done in a single frame.
  • The arsenal center's current item (if equipped) for that tab is added and selected first so actions, stats, and the right panel can be handled immediately for responsiveness.
  • The button for the current tab is disabled until all items are added.
  • If the player switches tabs before all items are added, filling for the previous tab is aborted.
  • The leftPanelFilled event is only raised once all virtual items for that tab are processed. Anything using API shouldn't be affected.
  • Sorting is only done after all items are processed.

Known issues:

  • Opening and closing the loadouts display before processing is done will overload the tab.
  • Since the current item is added first, the scroll bar will jump around noticeably if the item is sorted lower on the panel:
ArmA.3_2024.02.09-08.06.mp4

IMPORTANT

  • If the contribution affects the documentation, please include your changes in this pull request so the documentation will appear on the website.
  • Development Guidelines are read, understood and applied.
  • Title of this PR uses our standard template Component - Add|Fix|Improve|Change|Make|Remove {changes}.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant