1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-16 08:22:56 +08:00
Commit Graph

1053 Commits

Author SHA1 Message Date
Dean Herbert
66f5eae530 Hook up a dropdown to show all available sprites for the current skin 2022-04-01 15:01:43 +09:00
Joseph Madamba
d0873d67e1 Move difficulty graph toggle to individual skin settings 2022-03-31 18:56:57 -07: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
4741679a94
Change confirmation message to be more clear about intentions
Co-authored-by: Henry Lin <henry.ys.lin@gmail.com>
2022-03-29 19:03:50 +09:00
Dean Herbert
1fb3d11591 Add ability to "migrate" data to another folder which has an existing install
Until now, migrating would always attempt to move files.

There's a chance that a user is reinstalling osu! but has their data at
a custom location. We want to allow the chance for them to continue
using the external data. This seems like the easiest way to make it
work.

Would be nice if we had a `Game.Restart()` method, but maybe this is
enough for now?

Note that further down the road we will probably prompt the user to
potentially select a custom install path (including one with existing
data) before osu! gets to writing anything.
2022-03-29 18:04:31 +09:00
Dean Herbert
2938f44e6c Update PresentExternally usages in line with framework changes 2022-03-24 23:41:07 +09:00
Dean Herbert
2f18c512cd Convert SkinEditorOverlay to an OverlayContainer to allow it to block input 2022-03-21 17:33:56 +09:00
Dean Herbert
a2ef086c1f Fix potential crash on rare incorrect firing of skin dropdown update methods
As brought to light by https://gist.github.com/smoogipoo/56eda7ab56b9d1966556f2ca7a80a847.

