1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-17 23:32:55 +08:00
Commit Graph

38409 Commits

Author SHA1 Message Date
Dean Herbert
747f912af5 Fix incorrect cancellation logic 2023-05-05 21:08:01 +09:00
Dean Herbert
5d78561aa3 Remove weird catch logic 2023-05-05 21:05:57 +09:00
Dean Herbert
2a3e03695c Simplify ExportAsync, remove weird dedupe logic and unnecessary return success code 2023-05-05 21:05:52 +09:00
Dean Herbert
4ccfebc02b Simplify ExportToStreamAsync implementation 2023-05-05 21:01:10 +09:00
Dean Herbert
fc2d2de34c Fix notification text not including export filename 2023-05-05 16:53:27 +09:00
Dean Herbert
9cafb20fcb Move file missing logging to a better location, and log actual filenames to logs 2023-05-05 16:53:16 +09:00
Dean Herbert
4ec98b0578 Improve xmldoc and fix silly progress text in LegacyArchiveExporter 2023-05-05 16:45:45 +09:00
Dean Herbert
0158102467 Rename class back to original name so I can read the diff 2023-05-05 16:19:10 +09:00
Dean Herbert
b7a287869a Add display of beatmap slider velocity when adjusting 2023-05-05 15:57:38 +09:00
Dean Herbert
cc70d89bf9 Move editor inspector classes out of ruleset namespace 2023-05-05 15:57:38 +09:00
Dean Herbert
4663057060 Split out EditorInspector implementation for reuse 2023-05-05 15:54:15 +09:00
Dean Herbert
76b2f0e6dd Show slider velocity in hit object inspector 2023-05-05 15:15:18 +09:00
Dean Herbert
560f71ef53 Adjust BlurredIcon expansion ratio to fix glow getting cut off at lower resolutions
Closes https://github.com/ppy/osu/issues/23210.

Ballparked the fix to work down to the lowest resolution we support. The
previous number (`2.5f`) was also likely ballparked so the fix seems in
line with expectations.

