Bartłomiej Dach
add1ef77d0
Fix typo in comment
2023-08-16 10:07:12 +02:00
Bartłomiej Dach
4f47b196c1
Merge branch 'master' into fix-unsafe-realm-access
2023-08-16 09:59:17 +02:00
Bartłomiej Dach
d70a9a5bc4
Fill out xmldoc and adjust inline commentary
2023-08-16 09:40:46 +02:00
Dean Herbert
bb98f10ff6
Use CurrentTime
instead of StartTime
for hotfix seek (and update comment)
2023-08-16 16:38:49 +09:00
Dean Herbert
184eabb902
Merge branch 'master' into multi-spectator-fix-startup-delay
2023-08-16 16:27:49 +09:00
Dean Herbert
caf0fd0742
Refactor migration to read the same as previous one
2023-08-16 16:21:42 +09:00
Dean Herbert
68db112882
Re-date migration
2023-08-16 16:20:17 +09:00
Dean Herbert
c885b71f3a
Add leaderboard toggle as tracked setting to give better use visibility
2023-08-16 16:17:56 +09:00
Dean Herbert
31c2b7f925
Merge branch 'master' into leaderboard-toggle
2023-08-16 15:49:55 +09:00
Dean Herbert
6e11162ab1
Add helper method for safer realm Find<T>
2023-08-16 15:37:09 +09:00
Bartłomiej Dach
88295a49aa
Fix invalid reference in xmldoc
2023-08-16 07:38:31 +02:00
Bartłomiej Dach
6c4c76350f
Remove unused using directive
2023-08-16 07:36:56 +02:00
Dean Herbert
531794b26b
Fix ModelManager
not correctly re-retrieving realm objects before performing operations
...
Falls into the age-old trap of attempting to retrieve an item from realm
without first ensuring that realm is in an up-to-date state.
Consider this scenario:
- Editor is entered from main menu, causing it to create a new beatmap
from its async `load()` method.
- Editor opens correctly, then main thread performs a file operations on
the same beatmap.
- Main thread is potentially not refreshed yet, and will result in `null`
instance when performing the re-fetch in `performFileOperation`.
I've fixed this by using the safe implementation inside `RealmLive<T>`.
Feels like we want this is one place which is always used as the correct
method.
On a quick search, there are 10-20 other usages of `Realm.Find<T>` which
could also have similar issues, but it'll be a bit of a pain to go
through and fix each of these. In 99.9% of cases, the accesses are on
instances which couldn't have just been created (or the usage of
recently-imported/created is blocked by realm subscription flows, ie.
baetmap import) so I'm not touching them for now.
Something to keep in mind when working with realm going forward though.
2023-08-16 14:23:32 +09:00
Dean Herbert
5bd7370439
Add log output when editor is creating a fresh beatmap
2023-08-16 14:23:17 +09:00
Dean Herbert
502844a858
Add ability to construct RealmLive
from ID
2023-08-16 14:23:01 +09:00
Dean Herbert
6001f7e5c7
Rename "dummy" local user to something more descriptive
...
This created weird cases in logs which are very hard to understand. The
one which really got me was this:
```
[runtime] 2023-08-13 07:48:27 [verbose]: Invalidating working beatmap cache for unknown artist - unknown title (Dummy)
```
Which looks like a dummy working beatmap was invalidated, but it turns
out that's just the local user which was populated when creating a new
local beatmap.
2023-08-16 13:52:27 +09:00
Pasi4K5
58bffa13cd
Fix possible IndexOutOfRangeException
2023-08-16 01:19:41 +02:00
Pasi4K5
e7e0c49f42
Replace .Distinct()
with truncateEndingDuplicates()
2023-08-16 01:14:25 +02:00
Pasi4K5
6346872c39
Improve code readability and add assertion to test scene
2023-08-15 23:27:12 +02:00
Dean Herbert
e8bde6504a
Fix score being cloned in async method causing random crashes
...
Closes https://github.com/ppy/osu/issues/24445 .
2023-08-15 16:08:13 +09:00
Dean Herbert
526a145b93
Merge pull request #24546 from peppy/update-framework
...
Update framework
2023-08-15 15:34:56 +09:00
Bartłomiej Dach
ab1d523528
Fix kiai stars flickering on and off during gameplay
...
Closes #24503 .
The problematic reset of `lastParticleAdded` has been moved to a place
that should hopefully (a) not cause such problems and (b) be much more
explicit about what's happening.
2023-08-15 07:44:05 +02:00
Dean Herbert
8c14ff674e
Update framework
2023-08-15 14:33:21 +09:00
Pasi4K5
449bee98cc
Code cleanup
2023-08-14 21:56:08 +02:00
Pasi4K5
19c8b74a47
Remove unnecessary circle arc approximation
2023-08-14 21:09:58 +02:00
Bartłomiej Dach
9e7cc05138
Merge branch 'master' into remove-fps-fade-in-out
2023-08-14 18:46:30 +02:00
Dan Balasescu
90d7e46e20
Fix incorrect truncation to int
2023-08-15 00:58:13 +09:00
Dean Herbert
34c761946c
Don't completely fade FPS counter out when running at full FPS
...
I've heard multiple times from uses that this is distracting or
confusing.
2023-08-14 23:55:57 +09:00
Pasi4K5
55ac942e7a
Fix IndexOutOfRangeException
when trying to reverse a zero-length slider
2023-08-14 14:09:08 +02:00
Pasi4K5
f42b3603b3
Fix linear sliders sometimes being reversed incorrectly
...
Extract control point reversing to separate method
2023-08-14 14:08:02 +02:00
Dan Balasescu
d1a4a46fd3
Temporarily allow new difficulty attributes to not exist
2023-08-14 16:59:01 +09:00
Pasi4K5
8912a0e91e
Fix sliders being reversed incorrectly in the editor.
2023-08-12 20:30:48 +02:00
QuantumSno
a0543d97bd
Merge branch 'master' into leaderboard-toggle
2023-08-12 11:21:02 -04:00
Dean Herbert
0eaa383120
Update framework
2023-08-12 17:54:05 +09:00
Bartłomiej Dach
253392409e
Fix LegacyBeatmapExporter
not converting beatmap between decode and re-encode
2023-08-12 00:50:31 +02:00
Bartłomiej Dach
37361cd683
Repurpose Flat{File -> }WorkingBeatmap
2023-08-12 00:49:42 +02:00
Dean Herbert
896cbb0ba0
Update framework
2023-08-11 21:34:59 +09:00
Bartłomiej Dach
2b738edb93
Reword / fix comments
2023-08-10 22:55:02 +02:00
Bartłomiej Dach
1b3806539a
Merge branch 'master' into leaderboard-toggle
2023-08-10 22:50:55 +02:00
QuantumSno
5d6ebb4df9
Removed comments organizing GlobalActionContainer.cs, since they were incorrectly grouping actions
2023-08-10 10:18:15 -04:00
QuantumSno
71c42167e7
Updated wording on realm comments
2023-08-10 10:17:12 -04:00
Bartłomiej Dach
2698ec9206
Merge branch 'master' into block-exit-if-save-failed
2023-08-08 23:41:03 +02:00
Bartłomiej Dach
500a1363ec
Merge branch 'master' into fix-break-info-decimal-separator
2023-08-08 22:49:00 +02:00
Joseph Madamba
49f5d6813e
Block beatmap editor from testing/exiting/exporting when saving fails
2023-08-04 22:08:25 -07:00
Joseph Madamba
d179fe3d96
Add support for changelog entries with url attached
2023-08-03 23:24:37 -07:00
Bartłomiej Dach
785d2ed9b1
Merge branch 'master' into multi-spectator-better-start-time
2023-08-03 22:07:47 +02:00
Bartłomiej Dach
52b1073d93
Fix playfield skin layer not rotating correctly with barrel roll mod
2023-08-03 21:08:00 +02:00
Bartłomiej Dach
dde03b7d46
Merge branch 'master' into playfield-skin-layer
2023-08-03 20:42:15 +02:00
Dean Herbert
d39ef48b71
Return null
intead of FileNotFoundException
on missing file in ZipArchiveReader
2023-08-03 09:01:11 +09:00
Dean Herbert
71f6e5731d
Fix potential null reference if no frames found
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-08-03 08:58:19 +09:00
Dean Herbert
f38b21110f
Add missing parenthesis to comment
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-08-03 08:57:43 +09:00
Bartłomiej Dach
f48b1ebdbf
Merge branch 'master' into fix-transparent-player-background
2023-08-03 00:41:42 +02:00
Joseph Madamba
aab462fd95
Fix valueText
being replaced even if current is not binding to anything
2023-08-02 09:40:22 -07:00
Dean Herbert
87fee001c7
Fix multiplayer spectator potentially taking too long to start
...
When watching from the middle of gameplay, due to a series of failures,
`SpectatorClock` would not get seeked to the current time, causing all
clients to look like they were out of sync.
This is a hotfix for the issue. A better fix will require framework
changes or considerable restructuring.
I'd recommend testing this works in practice and agreeing that while it
is a hack, it's likely not going to cause issues and is something we
want to see fixed sooner rather than later.
2023-08-02 19:05:43 +09:00
Dean Herbert
75c1d5ad7f
Add lenience to FramedBeatmapClock
workaround
2023-08-02 18:49:24 +09:00
Dean Herbert
14d87e49c7
Improve choice of where to start playback of multiplayer spectator
2023-08-02 18:46:35 +09:00
Dean Herbert
0e510088f9
Ensure background of gameplay is black when storyboard is overriding background display
2023-08-02 15:50:15 +09:00
Dean Herbert
a618ed140e
Move StoryboardReplacesBackground
bindable more local to usage
2023-08-02 15:29:18 +09:00
QuantumSno
5443f89dca
Assuming its still set to tab, removes binding for toggle chat so itll be set to the new default
2023-08-01 16:58:52 -04:00
QuantumSno
426bc52fd5
Updated schema_version number and added braces around some migration cases to help with re-using variable names
2023-08-01 14:27:37 -04:00
Bartłomiej Dach
5b6c3321cf
Merge branch 'master' into multi-spectator-flow-fixes
2023-08-01 19:03:48 +02:00
Bartłomiej Dach
a75f42f5a9
Merge branch 'master' into multi-spectator-extended-results
2023-08-01 18:25:41 +02:00
Bartłomiej Dach
d65f08a048
Merge pull request #24427 from peppy/fix-skin-editor-crash-multi-spectator
...
Fix game crashing when entering skin editor in multiplayer spectator
2023-08-01 18:25:11 +02:00
Bartłomiej Dach
f7d5ac9f92
Privatise setter
2023-08-01 18:09:48 +02:00
QuantumSno
054ca5e59c
Merge branch 'master' into leaderboard-toggle
2023-08-01 10:06:03 -04:00
Dean Herbert
70bd1d3cf4
Fix centred player not animating correctly
2023-08-01 20:18:21 +09:00
Dean Herbert
df504e1fc2
Show extended statistics in multiplayer spectator automatically
2023-08-01 20:02:36 +09:00
Dean Herbert
fe47dc291b
Fix onLoadRequested
getting early-exited too early in spectator scenarios
...
In some scenarios, multiplayer spectator would not tick over to the next
beatmap.
Here's an example:
- Room has two items queued
- Local user starts download of both
- First beatmap starts and download is complete
- First beatmap ends (spectating is active)
- Second beatmap starts but download is not complete
In this scenario, the local client will get stuck at the spectator
screen due to the `onLoadRequested`-invoked screen change being early
exited.
It would require manual recovery (clicking back button) to return to a
sane state.
2023-08-01 19:22:41 +09:00
Dean Herbert
9fe9ea2c90
Fix potential crash on multiple StartGameplay
calls in multiplayer spectator
2023-08-01 19:22:41 +09:00
Bartłomiej Dach
4fb0ff8800
Implement instantaneous SliderWithTextBoxInput
mode
2023-08-01 01:02:16 +02:00
Bartłomiej Dach
ca81f23356
Add test covering non-instantaneous behaviour
2023-08-01 01:01:37 +02:00
Bartłomiej Dach
2e2b0c4e41
Move SliderWithTextBoxInput
to more general namespace
2023-08-01 01:01:36 +02:00
Dean Herbert
d78cc60851
Update framework
2023-08-01 07:12:40 +09:00
Dean Herbert
a3afb198a1
Merge pull request #24341 from bdach/selection-operations-refactor
...
Refactor rotation handling in editor to facilitate reuse
2023-07-31 17:18:05 +09:00
Dean Herbert
72005bef7c
Fix skin editor crashing if the same component is provided twice
2023-07-31 15:10:58 +09:00
Bartłomiej Dach
ebe5dd2ac9
Interface with SelectionRotationHandler
via DI rather than explicit passing
2023-07-30 20:21:41 +02:00
Bartłomiej Dach
262f25dce8
Make SelectionRotationHandler
a Component
2023-07-30 20:18:33 +02:00
Bartłomiej Dach
821cd08f34
Merge branch 'master' into selection-operations-refactor
2023-07-30 19:29:06 +02:00
Bartłomiej Dach
7763f3dd40
Fix osu! logo suddenly disappearing during rapid exit
2023-07-30 19:05:37 +02:00
Bartłomiej Dach
d3435483eb
Fix multiplayer match screen being exited from when not current
...
This was supposed to be fixed by #24255 , but has popped up as a
regression on Sentry since:
https://sentry.ppy.sh/organizations/ppy/issues/22749/?project=2&referrer=regression_activity-email
On a fifteen-minute check I cannot figure out how to reproduce, so
rather than spending further brain cycles on this, just apply the same
explicit guard that like fifteen other places do.
2023-07-30 15:50:10 +02:00
Bartłomiej Dach
1f7f336fd5
Merge branch 'master' into fix-replay-export-queued-op
2023-07-30 14:58:14 +02:00
Bartłomiej Dach
1981e49a40
Fix nullability inspection
2023-07-30 14:28:16 +02:00
Bartłomiej Dach
b51e577239
Merge pull request #24418 from peppy/now-playing-async-fix
...
Fix now playing overlay background occasionally showing incorrect background
2023-07-30 14:05:49 +02:00
Bartłomiej Dach
898913f32a
Merge pull request #24415 from peppy/multi-spectator-improvements
...
General visual improvements to mutliplayer spectatator screen
2023-07-30 12:43:26 +02:00
Bartłomiej Dach
e208f38bcb
Merge pull request #24361 from peppy/fix-editor-global-music-hotkey-conflicts
...
Disallow interacting with the global track state in `Player` and `Editor`
2023-07-30 12:28:53 +02:00
Dean Herbert
6d5b3617b3
Remove pending export operation if active score is changed
2023-07-30 16:41:45 +09:00
Dean Herbert
35ec55c1f6
Don't queue export replay operations if button is disabled
2023-07-30 16:41:33 +09:00
Dean Herbert
de61b74e91
Add proper cancellation and out-of-order blocking logic to NowPlayingOverlay
's background carousel
2023-07-30 16:21:35 +09:00
Dean Herbert
07d224ecb6
Apply NRT to NowPlayingOverlay
2023-07-30 16:17:04 +09:00
Dean Herbert
4f83c8661a
Remove unnecessary async fetch of beatmap in NowPlayingOverlay
...
No idea if this was historically required for some reason, but it's
definitely not required now.
2023-07-30 16:16:25 +09:00
Dean Herbert
45ceaba00d
Disable multiplayer spectator zoom when there's only one player's screen visible
2023-07-30 14:40:58 +09:00
Dean Herbert
7138291636
Adjust xmldoc to explicitly metnion it only affects end user control
2023-07-30 13:52:58 +09:00
Dean Herbert
945d89e955
Move disables to loading screens for better coverage of edge cases
2023-07-30 13:45:42 +09:00
Joseph Madamba
4ddf05602f
Update BreakInfoLine
to formatting standards
2023-07-29 11:05:15 -07:00
Joseph Madamba
6ebfafa9c3
Remove unnecessary text comparison
2023-07-29 11:02:04 -07:00
Joseph Madamba
740898dffb
Remove unnecessary prefix parameter
2023-07-29 10:40:18 -07:00
Joseph Madamba
9d928c0225
Apply NRT to BreakInfoLine
2023-07-29 10:39:50 -07:00
Dean Herbert
75625f089e
Hide toolbar when entering multiplayer spectator
2023-07-30 02:29:14 +09:00
Dean Herbert
38244c081f
Further refactorings along with shadow implementation
2023-07-30 02:29:14 +09:00
Dean Herbert
84bc14c1dd
Improve animation and sizing of maximised screen display
2023-07-30 02:29:14 +09:00