1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-16 09:17:48 +08:00
Commit Graph

335 Commits

Author SHA1 Message Date
Dean Herbert
7318ff3f98 Refactor KeyBindingStore to clean up any excess bindings for individual actions
While this isn't strictly required (outside of rulesets, potentially),
I think it's best that we keep these counts in a sane state.

Right now, it will remove any excess. Arguably, in the case an entry is
found with too many, we should wipe all entries and re-populate the
defaults. Interested in opinions on that before merging. See
https://github.com/ppy/osu/discussions/15925 for an example where wiping
may be the more appropriate behaviour.
2021-12-13 15:26:51 +09:00
Dean Herbert
4306420922 Add extension methods to add extra safety to realm subscriptions
Also adjusts the naming and documentation to make it (hopefully) easier
to understand what this method/process implies.
2021-12-01 15:09:53 +09:00
Dean Herbert
d94b27a8a2 Switch realm ruleset key bindings to use ruleset's ShortName as key 2021-11-22 18:52:30 +09:00
Dean Herbert
e891c0ce53 Add keyboard shortcut to start test mode in editor 2021-11-12 14:13:11 +09:00
Dean Herbert
f5842e7587 Shorten variable names 2021-11-08 18:24:37 +09: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
ce29d6fd81 Change scroll speed adjust defaults to F3/F4
Not the most obvious keys, but does match stable expectations so let's
go with it for now.

Rationale for not using +/- is that local audio offset was bound to
those, and people will expect it to be when we get to implementing
eventually.

