1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-30 18:07:25 +08:00
Commit Graph

28 Commits

Author SHA1 Message Date
Dean Herbert
de74c9eb8b Fix GameplaySampleTriggerSource not handling rewinds correctly 2023-07-06 14:16:31 +09:00
Dean Herbert
561fff801a Consume nested object states in HitObjectLifetimeEntry 2023-07-05 18:44:27 +09:00
Dean Herbert
beed390031 Add balance adjust to base implementation of DrumSampleTriggerSource 2023-07-05 18:44:27 +09:00
Dean Herbert
6d4fa6569f Add back required pieces to GameplaySampleTriggerSource from old PR 2023-07-05 18:44:27 +09:00
Dean Herbert
64b726d5ec Fix nested logic not being completely correct (favouring already-passed rather than near-future) 2023-06-23 13:48:13 +09:00
Bartłomiej Dach
79606317ab
Remove redundant parentheses 2023-06-22 20:02:10 +02:00
Dean Herbert
4ff5275208 Make IGameplayClock optional in GameplaySampleTriggerSource to ease testing 2023-06-21 17:33:42 +09:00
Dean Herbert
cb07f2399f Apply NRT to GameplaySampleTriggerSource 2023-06-20 21:03:55 +09:00
Dean Herbert
04dad6c6e8 Use IGameplayClock to ensure our clock source is correct 2023-06-20 20:47:56 +09:00
Dean Herbert
0e86102681 Fix nested lookups 2023-06-20 20:45:02 +09:00
Dean Herbert
786d5a394b Add back optimisation and increase time allowance slightly 2023-06-20 20:30:07 +09:00
Dean Herbert
555ce7684b Adjust GameplaySampleTriggerSource to only switch samples when close enough to the next hit object
Closes #23963.

To simplify things, I've removed the optimisation of using
`AliveObject`s because it would break the way this whole lookup works.
2023-06-20 20:06:07 +09:00
Bartłomiej Dach
5229cf7343
Add failing test cases for drum roll/swell sample playback 2023-05-21 18:57:01 +02:00
OliBomby
ebe1d852f5 remove other usages of hitobject SampleControlPoint 2023-04-25 16:01:43 +02:00
Dean Herbert
19d5293ad1 Change early return to also find the earliest nested object 2023-02-17 18:59:31 +09:00
Dean Herbert
affa9507a1 Fix GameplaySampleTriggerSource not considering nested objects when determining the best sample to play 2023-02-16 18:21:33 +09:00
Dean Herbert
4a7d7c6ed9 Use MaxBy in all locations that can and update inspection level to match dotnet-build 2022-12-19 16:47:10 +09:00
Dan Balasescu
7bc8908ca9 Partial everything 2022-11-27 00:00:27 +09:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Dean Herbert
ec53d87c30 Fix unsafe sample playback in GameplaySampleTriggerSource
Resolves https://github.com/ppy/osu/issues/18727.

Added delay from `Schedule` should be minimal as it is always called
from the `Update` thread (input propagation) anyway.
2022-06-16 16:04:57 +09:00
Dean Herbert
15aa0458bc Use PausableSkinnableSound instead 2021-08-26 17:15:36 +09:00
Dean Herbert
fd78d0440b Update missed conditional 2021-08-25 17:00:32 +09:00
Dean Herbert
ccfff50c6f Apply fixes in line with issues found during testing
I was trying to be too smart with caching, but if the `Play` method was
not called often enough it would have a recent reference. Unfortunately
this requires a separate query to `Entries`, but is also a special case
(no future hitobjects).

This also removes the time-based checks (result status alone should be
all we care about).
2021-08-25 16:56:44 +09:00
Dean Herbert
ef2b5e1c51 Tidy up variable names and unused resolved properties 2021-08-25 16:56:44 +09:00
Dean Herbert
a1936b141b Refactor base class to allow correct usage in taiko drum 2021-08-25 16:56:44 +09:00
Dean Herbert
681215e5b5 Rewrite object lookup to use previous entry regardless
This changes the fallback logic to always prefer the previous resolved
lifetime entry rather than fallback to the first entry ever. I think
this is more correct in all cases.

Also rewrites the inline comments to hopefully be easier to parse.
2021-08-25 16:56:44 +09:00
Dean Herbert
4a294d4de4 Optimise fallback logic to reduce lookups to bare minimum 2021-08-25 16:56:44 +09:00
Dean Herbert
6aa894e55e Split out separate component 2021-08-25 16:56:44 +09:00