Dean Herbert
cb29459a1e
Add support for legacy osu!mania barline height and colour spec
2025-02-28 15:13:13 +09:00
Dean Herbert
3e8dafa3c5
Add basic setup for mania legacy barline implementation
2025-02-28 14:43:00 +09:00
Dean Herbert
ab88ccb081
Merge branch 'master' into pp-dev
2025-02-17 11:59:14 +09:00
Salman Alshamrani
1e06c5cc4a
Flip the Y offset of skin judgement pieces on flipped scroll direction
2025-02-10 01:52:50 -05:00
Salman Alshamrani
a3cd62ec72
Flip mania judgement anchor on flipped scroll direction
2025-02-10 01:52:12 -05:00
James Wilson
9f90ebb2f7
Calculate hit windows in performance calculator instead of databased difficulty attributes ( #31735 )
...
* Calculate hit windows in performance calculator instead of databased difficulty attributes
* Apply mods to beatmap difficulty in osu! performance calculator
* Remove `GreatHitWindow` difficulty attribute for osu!mania
* Remove use of approach rate and overall difficulty attributes for osu!
* Remove use of hit window difficulty attributes in osu!taiko
* Remove use of approach rate attribute in osu!catch
* Remove unused attribute IDs
* Code quality
* Fix `computeDeviationUpperBound` being called before `greatHitWindow` is set
2025-02-07 19:21:12 +09:00
Dean Herbert
6c069b3373
Merge branch 'master' into pp-dev
2025-02-07 14:09:25 +09:00
Dean Herbert
cf3a379b1c
Merge pull request #31368 from frenzibyte/mobile-fix-mania
...
Improve osu!mania playability on mobile devices
2025-02-01 14:49:46 +09:00
Dean Herbert
cc3bb590c9
Remove pointless comment
2025-02-01 14:48:13 +09:00
Salman Alshamrani
64b67252a2
Enable NRT on Column
2025-01-30 08:22:35 -05:00
Dean Herbert
e8d20fb402
Fix skin SourceChanged
event never being unbound
2025-01-29 18:16:04 +09:00
Salman Alshamrani
ffc37cece0
Avoid extra unnecessary DI
...
Co-authored-by: Dean Herbert <pe@ppy.sh>
2025-01-25 19:12:42 -05:00
Salman Alshamrani
8151c3095d
Revert unnecessary inheritance
...
Everyone is right, too much inheritance and polymorphism backfires very badly.
2025-01-25 19:12:37 -05:00
Bartłomiej Dach
daec91f61d
Refactor further to avoid weird non-virtual common method
2025-01-24 13:14:31 +01:00
Bartłomiej Dach
a6987f5c95
Remove dependence of placement blueprints on IPositionSnapProvider
2025-01-24 11:59:07 +01:00
Bartłomiej Dach
15b6e28ebe
Remove dependence of blueprint containers on IPositionSnapProvider
2025-01-24 11:59:05 +01:00
Dean Herbert
56a611b47e
Merge branch 'master' into mobile-fix-mania
2025-01-24 17:03:00 +09:00
Salman Alshamrani
b63d94101c
Reapply "Fix triangles judgement mispositioned on a miss"
...
This reverts commit 6ec718304e4df307d8ae3598de96585ff836a99e.
2025-01-21 05:45:37 -05:00
Salman Alshamrani
6ec718304e
Revert "Fix triangles judgement mispositioned on a miss"
...
This reverts commit e5713e52392066a1430ebce460d07d8af01ad29f.
2025-01-21 04:58:27 -05:00
Dan Balasescu
8f8246278a
Merge pull request #31527 from bdach/spectator-list-ready
...
Show spectating users during gameplay
2025-01-21 18:54:11 +09:00
Dean Herbert
aeca37c230
Merge branch 'master' into pp-dev
2025-01-21 13:19:01 +09:00
StanR
22e839d62b
Replace indexed skill access with skills.OfType<...>().Single()
( #30034 )
...
* Replace indexed skill access with `skills.First(s is ...)`
* Fix comment
* Further refactoring to remove casts
---------
Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2025-01-20 09:39:35 +00:00
Berkan Diler
b6ce72b6d9
Remove redundant ToArray() calls in Osu/ManiaHitObjectComposer
2025-01-19 23:27:44 +01:00
Bartłomiej Dach
3c4bfc0a01
Merge spectator list classes into one skinnable
2025-01-17 11:23:14 +01:00
Bartłomiej Dach
99c7e164dc
Add skinnable spectator list to default skins
2025-01-15 14:29:53 +01:00
Salman Alshamrani
c1ac27d658
Fix failing tests
...
- Caches `DrawableRuleset` in editor compose screen for mania playfield adjustment container (because it's used to wrap the blueprint container as well)
- Fixes `ManiaModWithPlayfieldCover` performing a no-longer-correct direct cast with a naive-but-working approach.
2025-01-12 22:56:40 -05:00
Salman Alshamrani
f121b03a78
Merge branch 'master' into mobile-fix-mania
2025-01-12 02:00:49 -05:00
Salman Alshamrani
a241d1f503
Fix DrawableManiaRuleset
not cached as itself in subtypes
...
i.e. editor mania ruleset
2025-01-04 02:36:06 -05:00
Salman Alshamrani
e5713e5239
Fix triangles judgement mispositioned on a miss
...
Similar to mania's `ArgonJudgementPiece`.
2024-12-31 21:31:54 -05:00
Salman Alshamrani
64e557d00f
Simplify portrait check
2024-12-31 20:01:21 -05:00
Salman Alshamrani
bea61d2483
Replace ManiaTouchInputArea
with touchable columns
2024-12-31 12:28:04 -05:00
Salman Alshamrani
1e08b3dbda
Make mania judgements relative to the hit target position
...
This improves display in portrait screen, where the stage is scaled up.
2024-12-31 12:25:58 -05:00
Salman Alshamrani
9d08bc2b50
Improve osu!mania gameplay scaling on portrait orientation
2024-12-31 12:25:58 -05:00
Bartłomiej Dach
0d16ed028b
Add setters to hitobject coordinate interfaces
2024-12-27 11:01:47 +01:00
Bartłomiej Dach
1057aa867f
Merge pull request #30984 from smoogipoo/fix-mania-spinner-conversion
...
Fix "spinner" conversion for mania-specific beatmaps
2024-12-19 15:30:10 +01:00
Dan Balasescu
d597232c2a
Fix incorrect lastPattern
value
...
In particular, mania-specific beatmaps that normally go via the
"passthrough" generator should not adjust the stored pattern value.
The "spinner" generator, which was previously intended to be used for
non-mania-specific beatmaps, is now valid even for mania-specific
beatmaps, and uses this value.
In other words, another way of writing this would be:
```csharp
if (conversion is SpinnerPatternGenerator || conversion is
PassThroughPatternGenerator) ? lastPattern : newPattern;
```
2024-12-13 16:08:12 +09:00
Dan Balasescu
ec8b320e21
Handle non-legacy types
...
Also used in some tests (e.g. beatmaps containing `HitCircle`s).
2024-12-06 17:47:49 +09:00
Dan Balasescu
e703d9e814
NRT refactorings + rename generators to match usage
...
In particular, "EndTimeObject" is no longer correct - it's strictly used
for spinners and not holds.
2024-12-06 17:16:04 +09:00
Dan Balasescu
1bbf32d567
Add some explanatory comments
...
In particular, the spinner one is the most relevant to this batch of
changes.
2024-12-06 16:40:29 +09:00
Dan Balasescu
e8728abc00
Rename LegacyPatternGenerator
to stop naming conflicts
2024-12-06 16:40:29 +09:00
Dan Balasescu
e65f8ba7a0
Simplify implementation
2024-12-06 16:40:29 +09:00
Dan Balasescu
8e1bd98386
Split out + rename PassThroughPatternGenerator
...
Better symbolises the intent of this generator which is to convert
hitobjects in their most simple forms - anything with an end time
converts to a hold or otherwise converts to a normal note.
2024-12-06 16:40:29 +09:00
Dan Balasescu
8b456e1379
Always convert mania spinners
...
A big part of these changes is refactoring, which is somewhat necessary
because it was previously implemented as two separate pathways which
in-fact need to be joined at the hip when handling spinners.
I've chosen to use `IHasLegacyHitObjectType` here because there's no
other flag that allows us to tell `ConvertHold` apart from
`ConvertSpinner`.
2024-12-06 16:40:28 +09:00
Huo Yaoyuan
d92ea910cf
Merge branch 'master' into netcore-analyzer
2024-12-05 17:18:56 +08:00
Dean Herbert
5b2558cec2
Merge pull request #28473 from bdach/beatmap-info-purge
...
Move unnecessary properties from `BeatmapInfo` / realm to `IBeatmap`
2024-12-02 16:19:12 +09:00
Huo Yaoyuan
fa3c95c296
Merge branch 'master'
2024-11-30 01:07:08 +08:00
Huo Yaoyuan
fced254594
Enable selected rules for usage
2024-11-28 22:33:03 +08:00
Bartłomiej Dach
98a156ae2d
Merge pull request #30874 from peppy/chat-order
...
Sort public chat channels alphabetically, private channels based on recent messages
2024-11-28 12:46:14 +01:00
Bartłomiej Dach
cf905d0f5c
Merge branch 'master' into beatmap-info-purge
2024-11-26 10:21:16 +01:00
Dean Herbert
c844d65a81
Use TryGetValue
wherever possible
...
Rider says so.
2024-11-22 19:11:16 +09:00