Dean Herbert
6003afafc7
Use FramedBeatmapClock
in GameplayClockContainer
2022-08-18 18:54:10 +09:00
Dean Herbert
9735728cf6
Reverse conditionals to better define intent in addSourceClockAdjustments
2022-08-18 15:08:09 +09:00
Bartłomiej Dach
d06959e1dd
Update incorrect xmldoc
2022-08-17 22:03:35 +02:00
Dean Herbert
e7ddbc41c8
Merge branch 'master' into no-gameplay-clock
2022-08-17 22:21:10 +09:00
Dan Balasescu
0cf3c5570a
Merge pull request #19800 from peppy/fix-editor-ear-rape
...
Fix slider ticks playing back at infinite rate while making changes to a slider in the editor
2022-08-17 15:50:58 +09:00
Dean Herbert
20256aad11
Merge branch 'master' into no-gameplay-clock
2022-08-17 15:21:20 +09:00
Dean Herbert
21b364cd77
Fix nullref in tests as initialBeatmap
may be null
2022-08-17 14:48:00 +09:00
Dean Herbert
6b9dec5996
Restore original event flow to allow for OnSuspend
case to work correctly
2022-08-17 14:32:21 +09:00
Dean Herbert
8ce50e98a6
Move delegate debounce logic to Editor
itself
2022-08-17 14:04:57 +09:00
Dan Balasescu
8b5ac55fca
Remove newline
2022-08-17 13:48:06 +09:00
Dean Herbert
d9346abb9c
Tweak intro timings more and ensure non-theme tracks play from preview point
2022-08-17 13:20:40 +09:00
Dean Herbert
37799e3b31
Allow preparing preview point without looping
2022-08-17 13:20:24 +09:00
Bartłomiej Dach
1861f34427
Merge branch 'master' into editor-setup-no-state-change
2022-08-16 21:46:43 +02:00
Dan Balasescu
24fd411720
Merge pull request #19594 from BlauFx/improve_retry_behaviour
...
Skip song intro on quick restart
2022-08-16 20:18:12 +09:00
Dean Herbert
5ac314077a
Improve intro timings when not using osu! theme
...
Roughly as proposed in https://github.com/ppy/osu/discussions/19687 .
2022-08-16 18:19:30 +09:00
Dean Herbert
ee153a345c
Add a few more overlooked beatmap save states on setup screen modifications
2022-08-16 16:31:56 +09:00
Dean Herbert
5238a5c115
Merge branch 'master' into editor-setup-no-state-change
2022-08-16 16:28:29 +09:00
Dean Herbert
9d2c2b71cf
Change conditional to check for insertions in addition to modifications
...
It is possible that the import process itself marks the previous
beatmaps as deleted due to an overlap in metadata or otherwise.
2022-08-16 16:21:36 +09:00
Dean Herbert
c8fdfd298c
Merge branch 'master' into carousel-maintain-selection-over-update
2022-08-16 16:04:32 +09:00
Dean Herbert
ea50936d71
Fix slider ticks playing back at infinite rate while making changes to a slider in the editor
2022-08-16 15:27:58 +09:00
its5Q
e870ac6456
Fix code quality for CI
2022-08-16 15:51:54 +10:00
Dean Herbert
63819648df
Fix up flow of actual skip operation
2022-08-16 14:40:02 +09:00
Dean Herbert
9a1a7bae89
Make test actually test things
2022-08-16 14:40:02 +09:00
Dean Herbert
6761f869f9
Modify flow to avoid weird bindable and value resetting
2022-08-16 14:17:35 +09:00
Dean Herbert
c9baadcf88
Merge branch 'master' into improve_retry_behaviour
2022-08-16 13:06:04 +09:00
Bartłomiej Dach
5ff2e41a55
Add preset column to mod select test scene
2022-08-15 18:38:37 +02:00
its5Q
797a8da996
Replace osu-web strings with new strings and merge to single file
2022-08-16 01:14:16 +10:00
Dean Herbert
61a8873266
Ensure GameplayClockContainer
's FramedClock
is always non-null
2022-08-15 20:22:36 +09:00
Dean Herbert
1696a905ba
Reduce exposed properties in GameplayClockContainer
2022-08-15 20:22:36 +09:00
Dean Herbert
704568ae3b
Remove remaining usage of GameplayClock
2022-08-15 20:22:36 +09:00
Dean Herbert
27569e2ed5
Remove FrameStableClock
(and redirect usages to FrameStabilityContainer
)
2022-08-15 19:19:19 +09:00
Dean Herbert
cc982d374c
Cache self rather than GameplayClock
2022-08-15 18:30:53 +09:00
Dean Herbert
c5f8529d20
Mark unused methods as NotImplemented
for safety
2022-08-15 18:30:53 +09:00
Dean Herbert
f81c7644b4
Make GameplayClockContainer
also an IGameplayClock
and expose to remaining tests
2022-08-15 18:30:53 +09:00
Dean Herbert
c8764cb333
Move all usage of GameplayClock
to IGameplayClock
2022-08-15 18:30:53 +09:00
Dean Herbert
6d78218142
Update usages of GameplayClockContainer.GameplayClock
to access properties directly
2022-08-15 18:08:49 +09:00
Dean Herbert
224f3eaa84
Make GameplayClockContainer
non-abstract
and use in MultiSpectatorPlayer
2022-08-15 18:08:49 +09:00
Dean Herbert
623e90a7b2
Fix div-by-zero in SongProgress
when no object duration could be calculated
2022-08-15 15:05:35 +09:00
naoei
18ce784ae0
Allow StatisticItem's name param to be nullable
2022-08-14 14:51:35 -04:00
Bartłomiej Dach
05ddfe7522
Merge branch 'master' into editor-setup-no-state-change
2022-08-14 18:21:31 +02:00
naoei
6e13cf82e8
Don't render statistic header if display string is null
2022-08-10 16:05:34 -04:00
naoei
8cb2e11766
Change most ruleset-accessible string types to Localisable strings
2022-08-10 15:51:11 -04:00
its5Q
2499b7f0cd
Add localisation support for beatmap editor setup
2022-08-11 03:53:20 +10:00
Dean Herbert
ac99c1ad69
Migrate the majority of existing file lookups to use new extension methods
2022-08-10 16:01:16 +09:00
Dean Herbert
a5081826b7
Handle cancellation at more points during Player
initialisation
...
As discussed in discord, this will help avoid null references during
cancellation which can otherwise be quite confusing to debug.
2022-08-09 23:25:19 +09:00
Dan Balasescu
41af03dec5
Merge pull request #19597 from frenzibyte/hotfix-multi-spectator-results-screen
...
Fix multi-spectator potentially getting stuck for passed players (hotfix)
2022-08-09 21:11:10 +09:00
BlauFx
0afa3a5ec8
Fix xml doc
2022-08-08 21:20:09 +02:00
BlauFx
f6e65cf1af
Improve implementation
2022-08-08 20:53:05 +02:00
BlauFx
fac2596eee
Change type from BindableBool to IBindable<bool>
2022-08-08 13:38:52 +02:00
BlauFx
cd68134565
Call skip method directly
2022-08-08 13:10:28 +02:00
Dean Herbert
cbe5cb5d03
Merge branch 'master' into carousel-maintain-selection-over-update
2022-08-08 18:01:26 +09:00
Dean Herbert
f1691882e2
Fix incorrect argument passing to ToMod
2022-08-08 12:56:18 +09:00
Dean Herbert
e1189da824
Merge branch 'master' into irenderer-glwrapper
2022-08-08 12:31:53 +09:00
Bartłomiej Dach
839409d7ac
Add preset column to solo mod select overlay
2022-08-07 16:20:31 +02:00
BlauFx
bb344e064f
Add xml docs
2022-08-07 13:31:26 +02:00
BlauFx
09230304a4
Improve implementation
2022-08-07 13:20:29 +02:00
Bartłomiej Dach
a0d093be5c
Extract common implementation of delete dialog
2022-08-06 21:04:12 +02:00
BlauFx
bd43a9e96e
Add missing type specification
2022-08-06 18:49:07 +02:00
BlauFx
fa6d55b5b5
Remove redundant lambda signature parentheses
2022-08-06 18:47:11 +02:00
BlauFx
0d418559bc
Skip song intro only in case of a quick restart
2022-08-06 17:02:45 +02:00
BlauFx
e411a2d187
Revert reduced wait time commit
2022-08-06 15:12:36 +02:00
Salman Ahmed
84ef24c341
Fix multi-spectator potentially getting stuck for passed players
2022-08-06 05:41:26 +03:00
BlauFx
445f921756
Move IsSkippable event into load method
2022-08-05 23:21:03 +02:00
BlauFx
d8d7423698
Reduce "wait time" in case restarting the map
2022-08-05 23:04:43 +02:00
BlauFx
99e07aa09a
Skip intro if the map gets restarted
2022-08-05 23:01:52 +02:00
BlauFx
6717f0606c
Add property to SkipOverlay
2022-08-05 23:00:37 +02:00
Dan Balasescu
802dc90cb1
Adjust using directives for vertices
2022-08-05 20:37:33 +09:00
Dan Balasescu
c4b9b2a14b
Merge branch 'master' into irenderer-glwrapper
2022-08-05 20:35:06 +09:00
Salman Ahmed
7c45c571a0
Merge branch 'master' into more-beat-sync-dependence
2022-08-03 20:22:42 +03:00
Dean Herbert
a32149fda1
Convert interface methods to extension methods
2022-08-03 20:07:55 +09:00
Dean Herbert
6ad6561e1c
Fix LegacySongProgress
incorrectly blocking mouse input from gameplay
...
Closes #19555 .
2022-08-03 17:42:29 +09:00
Dean Herbert
de186f67e0
Limit metadata updates to once per frame
2022-08-02 22:02:30 +09:00
Dan Balasescu
b4e55f7309
Apply IRenderer changes
2022-08-02 19:50:57 +09:00
Dan Balasescu
a2a913ab52
Merge branch 'irenderer-batches' into irenderer-textures
2022-08-02 19:25:08 +09:00
Dean Herbert
258ad7c6b9
Tidy up kiai time access
2022-08-02 18:18:40 +09:00
Dean Herbert
cc4cde2c79
Improve IBeatSyncProvider
interface and reduce beatmap track dependence
2022-08-02 17:59:18 +09:00
Dean Herbert
efa3c3b757
Fix multiple cases of mutations at editor setup screen not triggering a state save
2022-08-02 16:47:37 +09:00
Dan Balasescu
fc0914bf77
Merge pull request #19536 from frenzibyte/playlists-settings-leak
...
Fix playlist settings reference leak due to unsafe binding
2022-08-02 13:30:55 +09:00
Dean Herbert
c0e5f11c90
Merge pull request #19532 from frenzibyte/fix-new-items-sort-stability
...
Fix newly imported beatmaps not using correct comparer for sorting
2022-08-02 02:20:51 +09:00
Salman Ahmed
7e9d11ee24
Enable NRT on playlists settings overlay
2022-08-01 20:15:08 +03:00
Salman Ahmed
c851e3d8f3
Fix playlist settings reference leak due to unsafe callback binding
2022-08-01 20:08:18 +03:00
Salman Ahmed
fc7fc3d673
Fix newly imported beatmaps not using correct comparer for sorting
2022-08-01 19:13:57 +03:00
Dean Herbert
01cc9bd7ef
Merge pull request #19479 from frenzibyte/carousel-update-on-resume
...
Fix song select not updating selected beatmap card on editor resume
2022-08-02 00:48:18 +09:00
Dan Balasescu
d4eec9122f
Merge pull request #19516 from peppy/fix-editor-track-disposal-crash
...
Fix editor potentially playing a track post-disposal
2022-08-01 18:12:21 +09:00
Dan Balasescu
1d27c4f020
Merge pull request #19504 from peppy/skin-serialisation-test-coverfage
...
Add test coverage of deserialisation of skin layouts
2022-08-01 17:17:16 +09:00
Dean Herbert
6e7c298aaf
Fix changes to audio / background not triggering an editor state change
2022-08-01 16:53:49 +09:00
Dean Herbert
2f60f91a0e
Fix editor potentially using a track post-disposal
...
This changes the editor to track the current track as it is *loaded* by
`MusicController`, rather than haphazardly following the current global
`WorkingBeatmap` (with a potentially unloaded track) or relying on local
immediate-load behaviour (as implemented in `ResourcesSection`).
2022-08-01 16:53:49 +09:00
Dean Herbert
5b98a73edc
Apply nullability to SkinComponentToolbox
and split out reflection method to get all skinnable components
2022-08-01 14:04:08 +09:00
notmyname
fa3b9ee32f
remove unneded guard
2022-07-31 23:42:20 +02:00
notmyname
57b43e0065
Stop capturing arrow keys on Playlist
2022-07-31 19:12:29 +02:00
Salman Ahmed
faefda9143
Fix song select not updating selected beatmap card on editor resume
2022-07-30 19:47:42 +03:00
Susko3
38a8b9cf0a
Add battery info for desktop platforms
2022-07-30 14:26:19 +02:00
Dean Herbert
43e612f6d4
Merge pull request #19455 from peppy/confirm-playlist-discard
...
Add confirmation dialog when about to discard a playlist
2022-07-30 19:17:49 +09:00
Salman Ahmed
8ca8484f0e
Fix failing tests
2022-07-30 11:49:33 +03:00
Salman Ahmed
369ab10212
Fix exit confirmation dialog not blocking all exit cases
2022-07-30 11:00:31 +03:00
Salman Ahmed
2500e5c533
Merge branch 'master' into fix-summary-kiai-ranges
2022-07-29 19:38:28 +03:00
Dan Balasescu
09979d44aa
Apply DrawNode batching changes
2022-07-29 23:32:09 +09:00
Dean Herbert
acf9ad1429
Apply nullability to EffectPointVisualisation
2022-07-29 23:26:38 +09:00
Salman Ahmed
3bc1774c87
Merge branch 'master' into pie-chart-progress
2022-07-29 16:54:59 +03:00
Salman Ahmed
905bbdc8ee
Remove caching of GameplayClockContainer
in favour of GameplayClock
...
Also fixes `SongProgress` being displayed in skin editor on non-gameplay
screens, due to `GameplayClock` not marked as a required dependency.
2022-07-29 16:45:29 +03:00
Dan Balasescu
155dac55d0
Apply DrawNode parameter changes
2022-07-29 22:33:34 +09:00
Salman Ahmed
3f72e76348
Expose StartTime
from gameplay clock
2022-07-29 16:18:05 +03:00
Dean Herbert
8f1e3b0154
Fix editor summary timeline not responding to kiai changes correctly
2022-07-29 19:31:49 +09:00
Dean Herbert
9d457535c6
Add confirmation dialog when about to discard a playlist
...
The confirmation will only show if items have been added to the
playlist.
Closes https://github.com/ppy/osu/issues/19444 .
2022-07-29 17:11:37 +09:00
Dean Herbert
eb92c35335
Merge pull request #19442 from smoogipoo/fix-beginplaying-misordering
...
Move spectator begin/end playing to SubmittingPlayer
2022-07-29 16:09:50 +09:00
Dean Herbert
3005ff1b9f
Merge branch 'master' into pie-chart-progress
2022-07-28 22:19:27 +09:00
Dan Balasescu
11e0022fad
Merge branch 'master' into realm-collections
2022-07-28 21:00:08 +09:00
Dan Balasescu
ce694123eb
Move spectator begin/end playing to SubmittingPlayer
2022-07-28 20:44:04 +09:00
Dean Herbert
86c2b7e449
Apply nullability to DefaultSongProgress
and clean up more stuff
2022-07-28 18:37:17 +09:00
Dean Herbert
ea027eda46
Move initial show to base implementation and add transition for legacy version
2022-07-28 18:29:49 +09:00
Dean Herbert
d5e5761892
Fix DefaultSongProgress
graph not resetting if time is in intro
2022-07-28 18:25:24 +09:00
Dean Herbert
7108553883
Tidy up various things everywhere
2022-07-28 18:25:14 +09:00
Nitrous
0d36907cad
apply code quality fixes
2022-07-28 15:30:45 +08:00
Nitrous
bca3994d91
set FirstHitTime
and LastHitTime
once
2022-07-28 15:25:12 +08:00
Nitrous
db62d4be3a
apply suggestions
...
- refactor `SongProgress`
- make`UpdateProgress` more readable
- enable NRT on new classes
- refactor `TestSceneSongProgress` to use `GameplayClockContainer`
2022-07-28 15:15:41 +08:00
Dean Herbert
525e4a2019
Fix crash in DrawableRoomPlaylistItem
context menu creation due to incorrect enumeration casting
2022-07-28 15:51:18 +09:00
Dean Herbert
ad482b8afc
Tidy up naming of collection dropdowns
2022-07-28 13:57:21 +09:00
Dean Herbert
67c7f324ee
Simplify CollectionFilterDropdown
filter flow weirdness
2022-07-28 13:57:21 +09:00
Nitrous
9088caa377
move LegacyComboCounter
to osu.Game.Skinning
2022-07-28 08:36:26 +08:00
Nitrous
45c11f2b7b
account for gameplay start time
2022-07-28 08:01:38 +08:00
Dean Herbert
438067a18b
Convert realm data propagation to more correctly use Live<T>
...
wip
2022-07-27 19:35:09 +09:00
Dean Herbert
41393616d8
Replace BeatmapCollection
with RealmBeatmapCollection
2022-07-27 19:35:09 +09:00
Dean Herbert
9c543fef48
Remove CollectionManager
2022-07-27 18:45:33 +09:00
Nitrous
37e642b0bd
make SongProgress
abstract
...
- move unrelated logic to `DefaultSongProgress`
- make `LegacySongProgress` inherit `SongProgress`
2022-07-27 15:19:21 +08:00
Dean Herbert
e6a3659581
Guard against NewModifiedIndices
being empty
2022-07-27 14:23:47 +09:00
Dean Herbert
24d75612e2
Always attempt to follow selection, even if difficulty name / metadata change
2022-07-27 14:18:53 +09:00
Dean Herbert
8105d4854a
Fix beatmap carousel not maintaining selection if currently selected beatmap is updated
2022-07-27 13:33:48 +09:00
Dan Balasescu
bc60552694
Merge pull request #19402 from peppy/debugger-attached-audio-warning-disable
...
Don't show audio playback issue notification if debugger is attached
2022-07-26 18:49:33 +09:00
Dan Balasescu
8f7dff5c2c
Merge pull request #19378 from peppy/beatmap-update-test
...
Add separate beatmap update flow to handle edge cases better
2022-07-26 18:49:20 +09:00
Dean Herbert
e782590b3c
Don't show audio playback issue notification if debugger is attached
...
I've hit this countless times recently when debugging during the startup
procedure.
2022-07-26 18:20:46 +09:00
Dean Herbert
6ff44ed2c6
Merge pull request #19399 from frenzibyte/carousel-order-stability
...
Maintain sort stability by using carousel item ID as a fallback
2022-07-26 17:33:30 +09:00
Dean Herbert
7f75184a01
Merge branch 'master' into beatmap-update-test
2022-07-26 17:27:36 +09:00
Dan Balasescu
412d42b907
Merge pull request #19393 from peppy/fix-statistics-panel
...
Avoid potential realm fetch after disposal in `StatisticsPanel`
2022-07-26 16:32:59 +09:00
Salman Ahmed
a4f6f2b9eb
Make item ID comparer static
2022-07-26 09:55:37 +03:00
Dean Herbert
8370ca9765
Add ImportAsUpdate
method to IModelImporter
to avoid otehr changes
2022-07-26 15:49:04 +09:00
Salman Ahmed
693ac8750c
Remove remaining uses of "child" terminology in non-drawable components
2022-07-26 09:43:47 +03:00
Salman Ahmed
d7ef4170be
Maintain sort stability by using carousel item ID as fallback
2022-07-26 09:40:41 +03:00
Dean Herbert
4efe09e7c2
Merge pull request #19377 from frenzibyte/fix-timeline-tests
...
Fix intermittent timeline zoom test failures
2022-07-26 15:18:35 +09:00
Dean Herbert
99bdf41717
Avoid potential realm fetch after disposal in StatisticsPanel
...
As seen at https://github.com/ppy/osu/runs/7513799859?check_suite_focus=true .
2022-07-26 15:12:23 +09:00
Dan Balasescu
1b2158ff04
Remove unused method
2022-07-26 14:15:59 +09:00
Dean Herbert
ef10145d6f
Rename MenuCursorContainer
and clean up code
2022-07-26 14:11:52 +09:00
Dean Herbert
b7f6413bce
Fix old version of beatmap potentially not being deleted during update flow
...
This can happen if the online IDs are not present in the `.osu` files.
Previously this was only working due to the early logic in the import
process (that relies on matching all online IDs perfectly).
2022-07-25 19:51:19 +09:00
Salman Ahmed
48bcf57066
Mark SetupZoom
and parameterless ZoomableScrollContainer
ctor as protected
2022-07-25 12:07:50 +03:00
Salman Ahmed
07c6b44864
Fix Timeline
attempting to setup zoom with unloaded track
2022-07-25 12:07:50 +03:00
Salman Ahmed
123930306b
Refactor ZoomableScrollContainer
to allow setting up zoom range and initial zoom after load
2022-07-25 12:07:50 +03:00
Salman Ahmed
fa9daa6899
Fix TestSceneReplayRecorder
not using score provided by gameplay state
2022-07-25 05:21:27 +03:00
Dean Herbert
db632c0d6e
Inline rolling duration
2022-07-23 02:38:00 +09:00
Dean Herbert
475679ca66
Fix DI failure
2022-07-23 02:27:47 +09:00
Dean Herbert
bb46ba66e0
Simplify TotalScoreCounter
tick playback logic
2022-07-23 02:27:17 +09:00
Dean Herbert
9f045209b9
Simplify score panel balance adjustment
2022-07-23 02:09:08 +09:00