1
0
mirror of https://github.com/ppy/osu.git synced 2025-02-23 14:33:20 +08:00
Commit Graph

2084 Commits

Author SHA1 Message Date
Bartłomiej Dach
e6174f195c
Ensure EditorBeatmap.PerformOnSelection() marks objects in selection as updated
Closes https://github.com/ppy/osu/issues/28791.

The reason why nudging was not changing hyperdash state in catch was
that `EditorBeatmap.Update()` was not being called on the objects that
were being modified, therefore postprocessing was not performed,
therefore hyperdash state was not being recomputed.

Looking at the usage sites of `EditorBeatmap.PerformOnSelection()`,
about two-thirds of callers called `Update()` themselves on the objects
they mutated, and the rest didn't. I'd say that's the failure of the
abstraction and it should be `PerformOnSelection()`'s responsibility to
call `Update()` there. Yes in some of the cases here this will cause
extraneous calls that weren't done before, but the method is already
heavily disclaimed as 'expensive', so I'd say usability should come
first.
2025-02-18 12:06:42 +01:00
Bartłomiej Dach
d87a775e71
Fix clear sample potentially playing multiple times simultaneously 2025-02-12 13:25:46 +01:00
Bartłomiej Dach
e385848edc
Add missing animation of warning sprite 2025-02-12 13:25:46 +01:00
Bartłomiej Dach
0ac08158e3
Fix transforms from swell progress being cleared on completion by not using transforms 2025-02-12 13:25:42 +01:00
Bartłomiej Dach
96db6964df
Adjust things further 2025-02-12 13:20:04 +01:00
Bartłomiej Dach
231988bc9d
Adjust things to be closer to stable (but not close enough yet) 2025-02-11 15:29:53 +01:00
Bartłomiej Dach
be035538c2
Fix remaining hit counter scaling in the incorrect direction 2025-02-11 14:01:32 +01:00
Nathan Du
ccc446a8ca code cleanup 2025-02-04 17:48:44 +08:00
Nathan Du
e794389fe8 further adjust swell behavior
The outstanding visual issues of the clear animation is fixed. The
HandleUserInput state management is removed as it no longer seems
necessary.
2025-02-01 13:34:52 +08:00
Nathan Du
a62a84a30f fix code style 2025-01-31 20:48:29 +08:00
Nathan Du
ac17b4065f change legacy spinner animations to match stable
Also removed a few fallbacks pointed out in code review that I don't
understand.
2025-01-31 20:16:28 +08:00
Nathan Du
ad2b469b14 remove spinner-osu.png workaround
https://github.com/ppy/osu/issues/22084
2025-01-31 18:52:19 +08:00
Nathan Du
2a5540b392 remove ISkinnableSwell
This commit removes ISkinnableSwell for taiko swell animations. In place
of it, an event named UpdateHitProgress is added to DrawableSwell, and
the skin swells are converted to listen to said event and
ApplyCustomUpdateState, like how spinner skinning is implemented for
std.
2025-01-31 18:10:50 +08:00
Nathan Du
4fd8a4dc5a Merge taiko swell components
Per <https://github.com/ppy/osu/pull/21601/files#r1064167756>, taking a
variation of the "Make all swell main pieces implement
ISkinnableSwellPart" path. Should clean the interface up enough for
further refactors.
2025-01-31 16:55:39 +08:00
Joppe27
e2196e8b9b Rename methods and skin component + add comments 2025-01-31 10:24:45 +08:00
Joppe27
4a164b7b14 Add legacy taiko swell 2025-01-31 10:24:45 +08:00
Bartłomiej Dach
daec91f61d
Refactor further to avoid weird non-virtual common method 2025-01-24 13:14:31 +01:00
Bartłomiej Dach
a6987f5c95
Remove dependence of placement blueprints on IPositionSnapProvider 2025-01-24 11:59:07 +01:00
Bartłomiej Dach
15b6e28ebe
Remove dependence of blueprint containers on IPositionSnapProvider 2025-01-24 11:59:05 +01:00
Bartłomiej Dach
3cfa455369
Fix strong drum rolls being counted for double the combo in legacy scoring attributes 2024-11-29 10:54:32 +01:00
Hiviexd
2cbb09573d fix constant algorithm scroll speed 2024-11-14 15:38:10 +01:00
Dan Balasescu
60d45d44bb
Merge pull request #30536 from stanriders/add-diffcalc-helpers
Add `DifficultyCalculationUtils`
2024-11-13 17:49:40 +09:00
Dean Herbert
d39a46f861
Merge pull request #30508 from bdach/taiko-strong-bug
Fix drum rolls losing width on strong state toggle in editor
2024-11-11 12:16:51 +09:00
StanR
78c97d2cd7 Add DifficultyCalculationUtils 2024-11-07 20:36:00 +05:00
Bartłomiej Dach
5668c62446
Fix drum roll editor blueprint size & input handling 2024-11-05 13:12:01 +01:00
Bartłomiej Dach
387fbc2214
Fix drum rolls losing width on strong state toggle in editor
Fixes https://github.com/ppy/osu/issues/30480.
2024-11-05 11:10:49 +01:00
Bartłomiej Dach
5f1b696387
Fix strong context menu operation not being written properly 2024-11-05 10:59:34 +01:00
Dean Herbert
795477372f
Merge pull request #30456 from smoogipoo/revert-taiko-convert-diffcalc-change
Bring back convert nerf to fix overweighted taiko difficulty
2024-11-04 20:00:58 +09:00
Jay Lawton
4eee1f429b fix spelling error 2024-11-03 00:47:53 +10:00
Dan Balasescu
3e7fcc3c24
Fix NaN values when stamina difficulty is 0 2024-11-01 22:52:51 +09:00
Dan Balasescu
9766d51559
Store attribute to the database 2024-11-01 16:02:02 +09:00
Jay Lawton
ff05bbd63f Add mono streak index calculation to strain values 2024-10-31 15:25:25 +10:00
Jay Lawton
abe2ee90e0 Change naming of onlyMono to SingleColourStamina 2024-10-31 12:12:14 +10:00
Jay Lawton
21b458d268 change convert specific omissions 2024-10-31 12:08:12 +10:00
Jay Lawton
85aa2ea8af Change Convert Bonuses to Performance 2024-10-31 10:15:29 +10:00
Nathen
101a4028fa LTCA save me 2024-10-30 18:57:47 -04:00
Dan Balasescu
e8540a3e7b
Bring back convert nerf to fix overweighted taiko difficulty 2024-10-31 02:15:00 +09:00
Dean Herbert
68e8819f3b
Fix taiko playfield looking weird with new editor toolbox displays 2024-10-25 17:17:19 +09:00
Bartłomiej Dach
1af464d5ae
Bump difficulty calculator versions
In order for the new star difficulty to be shown to users on the next
release.