I don't want to put too much thought into this because the design of
this screen is likely going to change in the mean time anyway.
2023-05-05 14:29:04 +09:00
Dean Herbert
8391e2a538 Move reporting code out of DrawableChatUsername into more correct locations 2023-05-05 14:03:42 +09:00
Dean Herbert
698baa78bf
Merge pull request #22711 from Terochi/keep-shared-settings-ruleset-change
Keep shared mod settings when changing ruleset
2023-05-05 13:29:55 +09:00
Bartłomiej Dach
485b7282dc
Clarify type check 2023-05-04 19:06:07 +02:00
Bartłomiej Dach
bdd96caaa9
Merge branch 'master' into edit-mods-preset 2023-05-04 18:59:47 +02:00
Bartłomiej Dach
1f1342b099
Reword xmldoc 2023-05-04 18:33:49 +02:00
Bartłomiej Dach
88e77ad390
Rename Settings{-> Map} 2023-05-04 18:30:41 +02:00
Bartłomiej Dach
26337dbcd8
Do not rely on unspecified Dictionary.Values ordering 2023-05-04 18:29:01 +02:00
Bartłomiej Dach
0d2396c557
Rename method to better indicate directionality 2023-05-04 18:15:12 +02:00
Dean Herbert
95b541ab39 Update framework 2023-05-04 11:27:18 +09:00
Dean Herbert
0034124d79 Remove unnecessary content clear 2023-05-04 11:25:10 +09:00
Dean Herbert
26b8c5b852 Fix mod list display not updating after clicking "use current"
This is not a regression from my changes. It was broken before them.
2023-05-04 11:23:51 +09:00
Dean Herbert
49fb5da1a2 Stop passing preset panel to popover 2023-05-04 11:19:09 +09:00
Dean Herbert
b12d139317 Remove dead code 2023-05-04 11:16:52 +09:00
Dean Herbert
99d2616c34 Move drawable construction to load for simplicity 2023-05-04 11:14:51 +09:00
Dean Herbert
be995f1359 Add localisation support for new button string 2023-05-04 11:11:19 +09:00
Dean Herbert
b7abab6d8a More variable improvements 2023-05-04 11:10:05 +09:00
Dean Herbert
0a584f0652 Simplify check logic and improve variable naming 2023-05-04 11:07:09 +09:00
Bartłomiej Dach
59ece64d25
Merge branch 'master' into skin-editor-change-handler-improvement 2023-05-03 19:42:42 +02:00
Bartłomiej Dach
1d4d31e35c
Trim comments
Leaving only the ones that add anything useful and do not restate the
code verbatim.
2023-05-03 19:22:52 +02:00
Bartłomiej Dach
27fabd99fb
Rename variables for legibility
Having `typedComponents` and `typeComponents` next to each other is
asking for trouble.
2023-05-03 19:21:16 +02:00
Terochi
d1d4b54c64 Simplified 2023-05-03 18:31:35 +02:00
Bartłomiej Dach
fa3f42ba75
Merge pull request #23386 from peppy/fix-osu-logo-input-handling
Extend input handling of osu! logo to full border area
2023-05-03 17:48:51 +02:00
cdwcgt
4549a865d9
Merge branch 'master' into export 2023-05-04 00:18:01 +09:00
cdwcgt
967e801f9c
code inspect 2023-05-03 23:26:58 +09:00
cdwcgt
debbd376bd
move scrollContent update logic to updateActiveState() 2023-05-03 23:24:14 +09:00
cdwcgt
f4b1264cc9
use button Enable status to ensure preset name is not null 2023-05-03 23:22:46 +09:00
cdwcgt
aa5a026c67
remove local button handle 2023-05-03 23:14:24 +09:00
cdwcgt
c609e6345c
remove Use Current Mods menu item 2023-05-03 23:02:50 +09:00
Dean Herbert
be15d07b17 Tidy up various implementation details 2023-05-03 18:59:39 +09:00
Dean Herbert
b932e4d986 Rename DrawableUsername to DrawableChatUsername and only pass message ID 2023-05-03 18:53:22 +09:00
Dean Herbert
b28d7b1a92 Fix non-block namespace 2023-05-03 18:51:02 +09:00
Dean Herbert
4f55afb60d Merge branch 'master' into chat-report 2023-05-03 18:50:38 +09:00
Dean Herbert
444f66b0ee Move to base class for added safety 2023-05-03 18:46:30 +09:00
Dean Herbert
cd31cff8cd Fix event subscriptions not being cleaned up in DrawableCarouselBeatmap
The handling of cleanup is performed only the `Item_Set` method. This
was already correctly called for `DrawableCarouselBeatmapSet`, but not
for the class in question here.

This would cause runaway memory usage at song select when opening many
beatmaps to show their difficulties. For simplicity, we don't yet pool
these (and generate the drawables each time a set is opened) which isn't
great but likely will be improved upon when we update the visual /
filtering of the carousel. But this simplicity caused the memory usage
to blow out until exiting back to the main menu when cleanup would
finally occur.
2023-05-03 18:41:30 +09:00
Dean Herbert
5757eb7529 Update a few more instances of 0.96f scale constants 2023-05-03 18:20:12 +09:00
Bartłomiej Dach
88135a3be8
Merge pull request #23384 from peppy/fix-incorrect-transform-thread
Fix potentially incorrect thread access in `OsuTabControlCheckbox`
2023-05-03 10:37:27 +02:00
Dean Herbert
ff28d941b3
Merge pull request #23385 from Joehuu/scroll-back-button-block-hover
Fix overlay scroll back button not absorbing hover from behind
2023-05-03 16:28:05 +09:00
Bartłomiej Dach
de1b28bcb2
Fix incorrect initial state of checkbox
This only ever barely used to work without the `(..., true)`
in `master` because of haphazard operation ordering.
2023-05-03 09:27:23 +02:00
Bartłomiej Dach
5f781bd6de
Move callback to LoadComplete()
Is the more correct place for `BindValueChanged()` callbacks.
2023-05-03 09:26:54 +02:00
Dean Herbert
453143813f Extend input handling of osu! logo to full border area
This is the easiest way to make this happen. It does mean the pink area
is being drawn behind the white border, but I haven't found a scenario
where this is noticeable.

