1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-15 16:27:43 +08:00
Commit Graph

2566 Commits

Author SHA1 Message Date
Bartłomiej Dach
432ce275c4
Explain magic constants better 2023-12-15 20:43:18 +01:00
Dean Herbert
e8f3e52c9e
Fix nullref failure in tests 2023-12-15 19:17:48 +09:00
Dean Herbert
eb5a8284f1
Move mobile check earlier to avoid unnecessary looping 2023-12-15 19:16:18 +09:00
Dean Herbert
456916f680
Fix column sizing exceeding screen width on tablets 2023-12-15 18:02:27 +09:00
Dean Herbert
fdcf87569c
Merge pull request #25711 from smoogipoo/mania-convert-song-select-keycount
Display osu!mania keycount in song select carousel panels and details
2023-12-13 16:31:25 +09:00
Dean Herbert
0e4e916388
Sneaky comment fix 2023-12-13 15:04:52 +09:00
Dan Balasescu
6ed5613c22
Merge branch 'master' into mania-convert-song-select-keycount 2023-12-13 13:53:50 +09:00
Dan Balasescu
2930b53edd
Simplify implementation 2023-12-13 13:43:14 +09:00
Dan Balasescu
36d0ec34d3
Merge pull request #25727 from PercyDan54/mania-autoplay-0ms-hold
Fix mania Autoplay mod missing 0ms hold notes
2023-12-13 12:13:53 +09:00
PercyDan54
b20b2203ac
Fix mania Autoplay mod missing 0ms hold notes 2023-12-11 21:10:14 +08:00
Dan Balasescu
b36db3518c
Add keycount to song select details panel and carousel panels 2023-12-09 22:31:51 +09:00
Dan Balasescu
81fe15f288
Fix osu!mania converted key count edge cases 2023-12-09 15:39:54 +09:00
Dan Balasescu
0fe2e1e8d6
Re-fix mania conversion following new discoveries 2023-12-08 16:33:10 +09:00
Dan Balasescu
d6cb8b70bb
Fix FP precision issue when converting mania beatmaps 2023-12-07 12:26:02 +09:00
Dan Balasescu
d0acb7f4f9
Improve commenting
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-12-04 06:08:31 +09:00
Dan Balasescu
230278f2c9
Once again remove Mania passive HP drain 2023-12-03 01:47:20 +09:00
Dan Balasescu
1c3bcbd548
Use IHasPath instead of IHasDistance for mania/taiko 2023-11-29 17:30:21 +09:00
Dan Balasescu
16577829e2
Fix mania and taiko slider conversion distance 2023-11-28 21:14:56 +09:00
Dan Balasescu
d924227810
Add ManiaHealthProcessor that uses the legacy drain rate algorithm 2023-11-27 14:38:31 +09:00
Bartłomiej Dach
a8fc73695f
Rename variable 2023-11-20 22:04:08 +09:00
Bartłomiej Dach
364a3f75e1
Compile regexes 2023-11-20 22:03:25 +09:00
Bartłomiej Dach
b6215b2809
Rename and document SelectFromTimestamp 2023-11-20 21:57:14 +09:00
ratinfx
fab6fc9adb Updated comments, renamed method 2023-11-12 15:09:15 +01:00
ratinfx
4e7c40f1d7 Do Split and Parse before checking HitObjects 2023-11-12 14:58:46 +01:00
ratinfx
4e1e19728c Refactor HitObject selection in Composer 2023-11-11 14:02:42 +01:00
ratinfx
aa87e0a44d HitObject Selection logic and separation for gamemodes
+ moved time_regex into EditorTimestampParser
2023-11-07 01:36:58 +01:00
Bartłomiej Dach
998d709331
Merge branch 'master' into mania-key-expand-mobile 2023-11-02 11:59:01 +01:00
Dean Herbert
704f5a6de3
Adjust sizing slightly to ensure we stay within 1366 limits 2023-11-02 11:44:36 +01:00
Dean Herbert
c83589cb74
Change osu!mania conversion mod ordering to be more appeasing 2023-11-02 15:49:10 +09:00
Dean Herbert
6dab5ee4cf
Add support for "argon" default skin to expand columns when on mobile device
Should ease those looking to play the game on mobile until we
(potentially) have a better solution in the future.

If this works out well, we can consider rolling it out to other skins.

