1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-15 03:22:55 +08:00
Commit Graph

597 Commits

Author SHA1 Message Date
Dean Herbert
9b383e3276
Add support for showing tick misses 2023-12-20 20:23:19 +09:00
Dan Balasescu
27e55def64
Make animation start at the slider's start time 2023-12-13 20:27:14 +09:00
Dan Balasescu
b56a78c6ec
Adjust with framework changes 2023-12-04 08:51:21 +09:00
Andrei Zavatski
c7f1fd23e7 Implement spinner glow 2023-11-24 07:21:25 +03:00
Dean Herbert
66f7b9fae1
Adjust slider follow circle animation to not abruptly scale on early ticks 2023-11-17 19:09:24 +09:00
Bartłomiej Dach
e5b51f769c
Fix incorrect assertion placement in spinner rotation tracker
Checking the delta after the application of rate is not correct. The
delta is in screen-space *before* the rate from rate-changing mods were
applied; the point of the application of the rate is to compensate for
the fact that the spinner is still judged in "track time" - but the goal
is to keep the spinner's difficulty *independent* of rate, which means
that with DT active the user's spin is "twice as effective" to
compensate for the fact that the spinner is twice as short in real time.

In another formulation, with DT active, the user gets to record replay
frames "half as often" as in normal gameplay.
2023-10-30 21:28:29 +01:00
Dean Herbert
fbba3787d1
Merge pull request #25190 from frenzibyte/match-skin-element-animation-support
Match capability of animating legacy skin elements with osu!(stable)
2023-10-30 18:25:06 +09:00
Bartłomiej Dach
99e590c8dd
Fix legacy sprite texts not matching stable with respect to fixed width
stable's `pSpriteText` has a `TextConstantSpacing` flag, that is
selectively enabled for some usages. In particular, these are:

- mania combo counter (not yet implemented)
- taiko combo counter (not yet implemented)
- score counter
- accuracy counter
- scoreboard entries (not yet implemented)

Everything else uses non-fixed-width fonts.

Hilariously, `LegacySpinner` _tried_ to account for this by changing
`Font` to have `fixedWidth: false` specified, only to fail to notice
that `LegacySpriteText` changes `Font` in its BDL, making the property
set do precisely nothing. For this reason, attempting to set `Font`
on a `LegacySpriteText` will now throw.
2023-10-27 20:14:39 +02:00
Bartłomiej Dach
c9cb0561f7
Move maxSizePerGlyph optional ctor param to init-only property
I'm doing this as I'm about to add more similar properties to
`LegacySpriteText` and I don't want to create a twenty-argument
constructor monstrosity.
2023-10-27 19:48:10 +02:00
Dean Herbert
23ea128f30
Merge branch 'master' into velocity-based-ball-animation 2023-10-25 14:01:19 +09:00
Dean Herbert
121fa6f165
Simplify pre-checks in HitObjectApplied delegate 2023-10-25 13:53:20 +09:00
Bartłomiej Dach
0e5a521695
Merge pull request #25157 from peppy/spinner-anti-cheese-final
Fix spinner cheese by accounting for spin directionality
2023-10-24 08:13:32 +02:00
Dean Herbert
ded99c4097
Simplify calculation 2023-10-24 14:32:03 +09:00
Salman Ahmed
ff66b74b0e Refactor logic to support DHO pooling 2023-10-24 02:24:00 +03:00
Salman Ahmed
0cf572d029 Use existing property and fix nullability 2023-10-23 11:46:21 +03:00
Salman Ahmed
2a70c331b9 Remove animation support from osu! slider reverse arrow 2023-10-20 23:59:03 +03:00
Salman Ahmed
80ce78e05d Remove animation support from osu! hit circle overlay 2023-10-20 23:59:03 +03:00
Salman Ahmed
7373a9a784 Remove unnecessary usage of ApplyWithDoubledAlpha 2023-10-20 23:54:29 +03:00
Salman Ahmed
ac8c2a173b Apply velocity into legacy slider ball animation rate 2023-10-20 22:47:45 +03:00
Dean Herbert
ca3a3f600e
Update visuals of spinner implementations to show MAX score differently 2023-10-20 16:11:09 +09:00
Dean Herbert
181a98e8ef
Remove duplicate definition of bonus text in ArgonSpinner 2023-10-20 16:10:54 +09:00
Dean Herbert
f16400929d
Update bindable flow to expose every spin, even after max bonus is reached 2023-10-20 15:38:04 +09:00
Dean Herbert
54da6f1048
Merge pull request #25160 from bdach/repeat-arrow-hidden-fade
Adjust slider repeat transforms to closer match stable
2023-10-18 18:03:48 +09:00
Bartłomiej Dach
f3cda58474
Fix legacy slider repeats becoming much too large on hit
They had scale transforms applied to them in two places: the actual
legacy pieces themselves (esp. `LegacyHitCirclePiece`), and on the
`DrawableSliderRepeat` level.

