Dean Herbert
db21601632
Add warning message in files
folder to avoid accidental deletion
...
This is a pretty standard practice for applications that have data
stored in folders where a user may accidentally determine that the
content is unnecessary.
Aims to address cases like
https://github.com/ppy/osu/discussions/20394#discussioncomment-3705694 .
It's not the first time this has come up, and definitely won't be the
last.
2022-09-22 13:17:24 +09:00
Salman Ahmed
110652592f
Display readable tablet notifications and link to supported list page
2022-09-16 16:32:06 +03:00
Dan Balasescu
433bb5ae24
Add ServerShuttingDownCountdown
2022-09-16 19:56:52 +09:00
Dean Herbert
40a60f7145
Remove all entity framework code and migrations
2022-09-15 16:58:58 +09:00
Dean Herbert
20ffbc4676
Fix beat sync stopping after returning to menu from a failed play
...
Closes #20193 .
Explanation is inline comment.
2022-09-09 14:13:03 +09:00
Dean Herbert
23d5e8b286
Fix beat sync components stopping after beatmap change
...
Not an amazing fix, but it seems to work and would rather get this in
ASAP rather than trying to fix at a framework level.
Closes #20059 .
2022-09-01 23:46:02 +09:00
Dan Balasescu
8e42af8e66
Merge pull request #19973 from peppy/no-gameplay-clock-beat-synced-container
...
Fix beat synced components not applying offsets
2022-08-29 20:43:26 +09:00
Dean Herbert
be5c6232e8
Encapsulate Track
inside a FramedClock
to avoid mutating operations
2022-08-29 16:29:19 +09:00
Dan Balasescu
423f6f90f2
Remove async calls from ScoreManager
2022-08-29 15:34:08 +09:00
Dean Herbert
fec744a7fe
Add global FramedBeatmapClock
for BeatSyncProvider
components
2022-08-26 17:48:21 +09:00
Dan Balasescu
c4b9b2a14b
Merge branch 'master' into irenderer-glwrapper
2022-08-05 20:35:06 +09:00
Dan Balasescu
b4e55f7309
Apply IRenderer changes
2022-08-02 19:50:57 +09:00
Dean Herbert
cc4cde2c79
Improve IBeatSyncProvider
interface and reduce beatmap track dependence
2022-08-02 17:59:18 +09:00
Dean Herbert
a5f48e336a
Isolate development builds' storage from release builds
2022-08-01 14:38:02 +09:00
Dean Herbert
cb52b696ed
Merge branch 'master' into bypass-local-metadata-cache
2022-07-29 16:05:54 +09:00
Dean Herbert
2ff6ff06d3
Use tuple to better explain new bool
parameter
2022-07-29 16:05:41 +09:00
Dean Herbert
8cb4fb35e0
Rename parameter to read better (and still use local cache if no online API is available)
2022-07-28 17:08:59 +09:00
Dean Herbert
c35da62224
Add flow for bypassing local cache lookups when refreshing beatmap metadata
2022-07-28 16:33:51 +09:00
Dean Herbert
2b9d46d803
Remove unused RulesetStore
from BeatmapManager
constructor
2022-07-28 16:19:05 +09:00
Dean Herbert
ef10145d6f
Rename MenuCursorContainer
and clean up code
2022-07-26 14:11:52 +09:00
Dean Herbert
57a41c6897
Add basic background processor
2022-07-21 18:20:46 +09:00
Dan Balasescu
defadeef47
Merge pull request #19250 from peppy/fps-counter
...
Add game-side FPS counter
2022-07-21 16:26:38 +09:00
Dean Herbert
0a1744faca
Add to game and bind with configuration setting
2022-07-20 23:49:19 +09:00
Dean Herbert
6adcf82d2e
Add change ingester to handle passing of online changes to correct target components
2022-07-19 17:57:01 +09:00
Dean Herbert
cd39f444ef
Expose event from OnlineMetadataClient
rather than calling BeatmapUpdater
directly
2022-07-19 17:57:01 +09:00
Andrew Hong
10d6027c89
Assign missing UserID to RealmUser
2022-07-11 02:36:51 -04:00
Dean Herbert
79bed0abdf
Merge branch 'realm-nested-writes' into metadata-client
2022-07-07 17:37:06 +09:00
Dean Herbert
ae49aafde2
Fix BeatSyncedContainer
unintentionally blocking on beatmap load
2022-07-06 14:58:06 +09:00
Dean Herbert
59d0bac728
Hook up update flow to metadata stream
2022-07-05 21:32:00 +09:00
Dean Herbert
d217d66852
Add OnlineMetadataClient
2022-07-05 21:32:00 +09:00
Dean Herbert
4fd47b5fa0
Add more verbose logging to realm blocking process
2022-07-02 12:36:56 +09:00
Dean Herbert
98938821e5
Merge branch 'master' into beatmap-update-flow
2022-06-30 16:44:17 +09:00
Dean Herbert
10d1bbb131
Log global working beatmap updates in OsuGameBase
instead of OsuGame
2022-06-27 15:58:51 +09:00
Bartłomiej Dach
a83c45b50e
Fix compile failures from framework breaking change
2022-06-24 16:07:14 +02:00
Dean Herbert
31a447fda0
Update parameter discards
2022-06-24 21:26:19 +09:00
Dean Herbert
06d59b717c
Move beatmap processing tasks to new BeatmapUpdater
class
2022-06-24 21:02:37 +09:00
Dean Herbert
f71f6302fd
Remove unnecessary null
casts
2022-06-24 14:50:11 +09:00
Dean Herbert
7ef8b7df5f
Add timeout for all ManualResetEventSlim.Wait
invocations
...
Timeout values were taken as best-guesses of upper values we'd expect
from sane execution.
2022-06-23 14:46:00 +09:00
Bartłomiej Dach
ee96d84ffa
Merge branch 'master' into input-settings
2022-06-20 22:55:43 +02:00
Dean Herbert
ebcee21f6f
Remove necessity to provide BeatmapDifficultyCache
as a function to ScoreManager
2022-06-20 17:52:42 +09:00
Bartłomiej Dach
495d747da5
Fix mismatching braces in comment
2022-06-19 13:42:45 +02:00
Dean Herbert
50e40756c4
Rename GracefullyExit
to AttemptExit
2022-06-19 12:34:44 +09:00
Dean Herbert
b2663d9399
Update xmldoc to suggest that GracefullyExit
may be overridden
2022-06-19 01:14:48 +09:00
Dean Herbert
56abe54fe6
Redirect graceful exiting to standard exit flow
...
Rather than doing a completely forced exit as we were, this will now
follow a more standard flow with the ability for the user to abort along
the way. This is more in line with how I wanted this to work.
Note that this means a confirmation is now shown. It has been discussed
in the past that this confirmation should only show when there's an
ongoing action implies the user may want to cancel the exit. For now I
think this is fine.
Addresses
https://github.com/ppy/osu/discussions/18399#discussioncomment-2811311
2022-06-18 23:43:46 +09:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Bartłomiej Dach
651862fee0
Merge branch 'master' into database-migration-reliability
2022-06-16 17:19:58 +02:00
Dean Herbert
8ea3042435
Move file extensions specification to common class
2022-06-16 18:00:27 +09:00
Dean Herbert
4526f8c07d
Move database backup creation to async thread where possible
2022-06-16 17:01:17 +09:00
Dean Herbert
17dbb599d1
Don't backup collection database
...
This is no longer required due to recent changes which mean the
collection database will retain beatmap references even if they aren't
loaded locally (see https://github.com/ppy/osu/pull/18619 ).
2022-06-16 16:48:53 +09:00
Bartłomiej Dach
1acbb87aa6
Ensure AvailableMods.Value
is never null
2022-06-15 17:40:16 +02:00
Bartłomiej Dach
30382b0445
Fill out GetModsFor()
xmldoc and annotate items as non-null
2022-06-15 17:40:15 +02:00
Bartłomiej Dach
e74b563b91
Add protection against arbitrary exceptions from GetModsFor()
2022-06-15 17:31:46 +02:00
Bartłomiej Dach
6e5e506fb4
Add protection against rulesets returning null mods
2022-06-15 17:31:46 +02:00
Dean Herbert
54a32bde44
Don't report sentry errors from builds targetting a different server
2022-06-03 16:29:55 +09:00
Dan Balasescu
f111d33b25
Merge pull request #18339 from peppy/editor-timing
...
Add first pieces of editor timing UI
2022-05-23 11:12:22 +09:00
Dean Herbert
007582afb9
Remove unused usings resulting from namespace move
2022-05-22 23:55:33 +09:00
Dean Herbert
eabf578282
Use interface to convey beat sync information
2022-05-22 22:44:54 +09:00
Dean Herbert
218642c300
Update unsafe file write usages
2022-05-16 18:05:27 +09:00
Dean Herbert
9dce329e99
Remove build suffix from version when reporting to sentry
2022-05-11 10:38:35 +09:00
Dean Herbert
b2a57c34bb
Move implementation to base
2022-05-10 19:10:34 +09:00
Dean Herbert
4d22f26266
Rename property and improve xmldoc
2022-05-10 19:07:07 +09:00
Dean Herbert
cac6d5569c
Fix incorrect variable reference in log output
2022-05-10 19:07:00 +09:00
Salman Ahmed
bcd91ac743
Move exception soft-handling logic to OsuGameBase
2022-05-10 10:02:32 +03:00
Dean Herbert
975883da5c
Move all usages of client.realm
filename to a single const
2022-03-30 13:34:48 +09:00
Dean Herbert
b04ca111c6
Allow realm subscriptions to be initiated from a non-update thread
2022-03-24 23:41:07 +09:00
Dan Balasescu
21beb8774d
Change to lambda method
2022-03-14 13:54:54 +09:00
Dan Balasescu
4ae6cba080
Expose UseDevelopmentServer as virtual
2022-03-14 13:49:38 +09:00
Dan Balasescu
3a03833912
Merge pull request #16890 from peppy/beatmap-decoder-ruleset-store
...
Fix `LegacyBeatmapDecoder` not populating correct rulesets
2022-02-25 19:03:43 +09:00
Dean Herbert
98aaf83177
Add a centralised constant for the osu URL schema protocol
2022-02-18 15:57:37 +09:00
Dean Herbert
7a69de0060
Split out realm portion of RulesetStore
2022-02-16 17:13:31 +09:00
Susko3
214b2724de
Merge branch 'master' into input-settings
...
# Conflicts:
# osu.Game/OsuGameBase.cs
# osu.iOS/OsuGameIOS.cs
2022-02-12 11:48:46 +01:00
Dean Herbert
44f2d8a448
Allow game folder migration to fail gracefully when cleanup cannot completely succeed
2022-02-10 19:30:26 +09:00
Salman Ahmed
5e47ce333c
Change SafeAreaOverrideEdges
to be get-only and protected
2022-02-04 16:10:49 +03:00
Dean Herbert
915d63f6de
Limit safe area bottom override to iOS only
2022-02-04 18:58:29 +09:00
Dean Herbert
8fc4d0c6f5
Add override edge rule to overflow above home indicator on iOS
2022-02-04 18:20:17 +09:00
Dean Herbert
52fdf0349f
Add safe area support via ScalingContainer
2022-02-04 16:37:05 +09:00
Bartłomiej Dach
16e0cc6a2b
Remove IIpcHost
param from ScoreManager
...
No longer used since 3e3b9bc963
.
2022-02-01 21:35:40 +01:00
Dean Herbert
08948f60f3
Move backups to "backups" subfolder to make them easier to find
2022-01-27 14:39:13 +09:00
Dean Herbert
fc58b202b1
Fix crash when trying to migrate collection database that doesn't exist
2022-01-25 15:45:23 +09:00
Dean Herbert
6eb2c28e41
Rename RealmContextFactory
to RealmAccess
2022-01-24 20:38:07 +09:00
Dean Herbert
855ef3fa92
Create backup before any realm contexts are used
2022-01-22 11:52:46 +09:00
Dean Herbert
5be41a189b
Expose EF context factory for use in external migration logic
2022-01-21 14:56:28 +09:00
Dean Herbert
5df46d0a54
Remove all calls to Realm.Refresh
to fix blocking overhead from subscriptions
...
Turns out this is not required if realm is aware of a
`SynchronizationContext`. See
https://github.com/realm/realm-dotnet/discussions/2775#discussioncomment-2005412
for further reading.
2022-01-20 20:23:18 +09:00
Dean Herbert
fad66d7682
Backup collections alongside main databases when migrating to realm
2022-01-19 16:31:36 +09:00
Dan Balasescu
8c120c6bfb
Merge pull request #16491 from peppy/realm-integration/safer-migration
...
Improve safety and logging of realm migration process
2022-01-19 12:23:48 +09:00
Dean Herbert
02baad30d7
Merge branch 'master' into global-bindable-thread-safety
2022-01-18 18:12:00 +09:00
Dean Herbert
8b8940439e
Fix starting game with non-default ruleset failing
2022-01-18 16:22:15 +09:00
Dean Herbert
b1a75ce480
Permanently delete client.db
after migration completes
2022-01-18 14:17:43 +09:00
Dean Herbert
b9ec860cf2
Ensure global beatmap/ruleset are always mutated from the update thread
...
This came up while testing the new realm thread, where `MusicController`
would fall over when `OsuTestScene` changes the global beatmap from an
async load thread (causing a cross-thread realm access).
We don't want to have to schedule every usage of these bindables, so
this seems like a good constraint to put in place.
2022-01-18 13:29:24 +09:00
Susko3
f3eaa95041
Move input handler settings creation to OsuGameBase
2022-01-15 14:53:41 +01:00
Dean Herbert
ded1d87739
Move RulesetStore
construction earlier in process so rulesets are available for EF migration
2022-01-13 18:23:18 +09:00
Dean Herbert
e0c59f4b3c
Localise EF context factory usage to migration only
2022-01-12 17:49:11 +09:00
Dean Herbert
47390d7ec3
Update handling of ruleset nullability when handling a game-wide change
2022-01-12 17:49:10 +09:00
Dean Herbert
3ecd535f6e
Add back missing IRulesetStore
cache
2022-01-12 17:00:16 +09:00
Dean Herbert
53792811b2
more fixes (almost compiles, except ruleset and manager)
2022-01-12 16:57:27 +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
116f35c52a
Remove EF FileStore
2022-01-12 16:39:36 +09:00
Dean Herbert
3ecd889fef
Replace EF RulesetStore
with realm version
...
Pass full EF context factory to `RealmContextFactory` for migration purposes
2022-01-12 16:39:36 +09:00
Bartłomiej Dach
5cbaa028eb
Use extracted ruleset config cache implementation in DI
2021-12-23 19:02:10 +01:00
Dean Herbert
452fa93444
Merge branch 'master' into realm-integration/skins-rebase
2021-12-06 15:21:02 +09:00