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

2508 Commits

Author SHA1 Message Date
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
Dean Herbert
bfc0b946fb Remove additive blending from argon body piece 2023-03-09 20:26:35 +09:00
Dean Herbert
030742c648 Use different icon style on hold note heads 2023-03-09 19:02:45 +09:00
Dean Herbert
e246784867 Fix dual stage column colours not being looked up correctly 2023-03-09 18:25:30 +09:00
Dean Herbert
b8e87e3a08 Update osu!mania argon colours to match new proposal 2023-03-08 20:03:06 +09:00
Dean Herbert
36058b3da2 Fix upwards scroll direction not working with recent hold note display changes 2023-03-03 18:03:06 +09:00
Dean Herbert
da8ab7143b
Merge branch 'master' into maximum-judgement-offset-in-hit-object 2023-02-15 14:48:15 +09:00
Dean Herbert
bd8c58dc62 Adjust applied body ratio to ROUGHLY match stable 2023-02-14 14:34:12 +09:00
Dean Herbert
b1d2a433f8 Apply second attempt at fixing long note bodies 2023-02-10 20:36:58 +09:00
Dean Herbert
5091c50003 Change scroll direction logic to not interfere with scale 2023-02-10 19:18:17 +09:00
Dean Herbert
61c968d7f8 Revert completely incorrect change 2023-02-10 19:18:00 +09:00
Dean Herbert
c691a0d3af
Merge branch 'master' into sheared_slider_implementation_clean_ii 2023-02-06 17:49:33 +09:00
mk56-spn
3f0ce75bf5 Rename NormalSliderBar.cs to RoundedSliderBar.cs 2023-02-02 17:24:45 +01:00
Dean Herbert
8a39afd293
Merge pull request #22402 from itsMapleLeaf/argon-mania-hold-tail-no-sprite
Improve argon osu!mania hold notes visuals and fix reverse scroll direction looking wrong
2023-02-02 14:39:23 +09:00
itsMapleLeaf
ccd68a6263 optimize imports 2023-02-01 19:22:28 -06:00
itsMapleLeaf
a8ce0a3278 now without the weird hacks 2023-02-01 18:50:38 -06:00
itsMapleLeaf
0d6e757baf Merge branch 'argon-mania-hold-tail-no-sprite' of https://github.com/itsMapleLeaf/osu into argon-mania-hold-tail-no-sprite 2023-01-31 19:53:03 -06:00
itsMapleLeaf
fe175e72a9 make upscroll make sense 2023-01-31 19:52:58 -06:00
itsMapleLeaf
ff26effa29 rounded tail line 2023-01-31 19:36:49 -06:00
Dean Herbert
c428565e05
Merge branch 'master' into argon-mania-hold-tail-no-sprite 2023-01-31 19:05:52 +09:00
itsMapleLeaf
c81bac5f31 braces 2023-01-31 02:23:25 -06:00
itsMapleLeaf
e77b0b9fcc use dark tail with shadow matching the hold head 2023-01-31 02:22:40 -06:00
itsMapleLeaf
9e7f9c86ca flat hold tail 2023-01-30 11:14:29 -06:00
Dean Herbert
74ab036f3e Refactor SkinnableSound.Samples to be non-nullable 2023-01-27 19:32:30 +09:00
mk56-spn
3988131475 Rename OsuSliderBar.cs as NormalSliderBar.cs 2023-01-26 12:12:56 +01:00
Dan Balasescu
5f4dd19b49
Merge pull request #22389 from peppy/mania-long-note-wang
Add basic support for stupidly long hold note skin textures
2023-01-26 07:41:27 +09:00
Bartłomiej Dach
34aa8b872e
Mention stable weirdness next to constant 2023-01-25 19:02:38 +01:00
Dean Herbert
598c6fcbad Add basic support for stupidly long hold note skin textures 2023-01-25 14:43:46 +09:00
itsMapleLeaf
132417b4e4 fix braces 2023-01-24 22:36:13 -06:00
itsMapleLeaf
5f037ac1e9 comment not useful 2023-01-24 22:24:21 -06:00
Dean Herbert
a966d6c330
Merge pull request #18402 from ggliv/mod-accuracy-challenge
Add accuracy challenge mod
2023-01-24 16:00:55 +09:00
itsMapleLeaf
9a053f114e remove sprite 2023-01-23 01:50:50 -06:00
itsMapleLeaf
338a14ff69 new mania hold tail 2023-01-23 01:01:45 -06:00
ekrctb
11e1b22bf5 Move MaximumJudgementOffset to HitObject
We want to access this property for computing lifetime
2023-01-19 21:23:55 +09:00
Dean Herbert
88e6db1bea
Merge pull request #21725 from Mogiiii/mania-hidden-configuration
Add mania hidden & FadeIn mod configuration
2023-01-18 18:19:14 +09:00
Dean Herbert
70cb23bbc9
Merge branch 'master' into mod-accuracy-challenge 2023-01-17 16:46:54 +09:00
Dean Herbert
eb0f30c641 Use scroll speed localisation in one more usage 2023-01-16 13:28:45 +09:00
Dean Herbert
d19b35bd5f Rename ambiguous translation keys 2023-01-16 13:18:49 +09:00
ansel
6f84641596 Localise osu!mania settings 2023-01-15 23:30:20 +03:00
Dylan Nantz
e23c565c84 code quality 2023-01-11 14:28:11 -05:00
Dylan Nantz
1f4e0303f7 add mania FadeIn mod configuration 2023-01-11 14:13:29 -05:00
Dan Balasescu
f03677f394 Remove HP drain from mania 2023-01-11 13:01:18 +09:00
Dean Herbert
efded323e4 Rename variables and avoid the need for a property 2023-01-09 16:49:38 +09:00
Dylan Nantz
28bd005c21 Merge branch 'master' of https://github.com/ppy/osu into mania-hidden-configuration 2023-01-06 11:39:50 -05:00
Dylan Nantz
b8fbd68e32 reduce mania hidden mod precision 2023-01-06 11:39:41 -05:00
Dean Herbert
98483d2a1b
Merge pull request #21638 from Mogiiii/touchscreen-control-disable-mouse
Disable touchscreen controls responding to mouse in scrolling gamemodes
2023-01-06 20:39:09 +08:00
Dean Herbert
5e9fb1063a Move judgement text creation to base class and tidy things up 2022-12-24 12:22:36 +08:00
Dean Herbert
03603f8b54 Don't show great or higher judgements when using argon "pro" skin 2022-12-24 03:35:44 +08:00
Dean Herbert
727ac00f6d Combine base class for JudgementPiece 2022-12-24 03:32:13 +08:00
Berkan Diler
08d2fbeb8e Use new ArgumentNullException.ThrowIfNull throw-helper API 2022-12-22 21:27:59 +01:00
Bartłomiej Dach
0a49c8c5d6
Add missing unsubscriptions in multiple mania components 2022-12-21 20:22:40 +01:00
Dylan Nantz
4a1a023f9e Code quality improvements 2022-12-20 13:33:33 -05:00
Dylan Nantz
42dbb0bfd0 fix formatting 2022-12-19 19:24:38 -05:00
Dylan Nantz
c200e77994 Add mania hidden mod configuration 2022-12-19 18:31:28 -05:00
Dean Herbert
d6cae991da Update netstandard2.1 references to net6.0 2022-12-16 17:16:13 +09:00
Dylan Nantz
ee945c9b58 disable mouse input to touchscreen controls 2022-12-14 10:34:21 -05:00
Dan Balasescu
7bc8908ca9 Partial everything 2022-11-27 00:00:27 +09:00
Dean Herbert
57723107dd Fix osu!mania hold notes occasionally getting in a visually incorrect hit state
To correctly end a mania hold note, `endHold()` needs to be called. This
was not happening in a very specific scenario:

- The hold note's head is not hit
- The user pressed the column's key within the hold note's tail's window,
  but does so to hit the next object (a note in proximity to the hold note's tail).
- The hit policy forces a miss on the hold note, but `endHold()` is not called
- `CheckForResult` is not called after this point due to `Judged` being `true`.

Closes #21311.
2022-11-22 16:15:34 +09:00
Dean Herbert
b404b87f68 Realign white line on argon hold note ends to match hit target 2022-11-21 18:26:53 +09:00