catch's difficulty calculator version is not bumped because the only
catch change pending deploy is https://github.com/ppy/osu/pull/28353 and
that affects performance points only.
2024-10-07 15:38:41 +02:00
Bartłomiej Dach
84d6467e48
Merge branch 'master' into taikostatacc 2024-10-07 14:15:29 +02:00
Bartłomiej Dach
7816c41b94
Only transfer difficulty slider values on commit
Closes https://github.com/ppy/osu/issues/30112.
2024-10-04 14:08:46 +02:00
Bartłomiej Dach
99eb26b7d5
Redo the layout of sections based on discord feedback
See
https://discord.com/channels/188630481301012481/188630652340404224/1291358770064130140
and everything after.
2024-10-03 13:53:21 +02:00
Bartłomiej Dach
ddfa877b12
Fix code quality 2024-10-03 13:08:04 +02:00
Bartłomiej Dach
b15608343b
Replace setup screen controls with new "form" controls 2024-10-03 11:49:03 +02:00
Dean Herbert
590f27e0a0
Merge branch 'master' into hotkeys-in-context-menus 2024-10-01 15:50:19 +09:00
Dean Herbert
9a39b80a4d
Merge pull request #29970 from bdach/volume-aware-sample-equality-pitfall
Fix argon volume-aware hitsounds not correctly playing immediately after object placement
2024-09-27 16:38:35 +09:00
Dan Balasescu
3111d6a74d
Merge pull request #29986 from OliBomby/refactor-placement-tool
Refactor placement blueprints to not be limited to hit objects
2024-09-25 17:59:43 +09:00
OliBomby
e3b4483872 Refactor PlacementBlueprint to not be hitobject specific 2024-09-24 20:31:00 +02:00
Bartłomiej Dach
e8a394f894
Fix argon volume-aware hitsounds not correctly playing immediately after object placement
Closes https://github.com/ppy/osu/issues/29832.

The underlying reason for the incorrect sample playback was an equality
comparer failure.

Samples are contained in several pools which are managed by the
playfield. In particular, the pools are keyed by `ISampleInfo`
instances. This means that for correct operation, `ISampleInfo` has to
implement `IEquatable<ISampleInfo>` and also provide an appropriately
correct `GetHashCode()` implementation. Different audible samples must
not compare equal to each other when represented by `ISampleInfo`.

As it turns out, `VolumeAwareHitSampleInfo` failed on this, due to not
overriding equality members. Therefore, a `new
HitSampleInfo(HitSampleInfo.HIT_NORMAL, HitSampleInfo.BANK_NORMAL,
volume: 70)` was allowed to compare equal to a
`VolumeAwareHitSampleInfo` wrapping it, *even though they correspond to
completely different sounds and go through entirely different lookup
path sequences*.

Therefore, to fix, provide more proper equality implementations for
`VolumeAwareHitSampleInfo`.

When testing note that this issue *only occurs immediately after
placing an object*. Saving and re-entering editor makes this issue go
away. I haven't looked too long into why, but the general gist of it is
ordering; it appears that a `normal-hitnormal` pool exists at point
of query of a new object placement, but does not seem to exist when
entering editor afresh. That said I'm not sure that ordering aspect of
this bug matters much if at all, since the two `IHitSampleInfo`s should
never be allowed to alias with each other at all wrt equality.
2024-09-23 13:38:26 +02:00
Givikap120
2995df7903 removed unnecessary includes 2024-09-22 15:04:21 +03:00