Closes https://github.com/ppy/osu/issues/23377.
2023-11-02 15:13:44 +09:00
Dean Herbert
fbba3787d1
Merge pull request #25190 from frenzibyte/match-skin-element-animation-support
Match capability of animating legacy skin elements with osu!(stable)
2023-10-30 18:25:06 +09:00
Salman Ahmed
976ae62214 Fix incorrect nullability specification 2023-10-21 01:10:06 +03:00
Salman Ahmed
491f119988 Add animation support for legacy osu!mania column lights 2023-10-21 00:22:34 +03:00
Salman Ahmed
517d0f65b6 Adjust frame length of osu!mania hold-note body animation 2023-10-21 00:22:31 +03:00
Salman Ahmed
badb1310a3 Adjust frame length of osu!mania judgement animation 2023-10-20 23:59:03 +03:00
Bartłomiej Dach
b321d556b6
Enforce minimum gameplay sample volume of 5% 2023-10-20 15:50:13 +02:00
Dean Herbert
52c2eb93de
Merge branch 'master' into taiko-beat-snap-grid 2023-10-19 23:53:01 +09:00
Dean Herbert
5341a335a6
Bypass Parent nullability checks for now 2023-10-17 17:48:45 +09:00
Bartłomiej Dach
2192c9f2c2
Remove unused using directive 2023-10-17 10:30:01 +02:00
Bartłomiej Dach
22c1a963e7
Remove unused field 2023-10-17 10:27:16 +02:00
Dean Herbert
4381169a3f
Combine selection and input handling logic for beat snap grids across all rulesets 2023-10-17 17:09:42 +09:00
Dean Herbert
1b9acdf55c
Abstract out common implementation of BeatSnapGrid 2023-10-17 16:42:52 +09:00
Dean Herbert
d26d4b8b79
Cache IScrollingInfo at a HitObjectComposer level automatically 2023-10-17 16:42:22 +09:00
Bartłomiej Dach
b9a84127ac
Remove mention of "any tick"
They're very dead now.
2023-10-16 08:57:35 +02:00
Dean Herbert
4f1546c474
Rename PerfectBonusNote to NotePerfectBonus 2023-10-16 15:14:28 +09:00
Dean Herbert
3f09ed396f
Fix legacy skin body piece dimming when it shouldn't 2023-10-16 15:11:33 +09:00
Dean Herbert
1a957364ae
Add empty hit windows on PefectBonusNote 2023-10-16 14:58:49 +09:00
Dean Herbert
43f619f92a
Add DisplayResult flag and remove unnecessary AlwaysPresent 2023-10-16 14:57:58 +09:00
Dean Herbert
14fedffcc1
Fix MissForcefully not considering the bonus object 2023-10-16 14:53:36 +09:00
Dean Herbert
e85c039722
Adjust method flow to hopefully be more legible 2023-10-16 13:31:14 +09:00
Dean Herbert
ddbda69751
Remove nullability of bonusNote 2023-10-16 13:14:58 +09:00
Dean Herbert
850950ba61
Add note about why SmallBonus is not listed in GetValidHitResults 2023-10-13 17:36:30 +09:00
Dean Herbert
125f28219d
Fix hodl tail notes not correctly handling nested bonus judgement 2023-10-13 17:36:19 +09:00
Dean Herbert
94b64044e0
Add nested bonus judgement to DrawableNote for perfect bonus score 2023-10-13 17:01:48 +09:00
Bartłomiej Dach
a42e75452e
Remove remaining usages of LargeTickHit in mania 2023-10-12 11:16:51 +02:00
Bartłomiej Dach
063623b4e6
Merge branch 'master' into remove-hold-note-ticks 2023-10-11 19:47:51 +02:00
Bartłomiej Dach
3f29f27cd4
Assign empty hit windows to HoldNoteBody
It's not a timed object, so following precedent, it should have empty
hitwindows.

This is not actually just aesthetics; several components check whether a
hitobject has empty hitwindows to determine whether to include it on
various HUD displays and results screen components where timed objects
are explicitly involved.
2023-10-11 19:40:55 +02:00
Dean Herbert
8dc9453d8d
Apply some xmldoc and structural changes 2023-10-10 16:59:25 +09:00
Dean Herbert
1a60d6ade5
Use a DrawablePool for mania's beat snap grid
I'm not sure what the cause of the issue is, but I'm also not sure why
it wasn't using `DrawablePool` (was it not around back then?).

Either way, switching to a proper pool fixes things just fine.

Resolves https://github.com/ppy/osu/issues/25009.
2023-10-10 13:36:31 +09:00
Bartłomiej Dach
71c4b138fb
Merge branch 'master' into fix-legacy-score-multipliers-2 2023-10-09 10:53:14 +02:00
Dan Balasescu
e874ec81c9
Remove unused usings 2023-10-09 12:22:08 +09:00
Dan Balasescu
f0da7f016d
Actually use the judgement 2023-10-09 11:49:54 +09:00
Dan Balasescu
d988ef9b22
Revert functional change 2023-10-09 10:50:39 +09:00
Dan Balasescu
9415fe4446
Add mania hold note body + combo break judgement 2023-10-09 09:47:00 +09:00
Dan Balasescu
b2d9c95441
Remove HoldNoteTickJudgement 2023-10-09 09:31:45 +09:00
Dan Balasescu
5362902c87
Merge branch 'master' into remove-hold-note-ticks 2023-10-09 08:15:10 +09:00
Dean Herbert
f2e56bbb65
Fix publicly-settable bindables 2023-10-06 16:51:24 +09:00
Dan Balasescu
da2a4681d9 Add method to retrieve legacy score multiplier 2023-10-02 16:52:01 +09:00
Dan Balasescu
b4b7a7ea5e Add LegacyBeatmapConversionDifficultyInfo abstraction 2023-10-02 16:52:01 +09:00
NiceAesth
83bf1efc1c Add color search alias for colour settings 2023-09-27 16:29:29 +03:00
Bartłomiej Dach
e1d52134ae
Merge pull request #24930 from peppy/adjust-mania-barlines
Adjust osu!mania "major" barlines to be less visually distracting
2023-09-26 19:39:22 +02:00
Dean Herbert
9949480ccd Add minor edge smoothing to fix flickering of barlines
In most cases.

