1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-07 15:17:30 +08:00
Commit Graph

38336 Commits

Author SHA1 Message Date
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
Daniel Kirschten
54e8aa8fe9
Merge branch 'master' into master 2023-04-25 16:04:02 +02:00
OliBomby
ebe1d852f5 remove other usages of hitobject SampleControlPoint 2023-04-25 16:01:43 +02:00
OliBomby
a634617157 Fix file header notice 2023-04-25 16:01:06 +02:00
OliBomby
c37875bee8 remove hitobject SampleControlPoint usage from LegacyBeatmapEncoder 2023-04-25 16:00:40 +02:00
Dean Herbert
14af2063e5
Merge pull request #23247 from peppy/round-editor-rotation
Always round editor rotation to integer values
2023-04-25 21:43:44 +09:00
Dean Herbert
e08d7daffd Don't show decimal point in tooltip 2023-04-25 21:43:14 +09:00
Dean Herbert
6b4032e34b Add missing binding of IsCounting with contained counters 2023-04-25 21:37:19 +09:00
Dean Herbert
0a861ffcee Restructure key counters to use a common flow 2023-04-25 21:37:19 +09:00
Dean Herbert
7630958633 Stop using Drawable.Name to convey actual UI information 2023-04-25 20:24:36 +09:00
Dean Herbert
dd2c289ce9 Remove pointless default value 2023-04-25 20:22:12 +09:00
OliBomby
97910d6be6 remove unused directives 2023-04-25 13:06:37 +02:00
OliBomby
bf1951fc38 Fix incorrect xmldoc 2023-04-25 12:54:45 +02:00
Dean Herbert
d8b4db3a13
Merge branch 'master' into gameplay/argon-key-counter_le-retour 2023-04-25 19:54:31 +09:00
OliBomby
891b87a5ff remove ApplyLegacyInfo method 2023-04-25 12:52:21 +02:00
OliBomby
ea1e6e9798 Add LegacyContext 2023-04-25 12:12:46 +02:00
OliBomby
a4c6850ab2 made the SampleControlPoint and DifficultyControlPoint obsolete 2023-04-25 11:34:09 +02:00
Dean Herbert
e330052852 Add second definition of EndTime for storyboard elements to account for loops in lifetime 2023-04-25 15:22:11 +09:00
Dean Herbert
3919400be2 Apply NRT to some storyboard classes 2023-04-25 14:30:01 +09:00
Hy0tic
80301f0fc9 Merge https://github.com/Hy0tic/osu 2023-04-22 13:32:41 -04:00
Hy0tic
56ab029a58 fix issue where multipler does not update when adjusting speed for preset mod 2023-04-22 13:30:08 -04:00
Daniel Kirschten
6c9a90d1ec
Merge branch 'master' into master 2023-04-22 19:23:52 +02:00
Haspamelodica
e90660c1a4 Switched to lowercase 2023-04-21 02:35:28 +02:00
Haspamelodica
b62de5514c Fixed video importing bug #23259 2023-04-21 02:10:24 +02:00
Dean Herbert
1066dfcbf6 Change default beat divisor to 4
This matches stable, and is a much saner default value.

