Dean Herbert
015df282fe
Simplify copy operations
2021-08-30 18:32:55 +09:00
Davran Dilshat
1aeae2b8c8
reverse ternary operator
2021-08-30 10:11:41 +01:00
Dean Herbert
4da2dca339
Apply the default SampleControlPoint
if not externally provided
...
This is mostly to handle tests for now, as generally this should be
provided by an external source in all other cases.
2021-08-30 17:21:07 +09:00
Dean Herbert
d35c4da906
Add new control point to legacy regeneration logic
2021-08-30 17:14:53 +09:00
Dean Herbert
6ee4a6526c
Don't block sample points from still being added to ControlPointInfo
2021-08-30 17:14:53 +09:00
Dean Herbert
6fd24a5d92
Remove redundant null coalesce
2021-08-30 17:14:53 +09:00
Dean Herbert
ccacf56dd8
Move to legacy namespace
2021-08-30 17:14:53 +09:00
Dean Herbert
7257aae7f2
Move samples to LegacyControlPointInfo
2021-08-30 17:14:53 +09:00
Dean Herbert
da7a871afa
Update inline comment to point to new variable location
...
Co-authored-by: PercyDan <50285552+PercyDan54@users.noreply.github.com>
2021-08-30 16:27:24 +09:00
Dean Herbert
678386f5c4
Fix missed null coalesce
2021-08-30 16:05:56 +09:00
Dean Herbert
fa2bf42188
Update tooltip implementations
2021-08-30 16:05:00 +09:00
Dean Herbert
f64efdc4a9
Merge branch 'update-extension-usages' into update-framework
2021-08-30 16:00:09 +09:00
Dean Herbert
58a052ea1f
Update framework
2021-08-30 16:00:07 +09:00
Dean Herbert
6a6dac609c
Fix instability of taiko double conversion
...
Until now, the taiko speed multiplier was potentially applied more than
once if conversion was run multiple times.
2021-08-30 15:30:18 +09:00
Dean Herbert
ee49305cad
Move taiko legacy speed multiplier to osu.Game
project
...
Allows it to be used in local case in `LegacyBeatmapEncoder`.
2021-08-30 15:13:31 +09:00
Dean Herbert
4dd60e3299
Merge branch 'master' into taiko-drum-refacor
2021-08-30 14:12:52 +09:00
Dan Balasescu
7be825f470
Merge pull request #14488 from frenzibyte/multi-spectator-player-leaving
...
Gray out and stop player instances who quit during multi-spectator sessions
2021-08-30 12:04:19 +09:00
Davran Dilshat
90c313e2ad
add methods to get a user from their username
2021-08-29 19:19:55 +01:00
Salman Ahmed
6dc11543ad
Handle (null?) PP in PerformanceTable
2021-08-29 17:20:33 +03:00
Salman Ahmed
6aaef7b0be
Handle null PP during score set in TopScoreStatisticsSection
...
Supersedes #14562
Closes #14541
2021-08-29 17:19:17 +03:00
Salman Ahmed
8f3416d853
Assert PP not null when showPerformancePoints
is true
2021-08-29 16:03:39 +03:00
Salman Ahmed
e374ef163d
Update localisable formattable extensions usages inline with framework change
2021-08-29 15:00:28 +03:00
Joseph Madamba
9a5445bded
Fix overlays closing when clicking any empty area of the toolbar instead
2021-08-28 22:25:13 -07:00
Joseph Madamba
38912bfc16
Fix floating overlays not closing when clicking some empty area of the toolbar
2021-08-28 20:38:35 -07:00
Bartłomiej Dach
2efe82a18d
Remove popover container from manual input manager test scene
2021-08-28 20:20:42 +02:00
Bartłomiej Dach
d9db1ecee9
Remove game-global popover container
2021-08-28 20:05:59 +02:00
Bartłomiej Dach
fcc3e57d5d
Move overlay colour provider up to editor screen
2021-08-28 20:05:58 +02:00
Bartłomiej Dach
e94d96f250
Add local popover container to editor screens
2021-08-28 20:05:58 +02:00
Bartłomiej Dach
7457480b50
Add local popover container to lounge subscreen
2021-08-28 20:05:58 +02:00
Salman Ahmed
589f2863ca
Move incompatibility tooltip logic to local player mod select overlays
...
This one turned out to be a bit more involved, due to tooltips being
shared and having the potential of being used somewhere where it
shouldn't be, due to the same content type matching.
That's the reason I've defined a protected `TargetContentType`, to be
able to separate "local player mod tooltips" and regular mod tooltips
apart.
Definitely unsure about the solution, but that's as far as I can think
of right now.
2021-08-28 02:38:46 +03:00
Salman Ahmed
e527bfd4bf
Move incompatibility icon logic to local player mod select overlays
2021-08-28 02:37:46 +03:00
Dean Herbert
681a87d4ec
Update framework
2021-08-28 07:08:06 +09:00
Dean Herbert
804ca88d63
Update framework
2021-08-27 19:52:45 +09:00
Salman Ahmed
378734a7f8
Separate solo spectator player and "exit on restart" logic to own class
2021-08-27 13:24:37 +03:00
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