Closes https://github.com/ppy/osu/issues/15184.
2023-09-26 17:06:52 +09:00
Dean Herbert
5150c5a643 Adjust osu!mania "major" barlines to be less visually distracting
Applies to both "triangles" and "argon" skins.
2023-09-26 17:06:27 +09:00
Dean Herbert
0dcf7a2fa9
Merge branch 'master' into split-legacy-scoring-attribs 2023-09-26 15:52:27 +09:00
Dean Herbert
cb0226f843 Implement new interface-based speed change visualisation support on mania/taiko 2023-09-20 15:28:13 +09:00
Dean Herbert
41a8239e49 Remvoe null default for mods which can't be null 2023-09-20 15:27:50 +09:00
Dean Herbert
c5397bdbb3
Merge branch 'master' into mania-edit-disable-sv 2023-09-20 14:23:07 +09:00
Dean Herbert
56cc2b62f0 Make not extension method 2023-09-15 18:13:04 +09:00
Dean Herbert
0031da76ff Move to extension method and throw on non-legacy ruleset 2023-09-15 17:38:34 +09:00
Dean Herbert
4ecc4632aa Make rounding error even less precise
Basically matching the old code more closely to avoid too much precision
from doing math in a slightly different way.
2023-09-12 18:41:09 +09:00
Bartłomiej Dach
e71fef4b6a
Remove braces 2023-09-07 18:47:03 +02:00
Dan Balasescu
2334be1987 Split legacy scoring attributes into a separate object 2023-09-07 21:10:38 +09:00
Dean Herbert
b34a36f6ce Remove all usage of LegacyDifficultyControlPoint 2023-09-07 17:41:57 +09:00
Bartłomiej Dach
17e791d984
Merge branch 'master' into skin-lookup-debug 2023-09-06 18:44:50 +02:00
Dean Herbert
1a37543d28 Rename SliderVelocity to SliderVelocityMultiplier to distinguish from Velocity 2023-09-06 19:01:08 +09:00
Dean Herbert
6c95b88589 Add debug output for skin configuration lookups
We've struggle with debugging these over the years so I think this was
worth a couple of hours of work.

Example of osu! lookups:

```log
[runtime] 2023-09-06 08:38:30 [verbose]: BeatmapSkinProvidingContainer.GetConfig(lookup: SpinnerFrequencyModulate)
[runtime] 2023-09-06 08:38:30 [verbose]: |-SkinProvidingContainer+DisableableSkinSource{ skin: SkinTransformer{ Skin: LegacyBeatmapSkin{ Name: Vickeblanka - Lucky Ending (TV Size) (tears_) [Normal] } } }.GetConfig(lookup: SpinnerFrequencyModulate)
[runtime] 2023-09-06 08:38:30 [verbose]: |-RulesetSkinProvidingContainer.GetConfig(lookup: SpinnerFrequencyModulate)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-SkinProvidingContainer+DisableableSkinSource{ skin: SkinTransformer{ Skin: LegacySkin{ Name: Test Skin [test-skin] } } }.GetConfig(lookup: SpinnerFrequencyModulate)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-|-SkinTransformer{ Skin: LegacySkin{ Name: Test Skin [test-skin] } }.GetConfig(lookup: SpinnerFrequencyModulate)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-|-|-LegacySkin{ Name: Test Skin [test-skin] }.GetConfig(lookup: SpinnerFrequencyModulate) 🟢
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-SkinProvidingContainer+DisableableSkinSource{ skin: SkinTransformer{ Skin: DefaultLegacySkin{ Name: osu! "classic" (2013) } } }.GetConfig(lookup: SpinnerFrequencyModulate)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-|-SkinTransformer{ Skin: DefaultLegacySkin{ Name: osu! "classic" (2013) } }.GetConfig(lookup: SpinnerFrequencyModulate)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-|-|-DefaultLegacySkin{ Name: osu! "classic" (2013) }.GetConfig(lookup: SpinnerFrequencyModulate) 🟢
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-SkinProvidingContainer+DisableableSkinSource{ skin: osu.Game.Skinning.ResourceStoreBackedSkin }.GetConfig(lookup: SpinnerFrequencyModulate)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-|-osu.Game.Skinning.ResourceStoreBackedSkin.GetConfig(lookup: SpinnerFrequencyModulate) 🔴
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-SkinProvidingContainer+DisableableSkinSource{ skin: TrianglesSkin{ Name: osu! "triangles" (2017) } }.GetConfig(lookup: SpinnerFrequencyModulate)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-|-TrianglesSkin{ Name: osu! "triangles" (2017) }.GetConfig(lookup: SpinnerFrequencyModulate) 🔴
[runtime] 2023-09-06 08:38:30 [verbose]:
[runtime] 2023-09-06 08:38:30 [verbose]: BeatmapSkinProvidingContainer.GetConfig(lookup: ScorePrefix)
[runtime] 2023-09-06 08:38:30 [verbose]: |-SkinProvidingContainer+DisableableSkinSource{ skin: SkinTransformer{ Skin: LegacyBeatmapSkin{ Name: Vickeblanka - Lucky Ending (TV Size) (tears_) [Normal] } } }.GetConfig(lookup: ScorePrefix)
[runtime] 2023-09-06 08:38:30 [verbose]: |-RulesetSkinProvidingContainer.GetConfig(lookup: ScorePrefix)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-SkinProvidingContainer+DisableableSkinSource{ skin: SkinTransformer{ Skin: LegacySkin{ Name: Test Skin [test-skin] } } }.GetConfig(lookup: ScorePrefix)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-|-SkinTransformer{ Skin: LegacySkin{ Name: Test Skin [test-skin] } }.GetConfig(lookup: ScorePrefix)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-|-|-LegacySkin{ Name: Test Skin [test-skin] }.GetConfig(lookup: ScorePrefix) 🟢
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-SkinProvidingContainer+DisableableSkinSource{ skin: SkinTransformer{ Skin: DefaultLegacySkin{ Name: osu! "classic" (2013) } } }.GetConfig(lookup: ScorePrefix)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-|-SkinTransformer{ Skin: DefaultLegacySkin{ Name: osu! "classic" (2013) } }.GetConfig(lookup: ScorePrefix)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-|-|-DefaultLegacySkin{ Name: osu! "classic" (2013) }.GetConfig(lookup: ScorePrefix) 🟢
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-SkinProvidingContainer+DisableableSkinSource{ skin: osu.Game.Skinning.ResourceStoreBackedSkin }.GetConfig(lookup: ScorePrefix)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-|-osu.Game.Skinning.ResourceStoreBackedSkin.GetConfig(lookup: ScorePrefix) 🔴
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-SkinProvidingContainer+DisableableSkinSource{ skin: TrianglesSkin{ Name: osu! "triangles" (2017) } }.GetConfig(lookup: ScorePrefix)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-|-TrianglesSkin{ Name: osu! "triangles" (2017) }.GetConfig(lookup: ScorePrefix) 🔴
```

