1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-17 19:53:21 +08:00
Commit Graph

11630 Commits

Author SHA1 Message Date
Dean Herbert
e1b434b5dc Fix song select placeholder not showing convert hint for custom rulesets 2022-07-07 14:46:51 +09:00
Susko3
4c3789ec5d Split into a function 2022-07-05 11:15:37 +02:00
Susko3
bb0f212448 Trigger the initial cookie with midi and joysticks 2022-07-05 00:38:18 +02:00
Dan Balasescu
9bf91835b6
Merge pull request #18962 from peppy/slider-range-control
Move star difficulty filter to song select
2022-07-03 21:58:00 +09:00
Dan Balasescu
724fd19038 Remove nullable disables 2022-07-03 21:15:13 +09:00
Dan Balasescu
1ccfd69690
Merge pull request #18978 from peppy/send-beatmap-hash-to-server
Send beatmap hash to server on solo score request
2022-07-03 13:18:17 +09:00
Dean Herbert
052a786eff Only show hover effect on one nub at a time 2022-07-03 03:06:03 +09:00
Dean Herbert
7d8ea5e286 Remove unnecessary proxying 2022-07-03 02:59:10 +09:00
Dean Herbert
2a1777fa85
Merge branch 'master' into fix-player-star-difficulty-display 2022-07-02 18:57:46 +09:00
Salman Ahmed
19d300e311 Fix player loader not accepting star difficulty updates after display 2022-07-02 09:17:38 +03:00
Dean Herbert
a03abc747b Tidy up comments and simplify bounding box centre logic 2022-07-02 12:58:34 +09:00
Dean Herbert
1fd9c64803 Change song select FooterButton sound 2022-07-02 12:48:33 +09:00
Dean Herbert
634b6cdbbe Send beatmap has to server on solo score request
Right now, the client does nothing to ensure a beatmap is in a valid
state before requesting to submit a score. There is further work to be
done client-side so it is more aware of this state (already handled for
playlists, but not for the solo gameplay loop), but the solution I have
in mind for that is a bit more involved.

This is not used server-side yet, but I want to get this sending so we
can start using it for some very basic validation.

