Dean Herbert
2b06dacd0e
Change debounce back to using scheduler
...
Should better allow for adjusting in the future, as well.
2021-08-27 18:57:19 +09:00
Dean Herbert
33aa48bcf6
Merge branch 'master' into lobby-sounds
2021-08-27 18:46:12 +09:00
Dean Herbert
7d9bae4507
Update resources
2021-08-27 18:29:49 +09:00
Dan Balasescu
a28bc9f6b2
Merge branch 'master' into path-control-point-bindable-removal
2021-08-27 09:37:37 +09:00
Bartłomiej Dach
2ef2af17eb
Merge branch 'master' into alternative-difficulty-bindable
2021-08-26 23:07:52 +02:00
Bartłomiej Dach
d71dff4340
Merge branch 'master' into skip-overlay-optimisations
2021-08-26 22:38:17 +02:00
Bartłomiej Dach
875ef3e68f
Merge branch 'master' into fix-mania-editor
2021-08-26 21:00:20 +02:00
Dean Herbert
15aa0458bc
Use PausableSkinnableSound
instead
2021-08-26 17:15:36 +09:00
Dean Herbert
ec85d7f356
Remove unused helper method
2021-08-26 17:15:23 +09:00
Dean Herbert
982c4eff14
Merge branch 'master' into taiko-drum-refacor
2021-08-26 17:13:14 +09:00
Salman Ahmed
2f26d270a3
Merge branch 'master' into score-processor-enum-getvalue-overhead-reduction
2021-08-26 09:55:09 +03:00
Salman Ahmed
15812520bd
Replace global editor test case with mania compose screen test scene
2021-08-26 09:45:01 +03:00
Jamie Taylor
56baecdde4
Add missing interaction sfx to MatchTypePicker
2021-08-26 15:30:20 +09:00
Jamie Taylor
e341f471b0
Add lobby sfx for join/leave/kick/ready/unready events
2021-08-26 15:29:22 +09:00
Dean Herbert
e633b2716d
Fix regression in outro skip handling logic
2021-08-26 13:58:45 +09:00
Dean Herbert
e32933eb54
Avoid Enum.GetValues
in each score population pass
2021-08-26 13:37:53 +09:00
Dean Herbert
f4199958d9
Avoid unnecessary array/LINQ operations when replay frames have no action changes
2021-08-26 13:03:50 +09:00
Dean Herbert
6dcd9427ac
Remove bindable usage in PathControlPoint
...
This is quite a breaking change, but I think it is beneficial due to the large amount of usage of this class.
I originally intended just to remove the allocations of the two delegates handling the `Changed` flow internally, but as nothing was really using the bindables for anything more than a general "point has changed" case, this felt like a better direction.
2021-08-26 12:33:53 +09:00
Dean Herbert
b1a261c902
Avoid using scheduled delegates at all for skip overload input handling
2021-08-26 12:25:37 +09:00
Dean Herbert
956e3c554b
Avoid skip overlay attempting to show when it is already invalid
2021-08-26 12:25:37 +09:00
Salman Ahmed
b4d6495f99
Fix editor skin providing container not providing playable beatmap
2021-08-25 17:52:36 +03:00
Salman Ahmed
f9b25a0159
Add test case for switching to each screen in editor test scenes
2021-08-25 17:52:35 +03:00
Salman Ahmed
3ad0b529fb
Make EditorScreen
inherit from VisibilityContainer
rather than unsafe transforms
2021-08-25 17:14:52 +03:00
Salman Ahmed
196c74fce8
Gray out and remove player clock when users stop playing
2021-08-25 11:31:02 +03:00
Salman Ahmed
599145b46a
Stop clocks when removing them from sync manager
2021-08-25 11:31:02 +03:00
Dean Herbert
fd78d0440b
Update missed conditional
2021-08-25 17:00:32 +09:00
Dean Herbert
ccfff50c6f
Apply fixes in line with issues found during testing
...
I was trying to be too smart with caching, but if the `Play` method was
not called often enough it would have a recent reference. Unfortunately
this requires a separate query to `Entries`, but is also a special case
(no future hitobjects).
This also removes the time-based checks (result status alone should be
all we care about).
2021-08-25 16:56:44 +09:00
Dean Herbert
ef2b5e1c51
Tidy up variable names and unused resolved properties
2021-08-25 16:56:44 +09:00
Dean Herbert
a1936b141b
Refactor base class to allow correct usage in taiko drum
2021-08-25 16:56:44 +09:00
Dean Herbert
681215e5b5
Rewrite object lookup to use previous entry regardless
...
This changes the fallback logic to always prefer the previous resolved
lifetime entry rather than fallback to the first entry ever. I think
this is more correct in all cases.
Also rewrites the inline comments to hopefully be easier to parse.
2021-08-25 16:56:44 +09:00
Dean Herbert
4a294d4de4
Optimise fallback logic to reduce lookups to bare minimum
2021-08-25 16:56:44 +09:00
Dean Herbert
6aa894e55e
Split out separate component
2021-08-25 16:56:44 +09:00
Dan Balasescu
351015357c
Merge branch 'master' into user-events-in-participant-list
2021-08-25 14:39:26 +09:00
Dean Herbert
e1ab3434ed
Add ability to handle user join/leave/kick events in MultiplayerComposite
s
2021-08-25 14:37:14 +09:00
Salman Ahmed
ca527262e3
Merge branch 'master' into countdown-beatmap-info
2021-08-25 08:30:27 +03:00
Salman Ahmed
84637b59ef
Define DifficultyBindableWithCurrent
and use in SliderControl
2021-08-25 07:40:41 +03:00
Dean Herbert
414457ba57
Add basic xmldoc explaining CountdownOffset
2021-08-25 13:24:52 +09:00
Bartłomiej Dach
a6c2cbd2e5
Add countdown settings to beatmap info model
2021-08-24 21:55:10 +02:00
Bartłomiej Dach
e503182a8d
Merge branch 'master' into activity-on-multiplayer-screens
2021-08-24 18:50:55 +02:00
Dean Herbert
568a8ee97e
Merge branch 'master' into fix-hud-test-failure-2
2021-08-24 16:54:48 +09:00
Dean Herbert
3f0f820653
Add comment explaining reasoning for override
2021-08-24 16:54:19 +09:00
Dean Herbert
08f757a584
Merge pull request #14474 from smoogipoo/fix-multi-crash
...
Fix crash when entering multiplayer gameplay
2021-08-24 16:20:18 +09:00
Dan Balasescu
6a916a264f
Merge pull request #14441 from Henry-YSLin/mod-incompatibility-ui
...
Show mods that are incompatible with the current selection
2021-08-24 16:16:35 +09:00
Dan Balasescu
ea98ce1b39
Merge pull request #14465 from peppy/improve-stable-skin-import
...
Improve skin stable import behaviour to better handle similar skins
2021-08-24 16:08:15 +09:00
smoogipoo
9f17c38e36
Fix hud overlay components being blocked from load
2021-08-24 15:18:27 +09:00
Dean Herbert
a5f6c287ea
Split out pinned comment content to only be constructed when required
2021-08-24 14:43:28 +09:00
Dean Herbert
8cd972a9fe
Merge branch 'master' into pinned-comment
2021-08-24 14:37:31 +09:00
smoogipoo
16ddbcd208
Don't bind to RoomId where it's expected to be constant
2021-08-24 14:25:40 +09:00
Dean Herbert
c3b7ce0b05
Remove stray newline
2021-08-24 14:02:50 +09:00
Dean Herbert
afd01d22d6
Adjust visuals of incompatible icon and move to own class
2021-08-24 14:01:49 +09:00
Salman Ahmed
847726547a
Move mod value change callback inside wedge info text component
2021-08-24 07:53:49 +03:00
Dean Herbert
bf0a1167ec
Improve update flow and ensure selected mods is read from local context
2021-08-24 13:35:39 +09:00
smoogipoo
de0de451fe
Refactor to remove resolved dependency
2021-08-24 13:29:19 +09:00
smoogipoo
df170afbc4
Fix multiplayer crashing when entering gameplay
2021-08-24 13:22:06 +09:00
smoogipoo
956c1cc216
Merge branch 'master' into activity-on-multiplayer-screens
2021-08-24 12:33:34 +09:00
Dan Balasescu
dfd61e413a
Merge branch 'master' into difficulty-cache-difficulty-adjust
2021-08-24 12:08:52 +09:00
Dean Herbert
3c9718339c
Merge pull request #14444 from frenzibyte/decouple-ruleset-bindables
...
Decouple rankings overlay's ruleset selector from the game-wide ruleset bindable
2021-08-24 11:58:13 +09:00
Henry Lin
b8fe03b77f
Use Mod.Equals
for comparison
2021-08-24 09:50:09 +08:00
Henry Lin
6e3d05c7ce
Display an icon to signify incompatibility instead of a red tint
2021-08-24 09:42:53 +08:00
Salman Ahmed
13a24ed36f
Merge branch 'master' into update-section-selection-childcount
2021-08-23 20:43:46 +03:00
Bartłomiej Dach
ccf337bdc2
Merge branch 'master' into editor-setup-file-selector-popovers
2021-08-23 18:28:44 +02:00
Davran Dilshat
6bea744e34
invalidate scroll position
2021-08-23 17:13:25 +01:00
Davran Dilshat
20222f09c4
oops redundant default value
2021-08-23 16:55:31 +01:00
Davran Dilshat
9a507ed273
update selected section on children count change
2021-08-23 16:27:29 +01:00
Salman Ahmed
bd42d7aada
Hide popover on file selection
2021-08-23 18:01:01 +03:00
Dean Herbert
a2484692b3
Change brackets to square
2021-08-23 20:37:19 +09:00
Dean Herbert
7b3f7cc7c1
Change skin import to also include directory names in the skin name where appropriate
2021-08-23 20:24:00 +09:00
Dean Herbert
fed0e15cea
Fix typo in ArchiveModelManager
2021-08-23 20:23:46 +09:00
Salman Ahmed
f8a7e0bdb6
Update rankings overlay ruleset bindable with parent on initial display
2021-08-23 13:50:39 +03:00
Salman Ahmed
d3958eb3fb
Revert initial ruleset value logic
2021-08-23 13:28:21 +03:00
Salman Ahmed
f4b69ceb8a
Remove unused using embedded in reverted changes
2021-08-23 12:40:20 +03:00
Salman Ahmed
257934a144
Revert "Revert ruleset when not applied filters (includes scope change)"
...
This reverts commit 9fa39cd34e
.
2021-08-23 12:38:30 +03:00
Salman Ahmed
eeeaefbd7d
Revert "Store default ruleset value for ability to revert"
...
This reverts commit cb7c2f713b
.
2021-08-23 12:38:24 +03:00
Dean Herbert
34b51100ff
Merge pull request #14448 from bdach/basic-design-settings
...
Add basic design settings to editor setup screen
2021-08-23 18:19:58 +09:00
Dean Herbert
c2c9a93e2c
Show editor file choosers in a popover rather than inline
...
Supersedes and closes #14370 .
Closes #14367 .
2021-08-23 18:12:36 +09:00
Dean Herbert
2f6b95da39
Add descriptions for the remaining settings
2021-08-23 17:41:03 +09:00
Dean Herbert
d17f7b5c8b
Side WidescreenStoryboard
to on by default for new beatmaps
2021-08-23 17:40:41 +09:00
Dean Herbert
1de84e1c98
Change description to include mention of video
...
Co-authored-by: Joseph Madamba <madamba.joehu@outlook.com>
2021-08-23 17:34:19 +09:00
Dean Herbert
eaa4d479ac
Merge pull request #14408 from smoogipoo/remove-current-room
...
Remove the global "selected room" from online screens
2021-08-23 17:29:31 +09:00
Salman Ahmed
9fa39cd34e
Revert ruleset when not applied filters (includes scope change)
2021-08-23 11:11:06 +03:00
Salman Ahmed
cb7c2f713b
Store default ruleset value for ability to revert
2021-08-23 11:09:26 +03:00
Salman Ahmed
1d89d757af
Fix beatmap ruleset selector selecting initial ruleset
2021-08-23 09:57:05 +03:00
Dean Herbert
99bb3032a5
Move gradient to be part of the background for now
2021-08-23 15:27:32 +09:00
Salman Ahmed
2ba88923b6
Select user preferred ruleset on overlay ruleset selectors initially
2021-08-23 08:58:54 +03:00
Dean Herbert
58fb0c042b
Remove background scale altogether
...
I'm not sure why this is required. Seems like something which was meant
to exist to handle parallax, but that is already handled elsewhere now.
2021-08-23 14:34:27 +09:00
smoogipoo
4f3a5fbad5
Fix test failure
2021-08-23 14:29:15 +09:00
Dan Balasescu
ead1b47e0e
Merge branch 'master' into localise-beatmap-set-overlay
2021-08-23 13:22:52 +09:00
Dan Balasescu
2ad5914fec
Merge branch 'master' into decouple-ruleset-bindables
2021-08-23 12:40:57 +09:00
Bartłomiej Dach
2e80e2be51
Reword epilepsy warning description text
2021-08-22 21:47:37 +02:00
Bartłomiej Dach
9538a32b5e
Explicitly update beatmap info wedge on mod change
...
This used to already be the case prior to b419ea7
, but in a very
roundabout way. Changes to the value of the star difficulty bindable -
including indirect changes via the set of active mods changing - would
trigger the wedge display to regenerate and load asynchronously.
b419ea7
accidentally broke this by moving down the bindable retrieval to
a lower level, at which point `WedgeInfoText` would only receive the set
of mods selected at the time at which a given beatmap was selected, and
not receive any further updates, breaking the BPM display updating in
real time (as `WedgeInfoText` could not be aware that rate-changing mods
were even in effect).
To resolve, explicitly reload the wedge's contents on mod changes.
2021-08-22 19:16:46 +02:00
Bartłomiej Dach
e4a8f72167
Add failing test case
2021-08-22 19:16:43 +02:00
Bartłomiej Dach
d602dc9d90
Enable epilepsy warning setting persistence in encoder
2021-08-22 17:43:20 +02:00
Bartłomiej Dach
9816af688e
Add basic design settings to setup screen
2021-08-22 17:43:20 +02:00
Salman Ahmed
45b8bd175c
Decouple rankings overlay's ruleset bindable from game-wide bindable
2021-08-22 16:25:35 +03:00
Salman Ahmed
d164529be8
Fix ruleset selector not updating to the first ruleset item until after LoadComplete()
...
This fixes the whole issue behind `Ruleset.Value` being null, by
updating `Current` on BDL rather than waiting for the base logic which
executes at `LoadComplete`.
This seems like something that should happen at the base `TabControl` class itself, by switching `Current` right after the first added tab item, rather than doing it on `LoadComplete`, but I'm not sure about changing framework logic outright, so fixing this locally until it occurs on other places.
2021-08-22 16:25:34 +03:00
Dean Herbert
81e3c9d40f
Update resources
2021-08-22 19:13:21 +09:00
Salman Ahmed
956112eb10
Reword comment and remove brackets
2021-08-22 12:40:41 +03:00
Salman Ahmed
9b1720bd6c
Merge branch 'master' into localise-beatmap-set-overlay
2021-08-22 10:53:31 +03:00
Michael Malloy
9cd0a182f6
Add null check for Android ruleset loading
2021-08-22 00:38:48 -05:00
Henry Lin
3795030ebb
Merge branch 'master' into mod-incompatibility-ui
2021-08-22 11:14:24 +08:00
Henry Lin
0bbddd297c
Remove unused code
2021-08-22 11:05:53 +08:00
Henry Lin
e213562b2a
Add a red tint on mods incompatible with the current selection
2021-08-22 11:01:17 +08:00
Henry Lin
ef6faf04be
Use FirstOrDefault in TooltipContent
2021-08-22 10:22:18 +08:00
Henry Lin
3d402d9e78
List incompatible mods in tooltip of mod button
2021-08-22 10:13:34 +08:00
Nathan Alo
2877b43824
split multiplayer and playlist activity
2021-08-22 09:54:07 +08:00
Bartłomiej Dach
7ab12959a0
Merge branch 'master' into editor-regex
2021-08-21 19:57:26 +02:00
Dean Herbert
77f3668751
Merge branch 'master' into fix-screen-offsetting-on-scaling
2021-08-22 02:28:06 +09:00
Bartłomiej Dach
995338029c
Fix difficulty cache lookups sharing underlying mod instances
...
`DifficultyCacheLookup`s were storing raw `Mod` instances into their
`OrderedMods` field. This could cause the cache lookups to wrongly
succeed in cases of mods with settings. The particular case that
triggered this fix was Difficulty Adjust.
Because the difficulty cache is backed by a dictionary, there are two
stages to the lookup; first `GetHashCode()` is used to find the
appropriate hash bucket to look in, and then items from that hash bucket
are compared against the key being searched for via the implementation
of `Equals()`.
As it turns out, the first hashing step ended up being the saving grace
in most cases, as the hash computation included the values of the mod
settings. But the Difficulty Adjust failure case was triggered by the
quirk that `GetHashCode(0) == GetHashCode(null) == 0`.
In such a case, the `Equals()` fallback was used. But as it turns out,
because the `Mod` instance stored to lookups was not cloned and
therefore potentially externally mutable, it could be polluted after
being stored to the dictionary, and therefore breaking the equality
check. Even though all of the setting values were compared, the hash
bucket didn't match the actual contents of the lookup anymore (because
they were mutated externally, e.g. by the user changing the mod setting
values in the mod settings overlay).
To resolve, clone out the mod structure before creating all difficulty
lookups.
2021-08-21 15:50:33 +02:00
Salman Ahmed
9a6ff29951
Reword comment
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-08-21 15:39:57 +03:00
Salman Ahmed
1729d43cec
Add explanatory comment
2021-08-21 15:18:03 +03:00
Salman Ahmed
df5354eba6
Merge branch 'master' into fix-setting-section-clickability
2021-08-21 14:25:28 +03:00
Salman Ahmed
216ff07497
Merge branch 'master' into fix-setting-section-clickability
2021-08-21 14:11:55 +03:00
Salman Ahmed
76e1d88028
Merge branch 'master' into gameplay-chat-mouse-cursor
2021-08-21 14:01:30 +03:00
Dean Herbert
ae47c5cdb3
Fix bottom area of a settings section not being clickable
2021-08-21 15:08:42 +09:00
Dean Herbert
15d443f6b7
Use the UI mouse cursor when hovering gameplay chat in an interactive state
2021-08-21 14:44:54 +09:00
Dean Herbert
36352d1de4
Improve highlighted chat username shadow effect
2021-08-21 14:34:35 +09:00
Salman Ahmed
20f193c1c2
Fix screen offsetting not handling scaled game instances
...
By using `Content` instead, now the logic will get the X of the settings
overlay at the `Content` space, which can be scaled in the
`ScalingMode.Everything` mode.
And in the case of `ScalingMode.ExcludeOverlays`, a subcontainer
somewhere inside `Content` that's holding the screen stack would be scaled,
but `Content` won't be affected which is what we want in that case.
2021-08-21 04:16:12 +03:00
Endrik Tombak
058d2d2a49
Use nekodex's regex from osu-web
2021-08-20 23:01:06 +03:00
Endrik Tombak
8745fe9e34
Change editor timestamp regex to not match non-editor ones
2021-08-20 22:32:04 +03:00
Dean Herbert
d3dba296d6
Update resources
2021-08-20 23:47:35 +09:00
Dan Balasescu
0c936aec4b
Merge branch 'master' into temporary-directory-test-storage
2021-08-20 22:09:42 +09:00
smoogipoo
f85d3665d8
Cleanups
2021-08-20 21:45:24 +09:00
smoogipoo
5192ee3b57
Fix initial display in room background
2021-08-20 21:40:35 +09:00
smoogipoo
5c8ca32ea4
Simplify lounge implementation
2021-08-20 21:33:21 +09:00
smoogipoo
b1a732b9b7
Remove selectedRoom from OnlinePlayScreen
2021-08-20 21:28:48 +09:00
smoogipoo
ceb07826d7
Merge branch 'master' into remove-current-room
2021-08-20 21:10:41 +09:00
smoogipoo
9458cd5a31
Make DrawableMatchRoom background load instantly
2021-08-20 21:07:51 +09:00
smoogipoo
b190020c4b
Block lounge background screen from exiting
2021-08-20 21:02:25 +09:00
Dan Balasescu
0aea39f5f1
Merge branch 'master' into temporary-directory-test-storage
2021-08-20 20:41:54 +09:00
Dan Balasescu
0a6b678059
Merge branch 'master' into settings-dim-other-sections
2021-08-20 20:22:22 +09:00
Dean Herbert
77149044a5
Allow intro screen to retrieve beatmap even if rulesets is not loaded
2021-08-20 19:43:48 +09:00
smoogipoo
d304e283e4
Don't deselect online room when joined
2021-08-20 18:14:59 +09:00
smoogipoo
c22c6f3a49
Initial room background implementation
2021-08-20 18:14:12 +09:00
Dean Herbert
591ba8cb09
Ensure the final scroll target is used when checking for whether too far down
2021-08-20 17:56:35 +09:00
smoogipoo
258ba4674c
Fix background overflows
2021-08-20 17:50:49 +09:00
Dean Herbert
03e6ca5ba9
Adjust scroll behaviour to feel better
2021-08-20 17:40:56 +09:00
Dean Herbert
2d19f37dc6
Add missing new
method in UserTrackingScrollContainer
for scrolling into view
2021-08-20 17:40:41 +09:00
Dean Herbert
139ff2d6e2
Only fade header in when hovering a section
...
Feels less like the controls are interactive when hovering this way.
2021-08-20 17:40:05 +09:00
smoogipoo
3d96da84e6
Set a default background
2021-08-20 17:05:46 +09:00
smoogipoo
8524937c82
Move screenstack up a level
2021-08-20 17:02:55 +09:00
Dean Herbert
c7266c74a0
Always prefer clicked section when present
2021-08-20 17:00:20 +09:00
Dean Herbert
cff7b1e98f
Ensure the correct fade level is applied over all state changes
2021-08-20 17:00:08 +09:00
Lucas A
9b4c806855
Apply review suggestions.
2021-08-20 09:47:23 +02:00
Lucas A
0a1c9a6c05
Move DownloadButtonStrings -> CommonStrings
2021-08-20 09:26:38 +02:00
smoogipoo
610a162271
Merge branch 'master' into remove-current-room
2021-08-20 16:23:36 +09:00
Lucas A
19cc4a14a3
Localise top score mods statistics
2021-08-20 09:22:15 +02:00
Dan Balasescu
54bc532f0d
Merge branch 'master' into fix-messagepack-union
2021-08-20 16:01:04 +09:00
Dean Herbert
659ec0c1b8
Merge pull request #14403 from Joehuu/fix-nub-glow
...
Fix nub glow color not having 0 alpha when being set
2021-08-20 15:07:30 +09:00
Dan Balasescu
dcff30ed6e
Merge branch 'master' into fix-login-as-guest
2021-08-20 14:06:28 +09:00
Dean Herbert
98357d51da
Merge pull request #14323 from minetoblend/editor-seek
...
Prevent seeking before mp3 start time while editor is playing
2021-08-20 13:28:20 +09:00