Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Dean Herbert
5c7623e68e
Merge pull request #15255 from goodtrailer/node-samples-ilist
...
Change IHasRepeats.NodeSamples to IList from List
2021-10-28 14:24:26 +09:00
Dean Herbert
6944151486
Apply batch fixing of built-in types using var
2021-10-27 13:04:41 +09:00
goodtrailer
4440b9ca11
Change IHasRepeats.NodeSamples to IList from List
2021-10-23 01:59:07 -07:00
Dean Herbert
a92d499d7a
Convert usages of BeatmapDifficulty
to IBeatmapDifficultyInfo
2021-10-01 16:55:50 +09:00
smoogipoo
f9d5abff8a
Update with keybinding changes
2021-09-16 18:26:12 +09:00
Bartłomiej Dach
922fa96d41
Fix notes not updating snap colour on application
2021-09-12 18:18:55 +02:00
Dean Herbert
6aa894e55e
Split out separate component
2021-08-25 16:56:44 +09:00
Dean Herbert
6252b8aa42
Fix hold notes handling all input ever
2021-08-24 19:08:04 +09:00
smoogipoo
05234d6c30
Fix mania hitobjects not appearing early enough
2021-07-16 19:33:34 +09:00
ekrctb
a4f362dca6
Remove lifetime override of DrawableManiaHitObject
...
The `AlwaysAlive` logic is now in all DHOs and it is now not necessary (and potentially conflicting).
2021-06-17 10:15:24 +09:00
smoogipoo
f992b59b4f
Fix DrawableHoldNote retaining hit states through applications
2021-05-12 17:07:42 +09:00
smoogipoo
1af3bbf400
Fix base.OnLoadComplete() not being called
2021-05-12 17:06:44 +09:00
smoogipoo
4e7551d50e
Fix crashes
2021-05-12 16:40:46 +09:00
smoogipoo
5692cecaa4
Initial implementation of DHO pooling
2021-05-12 16:35:05 +09:00
smoogipoo
713c169332
Fix mania crashing on playing samples after skin change
2021-05-11 16:21:21 +09:00
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