1
0
mirror of https://github.com/ppy/osu.git synced 2025-02-21 10:23:01 +08:00
Commit Graph

247 Commits

Author SHA1 Message Date
smoogipoo
8632c3adf0 Fix hold notes bouncing with SV changes 2020-08-21 23:11:15 +09:00
Dan Balasescu
42ee9b75df
Apply suggestions from code review
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2020-08-21 19:38:59 +09:00
smoogipoo
aead13628b Rework freezing to use masking 2020-08-21 17:52:42 +09:00
smoogipoo
37cf7999b1 Merge branch 'master' into hold-note-freeze 2020-08-21 14:39:25 +09:00
Dean Herbert
74f8e61381
Merge branch 'master' into mania-body-recycling 2020-08-19 20:40:15 +09:00
smoogipoo
1d9d885d27 Mask the tail as the body gets shorter 2020-08-19 01:40:26 +09:00
smoogipoo
4d4d9b7356 Add rewinding support 2020-08-19 01:37:31 +09:00
smoogipoo
99315a4aa7 Fix incorrect anchors for up-scroll 2020-08-19 00:05:36 +09:00
smoogipoo
988ad378a7 Fix body size + freeze head piece 2020-08-19 00:05:05 +09:00
smoogipoo
385f7cf85d Implement mania hold note body recycling 2020-08-18 17:56:48 +09:00
smoogipoo
583760100a Implement mania invert mod 2020-08-18 01:40:55 +09:00
smoogipoo
548ccc1a50 Initial implementation of hold note freezing 2020-08-18 00:29:00 +09:00
smoogipoo
f044c06d08 Fix hold notes accepting presses during release lenience 2020-07-20 22:26:58 +09:00
Dean Herbert
cbd563e80b Rename to IHasDuration 2020-05-27 12:38:39 +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
330521a2ae Fix lifetime override not working 2020-04-28 15:34:10 +09:00
Dean Herbert
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
smoogipoo
4f0b5a34d3 Fix hold note placement body sized incorrectly 2020-04-23 12:53:23 +09:00
smoogipoo
6da0872ae5 Use the last node sample for the tail note 2020-04-22 09:06:04 +09:00
smoogipoo
1f962f5c56 Reword comment 2020-04-22 09:06:04 +09:00
smoogipoo
cc0c82aaeb Implement IHasXPosition on ManiaHitObject 2020-04-22 09:06:04 +09:00
smoogipoo
d957614fc9 Cleanup handling of mania samples 2020-04-22 09:06:04 +09:00
Dean Herbert
c51bad0e35 Cache ManiaPlayfield instead 2020-04-13 13:42:21 +09:00
Dean Herbert
cdff6060d3 Remove recursive hierarchy traversal for mania sample balance 2020-04-13 13:01:27 +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
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
1f797207f7 Rework lookups to not require total playfield columns 2020-04-03 12:31:05 +09:00
smoogipoo
3cd353d387 Fix possible nullrefs 2020-03-31 16:57:58 +09:00
smoogipoo
1952fcc0ce Implement mania hold note skinning 2020-03-31 16:42:35 +09:00
smoogipoo
11430d616e Allow null hitobject 2020-03-31 16:00:08 +09:00
smoogipoo
9a37a328b6 Add component overrides for hold note head/tail 2020-03-31 15:39:00 +09:00
smoogipoo
c4f76ffdaf Implement mania note skinning 2020-03-31 15:29:25 +09:00
smoogipoo
da89798765 Merge remote-tracking branch 'origin/master' into layout-rework 2020-02-26 15:06:40 +09:00
smoogipoo
6c28fd21c7 osu-side changes 2020-02-24 20:52:15 +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
cd6902a312 Make EndTime and RepeatCount settable 2020-02-05 17:52:51 +09:00
smoogipoo
7b2f58eb30 Apply OnRelease method signature refactorings 2020-01-22 13:22:34 +09:00
mcendu
a897f497a2
remove LaneGlowPiece and GlowPiece 2020-01-04 18:35:37 +08:00
smoogipoo
63c96d5a83 Fix tail note not properly capping result 2019-12-23 18:49:08 +09:00
smoogipoo
d6fd1007c4 internal -> public 2019-12-23 18:48:14 +09:00
smoogipoo
7ac6f68de8 Rewrite hold note input handling 2019-12-23 17:48:57 +09:00
smoogipoo
42853b5af6 Separate head/tail notes from hold note class 2019-12-23 17:48:57 +09:00
smoogipoo
bc41eb176e Clean up head/tail setting in various DHOs 2019-10-17 14:02:23 +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
8a284bacba Make mania use the new nested hitobject structure 2019-10-17 12:37:20 +09:00
Dean Herbert
51bf600ea7 Use empty hitwindows instead of null 2019-10-09 19:08:31 +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