1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-16 04:27:52 +08:00
Commit Graph

67015 Commits

Author SHA1 Message Date
Dean Herbert
ff108416d8
Fix incorrect background being loaded due to async race
If the API login (and thus user set) completed between `load` and
`LoadComplete`, the re-fetch on user change would not yet be hooked up,
causing an incorrect default background to be used instead.

Of note, moving this out of async load doesn't really affect load
performance as the bulk of the load operation is already scheduled and
`LoadComponentAsync`ed anyway
2024-05-01 00:05:14 +08:00
Bartłomiej Dach
93be4b314b
Merge pull request #28034 from peppy/fix-zip-encoding
Fix filenames containing japanese not being read correctly
2024-04-30 16:53:48 +02:00
Bartłomiej Dach
82d1ebbd20
Merge branch 'master' into fix-zip-encoding 2024-04-30 16:30:15 +02:00
Bartłomiej Dach
38e239a435
Expand test to cover both legacy and non-legacy export paths 2024-04-30 16:07:41 +02:00
Dean Herbert
6a7e2dc258
Fix formatting 2024-04-30 21:47:03 +08:00
Dean Herbert
a3213fc36d
Change .olz to use UTF-8 encoding 2024-04-30 21:40:04 +08:00
Bartłomiej Dach
5e2e2a8d39
Merge pull request #28019 from peppy/realm-file-perm-check
Check realm file can be written to before attempting further initialisation
2024-04-30 13:46:43 +02:00
Dean Herbert
ba9f4e4baf
Don't skip lines in beatmap decoding
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).
2024-04-30 16:42:15 +08:00
Dean Herbert
0bfad74907
Move realm error handling to avoid triggering in test scenarios 2024-04-30 14:09:29 +08:00
Dean Herbert
a8416f3572
Move exists check inside retry operation
Might help?
2024-04-30 12:39:18 +08:00
Dean Herbert
c8f7f2215b
Force encoding to Shift-JIS for archive filenames
After way too much time investigating this, the encoding situation is
not great right now.

- Stable sets the "default code page" to be used for encoding filenames
to Shift-JIS (932):
c29ebd7fc5/osu!/GameBase.cs#L3099
- Lazer does nothing (therefore using UTF-8).

When importing to lazer, stable files are assumed to be UTF-8. This
means that the linked beatmaps don't work correctly. Forcing lazer to
decompress *and* compress using Shift-JIS will fix this.

Here's a rough idea of how things look for japanese character filenames
in current `master`:

