1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-15 16:25:32 +08:00
Commit Graph

55 Commits

Author SHA1 Message Date
Dan Balasescu
fee3d43596 Merge branch 'master' into scorev2 2023-05-23 19:07:54 +09:00
Bartłomiej Dach
4a7b011a53
Propagate samples to strong nested hits too
The rationale is the same as in
6d325651dc. Due to the recursive nature of
`GameplaySampleTriggerSource.GetMostValidObject()`, in the case of
nested hits, drum rolls and drum roll ticks, the nested strong hits
would become the most valid object, and so without propagating
the samples down to that level too, nothing would play.
2023-05-21 18:58:05 +02:00
Bartłomiej Dach
6d325651dc
Propagate samples to drum roll/swell ticks for correct playback
In d97daee96b, `DrumSampleTriggerSource`
was changed such that in order to play sounds for the user's inputs, the
bank of the normal sound would always be used.

The problem is that in the case of taiko objects which have nested
objects (swells and drum rolls), the samples were not propagated fully
(drum rolls, where only the finish sample was kept, for the purposes of
determining strongability), or not propagated at all (swells) to ticks.

As ticks of both objects are valid return values of
`GetMostValidHitObject()`, this would lead to the drum making no sounds
if the next object was a drum roll or swell, until that drum roll or
swell was completed. To fix, propagate the full set of samples, so that
`DrumSampleTriggerSource` can retrieve the normal sound to copy the bank
from.

Note that this may not necessarily reproduce prior behaviour. This is
because it is not guaranteed that all realised samples for a given
hitobject have the same bank - some may have been overriden locally on a
given hitobject. Previously, the bank would have been retrieved from the
sample control point, wherein there is only one possible bank to use;
however, when deciding the sound to play on the basis of a constructed
hitobject, it is possible that there are cases wherein the hitnormal
sample was overridden on that given hitobject, and in such cases, this
PR would make samples _play_, but not necessarily the _same_ samples
as prior to #23308.

