Dean Herbert
8617aaa2a7
Update licence header (and remove year)
2019-01-24 17:43:03 +09:00
Unknown
6eff79913b
remove blank lines
2019-01-11 10:34:56 +01:00
Ivan Pavluk
28b033bd99
Autodetect LowestSuccessfulHitResult
2018-12-12 17:15:59 +07:00
Ivan Pavluk
e49e2fda9e
Rename SuccessfulHitResult->LowestSuccessfulHitResult
2018-12-12 13:24:58 +07:00
Dean Herbert
ffb91b4afc
Update docstring
...
Co-Authored-By: pavlukivan <pavlukivan@outlook.com>
2018-12-12 13:11:03 +07:00
Dean Herbert
d86cbf66a9
Update docstring
...
Co-Authored-By: pavlukivan <pavlukivan@outlook.com>
2018-12-12 13:10:47 +07:00
Ivan Pavluk
a62b105fb5
Fix formatting
2018-12-10 05:06:18 +00:00
Ivan Pavluk
8457324044
SuccessfulHitWindow->SuccessfulHitResult
2018-12-10 09:04:12 +07:00
Dan Balasescu
77a544e475
formatting fix
...
Co-Authored-By: pavlukivan <pavlukivan@outlook.com>
2018-12-09 23:38:29 +07:00
Dan Balasescu
784a114eae
formatting fix
...
Co-Authored-By: pavlukivan <pavlukivan@outlook.com>
2018-12-09 23:38:19 +07:00
Ivan Pavluk
cb2444e01c
Remove Meh from TaikoHitWindows
2018-12-06 19:04:54 +07:00
smoogipoo
9fdd48ded2
Add 1ms offset to controlpoint lookup times
2018-12-04 12:08:46 +09:00
smoogipoo
eb88768bd0
Fix incorrect controlpoint being applied to samples
2018-12-03 17:21:27 +09:00
smoogipoo
aea84f737b
Fix taiko hitobjects potentially disappearing before being judged
2018-11-29 12:12:29 +09:00
smoogipoo
f27bd3ef3e
OpenTK -> osuTK
2018-11-20 17:14:59 +09:00
smoogipoo
f3ba429701
Make sure control points is internally initialised
2018-11-12 17:14:06 +09:00
smoogipoo
f4fd6189f8
Implement IEquatable
2018-11-12 16:53:30 +09:00
smoogipoo
0220ed21b0
Ignore distance for json serialisation
2018-11-12 16:38:49 +09:00
smoogipoo
0e92b385f0
Define default json deserialisation constructor
2018-11-12 16:38:33 +09:00
smoogipoo
8ad9b6a02a
Safety for default(SliderPath)
2018-11-12 16:38:14 +09:00
smoogipoo
d594ce3530
Revert "Make SliderPath.ControlPoints read-only"
...
This reverts commit 3b88d94793
.
# Conflicts:
# osu.Game/Rulesets/Objects/SliderPath.cs
2018-11-12 16:20:38 +09:00
smoogipoo
77d16aa968
Add xmldocs
2018-11-12 14:16:21 +09:00
smoogipoo
4eef1134a6
Re-order file
2018-11-12 14:08:36 +09:00
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
Dean Herbert
4a52df2dd4
Apply review
2018-02-24 23:07:02 +09:00
Dean Herbert
768e0a4e2a
Add SkinnableSound class
...
Tidy things up, move logic out of SampleInfo.
2018-02-24 22:47:14 +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
Dean Herbert
6ceabfe19e
Add basic hitsound skinning
2018-02-23 13:38:12 +09:00
smoogipoo
f012cce668
Rewrite some xmldocs to make methods easier to understand
2018-02-21 17:33:22 +09:00
smoogipoo
4699b5ad7c
Fix a few code styling issues
...
These are present in the netstandard branch (the rules aren't working there - probably using the wrong configuration).
2018-02-08 23:47:03 +09:00
smoogipoo
0511728fbe
Remove "keypress" from comment
2018-02-08 17:38:46 +09:00
smoogipoo
46284c61ae
Return HitResult.None instead of null
2018-02-08 14:25:59 +09:00
smoogipoo
c537af0289
Fix/improve commends
2018-02-08 14:25:44 +09:00
smoogipoo
a6f1a4689e
Fix incorrect value copy-pasta
2018-02-08 14:16:37 +09:00
smoogipoo
802aaefe35
Give rulesets a way to disable/enable perfect/ok hit results
2018-02-08 13:54:08 +09:00
smoogipoo
cfdeac6428
Make hit windows settable by derived classes
2018-02-08 13:38:31 +09:00
smoogipoo
9225e883c1
Add + use HalfHitWindow
2018-02-02 20:29:50 +09:00
smoogipoo
6976347d64
Protect hit window values
2018-02-02 20:28:59 +09:00
smoogipoo
e45b26c742
Cleanup/minify HitWindows
2018-02-02 19:35:44 +09:00
smoogipoo
d371425c87
BAD -> MEH
2018-02-02 18:56:44 +09:00
smoogipoo
70462ebee3
Make HitWindows settable by derived HitObjects
2018-02-02 18:53:05 +09:00
smoogipoo
acf20c079c
General improvements around usage of HitWindows for mania
2018-02-02 18:47:54 +09:00
smoogipoo
558c53a6ba
Give HitObject some HitWindows
2018-02-02 18:47:10 +09:00
smoogipoo
a0c1662fb7
Move mania's HitWindows to osu.Game
2018-02-02 17:52:55 +09:00
smoogipoo
13f16077d4
Implement Catmull-Rom curve approximator
2018-02-01 20:04:41 +09:00
smoogipoo
b77f08941c
Make mania play the next note's sounds if no note is hit
...
Fixes #1911 .
This follows what osu!stable does, which is rather unfortunate, since it just plays _every_ sound for the note :|.
2018-01-24 20:05:37 +09:00
smoogipoo
d37844c068
Clean up off-by-one offsets from repeat-related properties
2018-01-23 13:37:25 +09:00
Dean Herbert
9b33499fe7
Merge remote-tracking branch 'upstream/master' into RefactorInputQueues
2018-01-16 20:04:34 +09:00
smoogipoo
0ae0dac192
Fix DrawableHitObject not binding nested hitobject events
2018-01-15 20:35:38 +09:00
Aergwyn
8ac6818639
expose IsHit
2018-01-13 16:26:14 +01:00