Will apply to new beatmaps and also beatmaps which don't specify a snap
value in the `.osu` file.
2023-04-20 14:35:13 +09:00
Dean Herbert
9f4b1f0f24 Always round editor rotation to integer values 2023-04-20 14:30:01 +09:00
Joseph Madamba
776c4cfaad
Ensure selected field is correct in updateSelectionState()
Co-Authored-By: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-04-19 18:34:35 -07:00
Dean Herbert
01260e5f54 Merge branch 'master' into shader-cache-stages 2023-04-19 20:47:34 +09:00
Dean Herbert
760ef10145 Update framework 2023-04-19 00:04:21 +09:00
Dean Herbert
ee5658c15a
Merge pull request #23222 from peppy/update-framework-resources
Update framework and resources
2023-04-18 14:10:42 +09:00
Dean Herbert
26a2d1fdea
Merge pull request #23000 from Joehuu/fix-beatmap-terminology
Fix song select matching label not using right terminology
2023-04-18 13:53:05 +09:00
Joseph Madamba
c80a25328d
Shorten label to just "matches" 2023-04-17 20:59:41 -07:00
Joseph Madamba
16df92f405
Fix sets not being plural 2023-04-17 20:59:02 -07:00
Dan Balasescu
c0a25144cf Apply changes to custom ShaderManager 2023-04-18 11:31:56 +09:00
Dean Herbert
c3f3b8db7c Update resources 2023-04-17 23:09:46 +09:00
Dean Herbert
fbb15fff26 Update framework 2023-04-17 23:03:16 +09:00
Dean Herbert
7aeab174eb
Merge pull request #23185 from bdach/nested-result-revert
Invoke `RevertResult` on parent DHO when nested DHO is reverted
2023-04-12 23:08:10 +09:00
Bartłomiej Dach
e72f103c17
Do not look up metadata for locally-modified beatmaps on save 2023-04-11 23:14:35 +02:00
Bartłomiej Dach
db86ced4b4
Invoke RevertResult on parent DHO when nested DHO is reverted
The behaviour described above was removed in
812a4b412a, thus henceforth
contradicting `RevertResult`'s xmldoc. As it is relied on by some
external rulesets, bring it back to unbreak them.
2023-04-11 18:29:08 +02:00
Joseph Madamba
d0cbe206a9
Revert back to one number with "matching beatmap difficulties" label 2023-04-10 23:37:29 -07:00
Joseph Madamba
f0c8a3202b
Merge remote-tracking branch 'upstream/master' into fix-beatmap-terminology 2023-04-10 23:22:15 -07:00
Dean Herbert
52bb7891f7
Merge branch 'master' into fix-count-not-updating-when-deleting 2023-04-11 09:04:02 +09:00
Joseph Madamba
f80de08f24
Adjust BeatmapSetsChanged xmldoc
Co-Authored-By: Dean Herbert <pe@ppy.sh>
2023-04-10 11:28:23 -07:00
Joseph Madamba
c7dea71793
Use existing BeatmapSetsChanged action 2023-04-10 11:26:18 -07:00
Dean Herbert
8757276c37
Merge pull request #23156 from Micha-ohne-el/editor-selection-rotation-snapping
Add rotation snapping to editor selection
2023-04-11 00:45:44 +09:00
Dean Herbert
52c4703261
Merge pull request #23103 from Joehuu/normalise-overlay-padding
Normalise horizontal padding on overlays
2023-04-10 23:48:59 +09:00
Bartłomiej Dach
1f2c96c8e8
Merge branch 'master' into gd-onlinesetoverlay 2023-04-10 15:35:03 +02:00
Bartłomiej Dach
11fd93a2ba
Inline disturbing getGuestMapper() method
Disturbing because name suggests pure method, but it is in fact `void`
and also performs side effects by about the most confusing means
possible.
2023-04-10 15:20:43 +02:00
Bartłomiej Dach
73bd0feef5
Fix incorrectly implemented localisation 2023-04-10 15:03:33 +02:00
Bartłomiej Dach
6fec476147
Simplify snap implementation 2023-04-10 14:55:30 +02:00
Bartłomiej Dach
ead5e9f027
Merge branch 'master' into editor-inspector 2023-04-10 14:29:05 +02:00
Bartłomiej Dach
60358c7203
Perform first inspector text update immediately
Provides better and more consistent initial state for the inspector.
2023-04-10 14:13:53 +02:00
Bartłomiej Dach
641415ca32
Unify displayed duration format for single/multiple selection 2023-04-10 14:05:32 +02:00
Joseph Madamba
7f5b99c91b
Fix song select beatmap difficulty count not updating when deleting 2023-04-09 22:12:51 -07:00
Dan Balasescu
15f6bc155e Add progressive score multiplier for HT 2023-04-10 13:35:48 +09:00
Dan Balasescu
c923482976 Add progressive score multiplier for DT 2023-04-10 13:31:48 +09:00
cdwcgt
dd69089117
code quality 2023-04-09 15:51:31 +09:00
cdwcgt
5d64c1b7bf
exception handling 2023-04-09 15:09:18 +09:00
cdwcgt
ce6a87b4a3
Merge remote-tracking branch 'upstream/master' into export 2023-04-09 15:02:47 +09:00
cdwcgt
fc55b96e77
remove CompletionText in Constructor
this will never used

Co-Authored-By: Dean Herbert <pe@ppy.sh>
2023-04-09 14:27:42 +09:00
cdwcgt
49193a2bdd
CompletionText
Co-Authored-By: Dean Herbert <pe@ppy.sh>
2023-04-09 22:25:47 +09:00
cdwcgt
de21b4a2f7
use Live<TModel>
Use RealmAccess only when needed
2023-04-09 22:21:15 +09:00
cdwcgt
1f4da35c8d
notification nullable fix 2023-04-09 22:13:53 +09:00
cdwcgt
13b522e825
repair usage of CancellationToken
Co-Authored-By: n0099 <n@n0099.net>
2023-04-09 22:09:53 +09:00
Dean Herbert
8d2e852ffd Fix overbearing key down handling 2023-04-08 22:30:36 +09:00
Dean Herbert
a1fc4def1d Remove redundant method override 2023-04-08 22:18:07 +09:00
Micha Lehmann
3c4a25e53f Fix tooltip text not resetting when ending an editor rotation 2023-04-08 14:28:52 +02:00
Micha Lehmann
580d5745c0 Add "(snapped)" to the tooltip when snap-rotating in the editor 2023-04-08 14:15:49 +02:00
Joseph Madamba
a86a968fac
Use public BeatmapSet to match other usages 2023-04-07 21:16:36 -07:00
Joseph Madamba
ed208ef127
Fix more typos and adjust font size to match web 2023-04-07 21:10:37 -07:00
Dean Herbert
f72dd86b42 Fix code quality issues and avoid updating bindable twice per operation 2023-04-08 10:40:36 +09:00
Micha Lehmann
c827c2810b Improve editor selection rotation value wrapping
This fixes two issues the previous algorithm had:
1.  A half-turn rotation used to show up as -180°.
2.  Rotating more than 180° in one drag event would overwhelm it
    and cause the value to go outside its range.

This comes at the cost of a negligible performance hit,
since a division (modulo) is performed instead of just addition/subtraction.
2023-04-08 01:30:29 +02:00
Micha Lehmann
f1de560d57 Snap editor selection rotation when holding shift 2023-04-08 01:30:29 +02:00