1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-18 11:12:57 +08:00
Commit Graph

936 Commits

Author SHA1 Message Date
Dean Herbert
b907c2f4f6 Fix osu! judgements getting scaled twice over different durations 2021-09-02 16:31:43 +09:00
Dean Herbert
738ce0f689 Fix repeat arrows being hidden beneath head circles in legacy skins
Aims to make minimal changes to `DrawableSlider` itself. I'm not super
happy about the slider ball being moved above the head circle, but it
*is* what people are used to so no one except for me is going to
complain.

Supersedes and closes https://github.com/ppy/osu/pull/14561.
2021-09-01 19:41:49 +09:00
Dan Balasescu
f0296e5d12
Merge branch 'master' into avoid-default-skin-judgement-transform-overhead 2021-08-27 10:02:40 +09:00
Salman Ahmed
b9ea984c36 Remove redundant default value 2021-08-26 08:18:58 +03:00
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
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
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
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
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
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
Dean Herbert
dd05c56a08 Fix sliders playing hit animations when completely missed 2020-12-01 15:34:29 +09:00
Dean Herbert
f8ef822e73 Add short fade to better hide transition on default skin 2020-12-01 15:21:32 +09:00
Dean Herbert
d0852d7f4a Hide slider body immediately on successful hit when snaking is enabled 2020-12-01 14:56:41 +09:00
Dean Herbert
8d101efb24 Remove unused proxy layer 2020-12-01 14:56:14 +09:00
Dean Herbert
51741c4791
Merge branch 'master' into hit-sample-pooling 2020-11-30 22:25:28 +09:00
smoogipoo
f589da4317 Fix compilation error 2020-11-30 19:24:38 +09:00