Commit Graph

32778 Commits

Author SHA1 Message Date
dabe295196 Merge pull request #18141 from bdach/mod-overlay/multiple-instance-loop
Fix toggling mods after exiting first run setup overlay at UI scale step causing stack overflow
2022-05-08 12:36:06 +09:00
a45ca2ad10 Fix focused overlays not registering as such
Also fixes bug wherein opening skin editor at song select with mod
select open would show mod select on top of the skin editor.
2022-05-07 22:50:14 +02:00
46d3220c07 Isolate sample screens from global mods bindable
Fixes scenario wherein entering the first run setup overlay, exiting at
the "UI scale" step (which shows a song select), then moving to actua
song select and trying to select a mod would lead to a crash.

The crash was caused by two active mod screen instances attempting to
swap the global mod bindable's mod instances for ones they owned. This
logic - while generally problematic and hard to maintain - was fixing
several issues with mod reference management and setting copying, so I'm
letting it live another day.

This change will mean that the song select preview on the "UI scale"
step will not receive the same mods that the actual game has enabled.
That said, it already doesn't use the same beatmap or ruleset, so this
looks fine to break.
2022-05-07 21:44:58 +02:00
2278da563e Add various xmldoc for nested classes 2022-05-08 02:03:28 +09:00
03c80d9197 Reorder methods / properties in ModSelectScreen for legibility 2022-05-08 01:58:37 +09:00
1d27ef18dc Add xmldoc for IsValidMod 2022-05-08 01:49:29 +09:00
0d32bf91eb Hardcode hide key handling in ModSelectScreen 2022-05-08 01:35:11 +09:00
0c2b4a6c0b Fix invalid IsLoaded check
Would fail when `availableMods` would be changed from a different thread
while the columns aren't loaded.
2022-05-07 15:44:22 +02:00
528342411e Merge branch 'master' into mod-overlay/integration 2022-05-07 13:52:19 +02:00
fe69bd7ed9 Merge branch 'master' into change-mod-scroll-behaviour 2022-05-07 13:29:02 +02:00
9a56f6db44 Merge branch 'mod-overlay/back-button' into mod-overlay/integration 2022-05-07 13:15:13 +02:00
a716f62a6a Flash back button when keyboard back binding is pressed 2022-05-07 13:01:36 +02:00
d4c9de8596 Move button width in mod select to constant 2022-05-07 13:23:48 +03:00
9a7aeec098 Merge branch 'master' into mod-overlay/back-button 2022-05-07 13:05:25 +03:00
8ee3fdd0aa Change mod scrolling behaviour to not scroll horizontally on columns/settings 2022-05-07 12:15:11 +03:00
a44e21d1b2 Merge branch 'master' into mod-overlay/localisation-strings 2022-05-07 12:13:28 +03:00
fd75963ca2 Dismiss mod select if select binding is pressed 2022-05-07 11:01:05 +02:00
e7e7486a8e Merge branch 'mod-overlay/back-button' into mod-overlay/integration 2022-05-07 10:59:30 +02:00
b72cf4cd5d Merge branch 'mod-overlay/localisation-strings' into mod-overlay/back-button 2022-05-07 10:58:09 +02:00
f761d4d4d4 Reuse "select/deselect all" localisable string on column toggle 2022-05-07 10:56:03 +02:00
fa0a256f48 Add localisable string for difficulty multiplier display 2022-05-07 10:48:15 +02:00
db04bcf1ce Merge branch 'master' into distance-snap-grid-current-tiume 2022-05-07 11:47:38 +03:00
271d64fd54 Add back button to mod select overlays 2022-05-07 10:17:32 +02:00
6ad990dfc3 Add basic localisation strings for new mod select 2022-05-07 10:17:24 +02:00
4ff96f82be Dim other buttons if customisation panel is open 2022-05-07 09:50:09 +02:00
18e4c3ed0f Update mod columns even if they're not present/offscreen
Important to make "select/deselect all" operations work on all columns
simultaneously, even if they're offscreen. Unfortunately by the nature
of how the existing selection animation works, it is hard-tied to the
update loop, so we need to compensate.
2022-05-07 09:50:09 +02:00
9514a5cef7 Only load panels asynchronously outside of BDL 2022-05-07 09:50:09 +02:00
9f96dd47d1 Remove schedule in panel load
It was causing selection/deselection of all mods to work improperly if a
select/deselect all operation was requested before the panel was
scrolled into view.

In general the schedule was an over-optimisation - the game-global set
of available mods shouldn't be changing so often as to warrant such an
aggressive debounce.
2022-05-07 09:50:09 +02:00
852e4a9766 Add select/deselect all buttons to free mod select screen 2022-05-07 09:29:33 +02:00
0b95594f60 Add some more padding between footer and column scroll 2022-05-07 09:29:33 +02:00
0c6de331f3 Move footer button padding to a higher level 2022-05-07 09:29:32 +02:00
202a603d72 Merge branch 'master' into distance-snap-grid-current-tiume 2022-05-07 08:49:30 +02:00
dd63657dfb Merge pull request #18065 from huoyaoyuan/code-style
Enforce code style analysis shipped with .NET SDK
2022-05-07 14:58:19 +09:00
2dd9899cd7 Merge pull request #18126 from bdach/mod-overlay/fix-broken-mod-reference-logic
Fix several issues with new mod select reference replacement logic
2022-05-07 14:36:05 +09:00
ce14fddcb2 Use above-1 offset instead for more correct feeling parallax 2022-05-07 14:02:07 +09:00
71758390b5 Fix time based distance grid alpha not correctly accounting for distance spacing multiplier 2022-05-07 13:37:36 +09:00
8c73ed7207 Fix sequence equality check not using reference comparison 2022-05-06 21:47:04 +02:00
621f746789 Do not modify selected mods through panel state change during external update 2022-05-06 21:47:04 +02:00
c199b8fcb6 Simplify state management in ModColumn
Bad sign when you can't follow your own code.

All of the various state changing methods were flattened into one
because it was too hard to follow what was calling what and why.
2022-05-06 21:46:16 +02:00
8080f784fd Apply offset by a factor of 0.8x from screen offset 2022-05-06 22:20:09 +03:00
049fed42e2 Fix side overlay offsetting not affecting fullscreen overlays 2022-05-06 21:42:20 +03:00
723fce8174 Move inverting value to happen outside clamp
Looks to have no effect, but makes sense to happen outside instead.
2022-05-06 18:54:13 +03:00
d78f1d158d Use GetEndTime() instead of StartTime
Companion to
246479bf34
2022-05-06 18:51:35 +03:00
112496204d Make nested class private 2022-05-06 18:50:28 +03:00
3077d398ef Merge branch 'master' into distance-snap-grid-current-tiume 2022-05-06 18:20:22 +03:00
1409f8ca96 Merge branch 'master' into fix-toolbox-expansion 2022-05-06 18:00:01 +03:00
bda57dd970 Merge pull request #18122 from bdach/mod-overlay/leftover-mod-area-border
Remove leftover border thickness spec in mod settings area
2022-05-06 23:58:35 +09:00
f222affe88 Merge branch 'master' into fix-toolbox-expansion 2022-05-06 17:54:14 +03:00
144d33f0d2 Merge branch 'master' into distance-snapping-test 2022-05-06 17:29:27 +03:00
c533c93ffd Remove leftover border thickness spec in mod settings area
Was never supposed to be there, it was a vestige of a previous design
iteration that went by unnoticed.
2022-05-06 15:34:49 +02:00