1
0
mirror of https://github.com/ppy/osu.git synced 2025-02-24 00:52:56 +08:00
Commit Graph

262 Commits

Author SHA1 Message Date
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
5668c62446
Fix drum roll editor blueprint size & input handling 2024-11-05 13:12:01 +01: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
Dean Herbert
36b4013fa6
Rename GameplaySkinComponentLookup -> SkinComponentLookup 2024-08-22 18:46:03 +09:00
Dean Herbert
60d383448f
Avoid making non-ruleset transformers in Ruleset.CreateSkinTransformer
This didn't make any sense, so let's do it a better way.
2024-08-08 16:29:54 +09:00
Bartłomiej Dach
5fcea01c13
Merge branch 'master' into ruleset-specific-combo-counter 2024-06-04 15:44:11 +02:00
Dean Herbert
0d6adf160b
Share scale factor with hit target 2024-05-27 14:20:28 +09:00
Joppe27
76f13b21da Correct scale of taiko-glow element 2024-05-25 23:28:51 +02:00
Bartłomiej Dach
2667cb8b36
Merge pull request #26703 from peppy/smaller-slider-misses
Adjust slider tick / end defaults again
2024-01-29 13:51:07 +01:00
Dean Herbert
b84457fd15
Merge branch 'master' into constant-taiko-input-drum-width 2024-01-26 17:18:26 +09:00
Dean Herbert
e78f0bc89b
Merge pull request #26631 from frenzibyte/refactor-taiko-playfield-layout
Rewrite osu!taiko playfield adjustment container to keep playfield height constant
2024-01-26 17:17:49 +09:00
Dean Herbert
5aa4235c3d
Simplify TaikoLegacyHitTarget container hierarchy 2024-01-25 21:02:22 +09:00
Dean Herbert
dda96d7106
Rename JudgementPiece to TextJudgementPiece 2024-01-25 19:31:57 +09:00
Salman Ahmed
d4fef99e1f Define constant input drum width for osu!taiko 2024-01-20 01:46:15 +03:00
Salman Ahmed
0c03326eaf Update remaining usages of playfield height 2024-01-20 01:45:39 +03:00
Salman Ahmed
ce4fd6aca5 Rename DEFAULT_HEIGHT to BASE_HEIGHT 2024-01-19 23:58:58 +03:00
mouzedrift
cbfc6091af apply proposed changes 2024-01-18 08:22:26 +01:00
mouzedrift
a870f99877 ease out input drum animation and add delay before fading out 2024-01-18 07:19:29 +01:00
Salman Ahmed
eedb436389 Move combo counter to ruleset-specific HUD components target 2023-12-30 03:47:52 +03:00
Dean Herbert
fbba3787d1
Merge pull request #25190 from frenzibyte/match-skin-element-animation-support
Match capability of animating legacy skin elements with osu!(stable)
2023-10-30 18:25:06 +09:00
Dean Herbert
2886d2d4c2
Apply same changes to "argon" osu!taiko barline design that were applied to osu!mania 2023-10-25 14:20:43 +09:00
Salman Ahmed
bcbb77d383 Fix incorrect assumption in taiko circle piece logic 2023-10-24 02:29:46 +03:00
Salman Ahmed
ab3b51e4a0 Refactor osu!taiko circle piece logic to read better 2023-10-21 00:22:34 +03:00
Dean Herbert
5341a335a6
Bypass Parent nullability checks for now 2023-10-17 17:48:45 +09:00
Bartłomiej Dach
0ae4a0f11f
Adjust gameplay element maximum size limits for backwards compatibility
The new limits were chosen by sampling across over 4000 skins. The
methodology for doing so is described in the following gist:

	https://gist.github.com/bdach/6228ba41d128b23d1f89142f404108a3
2023-10-05 20:37:10 +02:00
Salman Ahmed
ad86bf2d56 Revert redundant size limitations
Already handled by the sprites themselves being resized.
2023-09-21 19:03:59 +03:00
Salman Ahmed
291a91be66 Change extension from retrieval to post-processing instead 2023-09-19 03:40:30 +03:00
Dean Herbert
9d17539778 Add size limitations for taiko drum rolls 2023-09-05 18:01:19 +09:00
Salman Ahmed
d286816ba8 Add limit to taiko hit elements 2023-09-03 02:22:58 +03:00
Bartłomiej Dach
ba0cd7a3f2
Fix flourish sample not playing if strong hits are hit early 2023-07-08 19:22:32 +02:00
Bartłomiej Dach
055e4a78f0
Merge branch 'master' into taiko-hitsounding-final-attempt 2023-07-08 18:10:04 +02:00
Dean Herbert
755b82a308 Implement flourish trigger source via base class 2023-07-07 14:54:49 +09:00
Dean Herbert
9bdc80a749 Move flourish playback to own trigger source 2023-07-07 14:46:36 +09:00
Dean Herbert
6bfbcca2fd Move VolumeAwareHitSampleInfo to own file 2023-07-07 14:45:33 +09:00
Dean Herbert
48f27ff340 Move trigger source to own file
Having such a large nested class inside a small top level class is VERY
confusing.
2023-07-07 14:31:14 +09:00
Dean Herbert
759cd5aec7 Warm up pool with argon-specific drum samples 2023-07-05 18:44:27 +09:00