Dean Herbert
8cfb3d456b
Avoid expensive text spacing transforms for now
2021-08-26 13:15:27 +09:00
Dean Herbert
69064c1938
Avoid unnecessary unbind operations when constructing FollowPointLifetimeEntry
2021-08-26 12:35:31 +09:00
Dean Herbert
6dcd9427ac
Remove bindable usage in PathControlPoint
...
This is quite a breaking change, but I think it is beneficial due to the large amount of usage of this class.
I originally intended just to remove the allocations of the two delegates handling the `Changed` flow internally, but as nothing was really using the bindables for anything more than a general "point has changed" case, this felt like a better direction.
2021-08-26 12:33:53 +09:00
Salman Ahmed
523c154f15
Add ComboIndexWithOffsetsBindable
and bind similar to ComboIndexBindable
2021-07-22 16:40:33 +03:00
Dean Herbert
399c3b0be8
Rename property, reword xmldoc and improve readability of update code
2021-07-21 17:32:56 +09:00
Salman Ahmed
9d92b795fa
Revert making ComboOffset
s legacy and define BeatmapSkinComboIndex
instead
2021-07-20 14:15:43 +03:00
Salman Ahmed
554652b033
Merge branch 'refactor-combo-colour-retrieval' into legacy-beatmap-combo-offset
2021-07-20 10:11:52 +03:00
Salman Ahmed
68e28f4903
Implement IHasApproachCircle
in DrawableHitCircle
as well
2021-06-21 07:35:07 +03:00
Salman Ahmed
c04b09520d
Replace spinner approach circle proxying logic with hooking up to OnSkinChange
in mod
2021-06-19 20:06:28 +03:00
Salman Ahmed
843c8bd7a4
Move spinner approach circle to its own SkinnableDrawable
2021-06-18 20:33:50 +03:00
Salman Ahmed
f7b5341663
Merge branch 'master' into legacy-spinner-approach-circle
2021-06-18 19:50:52 +03:00
Salman Ahmed
c9458fd9ce
Hide spinner approach circle in "Hidden" mod
2021-06-18 06:23:54 +03:00
Dean Herbert
a46f730a69
Fix approach circle fade not running early on an early user hit
...
Regressed in https://github.com/ppy/osu/pull/12153 .
Closes https://github.com/ppy/osu/issues/13531 .
2021-06-17 15:09:05 +09:00
Dean Herbert
6017ef3825
Merge branch 'master' into fix-skin-sample-lookup
2021-06-08 17:37:36 +09:00
Dean Herbert
277eb9fa6e
Fix slider repeat arrow not updating rotation immediately while paused in editor
...
A bit of a local solution, but not sure there's a better way to handle
this.
Closes #13342 .
2021-06-07 15:58:43 +09:00
Dean Herbert
d26c9a66c2
Merge branch 'legacy-skin-default-fallback' into fix-skin-sample-lookup
2021-06-07 12:01:19 +09:00
ekrctb
d7da66d876
Bring back scheduling of follow point update
2021-06-04 18:41:02 +09:00
ekrctb
0098ac2760
Remove one TODO
...
It can be removed because pooled drawables are always ready, and `FollowPointConnection` is also ready when applied.
2021-06-04 17:09:59 +09:00
ekrctb
bc892086fe
Resolve nullable inspection, enable nullable for FollowPointLifetimeEntry
2021-06-04 17:09:59 +09:00
ekrctb
b373b120ff
Use general lifetime container for follow point container
2021-06-04 16:31:50 +09:00
ekrctb
c06ff3c623
Remove defunct Animate
calls
2021-06-02 11:46:28 +09:00
ekrctb
b82190e157
Fix hit circle animation reset when skin is changed
...
The transforms applied in `Animate` call was not applied because the piece is recreated.
2021-06-02 11:32:24 +09:00
Dean Herbert
6268bbea85
Merge branch 'master' into fix-skin-sample-lookup
2021-05-28 14:47:35 +09:00
Dean Herbert
70a844ac10
Remove allowFallback
parameters completely
2021-05-27 14:50:42 +09:00
Endrik Tombak
9ac4ef273e
Make DrawableSliderTail not require ITrackSnaking
2021-05-26 23:21:05 +03:00
smoogipoo
3db995c778
Fix sliders jumping around the screen on movement
2021-05-24 17:15:57 +09:00
Dean Herbert
8336428574
Add regression test for spinner sample actually transforming its frequency
2021-05-24 15:10:33 +09:00
Dean Herbert
1410b8f36d
Fix follow points displaying at incorrect locations when dragging a slider out-of-bounds
2021-05-05 18:30:57 +09:00
Salman Ahmed
cd6d070b4a
Consider "combo offsets" as legacy logic and separate from combo information
2021-05-05 07:43:08 +03:00
Dean Herbert
d10aac851d
Extract scale constant
2021-04-26 15:30:22 +09:00
Dean Herbert
4da964c3f3
Expose DrawableSliderRepeat
's arrow and move transforms to children
2021-04-26 15:22:42 +09:00
Dean Herbert
aa7ade8186
Expose presence of MainCirclePiece
via an interface
2021-04-26 15:22:17 +09:00
Salman Ahmed
0b9172a1dc
Animate back slider repeat and tail circle pieces
2021-04-26 02:39:49 +03:00
Dean Herbert
47a4a07024
Split out animation triggering of MainCirclePiece
to be interface driven
2021-04-21 19:15:10 +09:00
Dean Herbert
ac0ed72d04
Keep hitcircles aligned with view in "Barrel Roll" mod
2021-04-20 18:36:11 +09:00
Dean Herbert
e2470d757e
Merge branch 'master' into legacy-spm-counter
2021-04-12 12:52:52 +09:00
smoogipoo
f2e811928b
Rework slider hackery to not overwrite Samples
2021-04-09 15:28:08 +09:00
smoogipoo
8efa381d3a
Actually use whistle sample for sliderwhistle
2021-04-08 23:13:16 +09:00
smoogipoo
7d291ed7d7
Don't serialise OriginalSamples
2021-04-08 20:57:50 +09:00
smoogipoo
7713c8a45f
Add support for sliderwhistle
2021-04-08 20:20:09 +09:00
smoogipoo
9c3d15171c
Reword xmldoc slightly
2021-04-02 18:00:28 +09:00
Amber
5ac36a2462
Switch AlwaysPlaySample to SamplePlaysOnlyOnHit in DrawableSliderTail for conformity
2021-04-02 03:56:23 -05:00
Amber
5063cd957f
Force hit sample to play when Classic mod is enabled
2021-04-02 02:54:35 -05:00
Dean Herbert
9504fe3f3c
Inline add of spm calculation (no need for it to be a separate call)
2021-03-30 13:43:05 +09:00
Salman Ahmed
0bf84e473d
Refactor spinner SPM counter for skinning purposes
2021-03-30 04:19:23 +03:00
Dean Herbert
c715b9b89e
Merge branch 'master' into legacy-spinner-bonus
2021-03-25 18:09:25 +09:00
Dean Herbert
64e85ba995
Always fade out approach circles at a HitObject's start time to better match stable
2021-03-23 19:19:07 +09:00
Dean Herbert
098005393e
Remove unnecessary null checks and debug code
2021-03-23 10:38:37 +09:00
Dean Herbert
c4d08463ad
Fix spinners playing looping sound too long in the editor
...
The `OnComplete` event was never being run due to the transform playing
out longer than the spinner's lifetime. I've matched the durations, but
also moved the `Stop()` call to what I deem a safer place to run it (I
did notice that without this it would still potentially never fire).
Note that this is more noticeable in the editor because of lifetime
extension. In gameplay, the returning of a spinner to the pool will
clean things up (but in the editor that can take longer, depending on
timeline zoom level).
Another thing worth mentioning is that the fade doesn't actually work.
This is due to https://github.com/ppy/osu-framework/pull/4212 .
Closes #12119 .
2021-03-22 16:04:51 +09:00
Salman Ahmed
98f6e16113
Move default spinner bonus counter to new DefaultSpinner
2021-03-13 05:59:42 +03:00
Salman Ahmed
8fdab5a7de
Revert legacy spinner presence changes and bonus counter component
...
No longer necessary, after inlining legacy coordinates logic to `LegacySpinner` and limiting precisely-positioned legacy components there
2021-03-13 05:57:47 +03:00
Salman Ahmed
020a03e01e
Use sensible "score per tick" constant
2021-03-13 05:56:28 +03:00
Salman Ahmed
c4048c9831
Merge branch 'master' into legacy-spinner-bonus
2021-03-13 05:54:34 +03:00
Dean Herbert
1591d593e2
Move spin start time to inside result and switch to standard state handling
2021-03-11 12:58:15 +09:00
Dean Herbert
4e8bcc9265
Fix SPM counter decreasing after spinner has already been completed
2021-03-09 16:54:46 +09:00
Dean Herbert
5a6864eb78
Fix SPM counter immediately disappearing on completion of spinners
2021-03-09 16:54:46 +09:00
Salman Ahmed
3f1d36ee6b
Add default spinner bonus counter piece
2021-03-06 20:27:56 +03:00
Salman Ahmed
c441e993ff
Separate "gained bonus" to a read-only bindable
2021-03-06 20:27:56 +03:00
smoogipoo
d3f0c0730d
Merge branch 'master' into non-concurrent-sample-playback
2021-02-12 17:22:15 +09:00
Dan Balasescu
cb4d119f23
Merge pull request #11740 from peppy/editor-fix-slider-samples-new-placement
...
Fix newly placed sliders in the editor not playing hitsounds
2021-02-12 13:31:00 +09:00
Dean Herbert
db79080bc4
Fix GetNodeSamples potentially returning a live reference and overwriting existing samples
2021-02-11 17:14:49 +09:00
Dean Herbert
4710a12774
Merge branch 'master' into classic-mode-flags
2021-02-11 16:21:55 +09:00
smoogipoo
5d1d6ec1cb
Fix inverted calculation
2021-02-10 22:09:24 +09:00
smoogipoo
20a6405fd2
Add explanatory comments + const
2021-02-10 22:06:19 +09:00
smoogipoo
bd2486e5a0
Fix grammatical error in comment
2021-02-10 21:27:12 +09:00
smoogipoo
1d425b8322
Simplify case
2021-02-10 21:25:31 +09:00
smoogipoo
4a391ce03d
Fix div-by-0 when 0 ticks are hit
2021-02-10 21:24:41 +09:00
smoogipoo
be9b07a4cf
Merge branch 'master' into difficulty-adjustment-extension
2021-02-10 20:42:08 +09:00
smoogipoo
0dcdad9839
Adjust comment for DrawableSliderHead
2021-02-10 19:04:23 +09:00
smoogipoo
a16f4cee3a
Adjust DrawableSlider comment
2021-02-10 18:52:39 +09:00
smoogipoo
2fcc4213e1
Rename IgnoreJudgement -> OnlyJudgeNestedObjects
2021-02-10 18:46:26 +09:00
smoogipoo
cf06684ad1
Judge heads as slider ticks instead
2021-02-10 18:38:31 +09:00
smoogipoo
d955200e07
Prevent invalid hit results for ignored slider heads
2021-02-08 11:10:14 +09:00
smoogipoo
a5855f5d28
Move follow circle tracking to DrawableSliderHead
2021-02-05 17:33:48 +09:00
smoogipoo
3aa3692ed4
Disable snaking out when tracking is disabled
2021-02-05 15:56:13 +09:00
smoogipoo
2f22dbe06b
Make sliders display judgements when not ignored
2021-02-03 22:42:50 +09:00
smoogipoo
03b7817887
Add flags to return to classic slider scoring
2021-02-03 22:12:20 +09:00
smoogipoo
623b47f9af
Add flag to toggle follow circle tracking for slider heads
2021-02-03 21:55:19 +09:00
Dean Herbert
d521bfc251
Don't directly update HandleUserInput (as it is used by mods)
2021-01-30 02:35:11 +09:00
Dean Herbert
5a306dfc2b
Fix unused using
2021-01-29 20:22:25 +09:00
Dean Herbert
f25809d35f
Ensure spinners only handle input during their hittable time
...
While this was already being enforced inside of `CheckForResult`, the
internal tracking values of rotation were still being incremented as
long as the `DrawableSpinner` was present. This resulted in incorrect
SPM values being displayed if a user was to start spinning before the
object's `StartTime`.
Kind of annoying to write a test for (there's no setup for spinners yet)
but am willing to do so if that is deemed necessary.
Closes https://github.com/ppy/osu/issues/11600 .
2021-01-29 19:55:55 +09:00
smoogipoo
de9d075f94
Initial sample + samplechannel rework
2021-01-19 17:11:40 +09:00
Dean Herbert
14b3323682
Use OnComplete instead of Finally to avoid potentially stopping on aborted transforms
2021-01-15 17:18:15 +09:00
Dean Herbert
311f8b7017
Only restart spinning sample if it was not already playing
2021-01-15 17:17:51 +09:00
Dean Herbert
767c76921f
Adjust transition time of spinner sound
2021-01-15 17:17:28 +09:00
smoogipoo
47a93d8614
Adjust osu! hitobject fade-ins to support AR>10
2020-12-10 00:37:19 +09:00
ekrctb
626956febd
Move some files from Drawables to Skinning.Default namespace
2020-12-04 20:25:12 +09:00
ekrctb
245be2c5ed
Adjust namespace
2020-12-04 20:21:53 +09:00
ekrctb
a12b049154
Move piece files in Osu ruleset
2020-12-04 20:11:35 +09:00
Dean Herbert
5db15a6b26
Merge branch 'master' into fix-hidden-mod-crash
2020-12-04 12:50:02 +09:00
Dean Herbert
5ded4b9faa
Merge branch 'master' into dho-remove-onparentreceived
2020-12-04 11:04:56 +09:00
smoogipoo
09af4bbd57
Merge branch 'dho-remove-onparentreceived' into fix-hidden-mod-crash
2020-12-03 20:10:16 +09:00
smoogipoo
0bdf99b97a
Remove OnParentReceived()
2020-12-03 20:08:42 +09:00
smoogipoo
73e99718bc
Change order of OnParentReceived()
2020-12-03 20:06:26 +09:00
smoogipoo
e3bbc2b128
Rework osu! hidden mod to avoid storing hitobjects
2020-12-03 14:45:56 +09:00
smoogipoo
e831c797f3
Merge branch 'master' into hit-sample-pooling
2020-12-02 14:45:24 +09:00
Dean Herbert
71a121389b
Merge pull request #11033 from smoogipoo/immutable-hit-samples
...
Make HitSampleInfo immutable
2020-12-02 14:44:26 +09:00
Dan Balasescu
46a57921e2
Merge branch 'master' into osu-fade-slider-body-on-hit
2020-12-02 11:03:04 +09:00
smoogipoo
2bb7484608
Merge branch 'immutable-hit-samples' into hit-sample-pooling
2020-12-01 16:05:28 +09:00
smoogipoo
5760e1c1fc
Make HitSampleInfo immutable
2020-12-01 15:37:51 +09:00