This change moves all of the scale transforms to the skinnable pieces.
Argon and triangles have received a copy of the previous logic each,
so behaviour on those skins should not change.
2023-10-17 14:47:44 +02:00
Dean Herbert
af7180a5b5
Add SpinnerSpinHistory and tests 2023-10-17 20:10:22 +09:00
Dean Herbert
5341a335a6
Bypass Parent nullability checks for now 2023-10-17 17:48:45 +09:00
Dean Herbert
0bb95cfa88
Fix incorrect initial rotation transfer value
Should have been removed as part of https://github.com/ppy/osu/pull/24360.
2023-10-16 19:34:55 +09:00
Dean Herbert
10bab61441
Tidy up lastAngle usage and add assertion of maximum delta 2023-10-16 19:34:22 +09:00
Dean Herbert
159b24acf7
Rename RateAdjustedRotation to TotalRotation 2023-10-16 18:25:03 +09:00
Dan Balasescu
84be714d6b
Fix large instantaneous delta on first frame
Happens when the first update frame comes in before any mouse input.
2023-10-16 18:17:11 +09:00
Dean Herbert
0b64852181
Limit sliderscorepoint to hitcicle dimensions
You'd never use anything above this unless crazy.
2023-10-13 15:43:20 +09:00
Dean Herbert
17df2fdf01
Restrict followpoint size
See https://github.com/ppy/osu/issues/24940#issuecomment-1760980461.
2023-10-13 15:42:49 +09:00
Dean Herbert
ad6f04cfb0
Hotfix approach circle cutoff 2023-10-09 10:16:57 +02:00
Bartłomiej Dach
96bb8ed150
Apply feedback regarding maximum osu! element sizings
- `default-N` number sprites maximum size increased by 1.25x to a total
  of 320x320 to counteract the 0.8x factor applied onto them when
  displayed on a hitcircle.

- `sliderb` and parts' maximum size increased to 384x384, to match
  `sliderfollowcircle`, as the two are apparently sometimes used
  interchangeably by skinners to achieve different visual effects.
2023-10-05 22:33:49 +02:00
Bartłomiej Dach
0ae4a0f11f
Adjust gameplay element maximum size limits for backwards compatibility
The new limits were chosen by sampling across over 4000 skins. The
methodology for doing so is described in the following gist:

	https://gist.github.com/bdach/6228ba41d128b23d1f89142f404108a3
