1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-14 18:42:56 +08:00
Commit Graph

357 Commits

Author SHA1 Message Date
Salman Ahmed
1051009827 Change bindable properties in all HitObjects to be lazily initialised 2022-07-19 05:39:10 +03:00
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