1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-30 07:07:25 +08:00
Commit Graph

306 Commits

Author SHA1 Message Date
smoogipoo
3aba462e52 Make Path.Distance a property again 2018-11-12 14:07:48 +09:00
smoogipoo
3b88d94793 Make SliderPath.ControlPoints read-only 2018-11-12 14:03:54 +09:00
smoogipoo
54ab256c8e Instantiate a new path rather than setting properties on it
# Conflicts:
#	osu.Game.Rulesets.Catch/Beatmaps/CatchBeatmapConverter.cs
#	osu.Game.Rulesets.Catch/Objects/JuiceStream.cs
#	osu.Game.Rulesets.Osu/Beatmaps/OsuBeatmapConverter.cs
#	osu.Game/Rulesets/Objects/Legacy/Catch/ConvertHitObjectParser.cs
#	osu.Game/Rulesets/Objects/Legacy/Mania/ConvertHitObjectParser.cs
#	osu.Game/Rulesets/Objects/Legacy/Osu/ConvertHitObjectParser.cs
#	osu.Game/Rulesets/Objects/Legacy/Taiko/ConvertHitObjectParser.cs
#	osu.Game/Rulesets/Objects/SliderPath.cs
2018-11-12 13:50:19 +09:00
smoogipoo
cf4dad0fe8 Fix hitobjects not updating IsMaskedAway after being judged 2018-11-07 15:42:40 +09:00
smoogipoo
ace1dce281 Merge remote-tracking branch 'origin/master' into fix-slider-samples
# Conflicts:
#	osu.Game.Tests/Beatmaps/Formats/LegacyBeatmapDecoderTest.cs
2018-11-05 18:10:22 +09:00
smoogipoo
92d570342c Fix sample additions not falling back to non-addition bank 2018-11-05 17:35:24 +09:00
smoogipoo
a4caaf56ef Merge remote-tracking branch 'origin/master' into fix-slider-samples
# Conflicts:
#	osu.Game.Tests/Beatmaps/Formats/LegacyBeatmapDecoderTest.cs
#	osu.Game/Rulesets/Objects/Legacy/Catch/ConvertHitObjectParser.cs
#	osu.Game/Rulesets/Objects/Legacy/ConvertHitObjectParser.cs
#	osu.Game/Rulesets/Objects/Legacy/Mania/ConvertHitObjectParser.cs
#	osu.Game/Rulesets/Objects/Legacy/Osu/ConvertHitObjectParser.cs
#	osu.Game/Rulesets/Objects/Legacy/Taiko/ConvertHitObjectParser.cs
2018-11-05 16:38:28 +09:00
smoogipoo
1fffa48aa0 Sort nested hitobjects post-creation 2018-11-05 12:15:45 +09:00
Dean Herbert
e6ee3dc73e Use framework helper functions for path approximation 2018-11-02 19:26:29 +09:00
smoogipoo
1aae123ff5 Make approximators share an interface 2018-11-01 19:16:44 +09:00
Dean Herbert
c1304eca1b Merge remote-tracking branch 'upstream/master' into slider-placement 2018-11-01 17:59:37 +09:00
Dean Herbert
bb2f8deb18 ControlPoint -> PathControlPoint
Also Curve -> Path.
2018-11-01 03:56:51 +09:00
smoogipoo
08b16be3b8 Merge branch 'slider-controlpoint-masks' into slider-placement
# Conflicts:
#	osu.Game.Rulesets.Osu/Edit/Masks/SliderMasks/Components/SliderBodyPiece.cs
#	osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs
2018-10-29 15:55:38 +09:00
smoogipoo
acd703c27b Make sliders respond to control point changes 2018-10-29 15:36:43 +09:00
smoogipoo
a9f1484e8b Fix some post-rebase issues 2018-10-29 15:26:28 +09:00
smoogipoo
8b36d9b482 Remove SliderCurve.Offset (unused) 2018-10-29 15:26:07 +09:00
smoogipoo
b3e105ba93 Make curve approximators implement common interface 2018-10-29 15:26:07 +09:00
smoogipoo
47be95ce0b Fix slider nodes using the wrong samples 2018-10-16 17:10:24 +09:00
smoogipoo
060cc24dba Cleanup slidercurve calculation 2018-10-16 11:11:04 +09:00
smoogipoo
e130204a3b Merge remote-tracking branch 'origin/master' into optimise-diffcalc 2018-10-12 12:26:15 +09:00
Dean Herbert
5d26c1b771
Merge pull request #3574 from smoogipoo/hitobject-perf-improvements
Various performance improvements around hitobjects
2018-10-11 22:16:48 +09:00
smoogipoo
d282d16e1c Use SortedList again 2018-10-11 20:49:12 +09:00
smoogipoo
83fd251c7b Pass sub-controlpoints as span slices 2018-10-11 17:44:25 +09:00
Dean Herbert
841b2e8692
Merge branch 'master' into consistent-terminology-format 2018-10-10 19:19:36 +09:00
smoogipoo
f53bb81723 Remove unnecessary lambda allocation 2018-10-10 14:58:54 +09:00
smoogipoo
417ebaeb85 Reduce hitobject size by removing lazy 2018-10-10 13:03:18 +09:00
smoogipoo
1125075b37 Use list with post-sort for nested hitobjects 2018-10-10 13:02:27 +09:00
smoogipoo
a8f156584b Update framework with positional/non-positional changes 2018-09-26 14:01:15 +09:00
Joehu
f99eff1192 Use consistent terminology format 2018-09-15 07:30:11 -07:00
smoogipoo
356a60b561 Fix hitobjects in scrolling rulesets getting masked away 2018-09-12 15:14:51 +09:00
smoogipoo
551581e5cd Skip invalid hitobject types, log error instead 2018-08-22 15:59:58 +09:00
smoogipoo
16d30f6756 Add explanatory comments 2018-08-17 13:31:12 +09:00
smoogipoo
eb6f1ae72c Fix spinners providing one extra combo 2018-08-17 09:16:28 +09:00
smoogipoo
4c3e551295 Fix first object not receiving new combo
Note: If a normal catch fruit is the first object, it does not receive a new combo...
2018-08-15 11:48:28 +09:00
smoogipoo
31f324945e Implement combo offsets 2018-08-15 11:47:31 +09:00
smoogipoo
da3e2cfee2 Catch/osu! spinners should have combo 2018-08-15 11:13:23 +09:00
smoogipoo
4f0305ffeb Taiko convert hitobjects should not have combo 2018-08-15 10:58:59 +09:00
smoogipoo
83f75ac896 Mania convert hitobjects should not have combo 2018-08-15 10:57:11 +09:00
smoogipoo
8faf12579a Fix field not being set correctly 2018-08-15 10:53:25 +09:00
smoogipoo
d2709613bc Add combo offset to ConvertHitObjectParser 2018-08-15 10:49:45 +09:00
smoogipoo
ce77473910 Simplify usage of ConvertHitObjectParser 2018-08-15 10:24:56 +09:00
smoogipoo
e04b2f4fa9 Fix hitobject results not rewinding 2018-08-14 18:31:32 +09:00
smoogipoo
2a54b5b78d ResetResult -> RevertResult 2018-08-06 12:29:22 +09:00
smoogipoo
3a7488767c Make HitObject not store the judgement 2018-08-06 11:50:18 +09:00
smoogipoo
0d6a8a2bf5 More xmldocs 2018-08-06 11:31:54 +09:00
smoogipoo
741ec0021e Rename more judgement-related methods to "result" 2018-08-06 11:31:46 +09:00
smoogipoo
ab642b563f CreateJudgementResult -> CreateResult 2018-08-06 11:07:41 +09:00
smoogipoo
754f3c8621 Move result creation to load(), add exceptions 2018-08-06 11:07:05 +09:00
smoogipoo
b35817c877 More xmldocs to hitobject/drawablehitobject 2018-08-06 10:55:38 +09:00
smoogipoo
5fd4ed2f4e Rename judgement-related methods/events + commenting 2018-08-06 10:55:25 +09:00
smoogipoo
482526135f Make IsHit not consider nested hitobjects 2018-08-03 16:07:20 +09:00
smoogipoo
2a4994e5ce Make hitobjects only have one judgement + result 2018-08-03 15:38:48 +09:00
smoogipoo
35b4ab5456 Introduce the concept of a "MainResult" 2018-08-02 21:07:40 +09:00
smoogipoo
3619290c34 Split out judgement definition from judgement result 2018-08-02 20:35:54 +09:00
smoogipoo
d51d0e8547 Initial structure for new hitobject judgement system 2018-08-01 21:45:59 +09:00
Dean Herbert
da8fc0ee5d ToLower -> ToLowerInvariant 2018-07-25 07:37:05 +02:00
Dean Herbert
d561f54282
Merge branch 'master' into per-object-css 2018-07-23 03:01:17 +09:00
smoogipoo
c087a73f40 Implement per-hitobject custom sample banks 2018-07-20 15:12:44 +09:00
David V
9eb69a1e76 Restructure + corrects converting to support all systems 2018-07-19 17:47:55 +02:00
David V
4e72794101 Converts float to int. 2018-07-19 15:55:38 +02:00
Dean Herbert
dbc538abbe Use Enum.HasFlag
With .NET core 2.0+ this is as efficient as the ugly code we've been using.
2018-07-16 16:18:46 +09:00
Dean Herbert
4f894969df
Merge branch 'master' into hitobject-samples 2018-07-05 19:43:19 +09:00
Dean Herbert
d11ba2df0e Merge remote-tracking branch 'upstream/master' into smoogipoo-legacy-custom-banks 2018-07-05 14:53:31 +09:00
smoogipoo
45a4187923 Tidy up lookups to NestedHitObjects 2018-07-02 16:10:56 +09:00
smoogipoo
7f832e34c0 Reorder sample bank property setters 2018-07-02 14:29:18 +09:00
smoogipoo
73fac2115a Implement hitobject sample files 2018-07-02 14:20:35 +09:00
smoogipoo
9f85c55915 Merge remote-tracking branch 'origin/master' into legacy-custom-banks 2018-07-02 12:34:51 +09:00
Dean Herbert
70a119dde7 Remove unused/duplicate interface 2018-06-29 12:20:53 +09:00
smoogipoo
781095b96b Encapsulate the method to apply SampleControlPoints to SampleInfos 2018-06-28 18:29:07 +09:00
smoogipoo
80501de4b9 Add legacy slider offsets 2018-06-27 12:09:21 +09:00
Dean Herbert
8e784d9104
Merge branch 'master' into fix-conversion-hitwindows 2018-05-18 11:59:16 +09:00
smoogipoo
43cdbec0a3 Fix hold note hitwindow lenience 2018-05-17 13:59:04 +09:00
smoogipoo
f67d263596 Move ruleset-specific hitwindows to post-converted hitobjects 2018-05-17 13:35:15 +09:00
smoogipoo
c67f372560 Don't create nested hitobjects unless absolutely required 2018-05-17 12:29:33 +09:00
Dean Herbert
6bf1092c7d
Merge branch 'master' into enable-distance-overflow 2018-05-15 18:56:51 +09:00
smoogipoo
f5068804d5 Re-enable slider distance overflow
Fixes #2467.
2018-05-14 15:14:29 +09:00
smoogipoo
97a523584d Make HitWindows not return null by default 2018-05-11 15:52:51 +09:00
smoogipoo
bfad101d17 Standardise naming 2018-05-11 15:42:34 +09:00
smoogipoo
5245d2d426 Add info about when CreateHitWindows is invoked 2018-05-11 15:36:53 +09:00
smoogipoo
8563291796 Add convert mania HitWindows 2018-05-11 15:32:00 +09:00
smoogipoo
c052ee71c1 Add convert osu HitWindows 2018-05-11 15:31:36 +09:00
smoogipoo
9c65d347ba Add convert taiko HitWindows 2018-05-11 15:31:12 +09:00
smoogipoo
8216bc311a Restructure HitWindows to allow outside setting 2018-05-11 15:30:26 +09:00
Adonais Romero González
06c6f55995 Apply offset to end times on legacy converter 2018-04-30 00:43:32 -07:00
Dean Herbert
32a74f95a5 Normalize all the line endings 2018-04-13 18:26:38 +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
Dean Herbert
366b7fca65 Remove GetColour method 2018-03-22 18:50:19 +09:00
Dean Herbert
c4fe6a04c5 Use string lookups for combo colours 2018-03-22 17:32:05 +09:00
Dan Balasescu
ab9505652b Merge branch 'master' into skin--completion 2018-03-22 16:44:00 +09:00
Dean Herbert
78a8f60b39 IHasComboIndex -> IHasComboInformation 2018-03-22 12:35:17 +09:00
Dean Herbert
1a782a840c Fix xmldoc 2018-03-22 12:34:29 +09:00
Dean Herbert
9ad4e9284a Add skin source fallback chain 2018-03-20 16:40:11 +09:00
Dean Herbert
c38c26eacb Move combo index processing to BeatmapProcessor 2018-03-20 15:57:43 +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
217dd2ecdc Initial push for better decoders 2018-03-09 21:24:15 +09:00
smoogipoo
2a9fb2c2c6 Make NestedHitObjects lazily-constructed 2018-03-05 21:40:26 +09:00
smoogipoo
8a15d4e677 Fix linear perfect-curves not being cased to CurveType.Linear
Fixes #2151.
2018-03-02 18:21:40 +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
9cbed461c4
Merge branch 'master' into sliderbody-rework 2018-02-26 15:00:18 +09:00