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
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
Dean Herbert
fce580d717
Reshuffle namespaces
2017-07-26 13:22:46 +09:00
smoogipooo
836bf930a0
More cleanups.
2017-05-23 15:29:38 +09:00
smoogipooo
3cdfd2eef5
Split ControlPoint into different types.
...
# Conflicts:
# osu.Game.Rulesets.Mania/UI/Column.cs
2017-05-23 14:03:40 +09:00