Example of osu!mania lookups:

```log
[runtime] 2023-09-06 08:28:34 [verbose]: |-RulesetSkinProvidingContainer.GetConfig(lookup: [ManiaSkinConfigurationLookup lookup:ColumnWidth col:0])
[runtime] 2023-09-06 08:28:34 [verbose]: |-|-SkinProvidingContainer+DisableableSkinSource{ skin: SkinTransformer{ Skin: LegacySkin{ Name: Test Skin [test-skin] } } }.GetConfig(lookup: [ManiaSkinConfigurationLookup lookup:ColumnWidth col:0])
[runtime] 2023-09-06 08:28:34 [verbose]: |-|-|-SkinTransformer{ Skin: LegacySkin{ Name: Test Skin [test-skin] } }.GetConfig(lookup: [LegacyManiaSkinConfigurationLookup lookup:ColumnWidth col:0 totalcols:4])
[runtime] 2023-09-06 08:28:34 [verbose]: |-|-|-|-LegacySkin{ Name: Test Skin [test-skin] }.GetConfig(lookup: [LegacyManiaSkinConfigurationLookup lookup:ColumnWidth col:0 totalcols:4]) 🔴
[runtime] 2023-09-06 08:28:34 [verbose]: |-|-SkinProvidingContainer+DisableableSkinSource{ skin: SkinTransformer{ Skin: DefaultLegacySkin{ Name: osu! "classic" (2013) } } }.GetConfig(lookup: [ManiaSkinConfigurationLookup lookup:ColumnWidth col:0])
[runtime] 2023-09-06 08:28:34 [verbose]: |-|-|-SkinTransformer{ Skin: DefaultLegacySkin{ Name: osu! "classic" (2013) } }.GetConfig(lookup: [LegacyManiaSkinConfigurationLookup lookup:ColumnWidth col:0 totalcols:4])
[runtime] 2023-09-06 08:28:34 [verbose]: |-|-|-|-DefaultLegacySkin{ Name: osu! "classic" (2013) }.GetConfig(lookup: [LegacyManiaSkinConfigurationLookup lookup:ColumnWidth col:0 totalcols:4]) 🟢
[runtime] 2023-09-06 08:28:34 [verbose]:
[runtime] 2023-09-06 08:28:34 [verbose]: BeatmapSkinProvidingContainer.GetConfig(lookup: [ManiaSkinConfigurationLookup lookup:ColumnSpacing col:0])
[runtime] 2023-09-06 08:28:34 [verbose]: |-SkinProvidingContainer+DisableableSkinSource{ skin: SkinTransformer{ Skin: LegacyBeatmapSkin{ Name: antiPLUR - Runengon (Raveille) [Easy] } } }.GetConfig(lookup: [ManiaSkinConfigurationLookup lookup:ColumnSpacing col:0])
[runtime] 2023-09-06 08:28:34 [verbose]: |-RulesetSkinProvidingContainer.GetConfig(lookup: [ManiaSkinConfigurationLookup lookup:ColumnSpacing col:0])
[runtime] 2023-09-06 08:28:34 [verbose]: |-|-SkinProvidingContainer+DisableableSkinSource{ skin: SkinTransformer{ Skin: LegacySkin{ Name: Test Skin [test-skin] } } }.GetConfig(lookup: [ManiaSkinConfigurationLookup lookup:ColumnSpacing col:0])
[runtime] 2023-09-06 08:28:34 [verbose]: |-|-|-SkinTransformer{ Skin: LegacySkin{ Name: Test Skin [test-skin] } }.GetConfig(lookup: [LegacyManiaSkinConfigurationLookup lookup:ColumnSpacing col:0 totalcols:4])
[runtime] 2023-09-06 08:28:34 [verbose]: |-|-|-|-LegacySkin{ Name: Test Skin [test-skin] }.GetConfig(lookup: [LegacyManiaSkinConfigurationLookup lookup:ColumnSpacing col:0 totalcols:4]) 🔴
[runtime] 2023-09-06 08:28:34 [verbose]: |-|-SkinProvidingContainer+DisableableSkinSource{ skin: SkinTransformer{ Skin: DefaultLegacySkin{ Name: osu! "classic" (2013) } } }.GetConfig(lookup: [ManiaSkinConfigurationLookup lookup:ColumnSpacing col:0])
[runtime] 2023-09-06 08:28:34 [verbose]: |-|-|-SkinTransformer{ Skin: DefaultLegacySkin{ Name: osu! "classic" (2013) } }.GetConfig(lookup: [LegacyManiaSkinConfigurationLookup lookup:ColumnSpacing col:0 totalcols:4])
[runtime] 2023-09-06 08:28:34 [verbose]: |-|-|-|-DefaultLegacySkin{ Name: osu! "classic" (2013) }.GetConfig(lookup: [LegacyManiaSkinConfigurationLookup lookup:ColumnSpacing col:0 totalcols:4]) 🟢
[runtime] 2023-09-06 08:28:34 [verbose]:

```
2023-09-06 18:03:40 +09:00
Dean Herbert
37c2b330a2 Move toggle implementation to work on all scrolling rulesets automatically 2023-09-01 19:53:10 +09:00
Dean Herbert
6ce251fbb5 Expose base VisualisationMethod so we don't need to new it locally per ruleset 2023-09-01 19:17:53 +09:00
Dean Herbert
0f5eff1230 Merge branch 'master' into mania-edit-disable-sv 2023-09-01 19:08:48 +09:00
Dan Balasescu
c60f13dd92 Remove mania hold note ticks 2023-08-31 17:30:27 +09:00
Dan Balasescu
c8f42f73e8 Adjust mania hit windows with gameplay rate 2023-08-24 11:17:41 +09:00
Dan Balasescu
a2fd7707a1 Allow toggling SVs in the editor 2023-08-18 18:55:24 +09:00
Dan Balasescu
cb23f03d4b
Merge pull request #24109 from Hydria/LNFixHotfix
Adjust LN value scaling to bring overrated LN maps more in line
2023-08-17 09:30:19 +02:00
Dan Balasescu
7d8cef83e6
Merge branch 'master' into LNFixHotfix 2023-08-15 13:45:06 +02:00
Dan Balasescu
5678db4e70 Fix test + cleanup 2023-08-15 19:42:32 +09:00
Dan Balasescu
e34a9a0001 Disable hold end conversion for mania HoldOff mod 2023-08-15 19:30:40 +09:00
Dan Balasescu
ec9e7f14a8 Disable SVs from being visualised in mania editor 2023-08-15 18:51:24 +09:00
Dean Herbert
3526032c9a
Merge pull request #24544 from smoogipoo/pool-mania-barlines
Add pooling for mania barlines
2023-08-15 15:21:59 +09:00
Dan Balasescu
6a7b0786c9 Add barline pooling for mania 2023-08-15 13:33:49 +09:00
Bartłomiej Dach
3178865cd3
Fix playfield skinnable layer bounds being incorrectly calculated with multiple stages
Closes #24514.

