Dan Balasescu
6bd190c55d
Refactor all slider input into SliderInputManager
2023-12-15 16:13:32 +09:00
Dean Herbert
94f4268ae5
Fix object dim being applied to approach circles
...
Fixes half of https://github.com/ppy/osu/issues/24956 .
The other half is high effort. The number portion is nested deeply and
with reason - depending on skin setting it changes the visual order.
I'm not sure how to fix that one, but I also think it's weird behaviour
and if people don't complain, it's probably fine to just dim the number
for consistency.
That said, the approach circle is an important one to ensure it matches
1:1, so I've fixed that here.
2023-09-29 18:23:23 +09:00
Dean Herbert
c0234ff254
Reduce approach circle's final opacity to match stable
...
Closes #24941 .
2023-09-29 12:44:28 +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
Bartłomiej Dach
e9b08219e9
Block input to objects lying under already-hit slider heads before slider is fully judged when classic note lock is active
2023-09-08 13:42:18 +02:00
Bartłomiej Dach
168a828f23
Revert "Block input to objects lying under already-hit hitcircles when classic note lock is active"
...
This reverts commit 03c61a573e
.
The goal here was to handle an edge case discovered during work on note
lock, wherein it was determined that on stable hit circles would block
input from reaching objects underneath them. However, the change
mentioned above did that _too_ hard and caused overlaps to also be
blocked even long past a hit circle has been faded out.
Revert the change pending further (and more careful) investigation.
2023-09-08 10:11:21 +02:00
Bartłomiej Dach
03c61a573e
Block input to objects lying under already-hit hitcircles when classic note lock is active
2023-09-05 22:50:27 +02:00
Bartłomiej Dach
ed2b1a0754
Contain entirety of legacy notelock badness inside the hit policy
2023-08-24 08:52:49 +02:00
Liam DeVoe
768d7b5e1c
correct implementation of stable notelock
2023-07-17 23:31:21 -04:00
Dan Balasescu
7bc8908ca9
Partial everything
2022-11-27 00:00:27 +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
710c224de4
Remove unused IHasMainCirclePiece
interface
2022-11-09 13:31:50 +09:00
Dean Herbert
674ae9e742
Refactor DrawableSliderHead
to never update the drawable position
...
Slider heads are guaranteed to always be drawn at (0,0). This fixes
weird behaviour in the editor, but also simplifies things in the
process. Win-win.
Closes #20644 .
2022-10-26 15:26:22 +09:00
Dean Herbert
44b99444a7
Hide approach circles immediate on successful hit
2022-10-05 13:42:04 +09:00
Dean Herbert
749053481a
Update osu! hitobject implementation to avoid triggering ClearInternal
2022-09-22 15:04:20 +09:00
Dean Herbert
b844d76311
Move Shake
logic local to hitcircle/slider
2022-09-22 15:04:20 +09:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Dean Herbert
fde7c88999
Merge branch 'master' into update-framework
2021-09-16 22:49:02 +09:00
smoogipoo
d8f27633a4
Fix legacy approach circles accepting alpha
2021-09-16 19:35:15 +09:00
smoogipoo
f9d5abff8a
Update with keybinding changes
2021-09-16 18:26:12 +09:00
Salman Ahmed
68e28f4903
Implement IHasApproachCircle
in DrawableHitCircle
as well
2021-06-21 07:35:07 +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
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
aa7ade8186
Expose presence of MainCirclePiece
via an interface
2021-04-26 15:22:17 +09: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
64e85ba995
Always fade out approach circles at a HitObject's start time to better match stable
2021-03-23 19:19:07 +09:00
smoogipoo
03b7817887
Add flags to return to classic slider scoring
2021-02-03 22:12:20 +09:00
ekrctb
245be2c5ed
Adjust namespace
2020-12-04 20:21:53 +09:00
ekrctb
c506b438bf
Remove more code and make some methods private
2020-11-22 18:51:16 +09:00
smoogipoo
04805b78c3
Tighten osu! ruleset lifetime expiry for past hitobjects
2020-11-17 23:20:19 +09:00
smoogipoo
bf72961959
Add top-level osu! hitobject pooling
2020-11-12 15:39:02 +09:00
smoogipoo
e190afbfed
Remove initial value changed invocations
2020-11-07 00:00:25 +09:00
smoogipoo
33b629a87a
Make top-level osu! objects use new methods
2020-11-06 23:09:23 +09:00
Dean Herbert
0cadb31947
Merge branch 'master' into drawable-hit-object-hit-state-fix
2020-11-05 17:07:52 +09:00
smoogipoo
9a7fcadabc
Use BDL for top-level osu! DHOs
2020-11-05 13:51:46 +09:00
Dean Herbert
a3dc1d5730
Update existing implementations
2020-11-04 17:14:23 +09:00
Bartłomiej Dach
1f0620ffd4
Replace assignment references to HitResult.Miss with Judgement.MinResult
2020-10-02 23:31:24 +02:00
Bartłomiej Dach
2b1ef16f89
Replace comparison references to HitResult.Miss with IsHit
2020-10-02 23:31:24 +02:00
Salman Ahmed
2771c95bec
Merge remote-tracking branch 'upstream/master' into expand-number-piece-on-old-skins
2020-08-04 22:17:54 +03:00
smoogipoo
eab00ec9d9
Move hit events to the ScoreProcessor
2020-06-19 19:58:35 +09:00
smoogipoo
900da88498
Populate hit offsets from score processor
2020-06-15 22:44:55 +09:00
smoogipoo
10e849d196
Separate into separate class
2020-04-10 02:02:09 +09:00
smoogipoo
a2f5a469cf
Merge branch 'master' into add-notelock
2020-04-10 01:18:54 +09:00
Dean Herbert
fb4b334ce2
Add support for legacy skin sliderstartcircle / sliderstartcircleoverlay
2020-03-28 14:10:26 +09:00
smoogipoo
742698acab
Add notelock implementation
2020-03-10 15:30:24 +09:00
Bartłomiej Dach
77fd748035
Fix incorrect circle piece hitbox
...
Hitboxes of circle pieces in osu! have regressed with commit 8592335
.
The reason for the regression was that hit detection was moved from
DrawableHitCircle itself to a newly-introduced private HitArea class
(now named HitReceptor).
As HitArea inherited from Drawable, it would return IsHovered == true
over its entire bounding box. This meant that the hit area could wrongly
pick up actions that are not within circle radius and make them into
hits.
To resolve, make HitReceptor a CompositeDrawable and set its corner
radius to match the circle piece. This fixes the invalid hitbox, as
IsHovered takes radius into account.
2020-03-06 21:21:20 +01:00
Dean Herbert
900882610d
Merge branch 'master' into expand-number-piece-on-old-skins
2020-03-02 16:40:59 +09:00