Commit Graph

1978 Commits

Author SHA1 Message Date
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
5e218697c5 Use stacked positions 2020-03-04 09:46:53 +09:00
da89798765 Merge remote-tracking branch 'origin/master' into layout-rework 2020-02-26 15:06:40 +09:00
ff063b229b Merge pull request #7973 from peppy/fix-dho-lifetimes-via-judgements
Fix hitobjects with unknown lifetimes by enforcing non-null judgement
2020-02-25 20:38:29 +09:00
f71c45cb1b Remove shallPropagate 2020-02-25 11:30:33 +09:00
6c28fd21c7 osu-side changes 2020-02-24 20:52:15 +09:00
e6cfafffe9 Fix incorrect LifetimeStart and add todo regarding Expire usage 2020-02-24 12:24:15 +09:00
ffc7eaa3f2 Fix hitobjects with unknown lifetimes by enforcing non-null judgement
We've seen multiple cases where DrawableHitObject are stuck in the lifetime management container
due to not implementing a judgement (meaning they are never "hit" or "missed"). To avoid this going forward
CreateJudgement() must be implemented and return a non-null judgement.

This fixes BananaShower and JuiceStreams in osu!catch.

This also makes HitObject abstract and cleans up convert HitObject implementations.
2020-02-23 13:49:06 +09:00
090d9d9350 Make FollowPointRenderer a LifetimeManagementContainer 2020-02-23 04:37:04 +09:00
cb9a7ee0bb Give FollowPointConnections a valid lifetime 2020-02-23 04:36:50 +09:00
00b4fc1e1f Add fill to default skin slider ball when tracking 2020-02-21 17:38:23 +09:00
958c891d15 Update with framework-side bindable list changes 2020-02-17 15:06:14 +09:00
6cfa182fe4 Don't transform repeat points 2020-02-16 15:35:12 +09:00
cd4643593f Fix transform mod not being applied correctly 2020-02-16 11:58:41 +09:00
5e8df45c00 Merge branch 'master' into improve-relax-key-down-up 2020-02-15 11:07:19 +09:00
6cd91de8f7 Merge branch 'master' into fix-2b-relax 2020-02-14 19:21:06 +09:00
61a7f04efb Add a sane key up delay to relax mod 2020-02-14 17:13:50 +09:00
4ce687d608 Move public methods up 2020-02-14 17:03:23 +09:00
cd2d1b0669 Fix 2B maps not playing correctly with relax mod enabled 2020-02-14 17:00:55 +09:00
9ea6912520 Improve overall readability of OsuModeRelax 2020-02-14 16:58:56 +09:00
9cbb37b682 Fix bindable being created far too late in construction 2020-02-14 15:59:59 +09:00
884a5fbad4 Fix osu! gameplay cursor not adjusting to mod/convert circle size changes 2020-02-14 14:30:15 +09:00
5b3f0bbb0a Merge branch 'master' into fix-editor-time-change-display 2020-02-13 23:55:52 +09:00
5a90e6f9b5 Merge branch 'master' into fix-blueprint-outside-container 2020-02-13 17:32:49 +09:00
53b62816f8 Add index constants for cross-class safety 2020-02-13 14:07:37 +09:00
0fe41fd50a Fix blueprint showing even when mouse outside of container 2020-02-13 09:03:48 +09:00
85a4437837 Fix editor custom FadeOut causing overlapping issues by removing existing FadeOut 2020-02-12 19:03:22 +09:00
3d1183eea0 Merge branch 'master' into difficultyadjust-order 2020-02-10 16:46:24 -08:00
ca237fd987 Simplify ordering by using only numbers, add xmldoc 2020-02-10 16:21:49 -08:00
ea521b466f Switch numerical consts to an enum 2020-02-09 21:37:40 -08:00
88a56d00bf Allow specifying order to SettingSource 2020-02-09 20:11:37 -08:00
91203c2b12 Merge branch 'master' into placement-display-in-timeline 2020-02-08 01:50:24 +09:00
51ae741fc7 Merge pull request #7755 from peppy/fix-spinner-placement
Fix spinner placement blueprint in multiple ways
2020-02-08 01:49:48 +09:00
51edd88277 Add back fade 2020-02-08 00:28:52 +09:00
830afe5209 Make spinner blueprint update values more frequently. Also handle right-click 2020-02-07 19:09:47 +09:00
a6531bf73e Don't show distance snap grid for spinners (for now) 2020-02-07 19:09:23 +09:00
6297606baa Make sMake spinner's EndTime correct on construction 2020-02-07 19:08:37 +09:00
e31d69c749 Add commit status to EndPlacement; call BeginPlacement on initial movement 2020-02-07 18:02:48 +09:00
544685be48 Add support for reading skin frame rate from configuration file 2020-02-07 14:58:29 +09:00
daf5fa9da4 Throw NotSupportedException instead 2020-02-06 13:16:32 +09:00
cd6902a312 Make EndTime and RepeatCount settable 2020-02-05 17:52:51 +09:00
84fcf45aae Make slider tracking match what is on screen 2020-02-03 11:55:14 +09:00
cf4788d7ef Merge branch 'master' into fix-follow-circle 2020-02-03 09:58:12 +09:00
35032e2ddd Make variables private 2020-02-02 14:34:06 +01:00
f7abfdb40e Remove unnecessary parameter 2020-02-02 14:33:48 +01:00
e2589b2dcb Rename drawable 2020-02-02 11:24:28 +01:00
434c0d92e4 Use Bindable{Float,Double}s everywhere
To avoid further floating-point comparison bugs, remove all usages of
Bindable<{float,double}>, replacing them with their
Bindable<Float,Double> counterparts.
2020-02-01 22:50:29 +01:00
9f4261111b Match osu-stable behaviour and size 2020-02-01 16:55:30 +01:00
811ddb02a4 General refactoring 2020-01-24 17:50:36 +09:00
6fc6a376ee Fix incorrect slider selection point 2020-01-24 17:50:09 +09:00