1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-15 01:02:55 +08:00
Commit Graph

640 Commits

Author SHA1 Message Date
Bartłomiej Dach
081d87fe6d
Revert 'Fix any and all migration attempts dying on MusicController'
This reverts commit 310eec69fc.

Way to try and "fix" stuff and screw stuff up even harder instead, me.
Great job, well done.
2024-10-09 11:55:59 +02:00
Bartłomiej Dach
1633cbdb66
Fix OsuGameBase.Migrate() eating exception messages for breakfast
Whomst've thought this was an ok thing to do? How did this pass review?
Let's leave these as rhetorical questions right now. Huge chances are
I'd implicate myself with at least one of them.
2024-10-08 23:16:17 +02:00
Bartłomiej Dach
310eec69fc
Fix any and all migration attempts dying on MusicController
I'm not sure why this was "fine" for as long as it apparently was,
but what `MusicController` was doing was completely incorrect and
playing with fire (accessing raw managed realm objects), which went
wrong somewhere around - admittedly -
https://github.com/ppy/osu/pull/29917, likely because that one started
*storing* these raw managed realm objects to fields, and you know what
will happen to those after you do a migration and recycle realms.

To attempt to circumvent this, (ab)use `DetachedBeatmapStore` instead.
Which does necessitate moving it to `OsuGameBase`, but it's the simplest
way out I can see. I guess the alternative would be to faff around with
`Live<T>` but it's ugly and I'm attempting to fix this relatively quick
right now.
2024-10-08 23:16:10 +02:00
Bartłomiej Dach
3c6c49187a
Implement component for displaying hotkeys 2024-09-04 11:57:09 +02:00
Dean Herbert
dd7133657d
Fix weird test critical failure if exception happens too early in execution
Noticed in passing.

```
Exit code is 134 (Unhandled exception. System.NullReferenceException:
Object reference not set to an instance of an object.
   at osu.Game.OsuGameBase.onExceptionThrown(Exception ex) in
/Users/dean/Projects/osu/osu.Game/OsuGameBase.cs:line 695
   at osu.Framework.Platform.GameHost.abortExecutionFromException(Object
sender, Exception exception, Boolean isTerminating)
   at osu.Framework.Platform.GameHost.unobservedExceptionHandler(Object
sender, UnobservedTaskExceptionEventArgs args)
   at System.Threading.Tasks.TaskExceptionHolder.Finalize())
```
2024-08-30 18:35:31 +09:00
Dean Herbert
b3be04aff1
Remove "leftover files" notification when migration partly fails
People were deleting files they shouldn't, causing osu! to lose track of
where the real user files are.

For now let's just keep things simple and not let the users know that
some files got left behind. Usually the files which are left behind are
minimal and it should be fine to leave this up to the user.

Closes https://github.com/ppy/osu/issues/29505.
2024-08-22 16:09:11 +09:00
Dean Herbert
d0b1ebff5a
Revert "Temporary rollback of framework / SDL3"
This reverts commit d7d569cf4e.
2024-05-22 16:29:39 +08:00
Dean Herbert
d7d569cf4e
Temporary rollback of framework / SDL3 2024-05-21 14:36:16 +08:00
Susko3
e4858a975d Show mouse and joystick settings on mobile 2024-05-19 14:07:40 +02:00
Bartłomiej Dach
45c2327509
Apply adjustments after framework-side FriendlyGameName changes 2024-04-29 13:00:22 +02:00
Dean Herbert
e0e790fa94
Fix a couple of xmldoc typos 2024-04-26 15:28:52 +08:00
Bartłomiej Dach
fb08d6816b
Only attempt to disable rulesets when decidedly crashing out 2024-03-25 11:33:15 +01:00
Bartłomiej Dach
c7c0330265
Attempt to disable rulesets that can be linked to an unhandled crash 2024-03-22 19:05:58 +01:00
Bartłomiej Dach
21b9fb95e2
Move SoloStatisticsWatcher to OsuGame
Doesn't feel like it needs to be in base, and it being in base was
causing problems elsewhere before.
2024-02-13 14:28:24 +01:00
Dean Herbert
d895a91cd5
Update endpoints to final production endpoints 2024-01-30 18:40:17 +09:00
Dean Herbert
76832a1495
Remove ScorePerformanceCache
This class was only used in two places, both on the results screen, but
was holding references to `OsuPlayfield` game-wide (due to unrelated
issues, but still).

