1
0
mirror of https://github.com/ppy/osu.git synced 2024-10-01 00:57:25 +08:00
Commit Graph

500 Commits

Author SHA1 Message Date
Dean Herbert
7f2d14416a Reset DrawableHitObject lifetimes on state change 2019-09-07 14:44:44 +09:00
Dean Herbert
a50284a5eb
Merge pull request #6019 from peppy/hit-window-refactor
Refactor HitWindows for legibility
2019-09-06 16:10:04 +09:00
Dean Herbert
c379480e7b
Merge branch 'master' into remove-judgement-occurred 2019-09-06 15:32:34 +09:00
Dean Herbert
f925e781a9 Refactor HitWindows for legibility 2019-09-06 15:24:14 +09:00
smoogipoo
07f662071d Remove judgementOccurred 2019-09-04 18:14:55 +09:00
Dean Herbert
bebc3309ce Refactor skin configuration to be infinitely extensible 2019-09-03 17:57:34 +09:00
Dean Herbert
1e7528c2b3 Merge remote-tracking branch 'upstream/master' into non-timeoffset-judgements 2019-09-02 19:13:00 +09:00
smoogipoo
f20e07136a Add attribute to catch potential future nullrefs 2019-09-02 17:48:41 +09:00
smoogipoo
f6102b4d92 Adjust xmldoc 2019-09-02 17:15:36 +09:00
smoogipoo
0c73c5acf3 Expose full hitobject rather than hit windows 2019-09-02 17:14:40 +09:00
smoogipoo
f2bdf94a1d Add HitWindows to JudgementResult to indicate timing errors 2019-09-02 16:28:14 +09:00
smoogipoo
8f8d35bd15 Delay initial hitobject state computation 2019-09-02 15:06:34 +09:00
Dean Herbert
741bd0a5cf Fix incorrect colour sizes and simplify alignment specification 2019-08-30 18:35:17 +09:00
Dean Herbert
9a98f39f06 Share logic with other rulesets (and make default) 2019-08-28 18:12:47 +09:00
smoogipoo
9e926d44c0 Obsolete legacy UpdateState() method 2019-08-27 16:09:47 +09:00
Dean Herbert
dbb3b583cf
Log error for invalid beatmap/storyboard events instead of thro… (#5611)
Log error for invalid beatmap/storyboard events instead of throwing

Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2019-08-09 12:56:47 +09:00
Dean Herbert
7e9c100c9b Apply new resharper refactors 2019-08-09 12:29:33 +09:00
smoogipoo
de4ad1f625 Fix bad log message 2019-08-08 14:44:49 +09:00
smoogipoo
ac2060f1cf Throw exceptions and let LegacyDecoder handle them 2019-08-08 14:44:04 +09:00
smoogipoo
0ff1c6184b Add generation comment 2019-08-01 17:36:20 +09:00
smoogipoo
a2468e599b Fix ticks in repeat spans being returned in reverse order 2019-08-01 17:31:37 +09:00
Dean Herbert
894d573fbc
Cache DrawableHitObject for skinnables to access (#5463)
Cache DrawableHitObject for skinnables to access
2019-07-29 18:49:37 +09:00
iiSaLMaN
ba4045a761 Fix transforming mods not working properly
Hidden, Grow, Deflate, etc..
2019-07-27 00:22:40 +03:00
Dean Herbert
eb6bda3f08 Cache DrawableHitObject for skinnables to access 2019-07-25 16:03:07 +09:00
smoogipoo
4e7e2d1d52 Adjust comments 2019-07-23 21:16:09 +09:00
smoogipoo
74b09c72fa Refactor state updates to convert State into an IBindable 2019-07-23 21:16:09 +09:00
Dean Herbert
d4d286c988 Add full documentation 2019-07-22 16:08:38 +09:00
Dean Herbert
c3b81bef4a Flip default to the preferred method going forward 2019-07-22 15:55:38 +09:00
Dean Herbert
be170b4124 Naming and documentation improvements 2019-07-22 15:50:02 +09:00
Dean Herbert
91f86adb66 Move DrawableHitObject state management to base class 2019-07-22 15:07:12 +09:00
Dean Herbert
8327452fe1 Make AccentColour a bindable 2019-07-22 14:48:59 +09:00
Dean Herbert
3e57fcf5c5 Merge remote-tracking branch 'upstream/master' into cleanup-slider-bodies 2019-07-17 22:11:01 +09:00
Dean Herbert
1a19cf0739
Fix 0-length sliders not getting correct lengths (#5033)
Fix 0-length sliders not getting correct lengths
2019-07-17 18:01:57 +09:00
smoogipoo
a9286fee07 Recycle slider paths when the parenting slider dies 2019-07-17 16:20:27 +09:00
smoogipoo
ed203cb0ff Delay intial hitobject updates 2019-07-16 13:45:59 +09:00
smoogipoo
5862eb172a Merge remote-tracking branch 'origin/master' into fix-zero-length-sliders
# Conflicts:
#	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
2019-07-05 15:48:04 +09:30
Dean Herbert
60ea3d4e1a Fix skinning support for combobreak 2019-06-30 21:58:30 +09:00
smoogipoo
a6ee83eac2 Merge remote-tracking branch 'origin/master' into fix-zero-length-sliders 2019-06-27 19:57:21 +09:00
Dean Herbert
ba48331fcb Remove no longer necessary HandleInput overrides 2019-06-27 18:34:59 +09:00
smoogipoo
2e7922c3f9 Fix 0-length sliders not getting correct lengths 2019-06-15 23:53:28 +09:00
Dean Herbert
cf713fbacc
Merge branch 'master' into fix-stacking-shaking 2019-06-14 22:16:35 +09:00
smoogipoo
4818187d8f Reset result timeoffset to 0 when rewound 2019-06-13 14:55:52 +09:00
smoogipoo
27fdda8b91 Don't update hitobject results when rewinding 2019-06-13 12:21:49 +09:00
Arphox
07e17518e9 Fix all "Maintainability" CodeFactor issues 2019-06-11 10:28:16 +02:00
smoogipoo
d7c09e7dbd Merge remote-tracking branch 'origin/master' into fix-new-inspections
# Conflicts:
#	osu.Game.Rulesets.Catch/Judgements/CatchDropletJudgement.cs
#	osu.Game.Rulesets.Catch/Judgements/CatchJudgement.cs
#	osu.Game.Rulesets.Mania/Scoring/ManiaScoreProcessor.cs
#	osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs
#	osu.Game.Rulesets.Osu/UI/Cursor/CursorTrail.cs
#	osu.Game.Tests/Visual/SongSelect/TestCaseBeatmapScoresContainer.cs
#	osu.Game/Graphics/OsuFont.cs
#	osu.Game/Online/API/Requests/Responses/APILegacyScoreInfo.cs
#	osu.Game/Overlays/Profile/Header/BadgeContainer.cs
#	osu.Game/Overlays/Profile/ProfileHeader.cs
#	osu.Game/Screens/Select/PlaySongSelect.cs
#	osu.Game/Skinning/LegacySkinDecoder.cs
2019-05-07 13:20:17 +09:00
smoogipoo
0bd35ab7bb Turn on warnings, resolve issues 2019-04-25 17:36:17 +09:00
Dean Herbert
c39c37a18d Apply more missed cases 2019-04-01 12:44:46 +09:00
Dean Herbert
612db31c38 Apply newline additions 2019-04-01 12:16:32 +09:00
Dean Herbert
c97116c91a Add safety against DrawableHitObject implementations clearing children 2019-03-25 13:34:22 +09:00
smoogipoo
6511234804 Fix catch spinners not being allowed for conversion 2019-03-20 13:53:22 +09:00
Dean Herbert
14af957599
Merge pull request #4468 from smoogipoo/fix-min-tick-distance
Fix ticks not being generated at the minimum tick distance
2019-03-15 12:12:48 +09:00
smoogipoo
71d79f0a39 Fix ticks not being generated at the minimum tick distance 2019-03-14 15:20:12 +09:00
Dean Herbert
8f00f2290a Log issues 2019-03-13 14:56:41 +09:00
Dean Herbert
f8b5cf8c8e Add extra clamping of endTime to startTime 2019-03-13 13:46:41 +09:00
Dan Balasescu
a35d9ccc09
Apply clamping suggestion
Co-Authored-By: peppy <pe@ppy.sh>
2019-03-13 12:35:05 +09:00
Dean Herbert
93b774104a Fix NaN handling 2019-03-13 11:30:33 +09:00
Dean Herbert
cc09ecbfcf Increase validation performed on .osu files to avoid hard crashes 2019-03-12 20:31:15 +09:00
Dean Herbert
63fea65c0c Clarify repeat index 2019-03-11 14:53:21 +09:00
Dean Herbert
489153579a Add xmldoc and clarify struct variables 2019-03-11 14:36:29 +09:00
Dean Herbert
2029cf93fd Rename and reuse variables 2019-03-11 14:33:21 +09:00
Dean Herbert
93a999396e LegacyFinalTick -> LegacyLastTick to match existing variable 2019-03-08 20:13:11 +09:00
Dean Herbert
355705f0a5 Fix legacy tick handling 2019-03-08 19:57:30 +09:00
Dean Herbert
973f29b765 Apply review 2019-03-08 15:14:57 +09:00
smoogipoo
a08086cc8a Fix volume not being considered for file samples 2019-03-05 18:21:29 +09:00
Dean Herbert
26d53d06a9 Fix remaining issues 2019-02-28 13:31:40 +09:00
smoogipoo
f66fefb818 Adjust comment + accessibility 2019-02-27 16:30:10 +09:00
smoogipoo
a07d797d75 Merge remote-tracking branch 'Joehuu/master' into use-lifetime-optimization 2019-02-27 12:08:43 +09:00
Dean Herbert
3fe4b8fd1c Update variable names
Also cleans up some weird code
2019-02-22 17:51:39 +09:00
smoogipoo
d8c55bc729 Adjust namespaces 2019-02-21 19:05:52 +09:00
smoogipoo
bca347427f Update with framework bindable changes 2019-02-21 18:56:34 +09:00
ekrctb
8955d5de04 Update hit object result when lifetime is end 2019-01-29 15:25:27 +09:00
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