Will resolve the basic portion of #11922 after implemented server-side.
2022-07-02 12:16:17 +09:00
Dan Balasescu
3b1842a2c2
Merge pull request #18835 from peppy/beatmap-update-flow
Split out beatmap update tasks to `BeatmapUpdater` and invoke from editor save flow
2022-07-01 20:28:04 +09:00
Dean Herbert
6baccad058
Merge pull request #18821 from ggliv/locked-room-filter
Add room access type filter to multiplayer lounge screen
2022-07-01 19:37:43 +09:00
Dean Herbert
b829884861
Merge pull request #18963 from peppy/more-placeholder-suggestions
Add difficulty filter reset to song select "no results" suggestions
2022-07-01 17:55:23 +09:00
Dean Herbert
b460a52faf
Merge pull request #18966 from smoogipoo/fix-flaky-multiplayer-test
Fix test sometimes referencing old ModSelect object
2022-07-01 17:55:06 +09:00
Dean Herbert
e213c1a4ef Rename enum to explicitly mention it is a filter 2022-07-01 17:27:03 +09:00
Dean Herbert
9911c6cbf0
Merge branch 'master' into locked-room-filter 2022-07-01 17:17:01 +09:00
Dan Balasescu
58c9bb031f Apply PR reviews/fixes 2022-07-01 16:51:15 +09:00
Dan Balasescu
c22e77e481 Fix test sometimes referencing old ModSelect object 2022-07-01 16:46:27 +09:00
Dean Herbert
58e25a3a01 Fix potential crash in BeatmapLeaderboard during rapid refresh operations 2022-07-01 15:42:35 +09:00
Dean Herbert
3e0f4e7609 Add test coverage of difficulty filter reset 2022-07-01 15:28:55 +09:00
Dean Herbert
f3af612133 Suggest removing difficulty filter if no matches found at song select 2022-07-01 15:18:04 +09:00
Dean Herbert
545df0a8e8 Display difficulty on nub 2022-07-01 15:17:26 +09:00
Dean Herbert
cb9947b1c9 Align song select components a bit better 2022-07-01 15:17:12 +09:00
Dean Herbert
32139ac13f Tidy up implementation and add basic visual test 2022-07-01 15:16:58 +09:00
Dean Herbert
d54f7fc728 Move slider range control to song select 2022-07-01 14:41:36 +09:00
cdwcgt
33209ecd25
remove useless value change 2022-06-30 19:51:58 +09:00
Dean Herbert
aab4dcefbd Remove unnecessary invalidation handling flow 2022-06-30 17:13:26 +09:00
Dean Herbert
98938821e5 Merge branch 'master' into beatmap-update-flow 2022-06-30 16:44:17 +09:00
cdwcgt
fd0d8b1ce3
Add button state, fix async issues, watch replay method
Most borrowed from `ReplayDownloadButton`
2022-06-29 22:50:47 +09:00
Salman Ahmed
e3eba58cb6 Catch in triangles intro 2022-06-29 13:37:42 +03:00
Dean Herbert
6bfd351dec Add logging of GameplayClockContainer seeks 2022-06-28 15:23:29 +09:00
Dean Herbert
569fde4b47 Add messages to all InvalidOperationExceptions
Without this, they can be very non-descript and hard to track down
2022-06-28 01:34:25 +09:00
Dan Balasescu
d43b980a17
Merge pull request #18872 from peppy/add-working-beatmap-changed-logging
Add various logging of global `WorkingBeatmap` state changes
2022-06-27 21:34:05 +09:00
Dean Herbert
aa7d54f8b6 Add logging for various cases of SongSelect.FinaliseSelection being aborted 2022-06-27 20:10:17 +09:00
Dean Herbert
50c1c066de Add various logging of global WorkingBeatmap state changes 2022-06-27 18:41:31 +09:00
Dean Herbert
0ba29b6fa6 Use currentScreen instead to make sure the screen we care about is loaded 2022-06-27 18:28:00 +09:00
Dean Herbert
5a7d339cc8 Centralise and harden editor-ready-for-use check
Not only does this combine the check into one location, but it also adds
a check on the global `WorkingBeatmap` being updated, which is the only
way I can see the following failure happening:

```csharp
05:19:07     osu.Game.Tests: osu.Game.Tests.Visual.Editing.TestSceneEditorBeatmapCreation.TestAddAudioTrack
05:19:07       Failed TestAddAudioTrack [161 ms]
05:19:07       Error Message:
05:19:07        TearDown : System.NullReferenceException : Object reference not set to an instance of an object.
05:19:07       Stack Trace:
05:19:07       --TearDown
05:19:07        at osu.Game.Database.ModelManager`1.<>c__DisplayClass7_0.<AddFile>b__0(TModel managed) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\ModelManager.cs:line 36
05:19:07        at osu.Game.Database.ModelManager`1.<>c__DisplayClass8_0.<performFileOperation>b__0(Realm realm) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\ModelManager.cs:line 49
05:19:07        at osu.Game.Database.RealmExtensions.Write(Realm realm, Action`1 function) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\RealmExtensions.cs:line 14
05:19:07        at osu.Game.Database.ModelManager`1.performFileOperation(TModel item, Action`1 operation) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\ModelManager.cs:line 46
05:19:07        at osu.Game.Database.ModelManager`1.AddFile(TModel item, Stream contents, String filename) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\ModelManager.cs:line 36
05:19:07        at osu.Game.Screens.Edit.Setup.ResourcesSection.ChangeAudioTrack(FileInfo source) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Screens\Edit\Setup\ResourcesSection.cs:line 115
05:19:07        at osu.Game.Tests.Visual.Editing.TestSceneEditorBeatmapCreation.<TestAddAudioTrack>b__13_0() in C:\BuildAgent\work\ecd860037212ac52\osu.Game.Tests\Visual\Editing\TestSceneEditorBeatmapCreation.cs:line 101
05:19:07        at osu.Framework.Testing.Drawables.Steps.AssertButton.checkAssert()
05:19:07        at osu.Framework.Testing.Drawables.Steps.StepButton.PerformStep(Boolean userTriggered)
05:19:07        at osu.Framework.Testing.TestScene.runNextStep(Action onCompletion, Action`1 onError, Func`2 stopCondition)
```
2022-06-27 16:22:01 +09:00
Dean Herbert
31a447fda0 Update parameter discards 2022-06-24 21:26:19 +09:00
Dean Herbert
30eebf3511 Merge branch 'master' into c-sharp-10 2022-06-24 21:22:33 +09:00
Dean Herbert
7692bac35a Simplify refetch (and ensure to invalidate after processing) 2022-06-24 21:02:38 +09:00
Dean Herbert
66a01d1ed2 Allow song select to refresh the global WorkingBeatmap after an external update 2022-06-24 21:02:38 +09:00
Bartłomiej Dach
26c5b59f6d
Replace usages of string.To{Lower,Upper}() 2022-06-24 11:57:45 +02:00
Dean Herbert
8912f07745 Merge branch 'master' into difficulty-icon-refactor-pass 2022-06-24 16:34:35 +09:00
Dean Herbert
f71f6302fd Remove unnecessary null casts 2022-06-24 14:50:11 +09:00
Dean Herbert
28837693e5 Nuke calculating everything
The whole component is pointless so I'm just going to nuke for now I
guess. Kind of makes the whole refactor effort pointless but oh well?

