1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-06 12:17:46 +08:00
Commit Graph

5695 Commits

Author SHA1 Message Date
Bartłomiej Dach
3b49b7461e Schedule entire operation for safety
Also removes a redundant list copy.
2021-01-19 19:35:53 +01:00
Bartłomiej Dach
78e590d25d Refactor skin sorting method
* Rename to `sortUserSkins` to convey meaning better.
* Sort in-place instead of slicing the list.
* Change to `void` to avoid misleading users that the method returns
  a new list instance.
* Fix typo in comment.
2021-01-19 18:36:42 +01:00
Bartłomiej Dach
b00c6a1d60 Make first non-default skin index a property
The previous code was very brittle - it was not always updating
properly, and seems to have worked either by a carefully crafted set of
circumstances, or just plain coincidence.

Having this be a get-only property avoids potential error in the future
caused by not updating the index properly, at the expense of an added
linear lookup.
2021-01-19 18:31:37 +01:00
rednir
206a0b8bac Fix firstNonDefault staying as -1 2021-01-19 16:55:50 +00:00
rednir
a880b8d21d Satisfy AppVeyor 2021-01-19 16:11:16 +00:00
rednir
b265d2dab4 Remove another whitespace 2021-01-19 14:16:22 +00:00
rednir
1d4c813ff6 Merge branch 'sort-skins-alphabetically' of https://github.com/rednir/osu into sort-skins-alphabetically 2021-01-19 14:03:31 +00:00
rednir
31e61326e1 Only user skins are sorted 2021-01-19 14:00:17 +00:00
rednir
f1894a8bac fixed itemUpdated() 2021-01-19 12:17:56 +00:00
Andrei Zavatski
f0add0a7cf Make BeatmapSetOverlay use OverlayHeader 2021-01-19 01:34:37 +03:00
rednir
0b65c0cd25 Remove whitespace 2021-01-18 20:17:42 +00:00
rednir
da89426a3b Merge branch 'master' of https://github.com/ppy/osu into sort-skins-alphabetically 2021-01-18 20:09:15 +00:00
rednir
7476cb3047 Sort SkinSection in alphabetical order 2021-01-18 19:51:42 +00:00
Dean Herbert
0560eb4120 Reduce final fill alpha of main menu confirm-to-exit 2021-01-18 18:22:21 +09:00
Dean Herbert
0b165dce4b Fix multiplayer mod select showing autoplay as a choice 2021-01-18 17:50:32 +09:00
Dean Herbert
1364de1166
Merge branch 'master' into beatmap-colour-setting 2021-01-18 16:07:46 +09:00
Dean Herbert
5278cad393 Reword setting to make more sense 2021-01-17 22:42:48 +09:00
Dean Herbert
5fd644fc57 Unify variable names 2021-01-17 22:42:48 +09:00
Dean Herbert
addd463d26
Merge branch 'master' into explicit-search-control 2021-01-17 21:44:25 +09:00
Dean Herbert
edb6d3907b
Merge pull request #11472 from frenzibyte/explicit-beatmap-markers
Add explicit content markers to beatmap panels and overlay
2021-01-17 21:44:10 +09:00
Bartłomiej Dach
816cc7a59b Adjust explicit label spacing on beatmap set overlay 2021-01-17 00:35:23 +01:00
Dean Herbert
b5e784ed42 Fix possibility of crash when selecting a random skin during skin import 2021-01-15 16:34:28 +09:00
Salman Ahmed
dc8e38cf4d Remove pointless inline comment 2021-01-15 07:20:13 +03:00
Salman Ahmed
6281c1086a Space out explicit marker in beatmap overlay 2021-01-14 05:41:09 +03:00
Salman Ahmed
abf718242b Make explicit marker font semi-bold 2021-01-14 05:40:43 +03:00
Salman Ahmed
1f12b2bd09 Rename download state Downloaded to Importing 2021-01-13 18:04:53 +03:00
Salman Ahmed
43daa7c7c0 Use Colour2 of orange theme for explicit pill 2021-01-13 17:07:42 +03:00
Salman Ahmed
e275dd02e0 Create static colour properties for now 2021-01-13 17:07:11 +03:00
Salman Ahmed
9d59d784f8 Add Colour{1-4} properties to OverlayColourProvider 2021-01-13 17:06:44 +03:00
Salman Ahmed
a5f99ed8e6 Merge branch 'explicit-beatmap-markers' into explicit-search-control 2021-01-13 12:53:57 +03:00
Salman Ahmed
78631323ba Add explicit pill to beatmap overlay 2021-01-13 12:13:14 +03:00
Salman Ahmed
f6637eec36 Add explicit pill to beatmap panels 2021-01-13 12:13:14 +03:00
Salman Ahmed
ee6baeb57e Add "explicit" marker pill 2021-01-13 12:13:14 +03:00
Mysfit
5f10bcce02 Added beatmap colour settings checkbox and associated tests. 2021-01-13 00:09:22 -05:00
Salman Ahmed
24c1839739 Add global web setting for allowing explicit content 2021-01-12 11:10:25 +03:00
Salman Ahmed
249be461d5 Add "explicit maps" search filter control 2021-01-12 11:09:55 +03:00
Dean Herbert
d2ca6da0fd Remove unused constant 2021-01-11 01:56:09 +09:00
Dean Herbert
bd37723788 Expose as IBindable for added safety 2021-01-11 01:55:54 +09:00
Dean Herbert
e4eb44df6e Merge branch 'master' into fix-play-button-crashes 2021-01-11 01:46:41 +09:00
Salman Ahmed
375ecf92ed Merge remote-tracking branch 'upstream/master' into fix-mod-buttons-not-copying-settings 2021-01-09 00:26:18 +03:00
Bartłomiej Dach
274a045d8d Remove Dispose() override
Culls another non-thread-safe mutation of the `Playing` bindable.
It seems to be a weird vestige from an earlier revision of the old
"direct" panel, which relied on `DisposeOnDeathRemoval` to finish track
playback (and then was removed in
6c150c9ed7). The play button is no longer
responsible for managing preview track lifetime anyway;
`PreviewTrackManager`'s method are intended for that.
2021-01-08 20:08:19 +01:00
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