Commit Graph

38121 Commits

Author SHA1 Message Date
e394b487e0 Merge branch 'master' into edit-mods-preset 2023-05-03 12:06:16 +09:00
e42b0cc5b1 Merge pull request #23370 from peppy/fix-editor-playfield-padding
Add more padding around playfield in editor to avoid overlap with tool areas
2023-05-03 11:44:55 +09:00
ec8362c6fc Merge pull request #23367 from peppy/fix-uo-tooltip
Fix slider bar tooltips potentially showing negative zero
2023-05-02 18:03:09 +02:00
48dd42407b Merge pull request #23369 from peppy/beatmap-attribute-text-unicode-preference
Fix `BeatmapAttributeText` not supporting unicode artist/title
2023-05-02 17:32:55 +02:00
94ae9d7664 Merge pull request #23357 from OliBomby/fix-reverse-crash
Prevent infinite repeat count when adjusting repeats of 0 length slider
2023-05-02 19:53:26 +09:00
414b80d44e Change flashlight depth in a more standard way 2023-05-02 17:00:54 +09:00
b2b9f2a036 Merge branch 'master' into bubble_mod_implementation_clean 2023-05-02 16:59:55 +09:00
67f83f246b Add more padding around playfield in editor to avoid overlap with tool areas
Closes #23130.
2023-05-02 15:37:02 +09:00
4a97c2c105 Merge pull request #23038 from cdwcgt/scale-background-dim
Add feature to adjust `ScalingContainer` background dim
2023-05-02 15:36:52 +09:00
ce4a6c38a0 Merge pull request #22950 from Joehuu/fix-initial-playlist-highlight
Fix now playing playlist not highlighting selected item on initial open
2023-05-02 15:36:34 +09:00
1e4a628cb1 Merge pull request #23284 from Hy0tic/multiplier-doesnt-update-with-preset-mod
Fix issue where multiplier show wrong value when adjusting speed on preset
2023-05-02 14:59:41 +09:00
57f48e0703 Start colour black to ensure initial appear transition doesn't look silly 2023-05-02 14:33:57 +09:00
ab4f66fad3 Minor readability refactors 2023-05-02 14:31:39 +09:00
7a840e1d82 Remove unnecessary TransferValue spec 2023-05-02 14:29:26 +09:00
7efaa299bd Merge branch 'master' into scale-background-dim 2023-05-02 14:24:54 +09:00
736be6a73b Refactor slightly for readability 2023-05-02 14:11:16 +09:00
ad40099e32 Ensure negative sign is only applied when the post-rounded result is negative 2023-05-02 14:00:52 +09:00
37a5dde859 Fix BeatmapAttributeText not supporting unicode artist/title 2023-05-02 13:47:49 +09:00
e808e7316b Mark delegate value unused and add comment to avoid future regression 2023-05-02 13:29:30 +09:00
63890ef6fe Fix audio offset tooltip potentially showing "-0 ms"
Closes https://github.com/ppy/osu/issues/23339.
2023-05-02 13:24:22 +09:00
983a8f7dfe Merge branch 'master' into fix-reverse-crash 2023-05-02 13:14:34 +09:00
5da78098ad Merge pull request #23362 from bdach/fix-saving-online-beatmap-not-resetting-id
Reset online ID on locally modifying beatmap
2023-05-02 12:41:23 +09:00
436ebdcfcb Fix beatmap leaderboard test failure
Because the online info reset (which includes online ID reset) was
happening after encoding,
`TestSceneBeatmapLeaderboard.TestLocalScoresDisplayOnBeatmapEdit()`
started failing, as the hash no longer matched expectations after the
first save of the map.
2023-05-01 19:44:15 +02:00
cf5211aec9 Enable current distance snap when exactly on a hit object 2023-05-01 19:22:52 +02:00
f470b2c9cc Always reset online info when saving local beatmap 2023-05-01 18:17:45 +02:00
8ab3a87b13 Add failing test case covering online ID reset on save
This test scene passes at e58e1151f3 and
fails at current master, due to an inadvertent regression caused by
e72f103c17.

