Dean Herbert
0f663deda0
Fix changing shape causing alpha to be permanently reset to zero
2022-09-22 15:24:57 +09:00
Dean Herbert
ae70b2c32f
Fix other weirdness in variable and description naming
2022-09-22 15:21:27 +09:00
Dean Herbert
19db7c5977
Remove "Opacity" setting
...
This should be implemented at a higher level
2022-09-22 15:19:01 +09:00
Dean Herbert
f3898da37a
Rename judgement count to not mention "shape"
2022-09-22 15:18:20 +09:00
Dean Herbert
7d93fa9f65
Merge branch 'master' into Colour_hit_meter_improved
2022-09-22 15:11:58 +09:00
Dean Herbert
29c4d06d36
Merge branch 'fix-gameplay-leaderboard-layout' into gameplay-leaderboards
2022-09-21 14:58:58 +09:00
Dean Herbert
b04871f40a
Animate scroll for a better visual experience
2022-09-21 14:51:12 +09:00
Dean Herbert
087ca59ebb
Add extra margin space to flow equal to height of leaderboard
...
This ensures the content is always on screen, but also accounts for the
fact that scroll operations without animation were actually forcing the
local score to a location it can't usually reside at.
Basically, the local score was in the scroll extension region (due to always trying
to scroll the local player to the middle of the display, but there being
no other content below the local player to scroll up by).
2022-09-21 14:51:12 +09:00
Dean Herbert
4385001d28
Fix solo leaderboard seeing imported score via realm subscription flow
2022-09-21 13:59:11 +09:00
Dean Herbert
a8338c4efd
Add local score after existing scores to avoid initial re-sort
2022-09-21 13:38:40 +09:00
Dan Balasescu
7f15dc6e6c
Merge pull request #20321 from HiddenNode/fix_graph_info_overlap
...
Fix Progress bar info text overlapping with progress graph
2022-09-20 19:30:51 +09:00
Dean Herbert
b5771ece41
Reduce the amount by which clicking the mute notification incraeses volume
2022-09-20 13:00:08 +09:00
Dean Herbert
a9c120c214
Reduce volume requirement for showing muted notification to 1%
2022-09-20 12:46:35 +09:00
Dean Herbert
1c02fa8399
Update comment to not mention horizontal plane
2022-09-20 00:08:06 +09:00
Dean Herbert
46db3ad96d
Move implementation to individual classes
2022-09-20 00:06:02 +09:00
HiddenNode
2dfa89c62e
Clean up
2022-09-17 15:05:25 +01:00
HiddenNode
d580b07063
Refactor update condition logic
2022-09-17 14:40:36 +01:00
HiddenNode
e3d5ba5301
Check if graph DrawSize changed
2022-09-17 11:44:25 +01:00
HiddenNode
0d76f4501d
Revert "Set InvalidationSource to Self"
...
This reverts commit 2092008251
.
2022-09-17 10:10:20 +01:00
Dean Herbert
4c4fdfd153
Provide scores directly to Player
instance rather than relying on DI
2022-09-16 18:15:17 +09:00
Dean Herbert
0227eddda1
Merge branch 'master' into gameplay-leaderboards
2022-09-16 15:44:58 +09:00
HiddenNode
2092008251
Set InvalidationSource to Self
2022-09-15 11:16:00 +01:00
HiddenNode
8286ab0d04
Revert "Fix SongProgress
invalidating too often"
...
This reverts commit 2b4b14ca99
.
2022-09-15 11:11:58 +01:00
Dean Herbert
eb18d3661d
Merge pull request #20309 from mk56-spn/dead_class_removal
...
Unused class KeyCounterState.cs Removal
2022-09-15 03:38:39 +09:00
Mk-56spn
d6db82283a
Removes unused class
2022-09-14 18:01:29 +02:00
Dean Herbert
fcf54f1bc8
Fix gameplay leaderboard not being sorted correctly in tie situations
2022-09-14 14:18:12 +09:00
Dean Herbert
8a6977213a
Fix displayed scores in gameplay leaderboard not tracking display mode changes
2022-09-14 14:02:35 +09:00
Dean Herbert
81b5e4a865
Fix back-to-front condition on leaderboard always show configuration
2022-09-13 19:57:40 +09:00
Dean Herbert
e15a25ea49
Fix leaderboard positioning logic to actually consider elements on the left side
2022-09-13 18:45:11 +09:00
Dean Herbert
678eec1c67
Move LeaderboardFlow
to HUDOverlay
to share positioning logic
2022-09-13 18:45:11 +09:00
Dean Herbert
5894d2f0bc
Ensure gameplay leaderboard hides with rest of HUD when it should
2022-09-13 18:45:11 +09:00
Dean Herbert
6d167070f8
Add back DI leaderboard retrieval via bindable pathway
2022-09-13 18:45:11 +09:00
Dean Herbert
70e6b595f1
Refactor SoloGameplayLeaderboard
to not read scores via DI
...
Also allows updating scores if they arrive late.
2022-09-13 18:00:21 +09:00
Dean Herbert
d2b80645ab
Change Leaderboard
to use IUser
instead of APIUser
2022-09-13 18:00:21 +09:00
Dean Herbert
d251c0b2ac
Move leaderboard implementation to Player
itself
2022-09-13 18:00:21 +09:00
Dean Herbert
368faa0084
Make constructor protected
in base implementation
2022-09-13 18:00:21 +09:00
Dean Herbert
4c669e2bce
Track local Player.Score
's user rather than using APIProvider
2022-09-13 18:00:21 +09:00
Salman Ahmed
3490b16056
Add simplified SoloGameplayLeaderboard
implementation
...
Note that this doesn't support waiting until leaderboard finishes fetching scores.
2022-09-13 18:00:21 +09:00
Dean Herbert
2b4b14ca99
Fix SongProgress
invalidating too often
...
This regressed with https://github.com/ppy/osu/pull/19556 . Rather than
try and figure whether that new container needs to handle size
differently, this is a simple solution.
Height was taken from a runtime check (maxes out at about 14.5).
Closes #20235 .
2022-09-12 20:06:53 +09:00
Mk-56spn
c00bf61273
Framework change adressed
2022-09-10 21:24:29 +02:00
MK56
8661dc3c93
Merge branch 'ppy:master' into Colour_hit_meter_improved
2022-09-10 21:16:23 +02:00
Mk-56spn
f6aef73f9e
fixed shape bindable not working, test creation, removal of Clear(), adjusted settings names
2022-09-10 20:30:43 +02:00
andy840119
3d7367a842
Move the CreateConvertibleReplayFrame() into the base ruleset class for avoid api breaking change in the customized ruleset.
2022-09-10 11:07:23 +08:00
andy840119
e62999fb16
Merge branch 'master' of https://github.com/ppy/osu into remove-the-nullable-disable-in-the-ruleset
...
# Conflicts:
# osu.Game.Rulesets.Catch/CatchRuleset.cs
# osu.Game.Rulesets.Osu/OsuRuleset.cs
# osu.Game.Rulesets.Taiko/TaikoRuleset.cs
# osu.Game/Rulesets/Ruleset.cs
2022-09-10 10:40:12 +08:00
Dean Herbert
27f745b980
Merge branch 'master' into fix_progress_bar_info
2022-09-09 17:34:13 +09:00
Dean Herbert
05797cb9e5
Fix enum to STRING????????? conversion (and use bindable flow)
2022-09-09 16:30:08 +09:00
Dean Herbert
45239fc737
Update TrueGameplayRate
accessing
2022-09-08 23:03:15 +09:00
Dean Herbert
d4afc3629c
Merge branch 'master' into kps
2022-09-08 23:00:36 +09:00
Dan Balasescu
9aab502adc
Merge pull request #20157 from peppy/true-gameplay-rate
...
Refactor `TrueGameplayRate` to account for only gameplay adjustments, no matter what
2022-09-08 19:54:32 +09:00
Dan Balasescu
4fc03998a1
Merge pull request #20189 from peppy/fix-playlist-item-download-button-visibility
...
Fix playlist items showing download button briefly during initial display
2022-09-08 19:47:35 +09:00
Dean Herbert
a98c6b2c1f
Add comment metioning why we need to use DrawableRuleset
lookup
2022-09-08 19:14:23 +09:00
Mk-56spn
07c16224d2
Fix Main file issues
2022-09-08 11:58:14 +02:00
Dean Herbert
5c2fb3e434
Simplify calculation method
2022-09-08 18:22:53 +09:00
Dan Balasescu
b559d4ecdf
Rename GameplayAdjustments -> AdjustmentsFromMods
2022-09-08 17:14:06 +09:00
Dean Herbert
ed81297611
Fix playlist items showing download button briefly during initial local presence checks
2022-09-08 17:10:45 +09:00
Salman Ahmed
50923b6e5b
Move track assignment below
2022-09-08 00:25:55 +03:00
Acid Chicken (硫酸鶏)
267465df18
chore(osu.Game): combine Osu.Colour.{Draw,Text}ForHitResult
into OsuColour.ForHitResult
2022-09-07 23:34:46 +09:00
Dean Herbert
e6b449fe0b
Fix case of zero rate calculating a zero true gameplay rate
2022-09-07 19:23:44 +09:00
Dean Herbert
fa15502384
Move full track adjustment flow inside MasterGameplayClockContainer
2022-09-07 19:12:16 +09:00
Dean Herbert
75d0deef72
Apply proposed changes to remove inheritance from MasterGameplayClockContainer
2022-09-07 17:49:05 +09:00
Dean Herbert
66c44f5913
Delegate interface to valid target
2022-09-06 22:26:46 +09:00
Dean Herbert
bc1212f4e6
Change NonGameplayAdjustments
to GameplayAdjustments
and convert TrueGameplayRate
to extension method
2022-09-06 22:26:46 +09:00
Dean Herbert
266eb758aa
Use new flow to calcaulate TrueGameplayRate
2022-09-05 23:37:49 +09:00
Dean Herbert
7084aeee05
Add method flow to reset applied adjustments
2022-09-05 23:22:38 +09:00
Dean Herbert
e33486a766
Implement IAdjustableAudioComponent
in MasterGameplayClockContainer
2022-09-05 23:20:02 +09:00
Mk-56spn
aace334fb3
Fix some test issues
2022-09-05 04:49:48 +02:00
Acid Chicken (硫酸鶏)
5f0832ead7
refactor(osu.Game): separate OsuColour.ForHitResult
by usage
2022-09-05 01:58:57 +09:00
Mk-56spn
0c6d8efa28
Large code refactor, Implementation of shapes option drop down
2022-09-04 17:24:12 +02:00
Mk-56spn
51061c3a12
Bug fixing and parameter adjustments
2022-09-03 01:27:22 +02:00
Mk-56spn
534c40e18e
Initial version
2022-09-02 23:07:30 +02:00
Dean Herbert
bc5340e33a
Merge branch 'master' into fix_progress_bar_info
2022-09-02 18:00:35 +09:00
Dean Herbert
6a35b233e5
Merge branch 'master' into remove-dispose-updates
2022-09-01 23:03:19 +09:00
HiddenNode
4a630b5384
Implemented SizePreservingSpriteText
2022-08-31 22:05:06 +01:00
Dan Balasescu
c852c54055
Consume auto skip setting during play
2022-08-31 20:24:15 +09:00
Dan Balasescu
000412c50f
Merge pull request #20014 from peppy/fix-resume-skip-forward
...
Fix gameplay skipping forward during resume operation
2022-08-31 16:30:37 +09:00
Dan Balasescu
ccc08b816c
Merge pull request #20030 from peppy/notification-design-update
...
Update notification overlay design
2022-08-31 16:06:59 +09:00
Dean Herbert
7337d4c1aa
Merge branch 'master' into kps
2022-08-31 15:41:42 +09:00
Dean Herbert
51346e0154
Fix skip button getting stuck on screen for certain beatmaps
...
Closes #20034 .
2022-08-31 13:22:51 +09:00
Dean Herbert
09aa3e065d
Move colouring to full icon content rather than background
2022-08-30 18:06:48 +09:00
Dean Herbert
27ad224f13
Remove probably unnecessary Seek
on start
2022-08-30 01:21:44 +09:00
Dean Herbert
1bff540381
Remove debug changes
2022-08-29 22:14:07 +09:00
Dean Herbert
75531d2d62
Fix gameplay skipping forward during resume operation
2022-08-29 19:51:16 +09:00
Dean Herbert
105aa01e7d
Update usages of RemoveInternal
2022-08-29 15:57:40 +09:00
Dan Balasescu
cf6bb3b030
Merge pull request #19958 from peppy/fix-fail-freq-stuck
...
Ensure fail animation sequence isn't run after the player exit sequence has started
2022-08-27 00:58:41 +09:00
Dean Herbert
b9d9bf3004
Merge pull request #19938 from frenzibyte/fix-multi-spectator-results-screen
...
Fix multi-spectator potentially getting stuck for passed players
2022-08-26 21:53:17 +09:00
Dean Herbert
ed0843aa84
Reword xmldoc regarding final clock source to read better
2022-08-26 16:46:22 +09:00
Dean Herbert
2c780eab5f
Merge branch 'master' into fix_progress_bar_info
2022-08-26 16:14:21 +09:00
Dean Herbert
23efec6505
Fix naming and comment typos
2022-08-26 15:57:36 +09:00
Dean Herbert
9862b79b47
Fix typo in long comment
2022-08-26 15:20:09 +09:00
HiddenNode
d98357aa57
Made text inside SongProgressInfo scale.
2022-08-26 01:30:44 +01:00
Dean Herbert
a6ed589db4
Remove guard against RemoveFilters
running more than once
...
It turns out this is required to remove some filters immediate, and some
later. Weird.
2022-08-25 14:47:33 +09:00
Dean Herbert
ad3dd1c700
Fix a couple of oversights regarding track
nullability
2022-08-25 14:45:00 +09:00
Dean Herbert
ec60e16439
Apply NRT to FailAnimation
2022-08-25 14:35:42 +09:00
Dean Herbert
8f4a953d11
Ensure fail animation sequence isn't run after the player exit sequence has started
2022-08-25 14:26:42 +09:00
Dean Herbert
4c45f7d938
Ensure FailAnimation
can't be Start
ed after filters are already removed
2022-08-25 14:26:20 +09:00
Ryuki
5cddc7ed1f
Code cleanup (CPS)
2022-08-24 17:13:23 +02:00
Dean Herbert
f3847b90fd
Tidy up attach logic
2022-08-24 19:36:01 +09:00
Dean Herbert
5129716612
Merge branch 'master' into kps
2022-08-24 18:18:45 +09:00
Salman Ahmed
8f4a2b4936
Separate passed/failed states from calling EndGameplay
2022-08-24 10:36:13 +03:00
Dean Herbert
29fed0c4a3
Avoid setting the source clock until gameplay is ready to start
...
Without this change, the audio track may audibly seek during load
proceedings.
2022-08-23 18:34:17 +09:00
Dean Herbert
ec61a94dc9
Merge branch 'master' into no-gameplay-clock-gameplay-offset
2022-08-23 17:36:06 +09:00
HiddenNode
1098e24c40
Improved UprightUnscaledContainer
2022-08-22 14:24:52 +01:00
Dean Herbert
489e172a76
Simplify track start/stop/paused tracking
2022-08-22 19:43:18 +09:00
Dean Herbert
058d67f8e8
Merge pull request #19695 from naoei/ruleset-localization
...
Change most ruleset-accessible string types to Localisable strings
2022-08-22 16:13:23 +09:00
Dean Herbert
e6b669db8e
Elaborate with example of GameplayClockContainer
managing its own Stop
state
2022-08-22 14:14:44 +09:00
Dean Herbert
af2e82d7d5
Move operation of setting GameplayClockContainer.StartTime
to Reset
call
2022-08-22 14:11:06 +09:00
Ryuki
5cf54a788a
Code cleanup for CPS counter
2022-08-21 16:00:58 +02:00
Nao
189a407cb1
Merge branch 'master' into ruleset-localization
2022-08-20 21:39:10 -04:00
Dean Herbert
8566e93c72
Guard against SubmittingPlayer
potentially getting stuck waiting on request forever
2022-08-20 17:19:17 +09:00
Dean Herbert
da407aa827
Merge branch 'master' into kps
2022-08-20 15:24:58 +09:00
Dean Herbert
7bf318541c
Reword comment to hopefully read better
2022-08-19 20:57:55 +09:00
Dean Herbert
3f0da14065
Delay start operation by one frame to allow children to see initial start time
2022-08-19 17:39:51 +09:00
Dean Herbert
3eb1cda6aa
Reorganise call order of Start
/ Reset
to make more sense
2022-08-19 01:46:36 +09:00
Ryuki
3de35a1518
Update calculator and tests to match changes on clocks
2022-08-18 18:40:02 +02:00
Dean Herbert
1d774f3f12
Remove redundant ProcessFrame
calls
...
Of note, I'm not sure whether the `IsPaused` check was meaningful, but
it's not reimplemented in the new `FramedBeatmapClock`.
2022-08-19 01:39:02 +09:00
Dean Herbert
7bc96431a7
Remove unnecessary virtual
spec from GameplayClockContainer.Seek
2022-08-19 01:39:01 +09:00
Dean Herbert
43879633db
Ensure setting a StartTime
on a GameplayClockContainer
always resets to the new time
2022-08-18 18:54:10 +09:00
Dean Herbert
343efa1d11
Split OffsetCorrectionClock
out of MasterGameplayClockContainer
2022-08-18 18:54:10 +09:00
Dean Herbert
2c6fd1ec6e
Fix `GameplayClockContainer potentially resetting external seeks
2022-08-18 18:54:10 +09:00
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
Dean Herbert
20256aad11
Merge branch 'master' into no-gameplay-clock
2022-08-17 15:21:20 +09: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
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
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
naoei
8cb2e11766
Change most ruleset-accessible string types to Localisable strings
2022-08-10 15:51:11 -04: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
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
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
HiddenNode
ed86255e2b
Use UprightUnscaledContainer instead of KeepUprightAndUnscaled
2022-08-07 13:20:22 +01: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
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
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
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
Ryuki
0886137e39
Prevent KeysPerSecondCounter from NRE when no instance is initialized
2022-08-05 21:03:00 +02:00
HiddenNode
b46bc5d65b
Remove empty line
2022-08-05 14:57:33 +01:00
Ryuki
24c29b7e2f
Do not add KPS calculation when gameplay rate is 0
2022-08-05 15:51:07 +02:00
HiddenNode
0243f8d6ac
Clean up
2022-08-05 14:28:15 +01:00
HiddenNode
12ef99a1a1
Fix text position
2022-08-05 12:56:08 +01:00
Ryuki
42d1bdfc95
Move KPS calculation to a standalone class
2022-08-05 04:17:01 +02:00
Salman Ahmed
7c45c571a0
Merge branch 'master' into more-beat-sync-dependence
2022-08-03 20:22:42 +03:00
Dean Herbert
6ad6561e1c
Fix LegacySongProgress
incorrectly blocking mouse input from gameplay
...
Closes #19555 .
2022-08-03 17:42:29 +09:00
HiddenNode
bc21a2ed56
Remove unnecessary using directive
2022-08-02 17:41:17 +01:00
HiddenNode
78a98cdb9c
Prevent TextSprites inside SongProgressInfo from being stretched or flipped
2022-08-02 17:37:31 +01:00
Dean Herbert
cc4cde2c79
Improve IBeatSyncProvider
interface and reduce beatmap track dependence
2022-08-02 17:59:18 +09:00
HiddenNode
df85bd74d7
Keep TextSprites in SongProgressInfo upright
2022-08-01 21:46:37 +01: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
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
Susko3
38a8b9cf0a
Add battery info for desktop platforms
2022-07-30 14:26:19 +02: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
Salman Ahmed
3f72e76348
Expose StartTime
from gameplay clock
2022-07-29 16:18:05 +03:00
Ryuki
b2e7da5aa0
Add basic Queue based implementation of KPS
2022-07-28 18:37:12 +02:00
Dean Herbert
3005ff1b9f
Merge branch 'master' into pie-chart-progress
2022-07-28 22:19:27 +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
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
Nitrous
37e642b0bd
make SongProgress
abstract
...
- move unrelated logic to `DefaultSongProgress`
- make `LegacySongProgress` inherit `SongProgress`
2022-07-27 15:19:21 +08:00
Salman Ahmed
fa9daa6899
Fix TestSceneReplayRecorder
not using score provided by gameplay state
2022-07-25 05:21:27 +03:00
Salman Ahmed
ad09e728fd
Move Passed
assignment inside FailScore
2022-07-21 08:12:06 +03:00
Salman Ahmed
0f0b19da4a
Populate score with remaining "miss" statistics on fail/exit
2022-07-21 06:01:36 +03:00
Bartłomiej Dach
6f37487528
Replace calls to defective Humanizer methods with correct version
2022-07-18 22:34:58 +02:00
Salman Ahmed
e6236ba088
Update save score button to check availability after import
...
Previously was relying on whether `SaveReplay` returns null, but since
I've changed it to use the standard "prepare score for import" path, the
button has to check for local availability after import since that path
doesn't return null on fail.
2022-07-15 23:39:52 +03:00
Salman Ahmed
6285442b7d
Fix failed scores not prepared before import
2022-07-15 22:57:12 +03:00
Dean Herbert
2beed6d7b7
Allow failed scores to fail in replay playback
2022-07-15 20:45:48 +09:00
Dean Herbert
d325c534ab
Check whether score is already imported and show correct state for save button
2022-07-15 20:45:37 +09:00
Dean Herbert
0200ef1d48
Make delegate firing more safe to being set later than BDL
2022-07-15 19:06:44 +09:00
Dean Herbert
0e788ac714
Simplify bindable logic greatly
2022-07-15 19:02:12 +09:00
Dean Herbert
8a48cb701d
Tidy up implementation and remove unnecessary enum
2022-07-15 19:02:04 +09:00
Dean Herbert
ab6665d88c
Merge branch 'master' into Save-Score-Failed
2022-07-15 18:02:58 +09:00
Dean Herbert
937692604e
Remove mention of autoplay mod for now
2022-07-13 22:37:20 +09:00
Dean Herbert
ab3ec80159
Update LastPlayed
on gameplay starting in a SubmittingPlayer
2022-07-13 16:43:43 +09:00
Dean Herbert
b52ea16133
Show basic error message when score submission fails
2022-07-12 15:10:59 +09:00
為什麼
6a643cb6ea
Use Debug.Assert instead.
2022-07-12 09:41:19 +08:00
為什麼
857377e145
Move CreateConvertibleReplayFrame() into legacy ruleset interface because technically only legacy ruleset use it to convert the legacy frame.
...
But seems some of the customized ruleset use it for save the replay frame.
2022-07-10 10:15:27 +08:00
cdwcgt
d2406242ae
rename updateTooltip to updateState
2022-07-09 00:38:17 +09:00
cdwcgt
91f471ebe0
disabled button instead of shake
...
removed `ShakeContainer`
2022-07-09 00:37:53 +09:00
cdwcgt
a38c6704c2
Use ContinueWith, Check is Task empty
2022-07-09 00:23:32 +09:00
Dean Herbert
e4ebab92c6
Rename lots of weird variables
2022-07-08 18:37:03 +09:00
Dean Herbert
f3a6e646a6
Merge branch 'master' into Save-Score-Failed
2022-07-08 18:32:13 +09:00
Dean Herbert
9d730f8440
Fix custom rulesets not importing scores at all
...
Replaces the error with the ability to import, minus replays.
Closes https://github.com/ppy/osu/issues/17350 (arguably, but let's go with it for now).
2022-07-07 14:49:23 +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
Salman Ahmed
19d300e311
Fix player loader not accepting star difficulty updates after display
2022-07-02 09:17:38 +03: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
cdwcgt
33209ecd25
remove useless value change
2022-06-30 19:51:58 +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
Dean Herbert
6bfd351dec
Add logging of GameplayClockContainer
seeks
2022-06-28 15:23:29 +09:00
Dean Herbert
31a447fda0
Update parameter discards
2022-06-24 21:26:19 +09:00
Dean Herbert
f71f6302fd
Remove unnecessary null
casts
2022-06-24 14:50:11 +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
Dan Balasescu
b3e5642dfd
Use WaitingOnFrames instead
2022-06-21 12:23:43 +09:00
cdwcgt
43ead5820a
deal with test
2022-06-21 00:54:50 +09: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
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Dean Herbert
be2b4e68b9
Don't play player exit sound when restarting
2022-06-15 17:49:18 +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
Jamie Taylor
6b744a14b0
Move 'back' sample playback from OnResuming to OnExiting
2022-06-15 15:41:28 +09:00
Dean Herbert
6be4209458
Fix AlwaysPresent
specification in wrong container
2022-06-15 01:04:43 +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
Dean Herbert
bd9ea9bd6f
Revert most unnecessary changes
...
Turns out `AlwaysPresent` at top level is actually enough.
This reverts commit 86163d2225
.
2022-06-13 23:58:14 +09:00
Dean Herbert
86163d2225
Fix hit error meters not updating visual state when hidden
...
It is an expectation of users that when the HUD is shown after a period
of being hidden, it will visually reflect the state based on recent
judgements.
To achieve this, I've added `AlwaysPresent` and moved the transform
application to the meter level, rather than at a child level. If this is
seen as a bad direction, `AlwaysPresent` can be applied to the drawable
children and the transforms can be moved back.
Also of note, `ColourHitErrorMeter` is pretty weird. The flow class
could potentially be removed and reduce `AlwaysPresent` usage by one.
Can do that refactor as part of this PR if preferred.
Closes #18624 .
2022-06-13 16:38:57 +09:00
Dean Herbert
17eaf7bb5c
Add failing test coverage showing hit meters don't update when not visible
2022-06-13 16:36:22 +09:00
Dan Balasescu
6e450b7350
Explicitly handle operation cancelled exceptions
2022-06-09 14:35:53 +09:00
Dan Balasescu
ec03dc16db
Don't trigger notification when user quit
2022-06-09 14:13:14 +09:00
Dan Balasescu
bfde334e77
Allow beatmaps to load endlessly when entering Player
2022-06-09 14:03:21 +09:00
Dan Balasescu
22d998dc2a
Use new score processor in MultiplayerGameplayLeaderboard
2022-05-30 19:26:26 +09:00
Dan Balasescu
a052e09ac3
Send ScoreProcessor statistics in SpectatorState
2022-05-30 19:26:26 +09:00
Dan Balasescu
c97b477485
Fix inverted operation order
2022-05-30 19:11:54 +09:00