The original PR was _supposed_ to be handling this, and had code that
_looked_ like it would handle it, but was in fact subtly wrong, as the
union of `RectangleF.Empty` (initial value of `area`) and an arbitrary
other rectangle is _not_ the second rectangle, but rather a rectangle
that contains _both_ the second rectangle and the point (0,0),
thus leading to the bound calculation fail.
2023-08-12 21:55:20 +02:00
Dean Herbert
06fe5583cb Expose a new SSDQ from playfield for skinnable area bounds 2023-07-28 15:47:57 +09:00
Hydria
1e19def153 2nd fix to cover all scenarios 2023-07-22 16:44:01 +01:00
Bartłomiej Dach
157aec5144
Fix mania key count slider still using circle size precision 2023-07-22 16:10:58 +02:00
Hydria
ef2134a92a Fix issue with processing LN orders
Related Issue: https://github.com/ppy/osu/issues/22756

The trigger in question happens when
(1) in a chord: a longer LN, then a shorter LN is processed respectively.
(2) in a chord: a long LN, then a note is processed respectively.

however, given the opposite processing step, it will fail to trigger.

We observe that both situations have the same pattern, however has undeterministic results, which only depends on the order the mapper placed each note.
2023-07-22 10:45:48 +01:00
Dean Herbert
fd2bdc10c7 Fix "key count" setting showing as "circle size" in osu!mania editor
Closes https://github.com/ppy/osu/issues/12904.
2023-07-21 18:52:29 +09:00
Dean Herbert
e58488d04a Fix incorrect comparer implementation 2023-07-15 11:19:34 +09:00
Dean Herbert
d4fb0bef95 Fix osu!mania scores failing to convert to new standardised score due to cast failure
Regressed in https://github.com/ppy/osu/pull/23917.
Closes #24217.
2023-07-14 19:38:10 +09:00
Bartłomiej Dach
d5912165e9
Merge branch 'master' into results-screen-component-metrics 2023-07-13 19:53:52 +02:00
Dean Herbert
9ad63bae37 Add missing heading for statistics section in results screen 2023-07-13 18:50:52 +09:00
Dean Herbert
947b40149f Adjust metrics of SimpleStatisticTable 2023-07-13 18:45:32 +09:00
Dan Balasescu
47a65f8890
Merge branch 'master' into fix-imperfect-simulation 2023-07-13 15:41:54 +09:00
Bartłomiej Dach
7be5e0e978
Implement back-and-forth conversion of ModScoreV2 and LegacyMods 2023-07-09 16:15:21 +02:00
Bartłomiej Dach
9dae806734
Use IsRewinding in a few more places 2023-07-08 13:32:24 +02:00
Dean Herbert
e0fc97bb93 Replace various local implementations of rewinding checks with new property 2023-07-07 15:21:24 +09:00
Dean Herbert
1629024111 ILegacyScoreProcessor -> ILegacyScoreSimulator 2023-07-04 17:32:54 +09:00
Hydria
5d5e6a5ab7 Finalised LN Adjustment Values
Spent a couple days discussing this on the pp rework server about values that were the most acceptable, these seemed to be the best from the community standpoint of top players.
Note: This is more to fix issues with the current system, not to be a final solution.
Related Google Sheets Page: https://docs.google.com/spreadsheets/d/1P0AxfdKvMHwWBQder4ZkFGO1fC9eADSGCryA5-UGriU/edit?usp=sharing
2023-07-03 17:45:30 +01:00
Dan Balasescu
426f11b824 Apply a few other code reviews 2023-06-29 17:28:06 +09:00
Dan Balasescu
c6ad184d94 Move Ruleset method to ILegacyRuleset interface 2023-06-29 17:24:37 +09:00
Dan Balasescu
09bc8e45de Refactoring 2023-06-28 16:14:32 +09:00
Dan Balasescu
a9c65d200a Initial conversion of scores 2023-06-26 22:19:01 +09:00
Dan Balasescu
e1d723a2cc Merge branch 'master' into diffcalc-total-scorev1 2023-06-26 14:32:14 +09:00
Bartłomiej Dach
e3a89a6273
Fix remaining obvious CI inspections 2023-06-24 16:07:01 +02:00
Dan Balasescu
5fadadc3d0 Merge branch 'master' into diffcalc-total-scorev1 2023-06-24 02:46:15 +09:00
Dean Herbert
df5b389629 Manual fixes to reduce warnings to zero 2023-06-24 01:52:53 +09:00
Dan Balasescu
06565871d6 Add flag to disable computing legacy scoring values 2023-06-24 01:03:18 +09:00
Dean Herbert
0ab0c52ad5 Automated pass 2023-06-24 01:00:03 +09:00
Dan Balasescu
bfa449e47a Adjust attribute data 2023-06-19 21:38:13 +09:00
Maksim Kan
f70342bd67 Fix Triangle skin colors with Dual Stage mod 2023-06-17 10:12:26 +03:00
Bartłomiej Dach
b36ded0ba9
Merge pull request #23936 from peppy/fix-mania-hold-note-rewind-visuals
Fix osu!mania hold notes sometimes looking incorrect after rewind
2023-06-16 20:45:40 +02:00
Dean Herbert
3b1f92d8b8 Fix fix logic causing further regression on release 2023-06-17 01:37:09 +09:00
Dean Herbert
b5de109cb3 Fix osu!mania hold notes sometimes looking incorrect after rewind 2023-06-16 14:54:19 +09:00
Dan Balasescu
145530035c Optimise mania density calculation during beatmap conversion 2023-06-15 20:00:15 +09:00
Dan Balasescu
975e9baf43 Fix exception with no matching mods 2023-06-15 19:55:51 +09:00
Dan Balasescu
0844a21a51 Merge branch 'master' into diffcalc-total-scorev1 2023-06-15 19:33:29 +09:00
Bartłomiej Dach
0065334241
Fix mania autoplay simulation judging objects in different order to gameplay 2023-06-14 21:50:19 +02:00
Dan Balasescu
13d1f9c902 Add ScoreV1 calculation for ManiaRuleset 2023-06-13 23:28:45 +09:00
Dean Herbert
dbb7ddac52 Change osu!mania scoring ratio to 99% acc (to match previous lazer scoring) 2023-06-08 20:55:13 +09:00
Bartłomiej Dach
c8507837d1
Remove redundant initialisation of Children to empty array 2023-06-07 21:51:46 +02:00
Bartłomiej Dach
8463f5c7dd
Spell out location of external proxy explicitly 2023-06-07 21:50:16 +02:00
Bartłomiej Dach
f069f982d4
Merge branch 'master' into mania-barlines-behind-notes 2023-06-07 21:43:39 +02:00
Bartłomiej Dach
7fa082cc1d
Merge pull request #23770 from peppy/add-catch-beat-snap-grid
Add beat snap grid for osu!catch editor
2023-06-07 18:35:14 +02:00
Bartłomiej Dach
c50a5498e9
Merge pull request #23769 from peppy/update-mania-colours
Update argon osu!mania column colours in line with latest proposal
2023-06-07 16:55:54 +02:00
Dean Herbert
d57c2ab7e4 Fix osu!mania barlines showing in front of notes
Closes #23412.
2023-06-07 14:23:23 +09:00
Salman Ahmed
62cb6a98ca Remove redundant nullable suppression directives 2023-06-07 08:20:41 +03:00
Dean Herbert
6d446d3e97 Fix incorrect colouring of beat snap grids (mania and catch) 2023-06-07 12:25:34 +09:00
Dean Herbert
cdd931633d
Change 3K middle key to "special" purple colour
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-06-07 12:10:30 +09:00
Bartłomiej Dach
92c2320689
Merge pull request #23776 from peppy/fix-scroll-time-decimal
Fix osu!mania scroll speed milliseconds having too much precision
2023-06-06 22:34:08 +02:00
Dean Herbert
6b18f2f2bb Fix osu!mania scroll speed milliseconds having too much precision
Closes #23750.
2023-06-06 21:43:56 +09:00
Dean Herbert
7a1766e378 Update argon osu!mania column colours in line with latest proposal
Matches https://github.com/ppy/osu/discussions/21996#discussioncomment-5516872.
2023-06-06 16:42:20 +09:00
Dean Herbert
b8d9c9ff93 Move ApplyGameWideClock to extension method
I don't see an issue with applying this workaround to more places, even
though it is a workaround, because it marks each usage very clearly. If
we design a better solution in the future it should be easy to replace
the usages.
2023-06-06 16:07:50 +09:00
Bartłomiej Dach
331e90f720
Merge branch 'master' into tidy-results-grid-usage 2023-06-03 19:45:23 +02:00
Dan Balasescu
e402c6d2b4 Write max combo attribute from base class 2023-06-02 21:53:25 +09:00
Bartłomiej Dach
4daf1fcb7d
Merge pull request #23721 from peppy/fix-mania-hold-not-early-hit
Fix osu!mania hold notes snapping to judgement area too early on early hits
2023-06-01 21:57:36 +02:00
Dean Herbert
00bf79d51f
Merge pull request #23691 from smoogipoo/mania-scroll-speed
Replace mania scroll "time" with scroll "speed"
2023-06-01 17:23:27 +09:00
Dean Herbert
98f35f7481 Fix osu!mania hold notes snapping to judgement area too early on early hits
Closes https://github.com/ppy/osu/issues/23515.
2023-06-01 16:06:35 +09:00
Dean Herbert
985604fab5 Return StatisticItems rather than StatisticRows from ruleset
There were no usages of more than one column being provided per row, so
it seemed like unnecessarily complexity. I'm currently trying to reduce
complexity so we can improve the layout of the results screen, which
currently has up to three levels of nested `GridContainer`s.