Because I can't really think of future use cases for this, and running
the calculation twice at results screen isn't a huge overhead, let's
just do that for now to keep things simple.
2024-01-29 15:28:20 +09:00
Bartłomiej Dach
93c7ebdae3
Remove unused using 2023-12-28 14:30:11 +01:00
Bartłomiej Dach
24a80da83f
Merge branch 'master' into universal-offset-from-session-plays 2023-12-28 14:07:46 +01:00
Bartłomiej Dach
160342ceed
Implement automatic suggestion of audio offset based on last plays 2023-12-27 21:14:37 +01:00
Bartłomiej Dach
f51b5f5487
Add components to track average hit errors across session 2023-12-27 20:44:59 +01:00
Bartłomiej Dach
89e2b6358a
Remove hexacons 2023-12-27 17:42:18 +01:00
Bartłomiej Dach
45143a6c17
Implement new icon store 2023-12-27 17:42:17 +01:00
Dean Herbert
8349cb7bbe
Fix hard crash when attempting to change folder location during a large import
Closes https://github.com/ppy/osu/issues/26067.
2023-12-23 17:03:58 +09:00
Dean Herbert
95c00f9666
Add HexaconIcons lookup to allow usage with SpriteIcon 2023-11-24 13:17:39 +09:00
Dean Herbert
1c63f1f89d
Merge pull request #25348 from bdach/less-basic-touchscreen-detection
Implement basic touchscreen detection
2023-11-10 18:01:40 +09:00
Susko3
1b08f317fb Show touch input settings on iOS
This does not cover android since `TouchHandler` is SDL-based.
2023-11-09 15:12:24 +01:00
Bartłomiej Dach
980c900f43
Add component for game-wide touch detection 2023-11-02 19:32:56 +01:00
Dean Herbert
df08c4e1ad Disable decoupling for OsuGameBase's beatmap implementation
This avoids it ever mutating the underlying track (aka attempting to start
it). Resolves the one caveat mentioned in
aeef92fa710648d4a00edc523e13c17ac6104125.
2023-09-22 12:49:25 +09:00
Dean Herbert
5f634f2812 Remove unnecessary encapsulation workaround
The new implementation of `DecouplingClock` will not mutate the
underlying clock in any way (unless attempting to start it when
approaching from a negative time value).

This should be quite safe as a result.
2023-09-22 12:49:25 +09:00
Bartłomiej Dach
5454d1caa1
Remove global action container input queue workaround
As described in #24248, the workaround employed by
`GlobalActionContainer`, wherein it tried to handle actions with
priority before its children by being placed in front of the children
and not _actually containing_ said children, is blocking the resolution
of some rather major input handling issues that allow key releases to be
received by deparented drawables.

To resolve, migrate `GlobalActionContainer` to use `Prioritised`, which
can be done without regressing certain mouse button flows after
ppy/osu-framework#5966.
2023-08-21 17:54:08 +02:00
Dean Herbert
c3f772f0da Add method to queue a restart after app is exited (when supported) 2023-06-21 19:06:28 +09:00
Salman Ahmed
ab790ec96a Expose currently selected language from IAPIProvider 2023-06-08 02:59:34 +03:00
Salman Ahmed
1a90f71540 Centralise game language update logic 2023-06-08 02:59:34 +03:00
Bartłomiej Dach
0d2396c557
Rename method to better indicate directionality 2023-05-04 18:15:12 +02:00
Terochi
d1d4b54c64 Simplified 2023-05-03 18:31:35 +02:00
Dean Herbert
27f81288ef
Merge branch 'master' into keep-shared-settings-ruleset-change 2023-04-26 15:51:31 +09:00
Terochi
8e297dc60a Added safety measures for invalid mod combinations 2023-04-25 21:28:03 +02:00
Terochi
0841e73a39 Improved readability and sounds 2023-04-25 21:07:17 +02:00
Bartłomiej Dach
e72f103c17
Do not look up metadata for locally-modified beatmaps on save 2023-04-11 23:14:35 +02:00
Dean Herbert
eb37d740b1 Update supported video filetypes to match osu-stable 2023-03-13 18:24:16 +09:00
Terochi
e321536acc Small clean up 2023-02-22 07:48:43 +01:00
Terochi
82b07d19f8 Fix of incorrect using optimization 2023-02-21 21:48:11 +01:00
Terochi
dd53a70071 Addressed change requests 2023-02-21 21:01:31 +01:00
Terochi
191604340f Added a way for mod settings to be kept when changing ruleset + test 2023-02-21 19:05:10 +01:00
Dean Herbert
fc558278cc Fix touch input handler settings not matching search for "touchscreen" 2023-01-24 13:37:12 +09:00
Dean Herbert
e3932c077b
Merge pull request #22032 from frenzibyte/fix-potential-difficulty-failure-alt
Fix advanced statistics display potentially performing invalid difficulty calculation
2023-01-23 15:39:47 +09:00
Dean Herbert
26cd70f2bf Always use production (non-experimental) endpoints for tournament client 2023-01-17 18:46:06 +09:00
Salman Ahmed
13c1b8f5a4 Fix intermittent failure in tests with restarting player instances 2023-01-15 16:06:06 +03:00
Salman Ahmed
0548ca2aa8 Avoid changing target content midway through code 2023-01-12 09:48:38 +03:00
Salman Ahmed
6c52b8339b Fix game-level components finishing load after content 2023-01-11 22:02:06 +03:00