Dan Balasescu
5de7e42eb3
Merge branch 'master' into maniastatacc
2023-09-25 03:31:09 +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
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
Natelytle
75c295c228
Remove hit windows scaling by rate, adjust tests
2023-09-04 07:44:44 -04:00
Natelytle
52799d562f
Merge remote-tracking branch 'osumaster/master' into maniastatacc
2023-09-04 07:20:22 -04: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
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
Natelytle
1e80f799b4
Fix non-existent attribute call
2023-08-13 22:55:56 -04:00
Natelytle
4eb307b9da
Merge pull request #1 from Eve-ning/maniastatacc-improve-test
...
Improves `maniastatacc` branch for Tests
2023-08-13 22:46:56 -04: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
Dan Balasescu
a2197e28af
Store difficulty attribute values
2023-08-07 21:37:23 +09:00
Dan Balasescu
95c72374cd
Remove IsConvert difficulty attribute
2023-08-07 21:35:34 +09:00
Natelytle
9cc6a3a4c0
Switch to using deviation on notes and heads for multiplier scaling
2023-08-02 00:51:28 -04:00
Evening
104eea3cfc
Delete ur-estimation-test.osu
2023-08-02 12:12:03 +08:00
Evening
b2ad8ad9b4
Add remark on null & exception throwable
2023-08-02 12:07:26 +08:00
Evening
d00d7fd7a5
Narrow scope of computeEstimatedUr
...
We narrow it because maniaAttributes is a large dictionary.
If we can narrow down to the primitives that drives computeEstimatedUr, it makes it easier end-users to supply minimal parameters necessary for it to operate.
2023-08-01 19:10:08 +08:00
Evening
515ff5571f
Narrow scope of hitWindows fns
2023-08-01 18:41:16 +08:00
Evening
1d7dd8ba99
Expose getHitWindows for tests
2023-08-01 18:37:24 +08:00
Natelytle
c20e1508dd
Merge master
2023-07-31 23:11:29 -04:00
Evening
7ed9141d09
Fix incorrect legacyLogPHold function name
...
Also append that this is only used for legacy holds
2023-07-31 19:57:46 +08:00
Evening
20de476fbb
Fix incorrect function name logPNote
...
The function actually returns the natural log of the probability of each note.
2023-07-31 19:55:28 +08:00
Evening
951861acf5
Shorten property fetching code
2023-07-31 19:27:18 +08:00
Evening
f60317c482
Nest Ternary into Math.Log
...
This removes the need to call Math.Log twice, improving readability.
I did consider doing NoteCount + (isLeg ? 0 : HoldNoteCount), but I think it deproves readability
2023-07-31 19:19:39 +08:00
Natelytle
a58470d00c
Fix stable LN logic
2023-07-31 01:08:19 -04:00
Natelytle
0a72493395
Band-aid math error on stable LNs, add tail deviation multiplier
2023-07-30 00:44:57 -04: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