To expand on this, the implementation was actually incorrect as pointed
out at https://github.com/ppy/osu/pull/18819#pullrequestreview-1017886035.
2022-06-24 14:24:06 +09:00
Bartłomiej Dach
04d69010b5
Split overlong conditional to local function 2022-06-23 18:03:07 +02:00
Bartłomiej Dach
bea70988bc
Remove unnecessary #nullable disable 2022-06-23 17:57:22 +02:00
Gabe Livengood
454eff43c5
publicity -> accesstype 2022-06-23 11:40:25 -04:00
Gabe Livengood
d67c482c48
move publicity filter to multi exclusively 2022-06-23 11:36:08 -04:00
Gabe Livengood
9a15adbfff
add an all option to publicity filter 2022-06-23 11:24:28 -04:00
Gabe Livengood
2def6d809b
refactor to use enum dropdown 2022-06-23 11:02:27 -04:00
Dean Herbert
ef258122d2 Move GetDifficultyRating helper method to StarDifficulty 2022-06-23 19:51:58 +09:00
Dean Herbert
01da6f20b3 Tidy up all remaining usages 2022-06-23 19:27:35 +09:00
Dean Herbert
7dec530ca5 Split out simple DifficultyIcon with no calculation overhead and update usages 2022-06-23 19:27:35 +09:00
Dean Herbert
4a2ca4394b Remove unused ModeTypeInfo class 2022-06-23 19:27:35 +09:00
Gabe Livengood
bf5a7e3f2a
add locked room filter 2022-06-22 17:01:28 -04:00
Dean Herbert
97fcf8cec9
Merge pull request #18668 from smoogipoo/editor-controlpoint-undo-redo 2022-06-23 04:02:24 +09:00
Dean Herbert
b660119de7
Merge pull request #18796 from bdach/mod-overlay/legacy-key-bindings
Add setting option to toggle between mod overlay hotkey styles
2022-06-22 20:28:18 +09:00
Jamie Taylor
950551f4fd
Fix metronome arm being stuck white when paused 'close enough' to center 2022-06-22 15:33:42 +09:00
cdwcgt
bff35cb348
Shake button when replay already save 2022-06-22 01:19:20 +09:00
cdwcgt
f2eb7e0551
Use better design and fix some problem
Let saveReplay async but still void
Make failed score's rank = F
2022-06-21 19:06:38 +08:00
Bartłomiej Dach
73124d2b1f
Encapsulate mod hotkey selection logic in strategy pattern 2022-06-21 12:49:01 +02:00
Dean Herbert
b7b7de115f
Merge pull request #18744 from nekodex/new-metronome-sfx
New audio feedback for metronome
2022-06-21 17:16:41 +09:00
Dean Herbert
7d988da2c7
Merge pull request #18788 from peppy/editor-seek-constant-while-playing
Change editor seek-while-playing modifier to be BPM agnostic
2022-06-21 15:28:46 +09:00
Dean Herbert
a40ad6f784 Add slight transform when resetting arm from almost-zero 2022-06-21 15:07:35 +09:00
Dean Herbert
82c4d855d4 Rename sample variable to be easier to discern from other fields 2022-06-21 15:05:17 +09:00
Dean Herbert
16a9e18815 Adjust timing of latch to be more in sync with visuals 2022-06-21 15:02:53 +09:00
Dean Herbert
7b46d38318 Move colour fade back to where it was 2022-06-21 15:02:43 +09:00
Dean Herbert
3b79c632f5 Merge branch 'master' into new-metronome-sfx 2022-06-21 14:58:58 +09:00
Dean Herbert
42701757c3 Fix latch reset logic 2022-06-21 14:52:57 +09:00
Dean Herbert
22cb8b0d43
Merge pull request #18768 from smoogipoo/spectator-reset-speed-at-end
Reset spectator speed after the last frame is reached
2022-06-21 14:41:08 +09:00
Dean Herbert
88f450e1d0 Remove accidental nullable enable spec 2022-06-21 14:40:21 +09:00
Dean Herbert
72c0fc3fec
Merge pull request #18753 from frenzibyte/prevent-mistimed-metronome-beats
Fix metronome playing mistimed beat sounds on editor clock resume
2022-06-21 13:48:42 +09:00
Dean Herbert
c61e90d768 Change editor seek-while-playing modifier to be BPM agnostic 2022-06-21 13:07:50 +09:00
Dan Balasescu
046b848bcd Split group selection to separate method 2022-06-21 12:53:06 +09:00
Salman Ahmed
f103de4efb
Merge branch 'master' into spectator-reset-speed-at-end 2022-06-21 06:37:58 +03:00
Dan Balasescu
b3e5642dfd Use WaitingOnFrames instead 2022-06-21 12:23:43 +09:00
Dan Balasescu
93ce6fc981 Remove redundant diff processing 2022-06-21 12:11:44 +09:00
Dan Balasescu
9763a58392 Change to use ReferenceEquals 2022-06-21 12:05:52 +09:00
cdwcgt
43ead5820a
deal with test 2022-06-21 00:54:50 +09:00
Dan Balasescu
e0c82d11ab Convert == usages to ReferenceEquals 2022-06-20 16:56:19 +09:00
Dan Balasescu
ca287d0936 Fix group deselected when table is recreated 2022-06-20 16:56:19 +09:00
Dan Balasescu
a922ea9b01 Fix selection by directly comparing control points
Previously, all control points would get replaced, which led to
performance issues that was worked around in this PR. By comparing
control points, we're able to get good performance without requiring the
workaround.
2022-06-20 15:29:29 +09:00
Dean Herbert
a6c8a832aa Remove Import(ArchiveReader) and redirect existing usages to Import(ImportTask) 2022-06-20 15:14:57 +09:00
Dan Balasescu
468e5fcbed Merge branch 'master' into editor-controlpoint-undo-redo 2022-06-20 13:47:01 +09:00
Bartłomiej Dach
3ab8158b92
Do not try to set ruleset from beatmap if it's a dummy 2022-06-19 20:08:39 +02:00
Bartłomiej Dach
93b3ede2a0
Always use beatmap ruleset in editor gameplay test mode
Fixes cases where opening a convertible beatmap (so any osu! beatmap)
with the game-global ruleset being set to anything but osu! would result
in opening the editor gameplay test mode with the game-global ruleset
rather than the beatmap's.
2022-06-19 19:30:40 +02:00
cdwcgt
9a6f4ef76d
Save score button on failed screen 2022-06-19 23:59:37 +09:00
Dan Balasescu
98d69c846c Reset spectator speed at last frame 2022-06-19 17:12:20 +09:00
Salman Ahmed
a2e17941e5
Merge branch 'master' into timing-offset-adjust-seek-only-at-start 2022-06-19 01:27:44 +03:00
Bartłomiej Dach
2a95715652
Merge branch 'master' into fix-input-regression 2022-06-18 19:44:53 +02:00
Dean Herbert
3902dc64f0 Fix adjusting offset via button seeking to timing point's offset unexpectedly
This was added with the intention of tracking the offset when already at
the start (the most common case when you're using the tap timing
wizard), but was also seeking when the user may be much further beyond
or before it.