Closes #4217.
2023-05-03 14:57:57 +09:00
Joseph Madamba
1c74f6e8ea
Fix regressed button hover fade in 2023-05-02 22:54:42 -07:00
Joseph Madamba
bede1292de
Fix overlay scroll back button not absorbing hover from behind 2023-05-02 22:40:37 -07:00
Dean Herbert
a3efae3690 Fix potentially incorrect thread access in OsuTabControlCheckbox
https://github.com/ppy/osu/actions/runs/4868337922/jobs/8681736829.
2023-05-03 14:33:32 +09:00
Dean Herbert
6b017ac05f
Merge pull request #23308 from OliBomby/sample-control-points
Remove SampleControlPoint and DifficultyControlPoint from HitObject
2023-05-03 14:21:51 +09:00
Dean Herbert
f930c4bd0a Move struct to bottom of file 2023-05-03 13:33:31 +09:00
Dean Herbert
48fd99818e Split out default and sample application 2023-05-03 13:30:45 +09:00
Dean Herbert
cca15f930c Refactor applyLegacyInfoAndDefaults for legibility 2023-05-03 13:26:50 +09:00
Dean Herbert
588a4e6196 Move pragma disable to top of LegacyBeatmapDecoder
Makes more sense as it's used multiple times in the class.
2023-05-03 13:19:14 +09:00
Dean Herbert
e394b487e0
Merge branch 'master' into edit-mods-preset 2023-05-03 12:06:16 +09:00
Dean Herbert
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
Bartłomiej Dach
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
Bartłomiej Dach
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
Dean Herbert
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
Dean Herbert
414b80d44e Change flashlight depth in a more standard way 2023-05-02 17:00:54 +09:00
Dean Herbert
b2b9f2a036 Merge branch 'master' into bubble_mod_implementation_clean 2023-05-02 16:59:55 +09:00
OliBomby
2e018c8b06
Fix comment 2 osu.Game/Rulesets/Objects/Types/IHasGenerateTicks.cs
Co-authored-by: Dean Herbert <pe@ppy.sh>
2023-05-02 08:41:47 +02:00
OliBomby
c2ad8c2320
Fix comment 1 osu.Game/Rulesets/Objects/Types/IHasGenerateTicks.cs
Co-authored-by: Dean Herbert <pe@ppy.sh>
2023-05-02 08:41:30 +02:00
Dean Herbert
67f83f246b Add more padding around playfield in editor to avoid overlap with tool areas
Closes #23130.
2023-05-02 15:37:02 +09:00
Dean Herbert
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
Dean Herbert
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
Dean Herbert
8a536c1cdb Fix non-block namespace usage 2023-05-02 15:09:24 +09:00
Dean Herbert
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
Dean Herbert
e3c384c6b5 Merge branch 'master' into sample-control-points 2023-05-02 14:38:39 +09:00
Dean Herbert
57f48e0703 Start colour black to ensure initial appear transition doesn't look silly 2023-05-02 14:33:57 +09:00
Dean Herbert
ab4f66fad3 Minor readability refactors 2023-05-02 14:31:39 +09:00
Dean Herbert
7a840e1d82 Remove unnecessary TransferValue spec 2023-05-02 14:29:26 +09:00
Dean Herbert
7efaa299bd Merge branch 'master' into scale-background-dim 2023-05-02 14:24:54 +09:00
Dean Herbert
736be6a73b Refactor slightly for readability 2023-05-02 14:11:16 +09:00
Dean Herbert
ad40099e32 Ensure negative sign is only applied when the post-rounded result is negative 2023-05-02 14:00:52 +09:00
Dean Herbert
37a5dde859 Fix BeatmapAttributeText not supporting unicode artist/title 2023-05-02 13:47:49 +09:00
Dean Herbert
e808e7316b Mark delegate value unused and add comment to avoid future regression 2023-05-02 13:29:30 +09:00
Dean Herbert
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
Dean Herbert
983a8f7dfe
Merge branch 'master' into fix-reverse-crash 2023-05-02 13:14:34 +09:00
Dean Herbert
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
Bartłomiej Dach
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
OliBomby
cf5211aec9 Enable current distance snap when exactly on a hit object 2023-05-01 19:22:52 +02:00
Bartłomiej Dach
f470b2c9cc
Always reset online info when saving local beatmap 2023-05-01 18:17:45 +02:00
Bartłomiej Dach
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
OliBomby
8c21fddb5e remove all redundancies from encoded control points 2023-05-01 16:53:38 +02:00
OliBomby
1dc34ee25d fix infinite repeat count when adjusting length of 0 length slider 2023-05-01 15:48:54 +02:00
OliBomby
8302bb1f37 dont encode custom sample bank for objects without legacy samples 2023-05-01 14:56:29 +02:00
OliBomby
27cfadca16 add sample info to Banana and SpinnerBonusTick 2023-05-01 14:54:06 +02:00
Terochi
4d52ce769b Revert SaveState() calling on initialization 2023-05-01 12:53:58 +02:00
OliBomby
cef9f73d34 dont assign custom sample bank and volume to hitobjects in non-mania gamemodes
this makes it easier to edit hitsounds in the stable editor after export because the sample control point effects wont get overwritten by the properties of the hitobject
2023-05-01 12:31:27 +02:00
Bartłomiej Dach
d98aa60efc
Merge branch 'master' into cursor-ripples 2023-05-01 09:37:50 +02:00
OliBomby
2a94757154 Make sure the first object you place has bank and volume 2023-05-01 00:49:01 +02:00
OliBomby
608fa3cc73 Merge remote-tracking branch 'upstream/master' into sample-control-points 2023-04-30 19:47:03 +02:00
OliBomby
139a1d7e6d fix legacy encoder writing sample info while not writing node samples 2023-04-30 17:46:47 +02:00
Bartłomiej Dach
7cedbca9be
Merge branch 'master' into multiplier-doesnt-update-with-preset-mod 2023-04-30 17:36:00 +02:00
Bartłomiej Dach
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
Terochi
fb4b681cc5 Use Queue instead of Stack 2023-04-30 16:36:01 +02:00
Terochi
8f02bd80f9 Addressed changes 2023-04-30 16:11:52 +02:00
Terochi
949dc1c0f9 Improved logic 2023-04-30 12:05:55 +02:00
Dean Herbert
b39a9d816e Add basic structural requirements for cursor ripples 2023-04-30 14:48:03 +09:00
Terochi
8ec2154965 Fixed ApplyStateChange to happen in correct order 2023-04-30 02:01:18 +02:00
OliBomby
83111223e0 fix null sample 2023-04-30 01:08:52 +02:00
OliBomby
92efd04f31 fix sample of drumroll ticks being bankless 2023-04-29 23:52:24 +02:00
OliBomby
ffcc8e91b2 fix legacy parser incorrectly assigning sample info for sliders 2023-04-29 23:51:49 +02:00
Terochi
17e4b75dfd Save first state when editing 2023-04-29 20:54:19 +02:00
Terochi
3b0ba4b38b Improved logic for ApplyStateChange for skin editor 2023-04-29 19:52:22 +02:00
Bartłomiej Dach
646d4965b9
Merge branch 'master' into fix-exclusive-fullscreen-detection 2023-04-29 14:39:34 +02:00
Dean Herbert
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
Cootz
607a04ae73 Fix the issue 2023-04-29 10:29:33 +09:00
_ltn
2d6c0d2900 use of Child instead of Children 2023-04-28 19:24:07 +03:00
OliBomby
f7c84030ac remove bank default value 2023-04-28 17:22:34 +02:00
Dean Herbert
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
_ltn
4b0ee392f6 add OsuHoverContainer 2023-04-28 05:48:54 +03:00
_ltn
17730f05bc remove UpdateableCountryText 2023-04-28 05:47:05 +03:00
_ltn
4d144cd5b5 clearing the code 2023-04-28 02:06:13 +03:00
_ltn
092377fdaa moving UpdateableCountryText 2023-04-28 01:47:14 +03:00
_ltn
e9843f2066 replace country text object 2023-04-28 01:16:50 +03:00
_ltn
b13201fb79 UpdateableCountryText rewrite 2023-04-28 01:14:42 +03:00
_ltn
f5c652325a Create UpdateableCountryText.cs 2023-04-27 23:44:18 +03:00
Bartłomiej Dach
07efa7d660
Merge branch 'master' into fix-storyboard-loop-end-time 2023-04-26 21:53:26 +02:00
OliBomby
354cd23874 removed all usage of hitobject's DifficultyControlPoint 2023-04-26 18:17:02 +02:00
OliBomby
c44f71a737 remove all regular usage of DifficultyControlPoint 2023-04-26 17:55:38 +02:00
OliBomby
1b4f4372d5 fixed sample control point applying 2023-04-26 14:32:12 +02:00
OliBomby
5accb05f45 fix invalidoperation exception 2023-04-26 14:28:48 +02:00
OliBomby
c6fc180659 remove all test usages of SampleControlPoint 2023-04-26 14:21:52 +02:00
OliBomby
87ca0f5335 Update SamplePointPiece.cs 2023-04-26 13:45:58 +02:00
OliBomby
6c70948681 Remove IContext & add IHasGenerateTicks 2023-04-26 13:10:57 +02:00
OliBomby
e27c4dfa10 Invoke ApplyDefaultsToSelf 2023-04-26 11:46:05 +02:00
Terochi
332c199dc2 further simplification 2023-04-26 10:46:29 +02:00
Dean Herbert
61b62b35f5
Merge pull request #18626 from ggliv/decouple-mod-fails
Allow ModFailCondition to arbitrarily trigger failures
2023-04-26 16:19:42 +09:00
Dean Herbert
27f81288ef
Merge branch 'master' into keep-shared-settings-ruleset-change 2023-04-26 15:51:31 +09:00
Dean Herbert
cb7b246e33 Fix naming and update in line with nullability 2023-04-26 15:27:58 +09:00
Dean Herbert
210c5e7c53 Merge branch 'master' into decouple-mod-fails 2023-04-26 15:26:20 +09:00
Dean Herbert
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
Dean Herbert
1efc78c0f8 Actually use new end time property when setting lifetimes 2023-04-26 13:28:51 +09:00
Terochi
8e297dc60a Added safety measures for invalid mod combinations 2023-04-25 21:28:03 +02:00
Bartłomiej Dach
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
Terochi
0841e73a39 Improved readability and sounds 2023-04-25 21:07:17 +02:00
OliBomby
e4b64bdc3e clean up code stuff 2023-04-25 19:06:29 +02:00
OliBomby
755ad25dbe clean code 2023-04-25 18:27:20 +02:00
OliBomby
66eda40cdf fix implementations of IHasSliderVelocity 2023-04-25 18:22:22 +02:00
OliBomby
c23a7b014e add missing } 2023-04-25 18:17:07 +02:00
OliBomby
065464d90c Fixed DifficultyPointPiece 2023-04-25 18:12:53 +02:00