Of note, I can't add backwards compatibility because the method
signature has not changed in `Ruleset` (only the return type). If we do
want to keep compatibility with other rulesets, we could designate a new
name for the updated method.
2023-06-01 14:35:15 +09:00
Dan Balasescu
b456c36f64 Migrate in InitialiseDefaults() 2023-05-30 17:27:48 +09:00
Dan Balasescu
1c199b83e3 Replace mania scroll "time" with scroll "speed" 2023-05-29 21:22:23 +09:00
Dan Balasescu
fee3d43596 Merge branch 'master' into scorev2 2023-05-23 19:07:54 +09:00
Dan Balasescu
30a296bd09 Rename parameters 2023-05-19 17:27:02 +09:00
Dan Balasescu
d74bf2a096 Refactor for safety 2023-05-19 14:37:26 +09:00
Dan Balasescu
2ae34530f7 Avoid NaN values during ApplyBeatmap processing() 2023-05-19 14:14:34 +09:00
Dan Balasescu
7cbf48ffcf Fix TestSceneScoring and incorrect combo calculations 2023-05-19 14:09:19 +09:00
Dan Balasescu
8b56a3f87d Remove ClassicScoreMultiplier and DefaultScoreProcessor 2023-05-19 12:24:52 +09:00
Dean Herbert
f443cfb93e Move blueprint validity conditions to allow more correct external usage of EndPlacement
Until now, these were haphazardly enforce inline in blueprint
implementations. The only thing stopping complete breakage is that
`EndPlacement` wasn't called (too much) from outside the blueprint,
leaving them responsible for their own placement.

