Due to the way `ModelBackedDrawable` works, the default starts to get
loaded even though a final `Beatmap` has been set. This avoids loading
the default fallback unless a beatmap has been set (and has no
background itself).
Was added in cc76c58f5f without any
specific reasoning. Likely not required (and will fix some storyboard
elements inside `.osu` files from not being correctly saved).
Related to: https://github.com/ppy/osu/issues/27674
Relevant log output for that particular case:
[network] 2024-03-20 07:25:30 [verbose]: Performing request osu.Game.Online.API.Requests.GetBeatmapRequest
[network] 2024-03-20 07:25:30 [verbose]: Request to https://dev.ppy.sh/api/v2/beatmaps/lookup successfully completed!
[network] 2024-03-20 07:25:30 [verbose]: GetBeatmapRequest finished with response size of 3,170 bytes
[database] 2024-03-20 07:25:30 [verbose]: [4fe02] [APIBeatmapMetadataSource] Online retrieval mapped Tsukiyama Sae - Hana Saku Iro wa Koi no Gotoshi (Log Off Now) [Destiny] to 744883 / 1613507.
[database] 2024-03-20 07:25:30 [verbose]: Discarding metadata lookup result due to mismatching online ID (expected: 1570982 actual: 1613507)
[network] 2024-03-20 07:25:30 [verbose]: Performing request osu.Game.Online.API.Requests.GetBeatmapRequest
[network] 2024-03-20 07:25:30 [verbose]: Request to https://dev.ppy.sh/api/v2/beatmaps/lookup successfully completed!
[network] 2024-03-20 07:25:30 [verbose]: GetBeatmapRequest finished with response size of 2,924 bytes
[database] 2024-03-20 07:25:30 [verbose]: [4fe02] [APIBeatmapMetadataSource] Online retrieval mapped Tsukiyama Sae - Hana Saku Iro wa Koi no Gotoshi (Log Off Now) [Easy] to 744883 / 1570982.
[database] 2024-03-20 07:25:30 [verbose]: Discarding metadata lookup result due to mismatching online ID (expected: 1613507 actual: 1570982)
Note that the online IDs are swapped.
Assuming that the global audio offset is set perfectly, such that
any audio latency is fully accounted for, if a specific beatmap
still sounds out of sync, that would no longer be a latency issue.
Instead, it would indicate a misalignment between the beatmap's
track and time codes, the correction for which should be a
virtual-time offset, not a real-time offset.
After https://github.com/ppy/osu/pull/23362 I'm not sure the
`LocallyModified` check is doing anything useful. It was confusing me
really hard when trying to parse this logic, and it can misbehave (as
`None` will also pass the check).