Commit Graph

11485 Commits

Author SHA1 Message Date
e3eba58cb6 Catch in triangles intro 2022-06-29 13:37:42 +03:00
6bfd351dec Add logging of GameplayClockContainer seeks 2022-06-28 15:23:29 +09:00
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
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
aa7d54f8b6 Add logging for various cases of SongSelect.FinaliseSelection being aborted 2022-06-27 20:10:17 +09:00
50c1c066de Add various logging of global WorkingBeatmap state changes 2022-06-27 18:41:31 +09:00
0ba29b6fa6 Use currentScreen instead to make sure the screen we care about is loaded 2022-06-27 18:28:00 +09:00
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
31a447fda0 Update parameter discards 2022-06-24 21:26:19 +09:00
30eebf3511 Merge branch 'master' into c-sharp-10 2022-06-24 21:22:33 +09:00
26c5b59f6d Replace usages of string.To{Lower,Upper}() 2022-06-24 11:57:45 +02:00
8912f07745 Merge branch 'master' into difficulty-icon-refactor-pass 2022-06-24 16:34:35 +09:00
f71f6302fd Remove unnecessary null casts 2022-06-24 14:50:11 +09:00
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
ef258122d2 Move GetDifficultyRating helper method to StarDifficulty 2022-06-23 19:51:58 +09:00
01da6f20b3 Tidy up all remaining usages 2022-06-23 19:27:35 +09:00
7dec530ca5 Split out simple DifficultyIcon with no calculation overhead and update usages 2022-06-23 19:27:35 +09:00
4a2ca4394b Remove unused ModeTypeInfo class 2022-06-23 19:27:35 +09:00
97fcf8cec9 Merge pull request #18668 from smoogipoo/editor-controlpoint-undo-redo 2022-06-23 04:02:24 +09:00
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
950551f4fd Fix metronome arm being stuck white when paused 'close enough' to center 2022-06-22 15:33:42 +09:00
73124d2b1f Encapsulate mod hotkey selection logic in strategy pattern 2022-06-21 12:49:01 +02:00
b7b7de115f Merge pull request #18744 from nekodex/new-metronome-sfx
New audio feedback for metronome
2022-06-21 17:16:41 +09:00
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
a40ad6f784 Add slight transform when resetting arm from almost-zero 2022-06-21 15:07:35 +09:00
82c4d855d4 Rename sample variable to be easier to discern from other fields 2022-06-21 15:05:17 +09:00
16a9e18815 Adjust timing of latch to be more in sync with visuals 2022-06-21 15:02:53 +09:00
7b46d38318 Move colour fade back to where it was 2022-06-21 15:02:43 +09:00
3b79c632f5 Merge branch 'master' into new-metronome-sfx 2022-06-21 14:58:58 +09:00
42701757c3 Fix latch reset logic 2022-06-21 14:52:57 +09:00
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
88f450e1d0 Remove accidental nullable enable spec 2022-06-21 14:40:21 +09:00
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
c61e90d768 Change editor seek-while-playing modifier to be BPM agnostic 2022-06-21 13:07:50 +09:00
046b848bcd Split group selection to separate method 2022-06-21 12:53:06 +09:00
f103de4efb Merge branch 'master' into spectator-reset-speed-at-end 2022-06-21 06:37:58 +03:00
b3e5642dfd Use WaitingOnFrames instead 2022-06-21 12:23:43 +09:00
93ce6fc981 Remove redundant diff processing 2022-06-21 12:11:44 +09:00
9763a58392 Change to use ReferenceEquals 2022-06-21 12:05:52 +09:00
e0c82d11ab Convert == usages to ReferenceEquals 2022-06-20 16:56:19 +09:00
ca287d0936 Fix group deselected when table is recreated 2022-06-20 16:56:19 +09:00
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
a6c8a832aa Remove Import(ArchiveReader) and redirect existing usages to Import(ImportTask) 2022-06-20 15:14:57 +09:00
468e5fcbed Merge branch 'master' into editor-controlpoint-undo-redo 2022-06-20 13:47:01 +09:00
3ab8158b92 Do not try to set ruleset from beatmap if it's a dummy 2022-06-19 20:08:39 +02:00
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
98d69c846c Reset spectator speed at last frame 2022-06-19 17:12:20 +09:00
a2e17941e5 Merge branch 'master' into timing-offset-adjust-seek-only-at-start 2022-06-19 01:27:44 +03:00
2a95715652 Merge branch 'master' into fix-input-regression 2022-06-18 19:44:53 +02:00
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