1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-23 12:07:25 +08:00
Commit Graph

11698 Commits

Author SHA1 Message Date
Ryuki
3de35a1518
Update calculator and tests to match changes on clocks 2022-08-18 18:40:02 +02:00
Ryuki
2aa3a1b50d
Rename all "KeysPerSecond" usages to "ClicksPerSecond" 2022-08-14 20:12:11 +02:00
Ryuki
9dc806506e
Make ActionListener and KeysPerSecondCalculator not rely on events to add timestamps 2022-08-14 19:31:14 +02:00
Ryuki
d5f10cbb9d
Revert 787dee24 and initialize calculator in HUDOverlay 2022-08-14 18:53:00 +02:00
Ryuki
e08f71797e
Change displayed metric from "KPS" to "clicks/s" 2022-08-13 04:27:26 +02:00
Ryuki
9b252b1d81
Make KeysPerSecondCalculator dependency in HUDOverlay nullable 2022-08-11 11:58:30 +02:00
Ryuki
d29cba80e9
Remove useless comment in KeysPerSecondCounter 2022-08-11 11:01:16 +02:00
Ryuki
787dee249d
Move KeysPerSecondCalculator instantiation from HUDOverlay to Player
This prevents messing with *future* Skin (de)serialization
2022-08-11 10:37:16 +02:00
Ryuki
3c6461b9e4
Remove KPS acronym usage 2022-08-11 10:01:39 +02:00
Ryuki
0a94fb4039
Make KPS counter strictly depending only on KPS calculator
`KeysPerSecondCounter` now depends on `KeysPerSecondCalculator` via the
`BackgroundDependencyLoaderAttribute` method, making it appear only in a
gameplay context without requiring `GameplayClock` without using it.
2022-08-11 00:46:39 +02:00
Ryuki
46e372cb99
Add more readiness checks in KeysPerSecondCalculator 2022-08-11 00:43:15 +02:00
Ryuki
9e80d3f71c
Re-adjust timespan conditions in KeysPerSecondCalculator 2022-08-11 00:42:22 +02:00
Ryuki
b52a07c16a
Use DI to provide dependencies for KPS Calculator and improve input
gathering

KPS Calculator now uses DI to retrieve the clocks. Using `HUDOverlay` it
is now cached for `KeysPerSecondCounter`s to resolve it. This also
allows to make an "Attach" flow like `KeyCounter`.
2022-08-08 21:54:06 +02:00
Ryuki
b2557a8d2d
Refactor KPS
- Remove '#nullable disable' in KeysPerSecondCalculator and
  KeysPerSecondCounter
- Remove KeysPerSecondCalculator IDisposable implementation
- Make KeysPerSecondCalculator static instance initialized once by
  KeysPerSecondCounters
- Auto transfer dependencies from KeysPerSecondCounter to
  KeysPerSecondCalculator using Resolved properties
- Add internal reset logic to KeysPerSecondCalculator and make it
  independent from Player
- Use GameplayClock.TrueGameplayRate to get real-time rate. If 0 then it
  defaults to the last non 0 rate if no such mod is enabled
2022-08-07 00:53:00 +02:00
Ryuki
0886137e39
Prevent KeysPerSecondCounter from NRE when no instance is initialized 2022-08-05 21:03:00 +02:00
Ryuki
24c29b7e2f
Do not add KPS calculation when gameplay rate is 0 2022-08-05 15:51:07 +02:00
Ryuki
42d1bdfc95
Move KPS calculation to a standalone class 2022-08-05 04:17:01 +02:00
Ryuki
89855cc1d6
Change KPS Counter implementation base and add better replay integration
The counter implementaiton is now list based, and will not invalidate
previous hits by removing them but by testing if they are within the 1
second span, allowing better integration with replays and spectators.
2022-07-31 01:29:57 +02:00
Ryuki
2df24019fd
Merge branch 'master' into kps 2022-07-28 18:38:09 +02:00
Ryuki
b2e7da5aa0
Add basic Queue based implementation of KPS 2022-07-28 18:37:12 +02:00
Dan Balasescu
11e0022fad Merge branch 'master' into realm-collections 2022-07-28 21:00:08 +09: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
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
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