Dean Herbert
7f82f10317
Fix beatmap potentially loading in a bad state
...
Over-caching could mean that a beatmap could load and cause a late
crash. Let's catch it early to avoid such a crash occurring.
2024-02-19 17:18:07 +08:00
Dan Balasescu
b44f77cee1
Update R# + fix inspections
2024-02-02 21:00:28 +09:00
Dean Herbert
e081fa48a2
Fix various other inspections
2023-10-17 17:48:51 +09:00
Dean Herbert
a29f6772cd
Fix storyboard being null if file doesn't exist
...
It's expected that `WorkingBeatmap.Storyboard` is non-null.
An example fail case is in `BeatmapBackgroundWithStoryboard.load`.
2023-06-12 17:22:15 +09:00
Dean Herbert
3978d4babb
Crop and disable mipmaps on beatmap panel backgrounds
...
This is an effort to improve general performance at song select. At
least on the metal renderer, I can notice very high draw frame overheads
related to texture uploads.
By reducing the size of the texture uploads to roughly match what is
actually being displayed on screen (using a relatively inexpensive crop
operation), we can bastly reduce stuttering both during initial load and
carousel scroll.
You might ask if it's safe to disable mipmapping, but I've tested with
lower resolutions and bilinear filtering seems to handle just fine.
Bilinear without mipmaps only falls apart when you scale below 50% and
we're not going too far past that at minimum game scale, if at all.
2023-06-08 16:51:07 +09:00
Dean Herbert
a842f79ad4
Refactor IWorkingBeatmap.Background
to GetBackground()
2023-06-08 16:19:32 +09:00
Dan Balasescu
d2380bd840
Remove usages of [ExcludeFromDynamicCompile]
2023-05-08 18:12:56 +09:00
Dean Herbert
7cc4fd4efc
Use the exact method stable uses for generating storyboard filenames
2023-01-26 15:09:36 +09:00
Dean Herbert
d15f8c2f3a
Fix beatmaps with multiple osb
files potentially reading the storyboard from the wrong one
...
In stable, the storyboard filename is fixed. In lazer, we were always
looking for the first `.osb` in the database. In the case a beatmap
archive housed more than one `.osb` files, this may load the incorrect
one.
Using `GetDisplayString` here feels like it could potentially go wrong
in the future, so I'm open to hard-coding this locally (or using string
manipulation to remove the ` [creator_name]` portion of the beatmap's
filename). Open to opinions on that.
Fixes storyboard playback in https://osu.ppy.sh/beatmapsets/1913687#osu/3947758
2023-01-25 17:11:15 +09:00
Dean Herbert
902dff15e3
Add todo regarding validity check
2022-12-12 13:44:09 +09:00
Dan Balasescu
b4e55f7309
Apply IRenderer changes
2022-08-02 19:50:57 +09:00
Dean Herbert
51071be315
Don't show "missing background" messages to user
...
Bit of an oversight.
As reported on [twitter](https://twitter.com/emyl___/status/1548627793075998720 ) and somewhere else i forgot.
2022-07-17 21:20:51 +09:00
Dean Herbert
e81cebf27d
Change storyboard parsing logic to not completely fail if only .osb
read fails
...
Changes to allow the storyboard to exist if only the `.osu` is
available. Reads better IMO.
2022-07-07 14:33:20 +09:00
Dean Herbert
c4b6893709
Add local handling of cases where a beatmap's file cannot be found on disk
2022-07-07 14:29:19 +09:00
Dean Herbert
66a01d1ed2
Allow song select to refresh the global WorkingBeatmap
after an external update
2022-06-24 21:02:38 +09:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Dean Herbert
e010dfb150
Handle virtual track string to avoid throwing later in lookup
2022-04-14 17:33:42 +09:00
Dean Herbert
a7f63fb034
Make providing a custom ResourceStore
to LegacyBeatmapSkin
optional (for tests only)
2022-03-23 14:57:42 +09:00
Dean Herbert
6eb2c28e41
Rename RealmContextFactory
to RealmAccess
2022-01-24 20:38:07 +09:00
Dean Herbert
34aa1bf21d
Sanitise and remove some usages of Detach
which are no longer required
2022-01-12 17:49:11 +09:00
Dean Herbert
c06b5951fd
Fix multiple remaining warnings
2022-01-12 17:49:11 +09:00
Dean Herbert
2ce80cc030
Add back caching in WorkingBeatmapCache
2022-01-12 17:49:11 +09:00
Dean Herbert
8461eaab46
BeatmapSetInfo
detach support
2022-01-12 17:00:16 +09:00
Dean Herbert
3811bd8520
Fix some null inspections
2022-01-12 17:00:16 +09:00
Dean Herbert
33060990b7
Temporarily disable WorkingBeatmapCache
and fix multiple invalid data flows
2022-01-12 17:00:16 +09:00
Dean Herbert
b8cd3cdbbc
Various updates to ruleset and primary key usages to move closer to realm support
2022-01-12 16:57:13 +09:00
Dean Herbert
bc47801cbb
Revert "Apply NRT to WorkingBeatmap
"
...
This reverts commit 9e17d7d4e3
.
2021-12-22 19:14:18 +09:00
Dean Herbert
9e17d7d4e3
Apply NRT to WorkingBeatmap
2021-12-22 18:41:45 +09:00
Dean Herbert
7344c87b16
Remove RecyclableLazy
2021-12-22 18:18:12 +09:00
Dean Herbert
f9a2db5ec6
Add accessibility to realm factory via IStorageResourceProvider
...
We might need to rename this class..
2021-12-14 14:19:49 +09:00
Dan Balasescu
8ce5324c8b
Merge pull request #15772 from peppy/remove-model-list-inits
...
Initialise `BeatmapSet.Beatmaps` list at construction time
2021-11-24 16:41:19 +09:00
Dean Herbert
a7853fc9cc
Fix cases of known-non-null
2021-11-24 14:26:25 +09:00
Dean Herbert
729f681938
Update cases where equality can be used instead of primary key equality
2021-11-24 12:49:57 +09:00
Dean Herbert
3b485b5f37
Rewrite PreviewTrackManager
to avoid constructing TrackBass
locally
...
This paves the way for the framework code quality change
(https://github.com/ppy/osu-framework/pull/4873 ) which stops exposing
the constructor.
Most of the restructuring here is required to give `PreviewTrackManager`
an adjustable target to apply the global mute.
2021-11-09 17:38:12 +09:00
Dean Herbert
1e73b09e57
Fix another couple of cases of incorrect string null/empty checking
2021-11-04 14:22:28 +09:00
Dean Herbert
41854f2e16
Fix incorrect check on AudioFile
presence
2021-11-04 14:02:09 +09:00
Dean Herbert
6944151486
Apply batch fixing of built-in types using var
2021-10-27 13:04:41 +09:00
Dean Herbert
09536cd733
Add logging of WorkingBeatmapCache.Invalidate
calls
2021-10-14 14:05:33 +09:00
Dean Herbert
1d99bc280f
Merge branch 'master' into new-interfaces
2021-10-04 20:42:40 +09:00
Dean Herbert
90225f2082
Hook up all required interfaces to new BeatmapManager
2021-09-30 17:18:39 +09:00
Dean Herbert
e7e0473323
Split out WorkingBeatmapCache
from BeatmapManager
2021-09-30 15:40:41 +09:00