2023-10-05 20:37:10 +02:00
Dean Herbert
16fcc4eaaa Fix incorrect anchor/origin causing rotation to look wrong on legacy skin arrows 2023-10-03 12:32:52 +09:00
Dean Herbert
3aa51301e8 Add null checks in disposal flow 2023-10-02 22:28:33 +09:00
Dean Herbert
94e49a34fd Adjust legacy reverse arrow implementation to match stable more closely 2023-10-02 22:26:57 +09:00
Dean Herbert
f0070eecf1 Add rotation support for very old skins 2023-10-02 20:09:39 +09:00
Dean Herbert
1bee7bf353 Add note about rotation 2023-10-02 19:22:24 +09:00
Dean Herbert
e4ac8362ec Update other implementations to use non-beat-sync logic 2023-10-02 19:20:11 +09:00
Dean Herbert
8010410487 Stop beat syncing (and close match stable's implementation of arrow animation) 2023-10-02 19:17:35 +09:00
Dean Herbert
ad4e988520 Adjust reverse arrows to bounce more 2023-10-02 18:43:50 +09:00
Dean Herbert
455fc228ad Add edge piece to argon reverse arrow 2023-10-02 18:43:50 +09:00
Dean Herbert
7dd9951c44 Split out reverse arrow implementations to allow better animation 2023-10-02 18:43:50 +09:00
Dean Herbert
990c54519b
Merge branch 'master' into limit-gameplay-sprite-dimensions 2023-09-26 16:40:32 +09:00
Dean Herbert
8e16b1d507 Simplify some maximum size specs 2023-09-20 12:48:15 +09:00
Salman Ahmed
922f6f36f2 Add size limitation for hit object numbers 2023-09-19 04:38:10 +03:00
Salman Ahmed
ab5226832a Add size limitation for slider reverse arrow piece 2023-09-19 04:38:10 +03:00
Salman Ahmed
b823507b2a Add size limitation for approach circles 2023-09-19 04:38:10 +03:00
Salman Ahmed
f963a921db Add size limitation for slider follow circle 2023-09-19 04:18:12 +03:00
Salman Ahmed
fc1a39ede3 Add size limitations for slider balls 2023-09-19 04:18:12 +03:00
Salman Ahmed
291a91be66 Change extension from retrieval to post-processing instead 2023-09-19 03:40:30 +03:00
Salman Ahmed
57dc76b345 Revert "Update GetTexture signature rather than creating new overload"
This reverts commit 96f12cfbaa.
2023-09-19 03:21:19 +03:00
Dean Herbert
e3e7a81ad9 Remove slider head circle movement (and remove setting from "classic" mod) 2023-09-14 17:49:41 +09:00
Dean Herbert
96f12cfbaa Update GetTexture signature rather than creating new overload 2023-09-05 18:01:19 +09:00
Salman Ahmed
351081eb27 Add limit to osu! hit circle elements 2023-09-03 02:22:53 +03:00
Dean Herbert
0858bef66e Update SmokeSegment in line with framework vertex changes 2023-08-17 18:12:04 +09:00
Dean Herbert
2e9379474d Change spinner rotation animation to match input 1:1 2023-07-25 19:21:20 +09:00
Dean Herbert
bddb91dc0a Adjust adjustment to 1px based on review feedback
Also split out `Size` variable for clarity
2023-06-12 14:24:39 +09:00
Dean Herbert
03a5b701e9
Fix incorrect inline comment
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-06-12 14:20:54 +09:00
Dan Balasescu
4b8c4bd503 Fix black jaggies around argon hitcircles 2023-06-10 01:54:13 +09:00
Dean Herbert
9c4312b407 Add support for flipping colour of reverse arrow on legacy default skin when combo colour is too bright 2023-05-03 12:37:07 +09:00
Dean Herbert
bd72c67d68 Increase the rate of slider ball fade on argon skins to match other implementations 2023-05-02 15:47:35 +09:00
Dean Herbert
72b472a756 Change default scaling and add note about legacy cursor-ripple scale 2023-04-30 14:48:03 +09:00
Dean Herbert
a4ae9e409b Implement ripples (legacy and default) 2023-04-30 14:48:03 +09:00
Dean Herbert
b39a9d816e Add basic structural requirements for cursor ripples 2023-04-30 14:48:03 +09:00
Salman Ahmed
678e8ed736 Update UBO usages inline with framework changes 2023-03-16 14:06:35 +03:00
Bartłomiej Dach
a14481acca
Merge pull request #22440 from peppy/argon-hit-lighting-v2
Adjust argon hit lighting further
2023-01-30 19:34:58 +01:00
Dean Herbert
2b55e05b10 Adjust argon hit lighting further 2023-01-27 13:31:21 +09:00
Dean Herbert
de1d473d29 Fix kiai flash being visible and incorrectly sized during hit animation 2023-01-26 15:24:10 +09:00
Bartłomiej Dach
73f53328cf
Merge branch 'master' into argon-kiai 2023-01-25 22:21:26 +01:00
Bartłomiej Dach
3daa9e6295
Merge branch 'master' into argon-hit-lighting-peppy-take 2023-01-25 21:44:43 +01:00
Dean Herbert
48d68b0f4f Add very basic kiai flash to argon hit circles 2023-01-25 18:59:26 +09:00
Dean Herbert
9499d3a20a Add support for disabling "hit lighting" with osu! argon skin 2023-01-25 15:50:49 +09:00
Dean Herbert
d8365f4fca Reverse order of application to match DrawableHitObject 2023-01-25 11:47:15 +09:00
Dean Herbert
3a47be6e00 Fix argon hit circles occasionally going missing during editor seeking 2023-01-24 17:43:14 +09:00
Bartłomiej Dach
7483967157
Merge branch 'master' into SliderEnd-Snap 2023-01-23 21:33:16 +01:00
ekrctb
7e466e1eba Fix SPM calculation division by zero 2023-01-20 21:00:01 +09:00
Wleter
00f15d19f9 fix double newlines 2023-01-17 21:11:21 +01:00
Dean Herbert
e9571be4ab Fix incorrect application layer causing completely discoloured circles 2023-01-11 19:29:17 +09:00
Dean Herbert
0d1046ed83 Add full colour application to kiai sprites 2023-01-11 19:29:17 +09:00
Wleter
98ffcd33c7
Merge branch 'ppy:master' into SliderEnd-Snap 2023-01-10 21:22:13 +01:00
Wleter
38bb7ac0c7 add fields for path's end location 2023-01-10 21:16:34 +01:00
Salman Ahmed
760b2d98df Tint "argon" slider follow circle with combo colour 2023-01-04 16:19:30 +03:00
Salman Ahmed
d70df08f45 Tint "argon" slider ball with combo colour 2023-01-04 16:19:16 +03:00
Dean Herbert
5e9fb1063a Move judgement text creation to base class and tidy things up 2022-12-24 12:22:36 +08:00
Dean Herbert
03603f8b54 Don't show great or higher judgements when using argon "pro" skin 2022-12-24 03:35:44 +08:00
Dean Herbert
727ac00f6d Combine base class for JudgementPiece 2022-12-24 03:32:13 +08:00
Dan Balasescu
7bc8908ca9 Partial everything 2022-11-27 00:00:27 +09:00
Alden Wu
815cd56f13 Add support for nonsquare smoke textures 2022-11-20 16:50:15 -08:00
Thomas Müller-Höhne
9ef43ebd83 Fix compilation after framework-side PR updates 2022-11-12 21:24:12 +09:00
Thomas Müller-Höhne
fa8e38d9d6 Target rounded fragment shader
Compatibility with osu-framework change https://github.com/ppy/osu-framework/pull/5512
2022-11-12 17:18:23 +09:00
Dean Herbert
e19ba65f91 Remove LookupName from base ISkinComponentLookup 2022-11-09 17:46:43 +09:00
Dean Herbert
1aa0e40f2f Add "Component" prefix to lookup naming 2022-11-09 17:46:43 +09:00
Dean Herbert
c908969d9b Rename ISkinComponent to ISkinLookup 2022-11-09 17:46:43 +09:00
Dean Herbert
82ff142b1b Apply nullability to osu! skinning classes 2022-11-09 13:37:09 +09:00
Dean Herbert
5e7dc34d05 Move some non-default skin files to correct namespace 2022-11-09 13:31:52 +09:00
Dean Herbert
710c224de4 Remove unused IHasMainCirclePiece interface 2022-11-09 13:31:50 +09:00
Dean Herbert
e89d3840fc Adjust completion animation 2022-11-03 15:12:30 +09:00