By moving this conditional out of the provided paramters to
`EndPlacement`, it allows more flexible usage of that method externally.
Coming in a future PR.
2023-05-12 16:02:22 +09:00
Dan Balasescu
a7b623f52a Reimplement classic scoring mode 2023-05-09 20:21:38 +09:00
Dan Balasescu
3c3c812ed6 Initial implementation of ScoreV2 2023-05-09 19:33:33 +09:00
Bartłomiej Dach
efc4df95eb
Merge pull request #23429 from peppy/fix-incorrect-mania-description-keys
Fix incorrect special style description text
2023-05-09 07:04:57 +02:00
Bartłomiej Dach
0a47ffcbdd
Match generally used casing
Co-authored-by: Joseph Madamba <madamba.joehu@outlook.com>
2023-05-09 07:03:13 +02:00
Bartłomiej Dach
1ff1730948
Remove no-longer-correct remark 2023-05-08 22:35:41 +02:00
Bartłomiej Dach
3f45948664
Merge branch 'master' into fix-mania-head-note-animation 2023-05-08 22:23:01 +02:00
Dean Herbert
27c10cbdb7 Remove clamping of sizingContainer in DrawableHoldNote to fix head note alignment 2023-05-08 18:14:07 +09:00
Dean Herbert
814f0b3fed Add back early return in OnReleased for safety 2023-05-08 15:43:11 +09:00
Dean Herbert
85d0c56cd2 Fix incorrect special style description text
Closes https://github.com/ppy/osu/issues/23428.
2023-05-08 13:00:45 +09:00
Dean Herbert
6a59ded1ba Move logic to Update instead 2023-05-03 15:18:37 +09:00
Dean Herbert
4013cdcfa8 Merge branch 'master' into mania-fix-hold-note-rewind 2023-05-03 15:04:59 +09:00
OliBomby
e7a478ce9c Update convert-samples-expected-conversion.json 2023-04-30 16:04:03 +02:00
OliBomby
d97daee96b remove all non-test usage of SampleControlPoint 2023-04-26 13:55:39 +02:00
OliBomby
39d9f0c3f5 removing using 2023-04-26 13:22:13 +02:00
OliBomby
6c70948681 Remove IContext & add IHasGenerateTicks 2023-04-26 13:10:57 +02:00
OliBomby
e4b64bdc3e clean up code stuff 2023-04-25 19:06:29 +02:00
OliBomby
ea1e6e9798 Add LegacyContext 2023-04-25 12:12:46 +02:00
OliBomby
a4c6850ab2 made the SampleControlPoint and DifficultyControlPoint obsolete 2023-04-25 11:34:09 +02:00
Dan Balasescu
ad51f880e0 Remove overrides on DC/NC mods 2023-04-10 17:49:29 +09:00
Dan Balasescu
15f6bc155e Add progressive score multiplier for HT 2023-04-10 13:35:48 +09:00
Dan Balasescu
c923482976 Add progressive score multiplier for DT 2023-04-10 13:31:48 +09:00
Bartłomiej Dach
2b525b626c
Revert to previous conditional style 2023-03-28 06:22:00 +02:00
Bartłomiej Dach
c54934cb45
Fix hit lighting misalignment on argon skin with upscroll 2023-03-27 18:15:01 +02:00
Bartłomiej Dach
b5e04791e9
Merge branch 'master' into mania-shadow-icon-changes 2023-03-20 19:33:52 +01:00
Bartłomiej Dach
fe91f85f6f
Reuse colour constants in fallback path 2023-03-20 18:16:33 +01:00
Dean Herbert
d87f0557ce Update colours for 3k to not use double-purples 2023-03-15 17:18:45 +09:00
Dean Herbert
5aebbac6c5 Fix osu!mania hold note animations not correctly re-applying after rewind
There's early exit logic in `OnPressed`/`OnReleased` for the sake of
keeping order correct, but this doesn't account for the fact that
`DrawableHitObject` resets all animations when the hit state changes.

