1
0
mirror of https://github.com/ppy/osu.git synced 2024-10-02 05:47:24 +08:00
Commit Graph

5704 Commits

Author SHA1 Message Date
Bartłomiej Dach
52789118a3 Schedule play button state update
Revealed by the framework-side transform thread safety checks. `Stopped`
is even annotated as not being thread-safe (but was annotated as such
long after the class's nascence).
2021-01-08 20:08:19 +01:00
Bartłomiej Dach
0cf5be3ef4 Fix selection change event being invoked with wrong mod 2021-01-08 17:02:57 +01:00
Dean Herbert
c208800150 Fix auto selection scenario regressing due to scheduling too much 2021-01-08 14:17:14 +09:00
Dean Herbert
4973e23003 Merge branch 'master' into fix-transform-mutation-mod-selection 2021-01-08 11:16:15 +09:00
Bartłomiej Dach
a761ec952a
Merge branch 'master' into remove-osu-direct 2021-01-06 17:32:12 +01:00
Dean Herbert
866fb28d6c
Merge pull request #11411 from LavaDesu/feature/discord-presence-toggle
Add ability to toggle discord rich presence
2021-01-07 00:52:38 +09:00
Dean Herbert
283c69a68f Update enum name in line with changes 2021-01-06 23:12:56 +09:00
Bartłomiej Dach
6572bb18de
Merge branch 'master' into fix-transform-mutation-display-settings 2021-01-06 10:09:14 +01:00
Dean Herbert
15dd7a87a6 Move gameplay preview event binding to LoadComplete 2021-01-06 15:19:12 +09:00
Bartłomiej Dach
52687fc37c Merge branch 'master' into fix-transform-mutation-loading-layer 2021-01-05 23:10:51 +01:00
Bartłomiej Dach
2b253f6d01 Remove now-unused fields & locals 2021-01-05 22:56:53 +01:00
Dean Herbert
d0d2e41b28 Fix display settings binding to configuration bindables in async load 2021-01-05 18:19:28 +09:00
Dean Herbert
54982dcdd7 Refactor LoadingLayer to avoid applying effects to external drawables
In theory this seemed like a good idea (and an optimisation in some
cases, due to lower fill rate), but in practice this leads to weird edge
cases.

This aims to do away with the operations on external drawables by
applying a dim to the area behind the `LoadingLayer` when required.
I went over each usage and ensured they look as good or better than
previously.

The specific bad usage here was the restoration of the colour on dispose
(if the `LoadingLayer` was disposed in a still-visible state).

I'm aware that the `BeatmapListingOverlay` will now dim completely during
load. I think this is fine for the time being.
2021-01-05 17:31:45 +09:00
Dean Herbert
5d8c153c1e Move schedule logic to buttons rather than section
It turns out there's some quite convoluted scheduling / order of
execution requirements of ModSelectOverlay and ModSection. Applying
scheduling causes a runaway condition ending in zero frames after many
mod button changes.

I wanted to avoid rewriting the whole component, so have just moved the
schedule to guard against the part where drawables are actually changed.
2021-01-05 16:41:05 +09:00
Dean Herbert
4d6c13f169 Privatise ModSelectOverlay methods that may be unsafe to be called externally 2021-01-05 16:18:13 +09:00
Dean Herbert
57a8cd7461 Schedule deselection operations for safety 2021-01-05 16:17:58 +09:00
Dean Herbert
962c95dc01 Fix ModSelection making unsafe advances of ModSection 2021-01-05 15:19:37 +09:00
KyeKiller
77e660e426 Should pass all checks again now. 2021-01-04 22:11:52 +00:00
KyeKiller
1234d0fa04 Applied all tooltips to the right 2021-01-04 22:01:12 +00:00
KyeKiller
0e42d415c1 Hit another oopie 2021-01-04 21:05:28 +00:00
KyeKiller
3468df840b Moved tooltip to the left to stop the overflow 2021-01-04 21:04:30 +00:00
KyeKiller
73f5e5aaf9 Moved "ToolbarSocialButton" back 2021-01-04 21:03:51 +00:00
KyeKiller
2e2b3ab5d4 Should remove codeFactor error 2021-01-04 17:26:42 +00:00
KyeKiller
2d1b52be0d Moved "ToolbarSocialButton"
This will remove it from coming off the screen.
2021-01-04 17:21:31 +00:00
LavaDesu
2e5c67be3f
Add ability to toggle discord rich presence
There are 3 modes: enabled, limited, and disabled.

The limited mode hides identifiable information such as username, rank, and
(if participating in one) multiplayer lobby name.
2021-01-03 10:37:28 +07:00
Salman Ahmed
988f9b98a1 Split button mods updating to private method 2021-01-01 16:16:00 +03:00
Salman Ahmed
a031c8e0b6
Apply documentation suggestions
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-01-01 15:34:09 +03:00
Salman Ahmed
2ce9599957 Copy selected mods properties into overlay's buttons 2021-01-01 03:47:13 +03:00
Bartłomiej Dach
d2301068b6 Fix changelog header staying dimmed after build show 2020-12-28 16:35:33 +01:00
Dean Herbert
69fab7de77
Merge pull request #11307 from bdach/fix-account-creation-overlay-after-logout
Fix account creation overlay not showing up the first time after a log-out
2020-12-28 11:52:48 +09:00
Dean Herbert
1b7c72f03b
Merge branch 'master' into changelog-refactor 2020-12-28 11:00:14 +09:00
Bartłomiej Dach
0b42b4b955 Rename {Drawable -> Clickable}Avatar 2020-12-26 14:35:11 +01:00
Bartłomiej Dach
0aedc720f2 Extract changelog entry component 2020-12-25 21:06:03 +01:00
Bartłomiej Dach
3ac618778f Handle all changelog entry types correctly 2020-12-25 21:06:03 +01:00
Bartłomiej Dach
5f43299d37 Fix tests failing due to base logic firing
It turns out that the changelog code was semi-intentionally relying on
the request to get release streams to be slow to initially show the
listing of all streams.

Locally suppress the base tab control logic to fix this.
2020-12-25 21:06:03 +01:00
Bartłomiej Dach
83fb7c7a1a Re-namespace all files in OnlinePlay directory 2020-12-25 16:50:09 +01:00
Bartłomiej Dach
0d8fb83d0a Ensure account creation overlay is shown after logout
Scheduling the entire API state change callback caused the scheduled
hide to fire the first time the user attempted to display the account
creation overlay after a logout, because the drawable wasn't present
before that (so its scheduler wasn't running).

It is not theoretically safe to run `Hide()` unscheduled at its present
call site (as the value change callbacks are fired on the background
API thread). This could also be fixed by setting `AlwaysPresent = true`,
but that's a pretty ugly and unperformant change to make in general.
2020-12-25 15:40:39 +01:00
Bartłomiej Dach
4270c29f60 Trim stray newline 2020-12-24 13:42:08 +01:00
Dean Herbert
66a23c22e5 Fix various tests failing due to dependence on specific online data 2020-12-24 21:28:24 +09:00
Dean Herbert
323da82477 Add website root URL and update most links to use it
For what it's worth, I intentionally didn't include news / changelog /
supporter, because these should never change.
2020-12-24 18:11:42 +09:00
Endrik Tombak
78c14fd696 Refactor code into UserTrackingScrollContainer 2020-12-22 17:36:44 +02:00
Dean Herbert
4f02928601 Change sorting to better handle portrait screens 2020-12-22 17:36:56 +09:00
Dean Herbert
3d5783a0ea Improve variable names 2020-12-22 17:34:51 +09:00
Dean Herbert
a1d67f0cf6
Merge branch 'master' into fix-resolution-dropdown 2020-12-22 17:26:53 +09:00
Salman Ahmed
dab5924a63 Fix resolution dropdown not respecting current display changes 2020-12-22 08:02:42 +03:00
Dean Herbert
7c5964fad8 Revert window modes to previous code to correctly apply framework restrictions 2020-12-22 13:04:39 +09:00
Dean Herbert
ce2b96afc5 Merge branch 'master' into fix-selected-highlight-on-some-dropdowns 2020-12-22 13:00:06 +09:00
Dean Herbert
d096f2f8f6 Fix potential cross-thread operation during chat channel load
The callbacks are scheduled to the API thread, but hooked up in BDL
load. This causes a potential case of cross-thread collection
enumeration.

I've tested and it seems like the schedule logic should be fine for
short term. Longer term, we probably want to re-think how this works so
background operations aren't performed on the `DrawableChannel` in the
first place (chat shouldn't have an overhead like this when not
visible).

Closes #11231.
2020-12-21 16:39:50 +09:00
Joehu
5b8e35c98c Make settings dropdown abstract 2020-12-19 19:04:14 -08:00
Joehu
b87f89986a Fix selected item not being highlighted on some setting dropdowns 2020-12-19 19:04:13 -08:00
Dean Herbert
206bf3713e Make IAPIProvider read-only bindables into IBindables 2020-12-18 15:16:36 +09:00
Salman Ahmed
9c22753f3f Remove unnecessary inheritance to OverlayView 2020-12-18 02:51:19 +03:00
Salman Ahmed
5e4f667cff Revert "Allow OverlayView fetching with no API requests required"
This reverts commit 449b9a21ae.
2020-12-18 01:27:58 +03:00
Salman Ahmed
904a4daa98 Add todo comment reminding of updating friends list along 2020-12-17 13:33:49 +03:00
Salman Ahmed
94175d0532 Use global friends list instead of always fetching 2020-12-17 13:33:17 +03:00
Salman Ahmed
449b9a21ae Allow OverlayView fetching with no API requests required 2020-12-17 13:31:57 +03:00
Dean Herbert
3faf7db068
Merge pull request #10882 from PercyDan54/import-screen
Add File Import screen
2020-12-15 15:03:15 +09:00
Gagah Pangeran
f0e6b6eaf8 sort by ruleset id first then star diff 2020-12-15 11:09:09 +07:00
Dean Herbert
26fa010fed Merge branch 'master' into import-screen 2020-12-15 12:37:27 +09:00
smoogipoo
10c1823534 Remove now unused files 2020-12-07 22:07:11 +09:00
Dean Herbert
a5e2509d52
Merge pull request #11105 from Joehuu/mod-settings-fade-in/out
Add fade in/out animations to mod settings container
2020-12-07 17:12:29 +09:00
Dean Herbert
454e94574c Add corner rounding and positional transform 2020-12-07 16:43:07 +09:00
Dean Herbert
7253866e17 Move customisation panel to be in same area as main content 2020-12-07 16:42:55 +09:00
ekrctb
f4eb17d398
Update osu.Game/Overlays/Settings/Sections/Input/MouseSettings.cs
Set mouse confine mode at initialization

Co-authored-by: Dean Herbert <pe@ppy.sh>
2020-12-07 16:09:14 +09:00
ekrctb
2469608c10 Fix possible null reference due to bindable change before variable is initialized 2020-12-07 15:19:18 +09:00
Joehu
0f9b38da08 Add fade in/out animations to mod settings container 2020-12-06 11:35:14 -08:00
Bartłomiej Dach
71edada623 Hide confine setting entirely in fullscreen 2020-12-05 22:15:41 +01:00
PercyDan
60d8102a77
Merge branch 'master' into import-screen 2020-12-04 21:20:14 +08:00
Bartłomiej Dach
7fd385efe6 Remove unused using directive 2020-12-02 20:01:58 +01:00
Leon Gebler
a2a10d4e13 Don't use nameof(MouseHandler) 2020-12-02 19:45:59 +01:00
Leon Gebler
bbde1f6b9c Fix MouseHandler not being ignored when raw input is enabled 2020-12-02 18:56:59 +01:00
Dean Herbert
285e62be9a Bring code in line with SDL2 defaults 2020-12-01 17:47:07 +09:00
Dean Herbert
965cc1f511 Remove unnecessary usings #2 2020-11-30 17:57:25 +09:00
Dean Herbert
46cab04929 Merge branch 'settings-remove-transparency' into settings-reduce-visual-clutter 2020-11-30 17:57:10 +09:00
Dan Balasescu
a3ef858f3a
Remove unnecessary multiplication 2020-11-30 17:56:04 +09:00
Dean Herbert
fe48b2279c Adjust various paddings and spacings in settings to make them easier to visually parse 2020-11-30 17:50:35 +09:00
Dean Herbert
a3dd22f5c2 Merge branch 'master' into settings-remove-transparency 2020-11-30 17:50:26 +09:00
Dean Herbert
bf2c6dc241 Remove unused usings rider couldn't see 2020-11-30 17:49:55 +09:00
Dean Herbert
a4e061cb11 Remove semi-transparent backgrounds from settings and notifications overlays
I tried also updating the colours to the "new" versions from designs but
they don't match due to colour profile differences (so I'm not yet sure
if they are correct or not) and also don't look great without all the UI
elements also being updated.
2020-11-30 17:19:55 +09:00
Dean Herbert
4e1e45f3e7 Move hold-to-confirm back to UI section 2020-11-30 16:15:35 +09:00
Dean Herbert
55c8aa5d5f Move menu cursor size to UI section 2020-11-30 16:14:15 +09:00
Dean Herbert
e14db45374 Reorder settings to (probably) feel more correct 2020-11-30 16:09:38 +09:00
Bartłomiej Dach
e0a84ff1dc Move hold-to-confirm setting back to gameplay section 2020-11-29 22:07:34 +01:00
Bartłomiej Dach
a5c4a8d2e9 Create "User Interface" settings section 2020-11-29 22:07:33 +01:00
PercyDan
579e61eab9
Allow null 2020-11-28 16:31:24 +08:00
Dean Herbert
d5a4d46c6d
Merge pull request #10842 from EVAST9919/profile-overlay-graph-new
Implement history charts for Profile Overlay
2020-11-24 18:05:17 +09:00
Dan Balasescu
57ff150051
Merge pull request #10829 from Joehuu/music-osd-bindings
Add music bindings to on screen display
2020-11-24 14:36:34 +09:00
Joehu
1fd4b04767 Just set music shortcut text locally 2020-11-23 20:43:46 -08:00
Dean Herbert
e36b1051c1 Add spacing between inline comments 2020-11-24 13:15:59 +09:00
Dean Herbert
82640418ba Invert hide logic for readability 2020-11-24 13:12:04 +09:00
Dean Herbert
44ca67c534 Simplify fill logic and add xmldoc 2020-11-24 13:10:11 +09:00
Joehu
52f5473cc0 Set global action as a parameter in toast 2020-11-23 15:13:58 -08:00
Bartłomiej Dach
5701b32bae Handle constant graphs better 2020-11-23 22:12:32 +01:00
Bartłomiej Dach
8347ecf494 Simplify row tick creation code 2020-11-23 21:52:47 +01:00
Bartłomiej Dach
7b0d3dfe0c Refactor tick calculation code for readability 2020-11-23 21:38:04 +01:00
Bartłomiej Dach
bb5aa9a9c9 Guard against empty values early 2020-11-23 21:24:37 +01:00
Bartłomiej Dach
e9ffeb8b5d Make missing date check more robust 2020-11-23 21:09:42 +01:00
Andrei Zavatski
1b33d30039 Simplify horizontal ticks creation 2020-11-23 08:52:29 +03:00
Andrei Zavatski
b745fb681a Fix incorrect static using placement 2020-11-22 04:40:55 +03:00
Andrei Zavatski
4887132947 Adjustments for edge cases support 2020-11-22 04:28:17 +03:00
Andrei Zavatski
f07f8089d6 Adjust monthsPerTick value 2020-11-22 03:58:56 +03:00
Andrei Zavatski
e6c116f0ab Rework horizontal ticks creation 2020-11-22 03:49:00 +03:00
Andrei Zavatski
6e581902cd Simplify column ticks creation 2020-11-22 03:11:38 +03:00
Andrei Zavatski
453f0ba675 Make tick lines thicker 2020-11-22 02:34:29 +03:00
Andrei Zavatski
3cb1d04667 Move dates fill into it's own method 2020-11-22 02:25:12 +03:00
Andrei Zavatski
d4b56aac84 Add missing whitespace 2020-11-22 02:17:54 +03:00
Andrei Zavatski
9d7ddf8343 Merge master with conflicts resolved 2020-11-22 02:13:35 +03:00
Andrei Zavatski
fe4c622041 Make OnUserChanged private 2020-11-21 23:13:46 +03:00
Andrei Zavatski
dbfc839df3 Move missing text to PaginatedProfileSubsection 2020-11-21 23:03:54 +03:00
Andrei Zavatski
11c3ccfcaa Move rulesets property to PaginatedProfileSubsection 2020-11-21 22:49:56 +03:00
Andrei Zavatski
718ba9253b Implement ProfileSubsection component 2020-11-21 03:18:24 +03:00
Andrei Zavatski
c4cb1440ab Rename PaginatedContainerHeader to ProfileSubsectionHeader 2020-11-21 02:59:01 +03:00
PercyDan54
9a3dd12f30
Move to debug settings 2020-11-18 18:15:56 +08:00
Andrei Zavatski
a52c98b55c Fix broken test scene 2020-11-14 21:20:37 +03:00
Andrei Zavatski
fe9d17fc56 Fix CodeFactor issues 2020-11-14 20:31:03 +03:00
Andrei Zavatski
a94546f905 CI fixes 2020-11-14 20:17:32 +03:00
Andrei Zavatski
5354bf1fa5 Ticks distribution improvements 2020-11-14 20:07:52 +03:00
Andrei Zavatski
02168c6c2f Implement dates with zero count fill 2020-11-14 19:17:01 +03:00
Andrei Zavatski
af174aa653 Implement chart subsections 2020-11-14 18:48:47 +03:00
Andrei Zavatski
ae4a2e74fa Implement ProfileSubsection 2020-11-14 18:21:10 +03:00
Bartłomiej Dach
610ed99ae3 Add null checks to unguarded resolved-as-null fields 2020-11-14 14:52:58 +01:00
Andrei Zavatski
01f28a35c3 Implement vertical ticks creation 2020-11-14 07:28:01 +03:00
Andrei Zavatski
d98c59f2a4 Implement horizontal ticks creation 2020-11-14 06:38:02 +03:00
Andrei Zavatski
9d8e7e8954 ProfileLineChart layout implementation 2020-11-14 04:46:26 +03:00
Joehu
2071cba944 Add music bindings to on screen display 2020-11-13 13:16:36 -08:00
Dean Herbert
a2c81a3a52 Add back setting to toggle "always play first combo break" 2020-11-13 13:42:00 +09:00
Andrei Zavatski
f753f138c6 Add counter to most played beatmaps section in user overlay 2020-11-12 03:11:29 +03:00
smoogipoo
7df9484458 Merge branch 'master' into add-random-skin-hotkey 2020-11-11 15:48:12 +09:00
Dan Balasescu
09324c4598
Merge pull request #3652 from WebFreak001/shuffle-skin
Add "random skin" option to skin setting dropdown
2020-11-11 15:47:00 +09:00
Dan Balasescu
8ad84d6640
Merge branch 'master' into osd-custom-bindings-display 2020-11-11 15:12:31 +09:00
Dean Herbert
f78f2fb59e Merge branch 'osd-custom-bindings-display' into add-random-skin-hotkey 2020-11-11 13:53:49 +09:00
Dean Herbert
324626e097 Move default config tracking calls out of OnScreenDisplay itself 2020-11-11 13:53:09 +09:00
Dean Herbert
8d38d9cc93 Add hotkey to select random skin 2020-11-11 13:05:03 +09:00
Dean Herbert
6674628bc7 Only include user skins in random choices 2020-11-11 12:03:38 +09:00
Dean Herbert
6b548ef5e4 Split out SkinInfo ID constants and fix random logic 2020-11-11 11:54:40 +09:00
Dean Herbert
6593aac3f2
Merge pull request #7762 from EVAST9919/history-graph 2020-11-11 11:35:34 +09:00
Dean Herbert
a5e13e4d2c Merge branch 'master' into shuffle-skin 2020-11-11 11:34:48 +09:00
Dean Herbert
53c968e137 Fix user profile best performance weighting being out of order 2020-11-11 10:19:59 +09:00
Andrei Zavatski
6c428d8b11 Merge master with conflicts resolved 2020-11-11 01:37:01 +03:00
Bartłomiej Dach
dd873dbd85
Merge branch 'master' into fix-profile-graph-crash 2020-11-10 12:17:12 +01:00
Dean Herbert
833c0b223e Clamp index to valid bounds 2020-11-10 18:08:12 +09:00
Dean Herbert
2e3dc6fc46 Merge branch 'master' into fix-profile-graph-crash 2020-11-10 18:06:51 +09:00
Dean Herbert
28daff1716 Stop mod select overlay hotkeys handling input when control is pressed
Closes https://github.com/ppy/osu/issues/10766 in about the best way we
can for now.
2020-11-10 17:57:59 +09:00
Dean Herbert
5221a34929 Only handle keys which create characters 2020-11-10 16:32:58 +09:00
Dean Herbert
a2ef3aa21a Force beatmap listing overlay's textbox back on screen when a key is pressed
Not the cleanest solution, but works for now. Will eventually be
replaced after the header is updated to reflect the latest designs
(which keeps it on screen in all cases).

Closes https://github.com/ppy/osu/issues/10703.
2020-11-10 16:26:30 +09:00
Andrei Zavatski
e464e719ef Merge remote-tracking branch 'refs/remotes/ppy/master' into history-graph 2020-11-10 10:22:57 +03:00
Dean Herbert
4af390a168 Move hierarchy init to load and remove unnecessary field storage 2020-11-10 12:33:07 +09:00
Joehu
670d6d8719 Make button field readonly 2020-11-09 18:59:54 -08:00
Joehu
c671d97e6f Disable watch button on the local user 2020-11-09 18:39:35 -08:00
Dean Herbert
37feedae7a Fix potential crash due to stale index 2020-11-10 07:27:38 +09:00