If that turns out to be the case, this will have to be revisited.
2023-05-21 18:57:01 +02:00
Dan Balasescu
5afe57033d Add parent hitobject to strong hits 2023-05-09 19:30:54 +09:00
OliBomby
41d4894aa3 add min and max value to SliderVelocity 2023-04-30 19:32:24 +02:00
OliBomby
92efd04f31 fix sample of drumroll ticks being bankless 2023-04-29 23:52:24 +02:00
OliBomby
c44f71a737 remove all regular usage of DifficultyControlPoint 2023-04-26 17:55:38 +02:00
Dan Balasescu
a2f8ff825e Also ignore drum roll strong judgement 2022-09-06 23:26:25 +09:00
sw1tchbl4d3
a9aa928ce6 Fix test, make strong hits have LargeBonus judgement 2022-08-30 15:00:46 +02:00
sw1tchbl4d3
b185194d07 Apply comments by smoogi 2022-08-30 14:44:44 +02:00
sw1tchbl4d3
e0426836c1 Make swells and drumrolls optional by default 2022-08-05 16:30:07 +02:00
Bartłomiej Dach
3497e966fd
Revert no longer needed access modifier change 2022-06-24 13:01:16 +02:00
sw1tchbl4d3
6c8042642a Reduce code duplication 2022-06-20 17:22:41 +02:00
sw1tchbl4d3
98527fec26 Make mod selfcontained 2022-06-19 15:11:12 +02:00
sw1tchbl4d3
a5bf16e873 Make drum rolls and swells optional with Classic mod 2022-06-19 02:10:23 +02:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
smoogipoo
bc37cb6f43 Merge branch 'master' into no-more-difficulty-control-points-info 2021-10-08 18:41:17 +09:00
Dean Herbert
a92d499d7a Convert usages of BeatmapDifficulty to IBeatmapDifficultyInfo 2021-10-01 16:55:50 +09:00
Dean Herbert
a3d9ab1e2e Move approach rate to EffectControlPoint 2021-09-03 16:58:16 +09:00
Dean Herbert
071c56e90b Update usages of DifficultyPointAt 2021-09-03 16:58:16 +09:00
Dean Herbert
ee49305cad Move taiko legacy speed multiplier to osu.Game project
Allows it to be used in local case in `LegacyBeatmapEncoder`.
2021-08-30 15:13:31 +09:00
Bartłomiej Dach
5af1ac1b53 Rename TaikoStrong{-> able}HitObject 2020-12-14 21:46:02 +01:00
Bartłomiej Dach
61c488cd5e Create HO-specific nested hit types 2020-12-13 13:08:32 +01:00
Bartłomiej Dach
f74567e8eb Introduce base class for hitobjects that can be strong 2020-12-13 12:36:39 +01:00
Dean Herbert
6b5b215299 Split out IHasPath from IHasCurve to better define hitobjects 2020-05-26 17:44:47 +09:00
smoogipoo
6534510999 Use cancellation token in taiko swell/drumroll 2020-05-15 19:25:14 +09:00
smoogipoo
98125102a7 Add cancellation token support to CreateNestedHitObjects() 2020-05-15 18:07:41 +09:00
smoogipoo
ba12e23d9e Fix inspection 2020-04-22 09:06:04 +09:00
smoogipoo
d8fdd73e17 Implement IHasCurve on DrumRoll 2020-04-22 09:06:04 +09:00
Dean Herbert
cd6902a312 Make EndTime and RepeatCount settable 2020-02-05 17:52:51 +09:00
Dean Herbert
51bf600ea7 Use empty hitwindows instead of null 2019-10-09 19:08:31 +09:00
Dean Herbert
f925e781a9 Refactor HitWindows for legibility 2019-09-06 15:24:14 +09:00
smoogipoo
f3656475de Return null hitwindows for non-time-based objects 2019-09-02 16:10:30 +09:00
Dean Herbert
612db31c38 Apply newline additions 2019-04-01 12:16:32 +09:00
Dean Herbert
8617aaa2a7 Update licence header (and remove year) 2019-01-24 17:43:03 +09:00
Ivan Pavluk
1b6658f4ee Move HealthIncreaseFor to Judgement 2018-12-06 15:09:42 +07:00
Ivan Pavluk
36b458bdee Fixed #3777 2018-11-29 08:56:19 +07:00
smoogipoo
2dff04392e Re-implement strong judgements via hitobject 2018-08-03 16:12:12 +09:00
smoogipoo
fa3c919e2e Fix up taiko judgement creation 2018-08-03 16:11:38 +09:00
smoogipoo
9c2122c0ca Make Rulesets.Taiko use the new judgement result structure 2018-08-02 20:36:19 +09:00
smoogipoo
1b7b6f341c Migrate Rulesets.Taiko to the new judgement system 2018-08-02 16:09:04 +09:00
smoogipoo
7d027098ec Fix drumroll completions always giving GREAT judgements
Due to requiredgoodhits/requiredgreathits being calculated prior to nested hitobjects.
2018-05-14 14:13:07 +09:00
Dean Herbert
32a74f95a5 Normalize all the line endings 2018-04-13 18:26:38 +09:00
Dean Herbert
37d393bca0 Update licence headers 2018-01-05 20:21:19 +09:00
smoogipoo
0c4e4012f8 Taiko drumroll ticks should just play the playfield samples 2017-12-26 19:57:40 +09:00
smoogipoo
d288d8a51f Remove SampleInfoList 2017-12-25 15:40:01 +09:00
smoogipoo
6a29f6020a Make HitObjects construct nested hit objects 2017-12-22 21:42:54 +09:00
smoogipoo
ac1d27e925 Fix possible nullref exceptions 2017-12-21 23:02:46 +09:00
smoogipoo
cb7e192aff Determine SampleInfo defaults in DrawableHitObject 2017-12-21 16:02:33 +09:00
smoogipooo
a95ee7494f Initial conversion of taiko to use ScrollingPlayfield. 2017-08-08 16:01:18 +09:00