There's a chance that the dropdown is not populated by the time
`updateSelectedSkinFromConfig` is fired via an external means (config
changes).
2022-03-09 01:08:13 +09:00
Dean Herbert
6264dd266d
Merge pull request #17087 from peppy/combine-time-slider-implementation
Centralise implementation of slider bars which display millisecond time values
2022-03-05 23:48:26 +09:00
Bartłomiej Dach
346cec3577
Merge branch 'add-offset-adjust-tooltip-text' into combine-time-slider-implementation 2022-03-05 14:58:56 +01:00
Bartłomiej Dach
1e34aca984
Rename method to better fit purpose 2022-03-05 14:38:15 +01:00
Dean Herbert
524b8e02ef Revert "Update all usages of OsuSlider.TooltipText overrides to instead implement GetTooltipText"
This reverts commit abba49fd8f.
2022-03-05 22:37:36 +09:00
Dean Herbert
33862fc0db Centralise implementation of slider bars which display millisecond time values 2022-03-04 12:25:19 +09:00
Dean Herbert
7854a0a913 Use double instead of float for UIHoldActivationDelay configuration value
All times use double, so let's also use double here.
2022-03-04 12:22:56 +09:00
Dean Herbert
abba49fd8f Update all usages of OsuSlider.TooltipText overrides to instead implement GetTooltipText 2022-03-04 12:16:05 +09:00
Dean Herbert
c06703d662 Add ability to select which display the game runs on 2022-03-02 18:29:07 +09:00
Susko3
acf226bb58
Merge branch 'master' into input-settings 2022-02-19 21:28:40 +01:00
Salman Ahmed
b66566e96d Use explicit culture info rather than null 2022-02-16 10:35:57 +03:00
Salman Ahmed
7654584e40 Allow using SizeSlider on different value types 2022-02-16 03:25:03 +03:00
Dean Herbert
b9d9fc56af Move files to UI namespace 2022-02-14 17:51:39 +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
Dean Herbert
88bb9d4237 Fix migration errors not outputting the call stack to logs 2022-02-10 15:50:03 +09:00
Dean Herbert
9005bce0fa Add "counter" keyword for key overlay setting 2022-01-31 16:37:51 +09:00
Dean Herbert
45636ce04b Remove collection ToLive helper method to avoid confusion 2022-01-26 18:26:37 +09:00
Dean Herbert
d1a2256262 Refactor SkinSection to avoid unnecessary realm queries 2022-01-26 17:48:11 +09:00
Dan Balasescu
8f85f32f2b
Merge pull request #16619 from peppy/live-no-interface
Remove `ILive<>` interface (and use `abstract Live<>` instead)
2022-01-26 14:54:14 +09:00
Dean Herbert
cd71ec0edd Remove ILive<> interface (and use abstract Live<> instead) 2022-01-26 13:38:56 +09:00
Dean Herbert
7ca73f7e6d Don't auto-unblock realm when user has manually pressed unblock button 2022-01-26 12:51:09 +09:00
Dean Herbert
d7342880f5 Update remaining cases of clashes with realm.Write and realm.RegisterForNotifications 2022-01-25 13:09:48 +09:00
Dean Herbert
e23b10e6a5 Update remaining cases of clashing variable name in realm.Run(realm.. 2022-01-25 13:04:05 +09:00
Dean Herbert
6eb2c28e41 Rename RealmContextFactory to RealmAccess 2022-01-24 20:38:07 +09:00
Dean Herbert
b0919722ac Guard against potential exception while blocking realm 2022-01-24 18:25:48 +09:00
Dean Herbert
40aa873190 Rename register methods to better explain their purpose 2022-01-24 14:37:36 +09:00
Dean Herbert
d7a9c5fd41 Add settings buttons to allow temporarily blocking realm access 2022-01-24 14:36:57 +09:00
Dean Herbert
e9e3e024a1 Update all usages of QueryAsyncWithNotifications to use new Register pathway 2022-01-23 20:28:04 +09:00
Dean Herbert
6a076a684e Merge branch 'realm-context-use-update-when-feasible' into realm-stable-subscriptions 2022-01-22 13:14:25 +09:00
Dean Herbert
25dbe6b27c Fix unused null assignment 2022-01-22 12:58:30 +09:00
Dean Herbert
7025191fdd
Move target field outside of Run usage
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-01-22 12:02:44 +09:00
Dean Herbert
ad3a01dc06 Use a more reliable method of reviving the update thread realm after blocking 2022-01-21 22:44:56 +09:00
Dean Herbert
1f157d729d Update existing subscriptions to new style
Fix missing detach calls in `MusicController`
2022-01-21 20:05:03 +09:00
Dean Herbert
114c9e8c1f Update all usages of CreateContext to use either Run or Write 2022-01-21 17:27:08 +09:00
Dean Herbert
a5d2047f05 Fix various cases of creating realm contexts from update thread when not necessary 2022-01-21 01:44:56 +09:00
Dean Herbert
d10d657073
Merge pull request #16421 from Susko3/textbox-AllowIme-false
Add `AllowIme => false` to text boxes where applicable
2022-01-18 18:02:47 +09:00
Dean Herbert
39c9c4985b
Merge branch 'master' into textbox-AllowIme-false 2022-01-18 17:03:51 +09:00
Dean Herbert
1b62a685f3 Merge branch 'master' into realm-integration/score-and-beatmaps 2022-01-18 15:07:59 +09:00
Dean Herbert
12fd279b7d Add test to check full flow of rebinding gameplay key bindings
Addresses a regression found in realm PR that was not covered by tests.
2022-01-17 16:00:17 +09:00
Susko3
037e56f13e Add Android mouse settings 2022-01-15 14:53:41 +01:00
Susko3
f3eaa95041 Move input handler settings creation to OsuGameBase 2022-01-15 14:53:41 +01:00
Bartłomiej Dach
03e4ec4214
Merge branch 'master' into realm-integration/score-and-beatmaps 2022-01-15 14:45:42 +01:00
Susko3
19467e58c1 Remove unused params from BDL methods 2022-01-15 01:06:39 +01:00
Dean Herbert
72656ae01e Fix beatmap restore/undelete flows 2022-01-12 17:49:11 +09:00
Dean Herbert
46206f70d6 Fix beatmap mass deletion flow 2022-01-12 17:49:11 +09:00
Dean Herbert
1d536fd0bc Start introducing ILive 2022-01-12 17:00:16 +09:00
Dean Herbert
4f6a05ce3d Reimplement all query methods 2022-01-12 16:57:27 +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
Dean Herbert
11e07c1137 Add button to compact realm on demand
In general we're doing things correctly so the realm file shouldn't
expand (unless mass deletions are made from it), but this is a nice way
to manually confirm the behaviour.

Sometimes if using realm studio with osu! running, for instance, the
realm file size can blow out of proportion. This will recover from such
cases.

Note that calling `RealmFactory.Compact` itself is not enough, as it
will fail unless all instances of the realm have been closed.
2022-01-12 15:22:36 +09:00
Susko3
a0842838e7 Add AllowIme => false where applicable
Also adds `AllowWordNavigation => false` to password text box.
2022-01-12 00:15:17 +01:00
r00ster
a8c3fdd383
Update outdated OpenTabletDriver FAQ links 2022-01-11 16:11:07 +01:00
Dean Herbert
3cd996eb4a Merge branch 'master' into async-deadlock-safety 2022-01-07 17:28:59 +09:00
Dean Herbert
690b425380 Move enum local to usage 2022-01-06 22:56:56 +09:00
Dean Herbert
00177a3ae1 Update usages to new naming 2022-01-06 22:54:43 +09:00
Dean Herbert
3ea7588a91 Update continuation usages to use GetCompletedResult 2022-01-06 22:53:07 +09:00
Dean Herbert
77980196c5 Split out expanding container logic from settings sidebar 2022-01-06 21:02:29 +09:00
Dean Herbert
73b40e6833 Replace usage of .Result with .WaitSafelyForResult 2022-01-04 11:51:41 +09:00
Dean Herbert
6356180b6a Remove unnecessary code and fix double nesting causing filtering to not work 2022-01-03 12:53:58 +09:00
Dean Herbert
bb54f438aa Merge branch 'master' into positional-sounds-strength-adjustment 2022-01-03 12:40:56 +09:00
Joseph Madamba
7de43e3aba Fix most open compound words in identifiers being closed 2021-12-27 20:26:28 -08:00
Bartłomiej Dach
5cbaa028eb
Use extracted ruleset config cache implementation in DI 2021-12-23 19:02:10 +01:00
mk-56
fd5af1fbe7 Code refactor and name changes
cleaned code up with Jetbrains i hope it suffices
2021-12-17 13:16:06 +01:00
Bartłomiej Dach
54790bb758
Merge branch 'master' into fix-realm-post-storage-migration-failure 2021-12-17 00:19:46 +01:00
Susko3
b326ccc196 Move logic to framework and update all usages 2021-12-15 07:13:24 +01:00
Dean Herbert
441b7baa93 Provide a realm factory to usages of ToLive/RealmLive 2021-12-14 14:26:34 +09:00
Susko3
0b0ff36154 Allow only number characters parseable by int.TryParse
char.IsNumber() is too broad, allowing full width and other numbers.
2021-12-07 20:06:22 +01:00
Dean Herbert
452fa93444 Merge branch 'master' into realm-integration/skins-rebase 2021-12-06 15:21:02 +09:00
Dean Herbert
aaa46960b3 Reword mouse wheel disable setting to better explain its purpose 2021-12-03 17:18:07 +09:00
Dean Herbert
e855a49833 Add test coverage of default skin edit and export 2021-12-02 14:01:18 +09:00
Dean Herbert
0a14acfd83 Fix incorrect conditional on export/mutate feasability of skin 2021-12-02 13:41:58 +09:00
Dean Herbert
c82195390f Update usage of SubscribeForNotifications 2021-12-02 13:24:16 +09:00
Dean Herbert
8ce7467e97 Fix ordering of skins in dropdown being reverse of expected 2021-12-01 12:50:47 +09:00
Dean Herbert
6877867467 Make default fallback logic more robust 2021-11-29 18:28:25 +09:00
Dean Herbert
0d18c83d75 Simplify deletion by adding always present conditionals to Delete method 2021-11-29 18:28:25 +09:00
Dean Herbert
f6a3709060 Store default skins to database 2021-11-29 18:28:25 +09:00
Dean Herbert
c629a7a36f Fix random selection and avoid using legacy events for handling skin import/deletion 2021-11-29 18:28:25 +09:00
Dean Herbert
744a5b33f5 Rewrite SkinSection to use realm subscriptions and databased defaults 2021-11-29 18:28:25 +09:00
Dean Herbert
3db5646fa8 Create Guid constants for system skins (and store skin choice to configuration as guid) 2021-11-29 18:28:25 +09:00
mk-56
c3fb793762 Fixed the problems that were brought up and deleted the old bind logic 2021-11-28 14:06:53 +01:00
mk-56
ff9c68dd6a cleanup 2021-11-28 03:28:35 +01:00
MK56
753c1c7fea
Merge branch 'ppy:master' into positional-sounds-strength-adjustment 2021-11-28 02:59:36 +01:00
mk-56
eaa464e548 Initial implementation of adjustable positional hitobject audio strength 2021-11-28 02:58:08 +01:00
Dean Herbert
89b4e5cffb Rename mass deletion confirmation dialog 2021-11-26 18:18:45 +09:00
Dan Balasescu
d3a4890c31
Merge branch 'master' into realm-integration/stable-export-flow 2021-11-25 19:06:18 +09:00
Dean Herbert
e2ebcf7a26 Remove unnecessary manager parameter
Confused why I added this in the first place..
2021-11-25 18:36:03 +09:00
Dean Herbert
79459c1aeb Fix typo in class and variable names 2021-11-25 17:12:15 +09:00
Dean Herbert
cc1b91e4bd Split out legacy model export logic into LegacyModelExporter classes 2021-11-25 16:41:12 +09:00
Dean Herbert
9dcb20a821 Rename Stable to Legacy and add xmldoc 2021-11-25 15:39:05 +09:00
Dan Balasescu
84268c3d85 Merge branch 'master' into realm-ruleset-keybinding-short-name 2021-11-24 13:48:48 +09:00
Dan Balasescu
6183d1cd46
Merge pull request #15769 from peppy/model-equality-consistency
Update cases where equality can be used instead of primary key equality
2021-11-24 13:45:57 +09:00
Dean Herbert
729f681938 Update cases where equality can be used instead of primary key equality 2021-11-24 12:49:57 +09:00
Dean Herbert
0eea026afb Remove null checks on CreateInstance() calls 2021-11-24 12:23:09 +09:00
Bartłomiej Dach
0d409fa33e
Merge branch 'master' into realm-ruleset-keybinding-short-name 2021-11-23 20:18:58 +01:00
Dan Balasescu
fd4d5e98a7
Merge pull request #15745 from bdach/settings-number-box-stack-overflow
Fix crashes on trying to play back replays of seeded mods with seed value over 1 billion
2021-11-23 16:36:05 +09:00
Dean Herbert
0989d6a92e Merge branch 'realm-ruleset-setting-short-name' into realm-ruleset-keybinding-short-name 2021-11-23 14:55:40 +09:00
Dean Herbert
feb983d5bd Rename Debug namespace to avoid collisions 2021-11-23 13:09:41 +09:00
Bartłomiej Dach
4a9f080f3c
Accept full range of int in SettingsNumberBox
This fixes stack overflow exceptions that would arise when a
`Current.Value` of 1 billion or more was set on a `SettingsNumberBox`.
The stack overflow was caused by the "maximum 9 digits" spec. If a value
technically within `int` bounds, but larger than 1 billion (in the range
[1,000,000,000; 2,147,483,647], to be more precise), a feedback loop
between the setting control's `Current` and its inner text box's
`Current` would occur, wherein the last digit would be trimmed and then
re-appended again forevermore.

To resolve, remove the offending spec and rely on `int.TryParse`
entirely to be able to discern overflow range. Additionally, UX of the
text box is slightly changed to notify when the `int` range is exceeded
with a red flash.

This behaviour would not have been possible to implement without recent
framework-side fixes to text box (removal of text set scheduling).
2021-11-22 20:49:14 +01:00
Dean Herbert
d94b27a8a2 Switch realm ruleset key bindings to use ruleset's ShortName as key 2021-11-22 18:52:30 +09:00
Bartłomiej Dach
cb2d1f3f04
Use horizontally symmetrical padding rather than margin 2021-11-12 20:28:42 +01:00
Lucas A
b7e7b0f850 Trim whitespace. 2021-11-08 21:42:51 +01:00
Lucas A
e6f39c4cad Fix settings header text overflowing with some locales. 2021-11-08 21:38:01 +01:00
Susko3
8a23b648fe Move HoverClickSounds to the clickable button 2021-11-08 14:32:00 +01:00
Dean Herbert
49c26a465c Debounce and schedule updates to key combinations 2021-11-08 18:29:11 +09:00
Dean Herbert
b4225804ed Add missing null check 2021-11-08 18:26:12 +09:00
Dean Herbert
f5842e7587 Shorten variable names 2021-11-08 18:24:37 +09:00
Dean Herbert
82f24b0502 Revert "Change font to default"
This reverts commit cc286f165d.
2021-11-08 18:16:06 +09:00
Dean Herbert
3183b20e2f Merge branch 'master' into use-ReadableKeyCombinationProvider 2021-11-08 18:15:49 +09:00
Susko3
cc286f165d Change font to default
Non-english letters look tiny with size 10
and don't fit into the look.
2021-11-08 06:56:57 +01:00
Susko3
c3069ad002 Change to use ReadableKeyCombinationProvider
Changes all usages of `KeyCombination.ReadableString()` to
`ReadableKeyCombinationProvider.GetReadableString()`.

Subscribing to `KeymapChanged` is only required in `KeyButton`.
All other places query `GetReadableString()` every time.
2021-11-08 06:55:26 +01:00
Dean Herbert
78aef9ce86
Merge branch 'master' into remove-stupid-weak-reference-bindable-events 2021-11-08 13:35:49 +09:00
Dean Herbert
0ecf5f201c Rename User to APIUser and move to correct namespace 2021-11-07 11:26:01 +09:00
Dean Herbert
54f72d68ca Revert weird event flow in model manager/importers 2021-11-05 19:12:49 +09:00
Bartłomiej Dach
ed00cd9fc5
Remove simple localisable .ToString() calls 2021-11-02 21:42:02 +01:00
Dean Herbert
e9473db77c
Reorder to have video settings next to renderer
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2021-10-30 20:37:55 +09:00
Opelkuh
4d988340eb Add hardware acceleration toggle 2021-10-30 01:02:53 +02:00
Dean Herbert
6944151486 Apply batch fixing of built-in types using var 2021-10-27 13:04:41 +09:00
Susko3
51c5d0aec7 Update to be in line with framework changes 2021-10-24 13:21:41 +02:00
Bartłomiej Dach
6d9d85685f
Fix settings item having zero height 2021-10-18 23:30:38 +02:00
Bartłomiej Dach
88a1b31fae
Remove grid usage in SettingsItem 2021-10-18 22:07:32 +02:00
Bartłomiej Dach
6c3637a62a
Remove grid usage in KeyBindingRow 2021-10-18 22:07:30 +02:00
Bartłomiej Dach
2a41e8bd1f
Remove unneeded extra padding from settings number box 2021-10-17 21:50:04 +02:00
Bartłomiej Dach
552fc1dc8a
Adjust key binding rows to accommodate new default value indicator 2021-10-17 21:50:04 +02:00
Bartłomiej Dach
f422ebb281
Adjust SettingsItem to accommodate new default value indicator 2021-10-17 21:50:03 +02:00
Bartłomiej Dach
ed2f9dd443
Adjust settings slider spacings 2021-10-15 00:31:06 +02:00
Bartłomiej Dach
d205483a36
Revert ThemedDropdown-related changes 2021-10-13 21:57:50 +02:00
Bartłomiej Dach
a2f3a7cba8
Add "themed" dropdown variant and use in settings sidebar 2021-10-12 21:58:43 +02:00
Bartłomiej Dach
1fba932e84
Adjust settings dropdown spacings 2021-10-12 21:41:33 +02:00
Dean Herbert
24b87cf655 Change some icons to be more descriptive (still placeholder) 2021-10-12 15:09:59 +09:00
Dean Herbert
59202d27c7 Add some missing labels 2021-10-12 15:09:59 +09:00
Dean Herbert
5ca1d1d12c Reorder graphics settings and move gameplay related pieces out 2021-10-12 15:09:59 +09:00
Dean Herbert
c4347de57e Move ruleset settings to own section 2021-10-12 14:58:43 +09:00
Dean Herbert
8285f065c2 Reorganise gameplay settings into more sections 2021-10-12 14:58:43 +09:00
Dean Herbert
1d3d67c5f1 Move gameplay cursor settings to gameplay section 2021-10-12 13:56:10 +09:00
Bartłomiej Dach
ff382259ca
Use rounded buttons in tablet rotation preset settings 2021-10-11 23:17:09 +02:00
Bartłomiej Dach
b30dd2d4ed
Use rounded button in settings sidebar 2021-10-10 21:45:41 +02:00
Dean Herbert
49b341daff Remove HoverTarget shared state update path
Felt quite convoluted to follow. Have just duplicated the single shared
line instead.
2021-10-10 11:55:47 +09:00
Dean Herbert
ccc6d8ff40 Improve the animation of the active indicator 2021-10-10 11:34:01 +09:00
Bartłomiej Dach
fe26d8e8df
Share sidebar colouring logic by splitting out SidebarIconButton 2021-10-10 00:34:12 +02:00
Bartłomiej Dach
b8616bf910
Adjust appearance of keybinding subpanel 2021-10-10 00:34:12 +02:00
Bartłomiej Dach
855a74b8a0
Adjust vertical spacings in individual subsections 2021-10-10 00:34:11 +02:00
Bartłomiej Dach
e23a54f1e6
Adjust setting section appearance & spacings 2021-10-10 00:31:01 +02:00
Bartłomiej Dach
4c293b637f
Restyle settings panel header 2021-10-09 23:40:15 +02:00