Commit Graph

235 Commits

Author SHA1 Message Date
f044c06d08 Fix hold notes accepting presses during release lenience 2020-07-20 22:26:58 +09:00
cbd563e80b Rename to IHasDuration 2020-05-27 12:38:39 +09:00
4719fcc291 Actually use the cancellation token 2020-05-15 18:17:39 +09:00
98125102a7 Add cancellation token support to CreateNestedHitObjects() 2020-05-15 18:07:41 +09:00
330521a2ae Fix lifetime override not working 2020-04-28 15:34:10 +09:00
59bd2b3035 Merge pull request #8823 from smoogipoo/all-ruleset-encoders
Implement legacy beatmap encoding for all rulesets
2020-04-24 17:49:34 +09:00
4f0b5a34d3 Fix hold note placement body sized incorrectly 2020-04-23 12:53:23 +09:00
6da0872ae5 Use the last node sample for the tail note 2020-04-22 09:06:04 +09:00
1f962f5c56 Reword comment 2020-04-22 09:06:04 +09:00
cc0c82aaeb Implement IHasXPosition on ManiaHitObject 2020-04-22 09:06:04 +09:00
d957614fc9 Cleanup handling of mania samples 2020-04-22 09:06:04 +09:00
c51bad0e35 Cache ManiaPlayfield instead 2020-04-13 13:42:21 +09:00
cdff6060d3 Remove recursive hierarchy traversal for mania sample balance 2020-04-13 13:01:27 +09:00
65b96079a0 Move dampening to base implementation and change range to 0..1 2020-04-13 13:01:02 +09:00
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
1f797207f7 Rework lookups to not require total playfield columns 2020-04-03 12:31:05 +09:00
3cd353d387 Fix possible nullrefs 2020-03-31 16:57:58 +09:00
1952fcc0ce Implement mania hold note skinning 2020-03-31 16:42:35 +09:00
11430d616e Allow null hitobject 2020-03-31 16:00:08 +09:00
9a37a328b6 Add component overrides for hold note head/tail 2020-03-31 15:39:00 +09:00
c4f76ffdaf Implement mania note skinning 2020-03-31 15:29:25 +09:00
da89798765 Merge remote-tracking branch 'origin/master' into layout-rework 2020-02-26 15:06:40 +09:00
6c28fd21c7 osu-side changes 2020-02-24 20:52:15 +09:00
0e29d3c4a2 Correctly expire bar lines in osu!taiko and osu!mania 2020-02-23 13:50:05 +09:00
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
cd6902a312 Make EndTime and RepeatCount settable 2020-02-05 17:52:51 +09:00
7b2f58eb30 Apply OnRelease method signature refactorings 2020-01-22 13:22:34 +09:00
a897f497a2 remove LaneGlowPiece and GlowPiece 2020-01-04 18:35:37 +08:00
63c96d5a83 Fix tail note not properly capping result 2019-12-23 18:49:08 +09:00
d6fd1007c4 internal -> public 2019-12-23 18:48:14 +09:00
7ac6f68de8 Rewrite hold note input handling 2019-12-23 17:48:57 +09:00
42853b5af6 Separate head/tail notes from hold note class 2019-12-23 17:48:57 +09:00
bc41eb176e Clean up head/tail setting in various DHOs 2019-10-17 14:02:23 +09:00
f429a8f7c2 Add back/obsolete old AddNested() method 2019-10-17 14:02:08 +09:00
d8f3678c3c Rename parameter 2019-10-17 12:53:54 +09:00
8a284bacba Make mania use the new nested hitobject structure 2019-10-17 12:37:20 +09:00
51bf600ea7 Use empty hitwindows instead of null 2019-10-09 19:08:31 +09:00
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
2d99d41a6d Remove unused CORNER_RADIUS 2019-09-20 18:17:35 +03:00
9fc60aeefc Merge branch 'master' into reset-dho-lifetimes 2019-09-12 19:29:14 +09:00
f21e47d6d2 Move expire to DrawableHitObject 2019-09-12 19:29:08 +09:00
f9b64446e9 Merge branch 'master' into mania-note-sizing 2019-09-12 14:20:28 +09:00
06618b6d02 Fix osu!mania minor barline alpha not being respected 2019-09-11 18:45:47 +09:00
44d90a4e86 Increase note height 2019-09-11 18:16:14 +09:00
da6ba20fc8 Reduce glow on notes 2019-09-11 18:15:03 +09:00
af3bb5a2cd Centralise and share bar line generation code between rulesets 2019-09-10 13:30:54 +09:00
f925e781a9 Refactor HitWindows for legibility 2019-09-06 15:24:14 +09:00
8302658186 Fix other potential nullref cases that rider missed 2019-09-02 18:31:33 +09:00
f3656475de Return null hitwindows for non-time-based objects 2019-09-02 16:10:30 +09:00
9a98f39f06 Share logic with other rulesets (and make default) 2019-08-28 18:12:47 +09:00