| | stable | lazer |
|--------|--------|--------|
| export encoding | shift-jis | utf8 |
| utf8 [bit flag](https://superuser.com/a/1507988) set |  |  |
| import stable export osz |   |  |
| import lazer export osz |  |  |
| windows unzip |  |  |
| macos unzip |  |  |

and after this change

| | stable | lazer |
|--------|--------|--------|
| export encoding | shift-jis | shift-jis |
| utf8 [bit flag](https://superuser.com/a/1507988) set |  |  |
| import stable export osz |   |  |
| import lazer export osz |  |  |
| windows unzip |  |  |
| macos unzip |  |  |

A future endeavour to improve compatibility would be to look at setting
the utf8 flag in lazer, switching the default to utf8, and ensuring the
stable supports this flag (I don't believe it does right now).
2024-04-30 01:27:47 +08:00
Dean Herbert
97da47f69c
Add test coverage of reading japanese filename after exporting 2024-04-30 01:27:47 +08:00
Dean Herbert
b455e793dd
Add test coverage of reading japanese file from stable export 2024-04-30 01:15:02 +08:00
Dean Herbert
19897c4c07
Add testing for actual presence of video after encode-decode 2024-04-30 00:50:40 +08:00
Dean Herbert
fd3f4a9e7b
Preserve storyboard events when saving a beatmap in the editor
Until we have full encoding support for storyboards, this stop-gap
measure ensures that storyboards don't just disappear from existence.
2024-04-30 00:01:56 +08:00
Dean Herbert
85c085e587
Reduce startup volume
Constant complaints about startup volume mean we should reduce it
further and let users adjust as they see fit.
2024-04-29 23:28:19 +08:00
Dean Herbert
0c45a482eb
Merge pull request #28030 from bdach/save-skin-on-change
Autosave edited skin on change
2024-04-29 21:47:50 +08:00
Bartłomiej Dach
f78abf801c
Autosave edited skin on change 2024-04-29 14:38:53 +02:00
Bartłomiej Dach
fa3aeca09d
Add failing test for skins not saving on change 2024-04-29 14:38:49 +02:00
Bartłomiej Dach
9fc56f1cc7
Apply adjustments after migration of android to SDL3 2024-04-29 13:07:36 +02:00
Bartłomiej Dach
45c2327509
Apply adjustments after framework-side FriendlyGameName changes 2024-04-29 13:00:22 +02:00
Dean Herbert
a3d239c11a
Remove unused method 2024-04-29 18:48:07 +08:00
Dean Herbert
1c1ee22aa7
Add retry attempts to hopefully fix windows tests runs 2024-04-29 14:17:48 +08:00
Dean Herbert
a4bc5a8fc9
Use helper method for backup retry attempts 2024-04-29 10:35:37 +08:00
Dean Herbert
b262497083
Check realm file can be written to before attempting further initialisation
Rather than creating a "corrupt" realm file in such cases, the game will
now refuse to start. This behaviour is usually what we want. In most
cases a second click on the game will start it successfully (the
previous instance's file handles are still doing stuff, or windows
defender is being silly).

Closes https://github.com/ppy/osu/issues/28018.
2024-04-28 19:07:39 +08:00
Joseph Madamba
d4951a093f Scroll now playing overlay text when overflowing 2024-04-27 20:18:49 -07:00
Joseph Madamba
48c608e016 Make player width a const 2024-04-27 20:06:09 -07:00
Joseph Madamba
134ab6d45a
Merge pull request #28014 from TTTaevas/fix-missing-space
Add missing space in setup wizard
2024-04-27 19:27:25 -07:00
Taevas
694e3900db
Add missing space in setup wizard 2024-04-27 23:43:27 +02:00
Bartłomiej Dach
3da5831075
Merge pull request #28003 from peppy/fix-multi-spectator-music-pause
Fix audio being paused in a spectator session when all players finish playing
2024-04-26 11:39:57 +02:00
Dean Herbert
fb2d28f7e0
Fix audio being paused in a spectator session when all players finish playing 2024-04-26 15:30:26 +08:00
Dean Herbert
21d6556865
Remove managed clocks from SpectatorSyncManager on gameplay completion / abort 2024-04-26 15:29:59 +08:00
Dean Herbert
e0e790fa94
Fix a couple of xmldoc typos 2024-04-26 15:28:52 +08:00
Dan Balasescu
459f97891d
Merge pull request #27994 from bdach/timing-distribution-graph-only-basic
Do not show non-basic results in timing distribution graph
2024-04-26 01:36:16 +09:00
Dan Balasescu
52addc775e
Merge pull request #27965 from bdach/generic-math
Apply generic math-related changes
2024-04-26 01:33:54 +09:00
Dan Balasescu
692310d0cb
Merge pull request #27993 from bdach/add-slider-control-point-via-context-menu-not-undoing
Fix adding slider control points via context menu not undoing correctly
2024-04-26 01:10:13 +09:00
Dean Herbert
5ccc745235
Merge pull request #27997 from bdach/refetch-when-entering-editor
Fully refetch working beatmap when entering editor
2024-04-25 22:20:33 +08:00
Dean Herbert
387fcb8781
Add a brief inline comment to make sure we don't undo the fix 2024-04-25 21:31:36 +08:00
Dean Herbert
6a8a6fa79d
Merge pull request #27996 from bdach/delete-dirty-difficulty-droken
Fix deleting modified difficulty via editor leaving user in broken state
2024-04-25 21:20:09 +08:00
Dean Herbert
1756da0dda
Fix redundant string interpolations 2024-04-25 21:14:09 +08:00
Dean Herbert
310ef11eb0
Merge pull request #27995 from bdach/results-nrt
Apply nullability annotations to `ResultsScreen` & inheritors
2024-04-25 20:49:03 +08:00
Bartłomiej Dach
c1107d2797
Fully refetch working beatmap when entering editor
Closes https://github.com/ppy/osu/issues/21794.

I'm not actually super sure as to what the exact mode of failure is
here, but it's 99% to do with working beatmap cache invalidation. Likely
this can be even considered as another case of
https://github.com/ppy/osu/issues/21357, but because this is a one-liner
"fix," I'm PRing it anyways.

The issue is confusing to understand when working with the swap scenario
given in the issue, but it's a little easier to understand when
performing the following:

1. Have a beatmap set with 2 difficulties. Let's call them "A" and "B".
2. From song select, without ever exiting to main menu, edit "A". Change
   the difficulty name to "AA". Save and exit back to song select; do
   not exit out to main menu.
3. From song select, edit "B". Change the difficulty name to "BB". Save
   and exit back to song select.
4. The difficulty names will be "A" and "BB".

Basically what I *think* is causing this, is the fact that even though
editor invalidates the working beatmap by refetching it afresh on exit,
song select is blissfully unaware of this, and continues working with
its own `BeatmapInfo` instances which have backlinks to
`BeatmapSetInfo`.

When editing the first of the two difficulties and then the second,
the editing of the first one only invalidates the first one rather than
the entire set, and the second difficulty continues to have a stale
reference to the first one via the beatmap set, and as such ends up
overwriting the changes from the first save when passed into the editor
and modified again.
2024-04-25 14:31:13 +02:00
Bartłomiej Dach
19d006d818
Fix deleting modified difficulty via editor leaving user in broken state
Closes https://github.com/ppy/osu/issues/22783.

If the difficulty being edited has unsaved changes, the editor exit flow
would prompt for save *after* the deletion method has run. This is
undesirable from a UX standpoint, and also leaves the user in a broken
state.

Thus, just fake an update of the last saved hash of the beatmap to fool
the editor into thinking that it's not dirty, so that the exit flow will
not show a save dialog.
2024-04-25 12:55:34 +02:00
Bartłomiej Dach
d2e9c33b6a
Add failing test case 2024-04-25 12:55:33 +02:00
Bartłomiej Dach
b250a924b1
Do not show non-basic results in timing distribution graph
Closes https://github.com/ppy/osu/issues/24274.

Bit of an ad-hoc resolution but maybe fine? This basically proposes to
bypass the problem described in the issue by just not showing tick hits
at all on the distribution graph.
2024-04-25 11:20:07 +02:00
Bartłomiej Dach
9e919b784d
Add test case covering ignoring non-basic results 2024-04-25 11:19:29 +02:00
Bartłomiej Dach
da953b34a7
Apply nullability annotations to ResultsScreen & inheritors 2024-04-25 10:58:28 +02:00
Bartłomiej Dach
94275f148e
Fix adding slider control points via context menu not undoing correctly
Closes https://github.com/ppy/osu/issues/27985.
2024-04-25 09:01:47 +02:00
Dean Herbert
6905257869
Merge pull request #27986 from Joehuu/ignore-deployment-target-dropdown
Ignore autogenerated .idea android file
2024-04-25 12:16:15 +08:00
Joseph Madamba
72726809cb Ignore autogenerated .idea android file 2024-04-24 09:47:41 -07:00