Commit Graph

272 Commits

Author SHA1 Message Date
smoogipoo f67d263596 Move ruleset-specific hitwindows to post-converted hitobjects 2018-05-17 13:35:15 +09:00
smoogipoo 0dce7a5b61 Update framework + fix CI errors 2018-04-20 18:19:17 +09:00
Dean Herbert 32a74f95a5 Normalize all the line endings 2018-04-13 18:26:38 +09:00
smoogipoo d9c5a0c6d1 Fix position editing not working 2018-03-29 22:38:44 +09:00
smoogipoo 6d4f94756e Rewrite the way drag + click selections happen
The general idea here is that we need the masks to handle mouse down events, as they need to handle the drag (mousedown -> drag immediately).

I've rewritten the editor selections to use events, as there are some 3 different components that handle/trigger selections in different ways.

1. All selections/deselections now propagate through `HitObjectMask.Select()`/`HitObjectMask.Deselect()`.
2. Components that react to changes in the selection bind to the masks' `Selected`/`Deselected` events, and track them/change their states locally.
3. Masks provide a `SingleSelectionRequested` event which is invoked on the mouse-down event. Various components bind to this event to perform state changes locally in this scenario.
4. `DragBox` now handles all drag input locally. It triggers `Select`/`Deselect` on the masks it needs to.
5. `SelectionBox` handles the display of itself locally.
6. `SelectionBox` handles movement of groups of masks locally.
7. `HitObjectMasks` handles movement of itself locally.
2018-03-29 22:07:23 +09:00
Dean Herbert af65f2dd48 Move AccentColour changes local to rulesets which rely on it 2018-03-22 18:53:16 +09:00
Dan Balasescu ab9505652b Merge branch 'master' into skin--completion 2018-03-22 16:44:00 +09:00
smoogipoo 4ccaf143b5 Give sliders a default accent colour 2018-03-22 15:50:19 +09:00
Dean Herbert 78a8f60b39 IHasComboIndex -> IHasComboInformation 2018-03-22 12:35:17 +09:00
Dean Herbert fb3d319d0e Make fallback bool into a function
Allows correct handling now that beatmap skins are also a thing.
2018-03-20 16:40:11 +09:00
Dean Herbert cb3d0db555 Move combo colours completely out of HitObjects 2018-03-20 15:50:12 +09:00
Dean Herbert a42035f494 Make DrawableHitObject a CompositeDrawable
No reason for it to be a container.
2018-03-15 13:41:06 +09:00
Dean Herbert a0691168cb Merge remote-tracking branch 'upstream/master' into editor-hitobject-movement 2018-03-14 15:35:24 +09:00
smoogipoo 212142429f Derive from IHasPosition 2018-03-12 17:25:34 +09:00
Dean Herbert eb643b690a
Merge branch 'master' into more-skinning 2018-03-12 11:55:50 +09:00
Dean Herbert d27cf16bf9 Merge remote-tracking branch 'ppy/master' into more-skinning 2018-03-12 10:46:37 +09:00
Dan Balasescu 8ba87dfdbd
Merge branch 'master' into fix-duplicate-judgements 2018-03-12 10:29:50 +09:00
smoogipoo 92b302971f Trim whitespace 2018-03-10 01:23:53 +09:00
smoogipoo 24501c37dd Merge branch 'drawableslider-cleanup' into editor-hitobject-movement 2018-03-10 01:15:24 +09:00
smoogipoo 8ed5fce43a Split out the slider head into a separate drawable hitobject 2018-03-10 01:13:59 +09:00
smoogipoo 376f6eec58 SetPosition -> OffsetPosition 2018-03-10 00:02:13 +09:00
smoogipoo 4a48136e4f Make hitobject positions adjustable 2018-03-09 23:12:34 +09:00
Dean Herbert b62ed004f2 Remove judgements when deciding a new judgement for a HitObject
Generally happens when rewinding.
2018-03-07 19:14:42 +09:00
Dean Herbert f2d7621df3 Add skin support for explode/flash layers
Basically to hide them for legacy skins, though.
2018-03-07 18:21:05 +09:00
Dean Herbert 05eb678654 Add skin support for judgements 2018-03-07 18:21:05 +09:00
Dean Herbert 4dfd3a61cc Remove alpha setting 2018-03-06 18:40:39 +09:00
Dean Herbert 7cf1d4450a SliderTick transform improvements 2018-03-06 18:28:36 +09:00
Dean Herbert ea6e3938c0 Fix hard crash due to spinner spin requirement being zero
Resolves #2133.
2018-03-04 03:01:47 +09:00
Dean Herbert 0704d823a9 Fix slider selection point not being set to new origin 2018-03-01 22:03:00 +09:00
smoogipoo d5d4bcb558 Merge branch 'master' into editor-hitobject-overlays 2018-03-01 14:04:38 +09:00
Dean Herbert 5b4fef0180 Add bare minimum sanity checking of beatmap input values to make broken maps load
Resolves ppy/osu#1988.
2018-02-28 18:12:24 +09:00
Dean Herbert bdd88303b3
Merge branch 'master' into editor-hitobject-overlays 2018-02-26 17:53:50 +09:00
Dean Herbert 1218a75b7f Improve vector conditional 2018-02-26 16:11:26 +09:00
Dean Herbert 9cbed461c4
Merge branch 'master' into sliderbody-rework 2018-02-26 15:00:18 +09:00
Dean Herbert f1ddfa0581 Fix sliders never getting a correct lifetime set 2018-02-25 16:25:56 +09:00
smoogipoo 50d1183ec2 Division-by-zero safety + reference our own size 2018-02-24 02:53:02 +09:00
smoogipoo 066abfbdbc Rename PositionAt -> CurvePositionAt to represent its new meaning 2018-02-24 02:43:36 +09:00
smoogipoo 8c90abe0dc Make slider control points relative to start position 2018-02-23 20:59:27 +09:00
smoogipoo 08bb25347c Make DrawableSlider contain the slider body 2018-02-23 20:27:05 +09:00
Dean Herbert 84b707f4f8 Add basic hitcircle skinning 2018-02-23 13:38:12 +09:00
smoogipoo 604b0fa20a Fix post-merge issues 2018-02-22 14:11:06 +09:00
smoogipoo ded2644df8 Merge branch 'master' into editor-hitobject-overlays 2018-02-22 14:08:36 +09:00
Dean Herbert 3b4e4bd110 Merge remote-tracking branch 'upstream/master' into general-slider-improvements 2018-02-22 12:28:33 +09:00
smoogipoo 08e52e8c15 Remove unnecessary schedules 2018-02-21 18:02:52 +09:00
smoogipoo 9cd9c83f2c Allow changing accentcolour/bordercolour post-load 2018-02-21 18:00:46 +09:00
smoogipoo f903e6d241 Fix stacking not working with sliders
Fixes #2093.
2018-02-21 17:46:45 +09:00
smoogipoo f877b642da Clean up and document better what "progress" means 2018-02-21 17:10:18 +09:00
smoogipoo 7fe0989427 Merge branch 'general-slider-improvements' into editor-hitobject-overlays 2018-02-20 23:51:47 +09:00
smoogipoo ee055b8e5c Allow customizing the snake-ability of sliders 2018-02-20 20:53:06 +09:00
smoogipoo 8270e4d758 Add BorderColour to SliderBody 2018-02-20 20:51:28 +09:00