As it turns out, the online lookup flow that was causing UI thread
freezes when saving beatmaps in the editor, was also responsible for
resetting the online ID of locally-modified beatmaps if online lookup
failed.
2023-05-01 18:17:35 +02:00
1dc34ee25d fix infinite repeat count when adjusting length of 0 length slider 2023-05-01 15:48:54 +02:00
d98aa60efc Merge branch 'master' into cursor-ripples 2023-05-01 09:37:50 +02:00
7cedbca9be Merge branch 'master' into multiplier-doesnt-update-with-preset-mod 2023-04-30 17:36:00 +02:00
2e3daf0a54 Fix leak of ModSettingChangeTracker instances
The `SelectedMods.BindValueChanged()` callback in `ModSelectOverlay` can
in some instances run recursively. This is most heavily leaned on in
scenarios where `SelectedMods` is updated by an external component. In
such cases, the mod select overlay needs to replace the mod instances
received externally with mod instances which it owns, so that the changes
made on the overlay can propagate outwards.

This in particular means that prior to this commit, it was possible to
encounter the following scenario:

	modSettingChangeTracker?.Dispose();
	updateFromExternalSelection(); // mutates SelectedMods to perform the replacement
	                               // therefore causing a recursive call

		modSettingChangeTracker?.Dispose();
		// inner call continues
		modSettingChangeTracker = new ModSettingChangeTracker(SelectedMods.Value);

	// outer call continues
	modSettingChangeTracker = new ModSettingChangeTracker(SelectedMods.Value);

This leaks one `modSettingChangeTracker` instance from the inner call,
which is never disposed.

To avoid this, move the disposal to the same side of the recursion that
the creation happens on, changing the call pattern to:

	updateFromExternalSelection(); // mutates SelectedMods to perform the replacement
	                               // therefore causing a recursive call

		modSettingChangeTracker?.Dispose();
		// inner call continues
		modSettingChangeTracker = new ModSettingChangeTracker(SelectedMods.Value);

	modSettingChangeTracker?.Dispose();
	// outer call continues
	modSettingChangeTracker = new ModSettingChangeTracker(SelectedMods.Value);

which, while slightly wasteful, does not cause any leaks.

The solution is definitely suboptimal, but addressing this properly
would entail a major rewrite of the mod instance management in the mods
overlay, which is probably not the wisest move to make right now.
2023-04-30 17:31:41 +02:00
b39a9d816e Add basic structural requirements for cursor ripples 2023-04-30 14:48:03 +09:00
646d4965b9 Merge branch 'master' into fix-exclusive-fullscreen-detection 2023-04-29 14:39:34 +02:00
119687cf6e Merge pull request #23329 from rltn/clickable-country-name-in-profile
Clickable country name in profile
2023-04-29 14:19:13 +09:00
607a04ae73 Fix the issue 2023-04-29 10:29:33 +09:00
2d6c0d2900 use of Child instead of Children 2023-04-28 19:24:07 +03:00
6929be49b7 Change condition for exclusive fullscreen notice to only show when using the correct renderer
This avoids the notice showing when running on windows, but using the
newer renderers (where the underlying logic hasn't been tested properly
and can result in false-positives).

Supersedes https://github.com/ppy/osu-framework/pull/5759 as a more
correct implementation.
2023-04-28 22:36:30 +09:00
4b0ee392f6 add OsuHoverContainer 2023-04-28 05:48:54 +03:00
17730f05bc remove UpdateableCountryText 2023-04-28 05:47:05 +03:00
4d144cd5b5 clearing the code 2023-04-28 02:06:13 +03:00
092377fdaa moving UpdateableCountryText 2023-04-28 01:47:14 +03:00
e9843f2066 replace country text object 2023-04-28 01:16:50 +03:00
b13201fb79 UpdateableCountryText rewrite 2023-04-28 01:14:42 +03:00
f5c652325a Create UpdateableCountryText.cs 2023-04-27 23:44:18 +03:00
07efa7d660 Merge branch 'master' into fix-storyboard-loop-end-time 2023-04-26 21:53:26 +02:00
61b62b35f5 Merge pull request #18626 from ggliv/decouple-mod-fails
Allow ModFailCondition to arbitrarily trigger failures
2023-04-26 16:19:42 +09:00
cb7b246e33 Fix naming and update in line with nullability 2023-04-26 15:27:58 +09:00
210c5e7c53 Merge branch 'master' into decouple-mod-fails 2023-04-26 15:26:20 +09:00
6a3b587374 Merge pull request #23260 from Haspamelodica/master
Fix some videos with uppercase file extensions not displaying correctly in-game
2023-04-26 14:29:25 +09:00
1efc78c0f8 Actually use new end time property when setting lifetimes 2023-04-26 13:28:51 +09:00
5ec8ecb11b Merge pull request #23309 from peppy/key-counters-fix
Fix key counters counting during break time
2023-04-25 21:15:12 +02:00