Also, adjust the scroll speed is a pretty rare thing to do since it's
been constant across beatmaps for years now.
2021-10-29 11:13:07 +09:00
Dean Herbert
6944151486 Apply batch fixing of built-in types using var 2021-10-27 13:04:41 +09:00
Dean Herbert
9fa901f6aa Refine RealmContext implementation API 2021-09-30 23:56:38 +09:00
Dean Herbert
cdef6d0cf5 Add key binding support for grid mode cycle 2021-09-20 16:43:15 +09:00
Dean Herbert
fde7c88999
Merge branch 'master' into update-framework 2021-09-16 22:49:02 +09:00
kj415j45
a18fed0da4
Remove unused using 2021-09-16 17:38:33 +08:00
smoogipoo
f9d5abff8a Update with keybinding changes 2021-09-16 18:26:12 +09:00
kj415j45
e323f10cd5
Remove unused [Description] 2021-09-16 17:10:29 +08:00
kj415j45
51997fa533
Add localisation for GlobalActions 2021-09-16 16:02:04 +08:00
Dean Herbert
5bb741b4e8 Remove migration of key bindings 2021-09-15 17:04:38 +09:00
Dean Herbert
5b13b566b5 Reduce startup overhead during default key binding handling 2021-09-07 15:19:23 +09:00
Dean Herbert
f4199958d9 Avoid unnecessary array/LINQ operations when replay frames have no action changes 2021-08-26 13:03:50 +09:00
Dean Herbert
6d00ea3375 Allow toggling focus via binding 2021-08-19 14:19:59 +09:00
Dean Herbert
124f149cb5 Add key binding to focus chat input 2021-08-17 16:17:31 +09:00
Dean Herbert
82eddeffef Add LocalUserPlayInfo interface to convey common information about player status 2021-08-17 16:15:47 +09:00
Dean Herbert
6a5f0e8237 Move handling of replay seek operations out of progress bar
This is in order to avoid using the now obsoleted property
`SliderBar.AllowKeyboardInputWhenNotHovered`
(see https://github.com/ppy/osu-framework/pull/4579).
2021-07-09 14:28:59 +09:00
Derrick Timmermans
d1553f0864
Implement ability to switch between volume meters 2021-07-04 14:47:07 +02:00
Dean Herbert
36b5414b1d Update comment to hopefully explain a weird conditional better 2021-06-18 17:46:01 +09:00
Dean Herbert
d5a1524eb0 Add missing rulesetID check for global action matching 2021-06-18 17:12:01 +09:00
Dean Herbert
d06e52505a Fix thread safety of KeyBindingStore.GetReadableKeyCombinationsFor 2021-06-18 17:11:39 +09:00
Dean Herbert
9044a20120 Merge branch 'master' into realm-key-binding-store 2021-06-10 13:58:08 +09:00
Dean Herbert
fe6b1936cb Move OsuUserInputManager out from nested class 2021-05-28 02:46:03 +09:00
Dean Herbert
a249bb9e69 Merge branch 'master' into realm-key-binding-store 2021-05-25 17:18:33 +09:00
Dean Herbert
df703b68ec Merge branch 'master' into realm-key-binding-store 2021-05-25 13:41:48 +09:00
Dean Herbert
a00f226ab3 Add assert on storing to database 2021-05-24 18:41:39 +09:00
Dean Herbert
deabce7140 Disallow updating the database to an invalid value 2021-05-24 18:40:56 +09:00
Dean Herbert
57640810b5 Ignore certain banned InputKeys for gameplay purposes 2021-05-24 18:40:40 +09:00
Dean Herbert
7961dba1d3 Reorder OrderBy for legibility 2021-05-24 17:22:55 +09:00
Dean Herbert
23e284b8b3 Change default skin editor shortcut to Ctrl+Shift+S
Avoids a conflict with song select's random rewind functionality. As
mentioned in #12776.
2021-05-13 13:34:04 +09:00
Joseph Madamba
4bee8c23f0 Fix idle tracker not accounting global actions 2021-05-10 21:40:29 -07:00
Dean Herbert
b936043956 Add the skin editor to the game 2021-04-29 17:20:22 +09:00
Dean Herbert
253c66034d Remove unused using statement 2021-04-26 17:45:43 +09:00
Dean Herbert
8961203f08 Move guid initialisation to database model itself 2021-04-26 17:06:03 +09:00
Dean Herbert
c0b1c2f39b
Merge branch 'master' into realm-key-binding-store 2021-04-24 02:40:15 +09:00
Dean Herbert
6dd48f204c Remove unused store resolution 2021-04-24 02:05:53 +09:00
Dean Herbert
f9603eefe5 Revert "Switch Guid implementation temporarily to avoid compile time error"
This reverts commit 4d976094d1.
2021-04-24 01:59:55 +09:00
Dean Herbert
a5364b224f Add simple key based time nudging support to editor 2021-04-22 18:47:04 +09:00
Dean Herbert
78f274d51a Merge branch 'master' into realm-key-binding-store 2021-04-22 12:13:23 +09:00
Bartłomiej Dach
250c7403e8 Fix idle tracker assuming time starts at 0
`IdleTracker` in its construction quietly assumed that the clock it
receives from its parent starts ticking from 0 at the point at which it
is passed down. This is not necessarily the case when headless
executions are involved, which means that the initial state of the
tracker could be computed as idle incorrectly.

Resolve by explicitly reading the clock time at the point of
`LoadComplete()`.
2021-04-17 13:50:00 +02:00
Dan Balasescu
ac8e462d32
Merge branch 'master' into refactor-framed-replay-input-hander 2021-04-15 21:48:58 +09:00
Dean Herbert
1ff4e2076f Merge branch 'master' into verify-tab 2021-04-13 23:05:48 +09:00
Dean Herbert
2c1f20a38f Merge branch 'master' into fix-editor-alt-scroll 2021-04-13 19:36:25 +09:00
ekrctb
38d10755cb Merge branch 'master' into refactor-framed-replay-input-hander 2021-04-13 13:47:22 +09:00
Dean Herbert
b5954a55ad Remove empty <returns> xmldoc 2021-04-12 17:46:14 +09:00
Dean Herbert
42604afcdc Add binding for verify mode (and move enum entry to end) 2021-04-12 16:15:27 +09:00
Dean Herbert
14bd5bdc77 Merge branch 'master' into verify-tab 2021-04-12 15:14:37 +09:00
Dean Herbert
995c244cee Remove alt-mousewheel bindings for volume adjustment
With the recent changes to the order of processing key bindings
(`GlobalAction`s are handled first), having the alt-wheel bindings in here causes a
regression as they are handled before `OnScroll` events.

Specifically, this means editor alt-scroll functionality no longer works
with the default bindings.

Removing the bindings fixes this, while also still allowing alt-wheel
adjustment of the volume via `VolumeControlReceptor`:

a2f50af424/osu.Game/Overlays/Volume/VolumeControlReceptor.cs (L21-L26)

In conjunction with the special case in `OsuScrollContainer`:

02d5b1352b/osu.Game/Graphics/Containers/OsuScrollContainer.cs (L103-L105)
2021-04-12 14:00:32 +09:00
ekrctb
d6d8ea5b6b Throw when getting a frame of an empty replay 2021-04-12 11:17:56 +09:00
Dean Herbert
8aff53172d Remove necessity for nested PassThroughInputManger 2021-04-08 15:18:31 +09:00
Dean Herbert
08858e6426 Reorder defaults to give non-global areas priority for global actions 2021-04-07 17:42:49 +09:00
Dean Herbert
afc745f999 Merge branch 'master' into rebind-song-select 2021-04-07 17:13:25 +09:00
Dean Herbert
f08b340e81 Add nullability hinting 2021-04-06 16:49:26 +09:00
Dean Herbert
beebdb0734 Clean up implementation 2021-04-05 22:30:51 +09:00
Dean Herbert
05961e98d5 Ensure GlobalActions are handled before anything else game-wide 2021-03-30 19:03:15 +09:00
Dean Herbert
491e583819 Merge branch 'master' into realm-migration-operation-blocking 2021-03-30 13:25:40 +09:00
Dean Herbert
36364a4492 Update framework 2021-03-29 22:17:17 +09:00
Naxess
d58ef5310b Add verify tab
Currently empty, but works.
2021-03-28 17:36:22 +02:00
Dean Herbert
4d976094d1 Switch Guid implementation temporarily to avoid compile time error 2021-03-26 20:07:53 +09:00
Dean Herbert
68f2e7f61a Use realm support for Guid 2021-01-19 18:22:36 +09:00
Bartłomiej Dach
0f8f0434f9 Remove EF store again after mis-merge
Was originally deleted in 536e7229d0.
2021-01-16 17:03:58 +01:00
Bartłomiej Dach
7296a6dd84 Merge branch 'master' into realm-key-binding-store 2021-01-16 16:48:54 +01:00
Dean Herbert
86f66727de Update KeyBinding usages in line with interface changes 2021-01-15 14:57:01 +09:00
Dean Herbert
f26c6210f3 Remove unnecessary Take() call and refactor default group logic naming 2021-01-14 16:36:24 +09:00
Dean Herbert
8a08d3f4ef Fix transactions not actually being committed 2021-01-14 16:13:10 +09:00
Dean Herbert
5fa3a22f28 Remove unused RealmBackedStore base class 2021-01-13 18:36:37 +09:00
Dean Herbert
fcb4a53f37 Rename realm persisted properties to avoid casting necessity 2021-01-13 18:36:37 +09:00
Dean Herbert
9086d75542 Update write usages 2021-01-13 18:36:37 +09:00
Dean Herbert
9d744d629f Update existing usages to use the main realm context where applicable 2021-01-13 18:36:37 +09:00
Dean Herbert
78707c3b06 Remove unused event 2021-01-13 18:36:37 +09:00
Dean Herbert
192e58e0c6 Update all read queries to use direct realm subscriptions/queries 2021-01-13 18:36:37 +09:00
Dean Herbert
765d9cfae1 Use direct access for query pattern 2021-01-12 17:01:40 +09:00
Dean Herbert
a6997a6fc6 Move ruleset key binding registration to an explicit method rather than the constructor 2021-01-12 15:21:02 +09:00
Dean Herbert
ff16d2f490 Mark classes nullable 2021-01-12 15:21:02 +09:00
Dean Herbert
8f9b19a76e Detach at point of usage, rather than point of retrieval 2021-01-12 14:45:36 +09:00
Dean Herbert
536e7229d0 Remove unused EF class and unnecessary interface 2021-01-12 14:45:36 +09:00
Dean Herbert
406e640fa9 Make key binding update method support all kinds of realm object states 2021-01-12 14:45:36 +09:00
Dean Herbert
6fd098ca7c Add full xmldoc to RealmKeyBindingStore 2021-01-11 16:31:36 +09:00
Dean Herbert
56d34432f9 Move public members up 2021-01-11 16:31:36 +09:00
Dean Herbert
a1cb6d8c54 Remove unnecesssary local conversion method 2021-01-11 16:31:36 +09:00
Dean Herbert
8765aaf9e6 Use IKeyBinding for all key binding usages (and add update flow via primary key) 2021-01-11 16:31:35 +09:00
Dean Herbert
a77519c6bd Store KeyBinding action to its own field in realm
Also improve the Query method for action types by using generic field
2021-01-11 15:52:49 +09:00
Dean Herbert
43f417b53a Add and consume IKeyBindingStore interface 2021-01-11 15:52:49 +09:00
Dean Herbert
391259c713 Add missing implementation details to realm keybinding store 2021-01-11 15:52:49 +09:00
Dean Herbert
ee6a26bd6e Initialise new key bindings with a primary key 2021-01-11 15:52:49 +09:00
Dean Herbert
845d5cdea2 Switch guid to store as string until fody issues are resolved
See
https://github.com/realm/realm-dotnet/issues/740#issuecomment-755898968
2021-01-11 15:52:49 +09:00
Dean Herbert
d5ac97ece8 Add realm store / key binding implementations 2021-01-11 15:52:49 +09:00
Dean Herbert
283c69a68f Update enum name in line with changes 2021-01-06 23:12:56 +09:00
Dean Herbert
32accc8eab Remove "osu!direct" button 2021-01-06 22:56:10 +09:00
Dean Herbert
7c0edb796e Always confine mouse to screen when running fullscreen 2020-12-04 20:49:18 +09:00
Joehu
b8c284b34f Fix one more key binding string not being sentence cased 2020-12-04 00:51:46 -08:00
Ryan Zmuda
e102f2e8fa Moved enum to bottom, change defualt bind to Shift-Tab, Fixed Notification 2020-11-30 21:38:16 -05:00
Ryan Zmuda
3994cf082d add keybind for in game overlay 2020-11-29 20:59:02 -05:00
Dan Balasescu
220657c2cc
Merge branch 'master' into replay-pausing-support 2020-11-27 00:09:40 +09:00
Dean Herbert
1e79cb498b Standardise binding description case to sentence casing 2020-11-26 20:07:16 +09:00