1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-17 05:33:21 +08:00
Commit Graph

987 Commits

Author SHA1 Message Date
Dean Herbert
3b6cf95f49 Remove parameter from StartTime method and add obsoleted previous version 2020-11-04 16:39:52 +09:00
Dean Herbert
7f30140b7e Add new method handling hit state specifically
Until now UpdateStateTransforms was applying results offsets to
StartTime. This didn't cover the case of a HitObject with duration,
where the call would be made with `StartTime + hitOffset` rather than
`EndTime + hitOffset`.

To resolve this, a new method has been added which should be used to
handle hit-specific state transforms.
2020-11-04 16:13:14 +09:00
Berkan Diler
fe3a23750c Use char overloads for string methods 2020-10-16 11:52:29 +02:00
smoogipoo
372761a46f More/better commenting 2020-10-12 19:22:34 +09:00
smoogipoo
eb4ef157ca Fix implicit segments not being constructed correctly 2020-10-12 19:16:37 +09:00
smoogipoo
48c0ae40ef Fix multi-segment sliders not parsing correctly 2020-10-12 18:04:28 +09:00
smoogipoo
696e3d53af Fix slider samples being overwritten by the last node 2020-10-09 20:50:09 +09:00
Dean Herbert
eacc7dca9a Fix SliderPath not handling Clear correctly 2020-10-09 06:31:59 +09:00
Dean Herbert
3c3c1ce885 Don't force playback of (non-looping) DrawableHitObject samples after skin change 2020-10-07 18:18:01 +09:00
Dean Herbert
a8151d5c63 Fix HitWindows getting serialized alongside HitObjects
These were being serialized as the base type. On deserialization, due to
the HitWindow of objects being non-null, they would not get correctly
initialised by the CreateHitWindows() virtual method.

