1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-14 15:17:27 +08:00
Commit Graph

66771 Commits

Author SHA1 Message Date
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
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
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
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
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
Dean Herbert
29a6349fbe
Merge pull request #27982 from Joehuu/chevron-all-context-menus
Add chevron to distinguish all menus with submenus
2024-04-24 22:39:56 +08:00
Joseph Madamba
4f7c9f2970 Remove unused using 2024-04-24 01:00:03 -07:00
Joseph Madamba
5f463b81a8 Remove hardcoded chevrons in test 2024-04-24 00:22:20 -07:00
Joseph Madamba
f97c519451 Add chevron to distinguish all menus with submenus 2024-04-24 00:19:10 -07:00
Dan Balasescu
669b92a8e4
Merge pull request #27978 from peppy/beatmap-attr-text-source
Add ability to show beatmap source using skin editor's beatmap attribute text
2024-04-24 13:57:09 +09:00
Dean Herbert
16fdd4e08d
Add ability to show beatmap source using skin editor's beatmap attribute text
As per https://github.com/ppy/osu/discussions/27955.
2024-04-24 09:01:31 +08:00
Bartłomiej Dach
cbbf2dd158
Fix DifficultyBindable bound desync between maxValue and CurrentNumber.MaxValue 2024-04-23 18:58:40 +02:00
Bartłomiej Dach
787e60f706
Fix LegacyDrainingHealthProcessor drain rate computation diverging to infinity 2024-04-23 18:57:14 +02:00
Bartłomiej Dach
a35bf77131
Merge pull request #27974 from peppy/editor-menu-chev
Add a chevron to distinguish editor menus with submenus
2024-04-23 18:12:08 +02:00
Bartłomiej Dach
c454dd2496
Merge pull request #27967 from peppy/storyboard-video-transforms-and-sizing
Fix storyboard videos not accepting transforms
2024-04-23 18:09:09 +02:00