Addresses https://github.com/ppy/osu/discussions/18741#discussioncomment-2975051.
2022-06-19 01:35:45 +09:00
Dean Herbert
3fa8c19acd Merge branch 'master' into latency-certifier/hidden-cursor 2022-06-19 00:31:11 +09:00
Salman Ahmed
a5e5172b91 Fix BlueprintContainer eating input from skin editor buttons 2022-06-18 18:28:36 +03:00
Bartłomiej Dach
5917c70127
Merge branch 'master' into multi-song-select-operation 2022-06-18 11:58:13 +02:00
Bartłomiej Dach
f6a3047596
Merge branch 'master' into editor-metadata-name-unification 2022-06-18 10:22:52 +02:00
Dan Balasescu
77e7e4ecb2 Fix selection being blocked after early return 2022-06-18 14:28:30 +09:00
Salman Ahmed
204348f327 Fix metronome playing mistimed beat sounds on editor clock resume 2022-06-18 04:49:44 +03:00
Salman Ahmed
8a1d11fefb Cancel previous metronome sound playback on pause 2022-06-18 04:07:21 +03:00
Dan Balasescu
e04df371d1 Merge branch 'master' into multi-song-select-operation 2022-06-18 08:51:24 +09:00
Dean Herbert
4bc26dbb48
Merge pull request #18743 from smoogipoo/nullable-by-default
Enable NRT by default
2022-06-17 23:18:35 +09:00
Dean Herbert
5d93db1522
Merge pull request #18726 from peppy/disclaimer-stop-handling-after-suspend
Fix `Disclaimer` screen handling user change events after initial display
2022-06-17 18:28:06 +09:00
Dean Herbert
1900480d51 Inline animation method 2022-06-17 17:06:06 +09:00
Dan Balasescu
869db52540 Tie loading layer to ongoing operation state 2022-06-17 17:05:23 +09:00
Dean Herbert
e51babdb96 Change heart animation flow to be more correct 2022-06-17 17:01:11 +09:00
Jamie Taylor
1f78a4fadd
New audio feedback for metronome 2022-06-17 16:56:09 +09:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Bartłomiej Dach
6ff6a3f5b3
Rename and document chooserPath 2022-06-16 21:51:31 +02:00
Salman Ahmed
db02cb81c5 Fix file chooser path not opening home directory initially 2022-06-16 20:48:17 +03:00
Salman Ahmed
f7a27b412a Revert "Let latency certifier buttons steal hover from area"
This reverts commit beb0331640.
2022-06-16 20:35:30 +03:00
Salman Ahmed
8e088140b2 Reword comment since IRequireHighFrequencyMousePosition isn't the issue 2022-06-16 20:09:10 +03:00
Salman Ahmed
beb0331640 Let latency certifier buttons steal hover from area 2022-06-16 20:00:30 +03:00
Salman Ahmed
ed6817ae6a Allow switching between latency and menu cursor using IProvideCursor 2022-06-16 19:46:31 +03:00
Salman Ahmed
52538dc708 Refactor LatencyCursorContainer to become a cursor container 2022-06-16 19:46:04 +03:00
Salman Ahmed
47d0ecf5e8 Merge branch 'master' into editor-metadata-name-unification 2022-06-16 18:53:23 +03:00
Salman Ahmed
6aee689586 Fix previous file lookup not using metadata properties 2022-06-16 18:50:38 +03:00
Salman Ahmed
f1081db953 Fix background/track implicitly renamed on initial load 2022-06-16 18:48:32 +03:00
Dean Herbert
89533fa33d Fix Disclaimer screen handling user change events after initial display
Unnecessary overhead, but also should resolve a production hard crash.
2022-06-16 15:40:20 +09:00
Bartłomiej Dach
f88c568c8d
Update flag sizes after switch to twemoji assets
The old flags used a size of 150x100, while the new assets based on
twemoji use a size of 150x108. Update existing usages to match this new
aspect ratio better.
2022-06-15 21:45:47 +02:00
Salman Ahmed
2c35b1404b Use FileInfo as current bindable type 2022-06-15 19:29:09 +03:00
Salman Ahmed
1ff070f5ff Decouple LabelledFileChooser from LabelledTextBoxWithPopover 2022-06-15 17:45:31 +03:00
Dean Herbert
7571ab6c63 Merge branch 'master' into new-dialog-sfx 2022-06-15 19:47:00 +09:00
Dean Herbert
7a2919975a Fix sound clash when exiting a multiplayer room with confirmation 2022-06-15 18:48:22 +09:00
Dan Balasescu
d89c80ace2 Block operations during beatmap selection in match 2022-06-15 18:44:16 +09:00
Dean Herbert
1520ccf865 Fix double back sound due to sub screen presence in multiplayer/playlists 2022-06-15 18:44:16 +09:00
Dean Herbert
c27e5d1216 Fix editor still playing back sound when exiting with confirmation 2022-06-15 18:44:02 +09:00
Dean Herbert
be2b4e68b9 Don't play player exit sound when restarting 2022-06-15 17:49:18 +09:00
Dean Herbert
713cff3403 Don't play editor exit sound when changing difficulties 2022-06-15 17:49:09 +09:00
Dean Herbert
fd4529aa7c Play editor exit sound if no confirmation buttons were shown during exit process 2022-06-15 17:37:54 +09:00
Dean Herbert
7ac5019c08 Fix intro screens playing exit sounds 2022-06-15 17:37:30 +09:00
Dean Herbert
6136e4e27a Don't play exit sound if screen is in a non-resumable state when exiting 2022-06-15 17:37:25 +09:00
Dean Herbert
87bf53485a
Merge pull request #18649 from frenzibyte/selection-context-outside-bounds
Fix context menus not appearing when clicking outside of editor playfield's bounds
2022-06-15 17:08:09 +09:00
Salman Ahmed
6a8cf514e0 Update background/track file chooser to not display filename 2022-06-15 09:52:13 +03:00
Jamie Taylor
5e3ccf7087
Don't play 'back' sample when exiting Editor 2022-06-15 15:41:28 +09:00
Jamie Taylor
6b744a14b0
Move 'back' sample playback from OnResuming to OnExiting 2022-06-15 15:41:28 +09:00
Salman Ahmed
f3f0960335 Use unified filename for background and track during editor import 2022-06-15 09:02:48 +03:00
Salman Ahmed
d3feb07bc1 Split zoom updating to named method with value as optional 2022-06-15 07:57:16 +03:00
Salman Ahmed
268a7e1334 Fix ZoomableScrollContainer attempting to update zoom with overlapping range 2022-06-15 05:43:41 +03:00
Salman Ahmed
36599d1174
Merge branch 'master' into fix-hit-error-when-not-visible 2022-06-14 22:47:11 +03:00
Dean Herbert
6be4209458 Fix AlwaysPresent specification in wrong container 2022-06-15 01:04:43 +09:00
Dan Balasescu
cc7943dfb1
Merge pull request #18687 from peppy/editor-repeat-behaviour-change-collapsing
Fix timing adjustment repeat buttons firing one change per repeat invocation
2022-06-14 20:24:13 +09:00
Dean Herbert
c30644328c Fix timing adjustment repeat buttons firing one change per repeat invocation 2022-06-14 19:21:02 +09:00
Dean Herbert
aeca138930 Fix ctrl-z in editor also seeking to start in addition to undo 2022-06-14 18:48:57 +09:00
Dean Herbert
a20e43c2ae Ensure containers which are being used to hide HUD elements still update for now
I don't think this is necessarily a final solution (as this means all
HUD elements are adding overhead even when not visible), but this will
make the implementations much easier for the time being.

I've checked and can't notice any perceivable overhead in profiling so
we should be fine for now.
2022-06-14 18:22:25 +09:00
Salman Ahmed
fa4930c586 Remove no longer necessary ReceivePositionalInputAt overrides in timeline components 2022-06-14 00:19:47 +03:00
Salman Ahmed
c49b8e4a5c Allow BlueprintContainer and SelectionHandler to receive input outside bounds 2022-06-14 00:19:15 +03:00
Salman Ahmed
9fc04924eb Revert "Provide context menu items at BlueprintContainer for out-of-bounds support"
This reverts commit 85fc218edf.
2022-06-14 00:02:02 +03:00