Dean Herbert
db815f7930
Tidy up implementation in DrawableNote
2021-05-01 20:39:10 +09:00
Justus Franklin Tumacder
fdf8c12947
Replace BeatDivisorFinder with GetClosestBeatDivisor
2021-05-01 11:57:47 +08:00
Justus Franklin Tumacder
ecb053b0de
Merge branch 'master' of https://github.com/ppy/osu into justusft/mania-color-snap
2021-05-01 11:20:28 +08:00
Justus Franklin Tumacder
c4d28110d6
Add visual tests for timing based note coloring
2021-04-27 19:02:57 +08:00
Naxess
a3570e18dd
Add concurrent objects check
...
Here we use `IHasColumn` to support rulesets with columns, and so I moved that interface out into `osu.Game` from `osu.Game.Rulesets.Mania`.
We also use the same threshold as the unsnap check to ensure that no problems slip through. Specifically where an object is simultaneously not concurrent and not unsnapped but still on the same tick.
2021-04-26 20:17:18 +02:00
Justus Franklin Tumacder
559d403abe
Rename ColourCodedNotes to TimingBasedNoteColouring
2021-04-26 19:05:12 +08:00
Justus Franklin Tumacder
58ebec4803
Move BindValueChanged hooks to LoadComplete()
2021-04-26 19:00:40 +08:00
Bartłomiej Dach
e14255f395
Rename {Snap -> BeatDivisor}Finder
2021-04-25 17:44:26 +02:00
Bartłomiej Dach
afb67726f0
Reduce casting
2021-04-25 17:41:23 +02:00
Bartłomiej Dach
f9e228d6bf
Use null-permitting BDL to reduce number of fields
2021-04-25 17:40:23 +02:00
Justus Franklin Tumacder
211bff6a8f
Fix cake errors
2021-04-25 09:21:25 +08:00
Justus Franklin Tumacder
8b9d2a6cff
Remove caching for ConfigColourCodedNotes
2021-04-25 08:32:49 +08:00
Justus Franklin Tumacder
d3db19c3ce
Simplify DrawableNote
2021-04-25 08:11:44 +08:00
Justus Franklin Tumacder
e0ca44c908
Move SnapFinder from mania ruleset to osu.Game
2021-04-25 07:35:53 +08:00
Justus Franklin Tumacder
bedabc1ddf
Fix cake errors
2021-04-24 22:12:07 +08:00
Justus Franklin Tumacder
8b01082cbb
Fix visual tests missing dependency for ColourCodedNotes
2021-04-24 21:28:48 +08:00
Justus Franklin Tumacder
3103fd8343
Move snapping logic into SnapFinder
2021-04-24 21:28:35 +08:00
Justus Franklin Tumacder
a8b401522b
Remove ManiaColourCode in favor for boolean
2021-04-24 20:39:22 +08:00
Justus Franklin Tumacder
d6d81fb8e5
Move color snap logic from Note to DrawableNote
2021-04-24 19:53:21 +08:00
Justus Franklin Tumacder
f9905ebe68
Remove beatmap argument in Note
2021-04-24 19:37:10 +08:00
Justus Franklin Tumacder
7e3a611f95
Add snap color option for osu!mania
2021-04-24 16:23:52 +08:00
smoogipoo
4148d473e3
Fix hold note crashing with 0 length
2021-04-22 19:51:33 +09:00
smoogipoo
43e48406ca
Miss all ticks when hold note is hit
2021-03-31 12:21:14 +09:00
Bartłomiej Dach
9a330c4c56
Fix mania hold note heads hiding when frozen
...
This was an insidious regression from a3dc1d5
. Prior to that commit,
`DrawableHoldNoteHead` had `UpdateStateTransforms()` overridden, to set
the hold note head's lifetime. When that method was split into
`UpdateInitialStateTransforms()` and `UpdateHitStateTransforms()`, the
lifetime set was moved to the former.
Unfortunately, that override served two purposes: both to set the
lifetime, and to suppress hit animations which would normally be added
by the base `DrawableManiaHitObject`. That fact being missed led to
`UpdateHitStateTransforms()` hiding the hold note head immediately on
hit and with a slight delay on miss.
To resolve, explicitly override `UpdateHitStateTransforms()` and
suppress the base call, with an explanatory comment.
2021-03-21 18:46:41 +01:00
ekrctb
e3c035fe9c
Adjust namespace
2020-12-07 12:32:52 +09:00
ekrctb
40da799103
Move piece files of Mania ruleset
2020-12-07 12:31:56 +09:00
smoogipoo
0414e5c550
Add MaximumJudgementOffset to DrawableHitObject, use in more places
2020-11-26 01:12:42 +09:00
Dean Herbert
49b8331ccd
Merge pull request #10877 from smoogipoo/fix-mania-judgement-displays
...
Fix hold note judgements displaying incorrectly
2020-11-18 19:00:14 +09:00
smoogipoo
77942af3a6
Fix hold note judgements displaying incorrectly
2020-11-17 13:37:58 +09:00
Bartłomiej Dach
b62bf5798d
Store time of hold note break
2020-11-13 21:14:34 +01:00
Bartłomiej Dach
7a89e58483
Disable pressed/released action logic when rewinding
2020-11-13 20:49:06 +01:00
Dean Herbert
a3dc1d5730
Update existing implementations
2020-11-04 17:14:23 +09:00
Bartłomiej Dach
1f0620ffd4
Replace assignment references to HitResult.Miss with Judgement.MinResult
2020-10-02 23:31:24 +02:00
Bartłomiej Dach
2b1ef16f89
Replace comparison references to HitResult.Miss with IsHit
2020-10-02 23:31:24 +02:00
smoogipoo
e789e06c86
Don't display hold note tick judgements
2020-09-29 16:33:38 +09:00
smoogipoo
b1877b649b
Use new hit results in mania
2020-09-29 16:33:38 +09:00
Bartłomiej Dach
d419fe4dbf
Remove note shaking mention that doesn't apply in mania
2020-08-31 12:03:05 +02:00
smoogipoo
acbeb5406f
Add/improve xmldoc
2020-08-31 13:33:41 +09:00
smoogipoo
aa151e4cd7
Merge branch 'master' into mania-notelock
2020-08-31 13:31:41 +09:00
smoogipoo
deb172bb6c
Implement basic mania hit order policy
2020-08-27 20:24:21 +09:00
smoogipoo
1db836e9e0
Merge branch 'master' into hold-note-lighting
2020-08-26 20:22:07 +09:00
smoogipoo
9372c6eef6
Implement hold note lighting
2020-08-26 20:21:56 +09:00
smoogipoo
b3338347b7
Remove fade on successful hits
2020-08-21 23:56:27 +09:00
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
Vperus
2d99d41a6d
Remove unused CORNER_RADIUS
2019-09-20 18:17:35 +03: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
Dan Balasescu
f9b64446e9
Merge branch 'master' into mania-note-sizing
2019-09-12 14:20:28 +09:00
Dean Herbert
06618b6d02
Fix osu!mania minor barline alpha not being respected
2019-09-11 18:45:47 +09:00
Dean Herbert
44d90a4e86
Increase note height
2019-09-11 18:16:14 +09:00
Dean Herbert
da6ba20fc8
Reduce glow on notes
2019-09-11 18:15:03 +09:00