- Closes #10403
2020-10-07 13:45:42 +09:00
Dean Herbert
c622adde7a Rename method back and add xmldoc 2020-10-05 16:24:02 +09:00
Dean Herbert
9f43dedf59 Fix missing line 2020-10-05 15:12:34 +09:00
Dean Herbert
758088672c Don't stop non-looping samples immediately when pausing 2020-10-05 15:07:46 +09:00
Bartłomiej Dach
2ddfd79923 Replace object pattern match with simple conditional 2020-10-03 08:09:10 +02:00
Bartłomiej Dach
2b1ef16f89 Replace comparison references to HitResult.Miss with IsHit 2020-10-02 23:31:24 +02:00
Dean Herbert
3069428efe
Merge pull request #10316 from smoogipoo/fix-spinner-flicker
Fix default spinner flashing yellow glow before completion
2020-10-01 22:29:48 +09:00
smoogipoo
ab33434a8a Reword xmldocs to better describe nested events 2020-10-01 21:54:43 +09:00
smoogipoo
042c39ae1b Remove redundant string interpolation 2020-10-01 21:48:45 +09:00
smoogipoo
d7f9b8045c Safeguard againts multiple ApplyResult() invocations 2020-10-01 21:33:54 +09:00
Dean Herbert
b7ac779760 Merge branch 'master' into fix-hitobject-sample-stuck-on-future-seek 2020-10-01 16:46:14 +09:00
smoogipoo
cb6b35116a Merge branch 'master' into scoring-standardisation 2020-10-01 12:28:51 +09:00
smoogipoo
c9f38f7bb6 Add obsoletion notice 2020-10-01 12:28:33 +09:00
Dean Herbert
4b70fe8585 Merge branch 'fix-storyboard-sample-pausing' into fix-hitobject-sample-stuck-on-future-seek 2020-09-30 22:46:09 +09:00
Dean Herbert
6cceb42ad5 Remove unused DI resolution 2020-09-30 15:50:53 +09:00
Dean Herbert
414c40d298 Reverse inheritance order of SkinnableSound's pause logic 2020-09-30 15:45:14 +09:00
smoogipoo
6264a01ecc Add guard against using the wrong hit result 2020-09-29 16:33:38 +09:00
Dean Herbert
5d1c377379 Fix HitObject samples getting stuck in a playing state on seeking far into the future 2020-09-29 15:07:55 +09:00
Dean Herbert
d6f3beffb6 Use existing bindable flow instead 2020-09-29 12:50:17 +09:00
Dean Herbert
4f0c0ea5f9 Fix hit samples playing while paused / seeking in the editor 2020-09-28 18:17:47 +09:00
Dean Herbert
59bfa08684 Forcefully re-apply DrawableHitObject state transforms on post-load DefaultsApplied 2020-09-25 18:26:54 +09:00
Dean Herbert
33fad27ec2 Avoid API change to DrawableHitObject 2020-09-24 13:28:29 +09:00
Dean Herbert
00b0228b61 Merge branch 'master' into fix-taiko-editor-type-stats 2020-09-24 13:18:13 +09:00
Dean Herbert
fee379b4b9 Reword xmldoc for legibility 2020-09-23 18:12:07 +09:00
Dean Herbert
9a0e5ac154 Handle type/strength changes from samples changes 2020-09-23 18:09:40 +09:00
Dean Herbert
a1ec167982 Add the ability to toggle new combo state from composer context menu 2020-09-23 16:38:16 +09:00
smoogipoo
73a7b759cb Add missing obsoletion notice 2020-09-17 17:04:44 +09:00
Dean Herbert
a8b405791a Fix non-convert slider and spinner serialization 2020-09-14 17:32:32 +09:00
Salman Ahmed
5439099b7c Merge GlobalSkinConfiguration settings into the LegacySetting enum 2020-07-29 10:35:51 +03:00
smoogipoo
5f98195144 Load nested hitobjects during map load 2020-07-24 18:16:36 +09:00
Dean Herbert
ac602846df Expose balance and sample loading methods in DrawableHitObject 2020-07-22 16:37:58 +09:00
smoogipoo
e95a1beaef Update state after applying hitobject 2020-07-15 16:53:27 +09:00
Bartłomiej Dach
c5049b51c5 Mark normal-hitnormal sample as layered 2020-06-22 20:08:29 +02:00
smoogipoo
88aed1d504 Merge branch 'master' into update-inspectcode-version 2020-06-09 20:12:39 +09:00
smoogipoo
f3b5149648 Move some suggestions to warnings, resolve issues 2020-06-03 16:48:44 +09:00
Dean Herbert
1992a3db54 Fix redundant override showing up in build warnings 2020-06-03 15:50:00 +09:00
Dan Balasescu
64d1b4b11b
Merge branch 'master' into move-setter-to-duration 2020-06-01 15:55:48 +09:00
smoogipoo
cac6e93575 Restore original IHasCurve implementation 2020-06-01 15:11:58 +09:00
smoogipoo
53b58910c3 Invert interface definition 2020-06-01 14:27:39 +09:00
Dean Herbert
e688033967 Fix incorrect xmldoc 2020-05-31 22:39:03 +09:00
Dean Herbert
f9883373bb Flip direction to avoid breaking other usages 2020-05-29 16:11:26 +09:00
Dean Herbert
cbd563e80b Rename to IHasDuration 2020-05-27 12:38:39 +09:00
Dean Herbert
b8e0a6f127 Move sett from EndTime to Duration 2020-05-27 12:37:44 +09:00
Dean Herbert
6b5b215299 Split out IHasPath from IHasCurve to better define hitobjects 2020-05-26 17:44:47 +09:00
Dean Herbert
0cc6d6d97c
Merge pull request #9033 from smoogipoo/applydefaults-cancellation
Add cancellation token support to CreateNestedHitObjects()
2020-05-26 12:04:06 +09:00
smoogipoo
6f4cd6111c Drop obsoletion status for now 2020-05-25 16:50:49 +09:00
smoogipoo
bc35bc5efb Merge branch 'master' into applydefaults-cancellation 2020-05-25 16:45:30 +09:00
Dan Balasescu
7846445b45
Merge branch 'master' into mania-distance-snap-grid 2020-05-22 21:17:25 +09:00
Dan Balasescu
648fc3af41
Merge branch 'master' into bar-line-floating-point 2020-05-22 16:32:25 +09:00
Dean Herbert
ce35d09e7d Fix incorrect alpha application to lines on rewinding 2020-05-22 12:45:37 +09:00
Dean Herbert
ce223a2bd8 Silence hit sounds while seeking 2020-05-21 11:08:06 +09:00
Dean Herbert
c2697d3907 Use DrawableSample in SkinnableSound class 2020-05-20 20:49:01 +09:00
Dean Herbert
db4e3047dd Add test for final sample output 2020-05-19 23:28:13 +09:00
Bartłomiej Dach
17ae392a75 Apply rounding to bar line start times 2020-05-17 22:11:13 +02:00
smoogipoo
6cd1753459 Add overload to prevent crashes (bosu) 2020-05-15 18:51:44 +09:00
smoogipoo
4719fcc291 Actually use the cancellation token 2020-05-15 18:17:39 +09:00
smoogipoo
98125102a7 Add cancellation token support to CreateNestedHitObjects() 2020-05-15 18:07:41 +09:00
smoogipoo
22dda3fe02 Make ScrollingHitObjectContainer respond to defaults applied events 2020-05-08 18:49:58 +09:00
smoogipoo
efff2bf15d Add HitObject to DefaultsApplied event 2020-05-08 18:49:19 +09:00
smoogipoo
93151f7612 Add back necessary events + addition to list 2020-04-22 18:32:59 +09:00
smoogipoo
8b0274fedd Remove obsolete methods 2020-04-22 17:55:50 +09:00
Dean Herbert
8ebc2ae03d Never run subtree masking 2020-04-20 20:48:35 +09:00
smoogipoo
44981431c5 Remove suffix hackery 2020-04-14 21:33:32 +09:00
smoogipoo
6935221463 Improve logic for CSB transfer 2020-04-14 21:05:07 +09:00
smoogipoo
58a7313091 Fix fallback for file hit samples 2020-04-13 20:09:17 +09:00
smoogipoo
cee4b005e6 Fix custom sample set 0 not falling back to default samples 2020-04-13 20:00:06 +09:00
Dean Herbert
65b96079a0 Move dampening to base implementation and change range to 0..1 2020-04-13 13:01:02 +09:00
Fire937
22d89dbff7 Merge branch 'master' of https://github.com/ppy/osu into stereo-shifted-playback 2020-04-12 01:46:32 +02:00
Fire937
f274ec297c Add positional sound support for all rulesets
The SamplePlaybackBalance is calculated in a way that the balance
remains between -0.4 and 0.4.
Positional sound is not supported in osu!taiko.
2020-04-12 01:33:25 +02:00
smoogipoo
a84fe2525b Fix nested hitobjects potentially indirectly masked away 2020-04-11 16:53:45 +09:00
Fire937
c17e470266 Fix PositionalSound calculation implementation
The position used to calculate the stereo balance is now the position of
the drawable (as opposed to the position specified in the beatmap file
previously).
2020-04-10 00:01:35 +02:00
Fire937
2201e9b4ae Add stereo shifted hitsound playback support
There is now a setting in the general settings called "Positional
hitsounds". If the setting is enabled, the hitsounds playback will be
shifted according to their position on the beatmap.
2020-04-09 18:12:15 +02:00
Dean Herbert
7db9bd798c Remove handle overrides 2020-03-30 11:59:51 +09:00
Dean Herbert
a2b3fe180e Add the ability to disable user input on specific DrawableHitObjects 2020-03-29 14:30:45 +09:00
Dean Herbert
f80efd10c2 Avoid using a miss judgement 2020-03-26 19:54:17 +09:00
smoogipoo
758bb3711f Add more sane limit for maximum slider length 2020-03-11 18:07:11 +09:00
Dean Herbert
c06db5a54a Remove legacy DrawableHitObject state management 2020-02-27 11:28:29 +09:00
Dean Herbert
d564440fe7
Merge branch 'master' into fix-barline-lifetimes 2020-02-25 20:41:04 +09:00
Dean Herbert
36079236e6
Remove pointless comment
Co-Authored-By: Dan Balasescu <smoogipoo@smgi.me>
2020-02-25 19:22:51 +09:00
Dean Herbert
a047456354 Revert changes to make HitObject abstract 2020-02-25 19:07:15 +09:00
Dean Herbert
be08e69862 Merge branch 'fix-dho-lifetimes-via-judgements' into fix-barline-lifetimes 2020-02-23 14:30:23 +09:00
Dean Herbert
401bf1c928 Remove unnecessary checks on NotNull attributes 2020-02-23 14:30:08 +09:00
Dean Herbert
0e29d3c4a2 Correctly expire bar lines in osu!taiko and osu!mania 2020-02-23 13:50:05 +09:00
Dean Herbert
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
Dean Herbert
5970c102b4 Change API to be easier to understand 2020-02-20 15:17:49 +09:00
Dean Herbert
5340d1de59 Move combo colour update logic to osu! ruleset 2020-02-19 16:07:00 +09:00
Dean Herbert
a1bfb18ce0 Fix accessing incorrect items list in event 2020-02-18 19:00:02 +09:00
smoogipoo
958c891d15 Update with framework-side bindable list changes 2020-02-17 15:06:14 +09:00
Dean Herbert
f7ee675102 Clear and revert to negative infinity, avoiding transforms getting left behind on StartTime change 2020-02-12 19:02:54 +09:00
Dean Herbert
c386589cc0 Reapply current state, not idle 2020-02-12 19:02:25 +09:00
Dean Herbert
7460018cd3 Move combo colours to GlobalSkinColours 2020-02-07 14:58:07 +09:00
Dean Herbert
daf5fa9da4 Throw NotSupportedException instead 2020-02-06 13:16:32 +09:00
Dean Herbert
cd6902a312 Make EndTime and RepeatCount settable 2020-02-05 17:52:51 +09:00
Bartłomiej Dach
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
smoogipoo
91735ff367 Update MathUtils namespace usages 2020-01-09 13:43:44 +09:00
smoogipoo
0f8a76afde Remove manual hitobject sample namespacing 2020-01-02 14:27:27 +09:00
Salman Ahmed
55be4478aa Merge remote-tracking branch 'upstream/master' into fallback-to-skin-combo-colours 2019-12-21 12:36:09 +03:00
Dean Herbert
fa067b8799
Merge branch 'master' into legacy-beatmap-saving 2019-12-18 17:17:03 +09:00
Huo Yaoyuan
d5994ed484 CA2208: create exceptions correctly. 2019-12-17 13:00:10 +08:00
Dean Herbert
272d7d0ca9
Merge branch 'master' into fallback-to-skin-combo-colours 2019-12-17 12:36:20 +09:00
smoogipoo
8beb6b534f Merge remote-tracking branch 'refs/remotes/origin/master' into legacy-beatmap-saving 2019-12-16 17:09:03 +09:00
Huo Yaoyuan
c457571da6 Use index and range expressions 2019-12-15 20:17:35 +08:00
Huo Yaoyuan
ddb2cfc46d Use GetEndTime in Taiko and Mania 2019-12-14 18:16:13 +08:00
Salman Ahmed
a9125f6544 Merge remote-tracking branch 'upstream/master' into fallback-to-skin-combo-colours 2019-12-12 12:37:51 +03:00
smoogipoo
c378e525da Extract the rest of legacy enums 2019-12-10 20:23:15 +09:00
smoogipoo
e3f925f69a Extract legacy hitobject type enum 2019-12-10 20:19:16 +09:00
smoogipoo
8012b21ffa Extract legacy sound type enum 2019-12-10 20:18:44 +09:00
smoogipoo
ab0f2e7c6a Apply suggested refactorings 2019-12-10 13:12:54 +09:00
smoogipoo
47f3c4a596 Don't serialise path version 2019-12-09 20:18:18 +09:00
smoogipoo
6d9cd0fafe Split out complex method 2019-12-09 18:25:13 +09:00
smoogipoo
b6e2738236 Remove unused using 2019-12-09 18:15:00 +09:00
smoogipoo
a1798fd38d Fix bad ctor implementation 2019-12-09 18:01:13 +09:00
smoogipoo
bfbb9aa18e Remove outdated assert 2019-12-09 18:01:02 +09:00
smoogipoo
883d5bc11d Remove automatic slider path offsetting 2019-12-09 17:54:22 +09:00
smoogipoo
9cb649436c Default to linear control point type 2019-12-09 17:47:05 +09:00
smoogipoo
5a093c039c Simplify path/point construction 2019-12-09 17:46:40 +09:00
smoogipoo
4905709ea4 Remove unused usings 2019-12-09 13:19:21 +09:00
smoogipoo
16f8341a02 Handle control point positional updates within SliderPath 2019-12-06 18:49:01 +09:00
smoogipoo
b4e1b5fa98 Explose + use the full calculated length of the path 2019-12-06 15:53:19 +09:00
smoogipoo
2654710d91 Add tests and fix negative expected distances 2019-12-06 15:37:06 +09:00
smoogipoo
27dd12a66d Rewrite slider length calculation for readability 2019-12-06 15:06:31 +09:00
smoogipoo
23c7132c4f Add missing license header 2019-12-06 11:53:22 +09:00
smoogipoo
3ebbf62b2a Initial game-wide update with the new SliderPath 2019-12-05 19:53:36 +09:00
smoogipoo
c9a66c0d07 Expose a version to indicate path changes 2019-12-05 18:31:28 +09:00
smoogipoo
1585d83b96 Add legacy constructor 2019-12-05 18:19:42 +09:00
smoogipoo
986ac1cee4 Make expected distance a bindable 2019-12-05 17:51:29 +09:00
smoogipoo
2702edfa55 Rename new path, replace existing one 2019-12-05 17:49:32 +09:00
smoogipoo
5e9b739b67 Re-implement slider paths to support multiple segments 2019-12-05 16:45:02 +09:00
smoogipoo
0149e47673 Expose general control point change event 2019-12-05 14:38:32 +09:00
smoogipoo
3e0f499e72 Add xmldocs 2019-12-05 14:38:21 +09:00
smoogipoo
40d0700fa5 Add structure for path control points 2019-12-05 13:43:38 +09:00
Huo Yaoyuan
05cfef92f9 Don't compare spans with null. 2019-12-03 20:09:58 +08:00
Huo Yaoyuan
a42f9447e6 Don't use Equals(object) on T?. 2019-12-03 20:07:22 +08:00
Huo Yaoyuan
c0fe91a84c Merge branch 'master' into sharpen 2019-11-26 18:21:50 +08:00
Dean Herbert
fbebbab5db Remove excess parenthesis 2019-11-25 22:37:07 +09:00
Dean Herbert
709ec1404f Centralise End/StartTime retrieval to extension method 2019-11-25 19:09:14 +09:00
Huo Yaoyuan
818553027b Merge branch 'master' into sharpen 2019-11-21 23:42:46 +08:00
Berkan Diler
6cab517b2d .NET Standard 2.1 implements Math.Clamp , use it instead of MathHelper.Clamp from osuTK. 2019-11-20 13:37:47 +01:00
Huo Yaoyuan
144812669d Use static local functions. 2019-11-12 19:56:54 +08:00
Huo Yaoyuan
dcfa98414f Use ??=. 2019-11-12 19:56:51 +08:00
Huo Yaoyuan
31cc0d13da Use 'out var'. 2019-11-12 19:55:26 +08:00
Dean Herbert
758c304d92
Merge branch 'master' into fallback-to-skin-combo-colours 2019-11-12 19:00:05 +09:00
smoogipoo
3f8928ca25 Suppress warnings 2019-11-12 13:41:54 +09:00
Dean Herbert
b37bf4ea01 Merge remote-tracking branch 'upstream/master' into selection-hitsound-addition 2019-11-12 10:44:53 +09:00
Huo Yaoyuan
e9b8cbb516 Apply other styles. 2019-11-11 20:27:04 +08:00
Huo Yaoyuan
ccc8aa6fa4 Apply brace style. 2019-11-11 20:13:13 +08:00
smoogipoo
b4cb4c1243 Remove previous samples on change 2019-11-08 16:19:55 +09:00
smoogipoo
a9b4106075 Remove unnecessary (for now) scheduling 2019-11-08 16:19:43 +09:00
smoogipoo
53e6186b6d Fix drawable hitobject samples not updating 2019-11-08 14:59:47 +09:00
smoogipoo
6fc1be64c2 Make hitobject samples a bindable list 2019-11-08 14:04:57 +09:00
iiSaLMaN
cee16e9419 Merge remote-tracking branch 'refs/remotes/upstream/master' into fallback-to-skin-combo-colours 2019-11-07 19:11:29 +03:00
iiSaLMaN
808543885f Change ComboColours type to IReadOnlyList<Color4>
Also exposes functions to modify the internal list (AddComboColours, ClearComboColours)
2019-11-07 15:54:30 +03:00
Dean Herbert
e3fa5f1da3
Merge branch 'master' into beatsnap-grid-integration 2019-10-21 18:44:34 +09:00
Dean Herbert
9f004186d5 Ensure DrawableHitObject's HitObject is not null 2019-10-21 17:56:39 +09:00
Dean Herbert
b157aaead1 Merge remote-tracking branch 'upstream/master' into beatsnap-grid-integration 2019-10-21 17:09:43 +09:00
smoogipoo
dc222b5e4d Add common path for duplicated code 2019-10-21 13:52:55 +09:00
Dean Herbert
d0eaf629af
Merge branch 'master' into dho-apply 2019-10-18 19:45:10 +09:00
smoogipoo
89f50b26f7 Fix hitobject combo colour potentially not getting adjusted 2019-10-18 17:32:11 +09:00
smoogipoo
5d3d25d3b6 Make method private for now 2019-10-18 13:24:28 +09:00
smoogipoo
9a896d52bf Fix nested hitobjects not updating 2019-10-18 13:18:41 +09:00
smoogipoo
f429a8f7c2 Add back/obsolete old AddNested() method 2019-10-17 14:02:08 +09:00
smoogipoo
d8f3678c3c Rename parameter 2019-10-17 12:53:54 +09:00
smoogipoo
8d7453c251 Rework construction of nested hitobjects 2019-10-16 22:10:50 +09:00
Dean Herbert
ad6b8d3e04 Add result offset bounding to result itself, rather than just transforms 2019-10-09 19:08:55 +09:00
Dean Herbert
51bf600ea7 Use empty hitwindows instead of null 2019-10-09 19:08:31 +09:00
smoogipoo
897b3233af Add start time tracking to EditorBeatmap 2019-10-03 14:23:48 +09:00
smoogipoo
45f2bcc440 Fix combo bindings not being bound to nested hitobjects 2019-09-26 17:39:19 +09:00
smoogipoo
706e884cc0 Update accent colour on combo index change 2019-09-26 17:13:13 +09:00
smoogipoo
bbf0544a8d Add bindables for IHasComboInformation properties 2019-09-26 16:55:08 +09:00
Dean Herbert
7d5544460b
Fix mania scrolling speed not including beatmap slider multipli… (#6236)
Fix mania scrolling speed not including beatmap slider multiplier

Co-authored-by: Dean Herbert <pe@ppy.sh>
2019-09-25 22:34:46 +09:00
Bartłomiej Dach
9323df26a1 Decouple bar line hitobjects from generator
Introduce an IBarLine interface, which together with generic constraints
helps decouple BarLineGenerator from the actual hitobject types it
creates. Thanks to this, all rulesets that want bar lines can provide
an implementation of IBarLine that also derives from the base hitobject
class.

This allows DrawableBarLines in taiko and mania to be migrated back to
DrawableTaikoHitObject and DrawableManiaHitObject base classes
respectively. This in turn resolves #6215 without code duplication,
since the missing anchoring application is now done in mania's
DrawableBarLine through deriving from DrawableManiaHitObject.
2019-09-25 00:36:27 +02:00
smoogipoo
75cceb9e30 Fix LifetimeChanged being invoked before lifetime is set 2019-09-24 16:47:34 +09:00
smoogipoo
762adb783a Fix duplicate invocation of updateState on load complete 2019-09-19 14:15:06 +09:00
Dean Herbert
5901a915e7 Always update drawable hitobject state on skin change 2019-09-18 20:19:57 +09:00
Dean Herbert
b81b162ee1 Update InitialLifetimeOffset comment 2019-09-12 19:30:27 +09:00
Dean Herbert
9fc60aeefc Merge branch 'master' into reset-dho-lifetimes 2019-09-12 19:29:14 +09:00
Dean Herbert
f21e47d6d2 Move expire to DrawableHitObject 2019-09-12 19:29:08 +09:00
Dean Herbert
af3bb5a2cd Centralise and share bar line generation code between rulesets 2019-09-10 13:30:54 +09:00
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
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
Dan Balasescu
ebb8550f53
Merge branch 'master' into shrink-drawablehitobject_t 2018-01-14 00:16:42 +09:00
Aergwyn
7875f0cb01 remove unnecessary internal 2018-01-13 16:15:41 +01:00
Aergwyn
356bb5da1e move sample logic up too 2018-01-13 12:55:52 +01:00
Aergwyn
70fc09f81e move judgement + state logic up to DrawableHitObject 2018-01-13 12:42:42 +01:00
Aergwyn
ae1adfd2f2 remove unnecessary empty lines
codefactor.io \(o.o)/
also one unnecessary semicolon
2018-01-12 19:30:34 +01:00
smoogipoo
9d00e5bb7d Make ScrollingHitObjectContainer handle nested hitobjects 2018-01-11 15:08:30 +09:00
smoogipoo
9036ea92eb Run child updates for nested hitobjects when parent hitobjects are masked 2018-01-10 18:29:46 +09:00
smoogipoo
86b5591583 Merge remote-tracking branch 'origin/master' into scrolling-hitobjects-rewrite 2018-01-10 18:02:49 +09:00
TocoToucan
ae032cbf23 Support HandleKeyboardInput, HandleMouseInput, CanReceiveKeyboardInput, CanReceiveMouseInput properties 2018-01-07 23:40:00 +03:00
Dean Herbert
37d393bca0 Update licence headers 2018-01-05 20:21:19 +09:00
smoogipoo
f34131f8f4 Initial game-wide replacement of scrolling playfields 2018-01-04 18:50:17 +09:00
Aergwyn
ccb69d16d9 move HitResult in Scoring namespace to replace HitCount 2017-12-30 21:23:18 +01:00
Dean Herbert
a0966305d4 Remove unnecessary new event 2017-12-30 14:46:44 +09:00
Aergwyn
f547c7986d created option to override values before UpdateState is called 2017-12-29 17:50:55 +01:00
Dean Herbert
27cb445c24 Always recrusively apply custom sequence to nested hitobjects 2017-12-29 17:48:05 +09:00
Aergwyn
dbcf87267d Merge branch 'master' into standard-hd-support 2017-12-27 21:26:39 +01:00
Aergwyn
4c2554595e implement hidden (mostly)
some things work and others don't, I dunno
2017-12-26 17:25:18 +01:00
smoogipoo
9690591593 Make taiko use namespaced hitsounds
This is a temporary solution for now that uses DrawableHitObject.SampleNamespace for the override. We will not want to do this going forward, and instead have the rulesets add their custom resource stores to the games', but that requires deciding where/when to apply/remove such resource stores, and is probably left to skinning.
2017-12-26 19:55:56 +09:00
smoogipoo
14162b5d46 Make InputDrum handle all Normals/Claps, hitobjects all others 2017-12-26 14:18:23 +09:00
smoogipoo
0fb620a8d3 Make HitObject.Samples non-nullable 2017-12-25 16:41:18 +09:00
smoogipoo
d288d8a51f Remove SampleInfoList 2017-12-25 15:40:01 +09:00
smoogipoo
68d76d4380 Fix taiko strong hits not being handled 2017-12-23 20:58:09 +09:00
Dean Herbert
aeafa5645a Make Samples null by default and prepopulate in mania 2017-12-23 18:06:46 +09:00
Dean Herbert
2db68df999 Simplify DrawableHitObject's sample load code 2017-12-23 17:20:14 +09:00
Dean Herbert
5026c7a95e SoundControlPoint -> SampleControlPoint 2017-12-23 16:34:34 +09:00
Dean Herbert
ff0927e71b Remove unnecessary newline 2017-12-23 16:23:33 +09:00
Dean Herbert
46865bbacd Merge remote-tracking branch 'upstream/master' into taiko-hitsounds-fix
# Conflicts:
#	osu.Game/Audio/SampleInfo.cs
2017-12-23 14:50:35 +09:00
smoogipoo
6a29f6020a Make HitObjects construct nested hit objects 2017-12-22 21:42:54 +09:00
smoogipoo
cb7e192aff Determine SampleInfo defaults in DrawableHitObject 2017-12-21 16:02:33 +09:00
smoogipoo
c99ea32574 Merge branch 'master' into beatmap-serialization 2017-12-21 13:39:39 +09:00
smoogipoo
a303bf71cf Give control over screen space conversion to DrawableHitObject 2017-12-11 22:19:02 +09:00
smoogipoo
b28306d3c0 Fix incorrect SelectionPoint 2017-12-11 18:08:16 +09:00
smoogipoo
4573cc3322 Refactor into a new DragBox class, representing a single drag 2017-12-11 17:45:03 +09:00
FreezyLemon
9e3d439f0a Merge branch 'master' of https://github.com/ppy/osu into taiko-hitsounds-fix 2017-12-08 08:30:02 +01:00
smoogipoo
f41af191ed Merge remote-tracking branch 'origin/master' into editor-selection-tool 2017-12-08 15:13:18 +09:00
FreezyLemon
43c270ea49 Rolled back the bad earlier implementation 2017-12-07 21:18:51 +01:00
smoogipoo
e573db04d4 Don't serialize HitObject.Kiai 2017-12-07 14:42:36 +09:00
smoogipoo
41b607c165 Dont serialize hitobject sample properties copied from the control point 2017-12-07 03:40:43 +09:00
Aergwyn
db50ad794e CI adjustments
- removing unnecessary `using`s
- name Fields/Methods according to rules
- removing unnecessary initializations
2017-12-01 17:58:11 +01:00
Aergwyn
806c0e3b26 restructured OsuLegacyDecoder into LegacyDecoder
Beatmap works, Storyboard not...
2017-12-01 17:43:33 +01:00
smoogipoo
cf859a6cf2 Make the dragger attach to objects it surrounds
Plus a lot more implementation.
2017-12-02 00:26:02 +09:00
FreezyLemon
bc3f11fdb8 Added PlaysSamples property to prevent certain DrawableHitObjects from playing their samples on hit. Also added this to TaikoObjects so their hitsounds won't be played (will be done by the TaikoRulesetContainer) 2017-11-29 06:24:13 +01:00
Dean Herbert
2610cadd3c CI fixes 2017-11-21 12:11:29 +09:00
Dean Herbert
4f6263ef86 Make many internal classes and methods public
This is important when using dynamic compiling to rapidly iterate. Until we actually split projects out into pieces (like the abstract ruleset project we have talked about) there is no advantage to using internal in the osu! game code.
2017-11-21 12:06:16 +09:00
smoogipoo
ae8407a3f3 Fix nested hitobject judgements not being removed 2017-11-13 14:00:35 +09:00
smoogipoo
66ee9d1631 Update in-line with framework changes 2017-11-09 17:04:04 +09:00
smoogipoo
348083f589 Update with framework state transformation
Removes explicit initial state setting in DrawableOsuHitObjects.
2017-11-09 14:05:05 +09:00
smoogipoo
0620d0bd7a AllJudged does not need to be virtual anymore 2017-11-02 21:56:09 +09:00
smoogipoo
326891f51c Add "Final" to better determine when to stop processing the hitobject 2017-11-02 21:54:28 +09:00
smoogipoo
fe00ac7e41 Make DrawableHitObject/ScoreProcessor support rewinding 2017-11-02 21:21:07 +09:00
Dean Herbert
bb6b656ec6 Fix code review issues 2017-10-12 22:27:22 +09:00
Dean Herbert
1a88ffe862 Merge remote-tracking branch 'upstream/master' into catch-improvements 2017-10-11 19:10:18 +09:00
Dean Herbert
03fbf47bc2 Add juicy streams 2017-10-10 20:22:42 +09:00
Dean Herbert
d5892cf54e Add a bool to specify whether judgements should be visible for certain DrawableHitObjects 2017-10-09 20:17:05 +09:00
Dean Herbert
b78c516b74 Merge branch 'master' into scoring-revamp 2017-09-13 20:47:14 +09:00
smoogipooo
093d82ac45 Set depths from playfield add methods instead of DrawableHitObject 2017-09-13 16:17:01 +09:00
smoogipooo
d83a2d4dc6 Disable masking optimisations for scrolling hit objects
Lifetime is very tightly controlled here, so all should be okay.
2017-09-13 15:57:40 +09:00
smoogipooo
d5bd005c01 Remove unused code for now
I don't think we'll ever be using this anyway.
2017-09-12 18:52:15 +09:00
smoogipooo
92b3e203e8 judgementOccurred should be passed upwards
So only one hit object is ever judged in a single frame.
2017-09-12 18:50:30 +09:00
smoogipooo
a38e0062a4 Fix checking judgements even if we don't provide a judgement, if we have a result, or if a nested hit object handled a judgement. 2017-09-12 18:49:50 +09:00
Dean Herbert
f32d444d68 Remove generics from Playfield (fixes catch) 2017-09-12 18:19:28 +09:00
Dean Herbert
d7ac02d090 Ensure judgements aren't updated when ArmedState is not idle 2017-09-12 18:00:41 +09:00
Dean Herbert
1194e46ef1 Merge remote-tracking branch 'upstream/master' into judgement-revamp 2017-09-12 17:46:21 +09:00
smoogipooo
d6bf5c38b7 Move Kiai bool to HitObject. 2017-09-12 10:01:07 +09:00
Dean Herbert
7b92bbfa86 Merge branch 'master' into mania-hit-explosions 2017-09-11 17:34:14 +09:00
smoogipooo
0cadee998c Set default AccentColour for hit objects 2017-09-11 13:44:05 +09:00
smoogipooo
2086ed209d Fix hold note tick input. 2017-09-11 04:51:44 +09:00
smoogipooo
0cc443e618 Remove all generic judgements. 2017-09-06 18:05:51 +09:00
smoogipooo
f158ce814c Fix state never getting set. 2017-09-06 17:20:41 +09:00
smoogipooo
ac8ec31b61 Make judgements able to be "added" plus make everything compile and run. 2017-09-06 17:02:13 +09:00
Dean Herbert
84c22df3f5 Combine Judgement.HitResults into one. 2017-09-06 17:01:48 +09:00
Dean Herbert
52dadad1e1 Merge branch 'master' into fix-taiko-barlines 2017-08-21 16:46:25 +09:00
smoogipooo
7a5708ce92 Further support for null judgements. 2017-08-21 15:35:16 +09:00
smoogipooo
6a7b410bc3 Make DifficultyControlPoint.SpeedMultiplier actually increase with an increasing speed. Fixes #1147 2017-08-21 11:58:54 +09:00
Dean Herbert
bc7621607a Merge upstream/master in. 2017-08-18 22:20:45 +09:00
MillhioreF
e42c279229 More generic catching for broken hitobject strings 2017-08-10 01:50:20 -05:00
MillhioreF
c16dbc05aa Add new error for malformed (too many variables) hit objects during import 2017-08-09 23:41:22 -05:00
smoogipooo
d83c218e08 Remove various scrolling container optimisations (removing when not alive). 2017-08-09 16:19:09 +09:00
Dean Herbert
ee7bb1b4f5 Don't set RelativePositionAxes when setting ScrollingAxes
(cherry picked from commit debe13629f)
2017-08-08 13:02:23 +09:00
smoogipooo
f3c05fe232 CI fixes. 2017-08-07 17:34:57 +09:00
smoogipooo
933740664c SpeedAdjustedHitRenderer -> ScrollingHitRenderer for consistent naming. 2017-08-07 16:43:54 +09:00
smoogipooo
a3efca9c35 Reduce implementation overhead in actually positioning hitobjects and making them scroll. 2017-08-07 16:02:38 +09:00
smoogipooo
e1dfe364b2 Fix lifetime performance regression. 2017-08-07 14:07:49 +09:00
Dean Herbert
fce580d717 Reshuffle namespaces 2017-07-26 13:22:46 +09:00
Thomas Müller
4045083dcd Update sorting comparers in line with framework changes 2017-07-11 21:21:58 +03:00
smoogipooo
3389c8a4dc CI fixes. 2017-06-21 20:17:15 +09:00
smoogipooo
34ac932fe2 Reduce pollution in DrawableHitObject in favor of a loosely-coupled IScrollingHitObject. 2017-06-19 10:54:23 +09:00
smoogipooo
28e48eab2b CI fixes. 2017-06-16 19:30:30 +09:00
smoogipooo
4afe83e74e Rework DrawableHitObject to provide default life times and proper DrawableTimingSection autosizing.
This exposes LifetimeOffset from DrawableHitObject which is used by the XSRG rulesets to adjust the life time range by the VisibleTimeRange.
2017-06-16 19:21:54 +09:00
smoogipooo
c137ee822c Give velocity a sane default value. 2017-05-29 12:19:51 +09:00
smoogipooo
231b1ae610 We don't need a curve. 2017-05-29 12:19:38 +09:00
smoogipooo
6101fe98e1 Always ApplyDefaults after parsing beatmaps to make sure hit objects are in their most loaded state. 2017-05-29 12:10:29 +09:00