A bit of an ugly workaround, but seems to work as expected.
2023-03-14 18:15:19 +09:00
Dean Herbert
f40a4b591f Adjust animation length and colouring of hitting layer 2023-03-14 18:14:29 +09:00
Dean Herbert
300d81c46b Add hitting layer to fix hit lighting not being applied to tail piece
Taken from https://github.com/ppy/osu/pull/22820#issuecomment-1462626898.
2023-03-14 17:29:19 +09:00
Bartłomiej Dach
6b2a70b112
Remove unused fields 2023-03-09 19:14:08 +01:00
Dean Herbert
08b88ed639 Adjust hold note head icon to be more centered 2023-03-09 20:46:24 +09:00
Dean Herbert
e12ab165b8 Adjust colours a bit to make hold note bodies more accented 2023-03-09 20:46:24 +09:00
Dean Herbert
2ad531f263 Adjust argon note shadows and body to be closer in line with new design proposal 2023-03-09 20:27:58 +09:00
Dean Herbert
526eeedec2 Adjust explosion and hit target to not include shadow portion in height calculation 2023-03-09 20:27:43 +09:00
Dean Herbert
ed3ff62e4f Add note about why bodyPiece sizing is done as it is
I think we're going to have to change this as it's quite limiting in
what you can do with osu!mania skin implementation, but for now I want
to leave a note as to why this is done, because each time I have to
trial and error check what breaks when adjusting it.
2023-03-09 20:26:49 +09:00