Dean Herbert
a01bb3d5a3
Better limit bindable exposure of data class
2020-12-16 16:20:29 +09:00
Dean Herbert
6bce587b59
Pass users in via constructor and correctly unbind on disposal
2020-12-16 16:20:29 +09:00
Dean Herbert
6e2131c164
Don't track local user score in any special way
2020-12-16 16:20:29 +09:00
Dean Herbert
09d0ceb766
Add testing setup to get a better visual idea of how scoreboard will work
...
fixup! Add method to ScoreProcessor to calculate score and accuracy from statistics
2020-12-16 16:20:29 +09:00
Dean Herbert
d009a0be51
Move class to final location
2020-12-16 16:20:29 +09:00
Dean Herbert
88b3bf06e8
Merge branch 'master' into add-bundle-header
2020-12-16 13:40:15 +09:00
Dean Herbert
ea6c196f81
Remove unused using statement
2020-12-15 16:03:18 +09:00
Dean Herbert
e37089af5e
Further code cleanup
2020-12-15 15:44:56 +09:00
Dean Herbert
8b68ccc0ff
Rename class and move inside HUD namespace
2020-12-15 15:34:11 +09:00
Dean Herbert
dd5572b20a
Remove unnecessary methods and event
2020-12-15 15:26:20 +09:00
Dean Herbert
8362ad37e3
Bring up-to-date with code changes
2020-12-15 15:22:14 +09:00
Dean Herbert
70e5d4495a
Merge branch 'master' into ingame-leaderboard-general-implementation
2020-12-15 15:14:56 +09:00
Dean Herbert
ae22f75406
Bind replay recording score to judgement changes
2020-12-14 17:33:33 +09:00
Dean Herbert
1793385e96
Pass a score to the replay recorder to allow reading more general scoring data
2020-12-14 16:52:14 +09:00
Dean Herbert
0d7f53b0b9
Fix gameplay loading too fast the first time entering a beatmap
2020-12-14 14:21:21 +09:00
Bartłomiej Dach
d457926523
Merge branch 'master' into fix-player-load-stuck-at-empty-screen
2020-12-11 20:49:27 +01:00
Dean Herbert
2dd5911256
Rename method to better match purpose
2020-12-11 14:44:01 +09:00
Dean Herbert
01bd765384
Simplify pause handling by moving transform logic to bindable change event
2020-12-10 17:42:47 +09:00
Dean Herbert
679a550d83
Fix single threaded seeking not working due to unnecessary seek call
2020-12-10 17:42:28 +09:00
Dean Herbert
437c0506ce
Refactor to allow for special disposal handling to still work
2020-12-10 16:56:56 +09:00
Dean Herbert
67dd7be71a
Move cancelLoad call to OnResuming
...
This has no real effect; it just feels more readable to me.
2020-12-10 16:34:59 +09:00
Dean Herbert
491ab74059
Schedule pushWhenLoaded once ever
...
Previously it was being scheduled another time each OnResume, resulting
in more and more calls as a user retries the same beatmap multiple
times.
To simplify things I've decided to just schedule once ever. This means
that on resuming there's no 400ms delay any more, but in testing this
isn't really an issue (load time is still high enough that it will never
really be below that anyway). Even if gameplay was to load faster, the
animation should gracefully proceed.
2020-12-10 16:33:30 +09:00
Dean Herbert
cc996ec7fc
Ensure player is consumed at the point of scheduled push running the first time
2020-12-10 16:32:14 +09:00
Dean Herbert
a147b7186d
Remove unnecessary call to updateVisibility
2020-12-01 14:01:34 +09:00
Dean Herbert
63ff722963
Fix code formatting
2020-12-01 14:00:54 +09:00
Ryan Zmuda
e102f2e8fa
Moved enum to bottom, change defualt bind to Shift-Tab, Fixed Notification
2020-11-30 21:38:16 -05:00
Ryan Zmuda
9145557522
Revert "Revert "forgot to remove something... sorry""
...
This reverts commit 6478bed431
.
2020-11-29 23:15:12 -05:00
Ryan Zmuda
6478bed431
Revert "forgot to remove something... sorry"
...
This reverts commit a780a8bbd8
.
2020-11-29 23:14:43 -05:00
Ryan Zmuda
a780a8bbd8
forgot to remove something... sorry
2020-11-29 21:52:58 -05:00
Ryan Zmuda
3994cf082d
add keybind for in game overlay
2020-11-29 20:59:02 -05:00
Dean Herbert
3346c06aca
Rename variable/text to be more verbose as to toggle purpose
2020-11-26 20:04:44 +09:00
Dean Herbert
1d82557d9f
Avoid blocking global actions when skip overlay is not actually active
2020-11-24 15:42:14 +09:00
Dean Herbert
72b8eef36e
Add ability to pause/resume replay playback
2020-11-24 15:41:56 +09:00
Dean Herbert
2db42f8e67
Remove default allowRetry parameter value from ResultsScreen
2020-11-20 14:35:44 +09:00
Bartłomiej Dach
b344a13734
Add support for previewing tracks on spectator screen
2020-11-14 17:08:27 +01:00
Bartłomiej Dach
d55eae55ad
Merge branch 'master' into fix-combo-break-rewind-replay
2020-11-13 21:46:32 +01:00
Bartłomiej Dach
405407ff9e
Merge branch 'master' into fix-combo-break-sounds
2020-11-13 21:07:34 +01:00
Dean Herbert
4b5743d993
Fix combo break sound not playing after rewind
2020-11-13 13:38:14 +09:00
Dean Herbert
43626573df
Fix combo break sounds playing when seeking
2020-11-13 13:36:19 +09:00
smoogipoo
6f7a1dd57d
Merge branch 'master' into hitobject-pooling-base
2020-11-11 17:09:18 +09:00
Dean Herbert
11cf04eed1
Fix frames potentially getting added to spectator replay in wrong format
...
The way spectator currently works, the `Spectator` screen is responsible
for adding new frames to the replay, even when it has a child
(`SpectatorPlayer`) present.
There was a possibility that a new play had already started, and on
returning to the Spectator screen (to initialise the new play) there
would be a brief period where the Player instance is still reading from
the replay, the `userBeganPlaying` call had not yet finished
initialising the new target replay, and `userSentFrames` is run
(asynchronously), writing frames to the previous replay using the
incorrect ruleset instance).
To make this work, it doesn't `Schedule` frame addition to the replay
(making things a bit unsafe). Changing this itself isn't such a simple
one to do, so I instead opted to fix this via locking.
Closes https://github.com/ppy/osu/issues/10777 .
2020-11-11 13:39:43 +09:00
smoogipoo
66213f2ed0
Add pooling support to DrawableRuleset + Playfield
2020-11-10 23:56:32 +09:00
Dean Herbert
07166ec819
Fix a couple of remaining unnecessary casts
2020-11-06 13:29:47 +09:00
Dean Herbert
1b2bd6a8c9
Remove redundant base call
2020-11-03 20:10:13 +09:00
Dean Herbert
3e29e468ea
Ensure "start watching" button starts in a disabled state
2020-11-03 20:06:42 +09:00
Dean Herbert
414f65c1ef
Merge branch 'master' into spectator-listing
2020-11-02 15:48:21 +09:00
Dan Balasescu
04178e9458
Merge branch 'master' into spectator-replay-watcher
2020-11-02 14:54:51 +09:00
Dan Balasescu
1b53e6c782
Merge branch 'master' into sample-lookup-improvements
2020-11-02 13:04:35 +09:00
Bartłomiej Dach
716458344f
Ensure spectator player is unsubscribed to prevent leak
2020-11-01 16:13:19 +01:00
Bartłomiej Dach
b7696c85ad
Add more xmldocs
2020-11-01 15:23:03 +01:00
Dean Herbert
a088151e58
Merge branch 'spectator-replay-watcher' into spectator-listing
2020-10-31 16:22:10 +09:00
Dean Herbert
79aecc9a98
Merge branch 'master' into spectator-replay-watcher
2020-10-30 16:31:24 +09:00
Dan Balasescu
0ef1459f4b
Merge pull request #10621 from peppy/hud-momentary-visibility
...
Add momentary HUD toggle
2020-10-30 15:40:54 +09:00
Dean Herbert
8928aa6d92
Add key binding to show HUD while held
2020-10-30 14:19:40 +09:00
Dean Herbert
b4eda65383
Commit missing pieces
2020-10-30 13:53:51 +09:00
Dean Herbert
9bb86ccb83
Change shift-tab to cycle available HUD visibility modes
2020-10-30 13:09:22 +09:00
Dean Herbert
2ea4aa0a37
Fix incorrect specification on some sample lookups
2020-10-30 11:59:41 +09:00
Dean Herbert
bca317b151
Remove excess using statement
2020-10-28 23:43:16 +09:00
Dean Herbert
e1bf751dac
Merge branch 'spectator-replay-watcher' into spectator-listing
2020-10-28 23:17:50 +09:00
Dean Herbert
5d02de29ca
Fix attempt to change ruleset/beatmap bindables while screen is not active
2020-10-28 22:50:45 +09:00
Dean Herbert
25ab3a5fea
Construct replay after being sure a ruleset is available to avoid nullrefs
2020-10-28 22:10:37 +09:00
Dean Herbert
dd2f44f393
Add basic "currently watching" text to player to signify that spectator is active
2020-10-28 19:43:06 +09:00
Dean Herbert
93fd913876
Add setting to allow automatically downloading during a spectating session
2020-10-28 19:43:06 +09:00
Dean Herbert
9807089834
Fix screen exit potentially occuring during transition
2020-10-28 19:43:06 +09:00
Dean Herbert
4df8119852
Add missing schedule
2020-10-28 19:43:06 +09:00
Dean Herbert
93e3e1a4db
Don't inherit ReplayPlayer to make results screen work correctly
2020-10-28 19:02:38 +09:00
Dean Herbert
344ff8f4bc
"Improve" visuals of spectator screen
2020-10-28 19:02:38 +09:00
Dean Herbert
2d73dfbe39
Add more safety around beatmap panel and button display logic
2020-10-28 19:02:38 +09:00
Dean Herbert
c97feb09bf
Allow continuing to automatically spectate user from results screen
2020-10-28 19:02:38 +09:00
Dean Herbert
16b0a7b33e
Add button flow to allow resuming watching after exiting manually
2020-10-28 19:02:38 +09:00
Dean Herbert
6169349f7c
Fix switching to new beatmap not working correctly
2020-10-28 17:44:11 +09:00
Dean Herbert
730cc645fb
Avoid reconstructing ruleset for each frame bundle
2020-10-28 16:33:52 +09:00
Dean Herbert
48b0357e7d
Fix "finished playing" events handled for potentially incorrect user
2020-10-28 16:11:14 +09:00
Dean Herbert
0a7f3dc19b
Avoid null reference on finalization
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2020-10-28 07:29:07 +09:00
Dean Herbert
d5e0fa322b
Fix a couple of inspections
2020-10-27 22:30:45 +09:00
Dean Herbert
2cacdaa11b
Add basic beatmap download and play flow
2020-10-27 19:28:34 +09:00
Dean Herbert
42b3aa3359
Fix spectating when starting from a point that isn't at the beginning of the beatmap
2020-10-27 18:58:37 +09:00
Dean Herbert
851d45d2eb
Add sane pausing logic
2020-10-27 18:58:37 +09:00
Dean Herbert
3ec3321a3d
Add missing space
2020-10-27 18:58:37 +09:00
Dean Herbert
b737a8bf6e
Add field to Replay denoting whether the full replay have been received or not
2020-10-27 18:58:37 +09:00
Dean Herbert
9bac8f3792
Add null check on replay as safety measure
2020-10-27 18:58:37 +09:00
Dean Herbert
ac4671c594
Add basic implementation of spectator screen
2020-10-27 18:58:37 +09:00
Dean Herbert
5fd97bd043
Add basic spectator screen
2020-10-27 18:58:37 +09:00
Dean Herbert
9cfb81589e
Use bindable flow instead
2020-10-27 14:10:12 +09:00
Dean Herbert
6853da459d
Move sample pausing logic out of FrameStabilityContainer
2020-10-27 13:54:33 +09:00
Dean Herbert
b86347dc81
Merge branch 'master' into spectator
2020-10-26 13:39:07 +09:00
Bartłomiej Dach
0542a45c43
Change to manual adjustment add/remove
2020-10-25 12:33:35 +01:00
Bartłomiej Dach
85e14f3f0c
Shorten fade duration to make fade out snappier
2020-10-25 00:40:11 +02:00
Bartłomiej Dach
e101ba5cba
Move volume manipulations to player loader
2020-10-25 00:40:11 +02:00
Bartłomiej Dach
73174961f0
Rework animation sequence for readability
2020-10-24 22:30:08 +02:00
Dean Herbert
4fca7675b0
Don't send spectate data when an autoplay mod is active
2020-10-23 14:47:21 +09:00
Dan Balasescu
bd4e0e1a60
Merge branch 'master' into epilepsy-warning
2020-10-20 17:43:37 +09:00
Dean Herbert
55d08fad5c
Remove unused field
2020-10-20 15:18:15 +09:00
Dean Herbert
7a68636f71
Adjust fade sequence and durations to feel better
2020-10-20 15:03:33 +09:00
Dean Herbert
4e57751ca1
Fix background dim application to avoid overdraw, transition smoother
2020-10-20 15:03:12 +09:00
Dean Herbert
80b1f816c7
Merge branch 'master' into hide-hud-during-break-time
2020-10-20 14:19:04 +09:00
Dean Herbert
c57fecd1fc
Update comment to make it clear this is a hack
2020-10-20 12:43:57 +09:00
Bartłomiej Dach
fd4bab85cf
Merge branch 'master' into epilepsy-warning
2020-10-20 01:06:46 +02:00
Bartłomiej Dach
05251c646e
Fade volume back up on pop out
2020-10-20 01:06:20 +02:00
Bartłomiej Dach
1fc22bdbff
Only show warning once on given map
2020-10-20 00:59:36 +02:00
Bartłomiej Dach
a164d330e5
Improve feel of transition
2020-10-20 00:51:31 +02:00
Bartłomiej Dach
6e50ae0458
Reformulate push sequence code
2020-10-20 00:22:30 +02:00
Bartłomiej Dach
8505903041
Move warning construction to load()
2020-10-20 00:08:05 +02:00
Bartłomiej Dach
aeca61eb3e
Split warning to separate file
2020-10-19 23:48:02 +02:00
Bartłomiej Dach
44279ed347
Remove unused using directive
2020-10-19 23:46:09 +02:00
Salman Ahmed
6e4b28ed1e
Different version of epilepsy warning display
2020-10-20 00:32:44 +03:00
Joehu
fef6e55b39
Remove unused using and field
2020-10-19 12:32:16 -07:00
Joehu
dbda18acea
Fix autoplay/replay settings going off screen on some legacy skins
2020-10-19 12:04:23 -07:00
Dan Balasescu
b5cadd6a2c
Merge pull request #10555 from peppy/fix-score-display-zero-padding
...
Fix incorrect zero padding for classic scoring mode
2020-10-19 15:54:12 +09:00
Dean Herbert
ba99c5c134
Remove rolling delay on default combo counter
2020-10-19 14:39:02 +09:00
Dean Herbert
cb1784a846
Fix score displays using non-matching zero padding depending on user score display mode
2020-10-19 14:05:28 +09:00
Dan Balasescu
b7c12ff61e
Merge pull request #10530 from peppy/fix-catch-dual-combo-counter
...
Fix osu!catch showing two combo counters for legacy skins
2020-10-16 23:52:14 +09:00
smoogipoo
dfbc0965e4
Merge branch 'master' into peppy/skinnable-health-display
2020-10-16 23:17:17 +09:00
Dean Herbert
8a3bce3cc3
Fix osu!catch showing two combo counters for legacy skins
2020-10-16 18:20:17 +09:00
Dean Herbert
a774de2270
Also add support in LegacyComboCounter
2020-10-16 17:52:22 +09:00
Dean Herbert
77bf050a80
Ignore IgnoreHits for flashiness
2020-10-16 17:24:43 +09:00
Dean Herbert
f0b15813e2
Add support for both legacy styles
2020-10-16 17:08:46 +09:00
Dean Herbert
a810f56ec8
Move "flash on hit only" logic to binding
2020-10-16 17:08:46 +09:00
Dean Herbert
c0a1f2158c
Add basic component structure for skinnable health displays
2020-10-16 17:08:46 +09:00
Dan Balasescu
583fdc3a95
Merge pull request #10510 from peppy/skinnable-accuracy-display
...
Add legacy skinning support for accuracy display
2020-10-15 21:20:48 +09:00
Dan Balasescu
5d8cf87155
Merge pull request #10511 from peppy/bottom-error-display
...
Add support for bottom-anchored hit error display
2020-10-15 20:51:09 +09:00
Dan Balasescu
70b050f212
Merge branch 'master' into skinnable-accuracy-display
2020-10-15 20:28:57 +09:00
Dan Balasescu
1ce0e83e59
Merge branch 'master' into skinnable-score-display
2020-10-15 19:16:03 +09:00
Dan Balasescu
93dfbd5d9e
Merge pull request #10505 from peppy/skin-disabler-refactor
...
Move ISampleDisabler implementation to Player and FrameStabilityContainer
2020-10-15 19:14:52 +09:00
Dean Herbert
70806deba1
Add support for bottom-anchored hit error display
2020-10-15 19:14:02 +09:00
Dean Herbert
d76365ed1b
Make container readonly
2020-10-15 18:38:41 +09:00
Dan Balasescu
5640d33d1a
Merge branch 'master' into skin-disabler-refactor
2020-10-15 18:32:50 +09:00
Dean Herbert
6983978c98
Correct top-right element offset by finding the lower top anchor element
2020-10-15 18:30:44 +09:00
Dean Herbert
b31a3fbabb
Add test
2020-10-15 18:11:30 +09:00
Dean Herbert
254eba9008
Add and consume skinnable accuracy counter
2020-10-15 17:53:16 +09:00
Dean Herbert
90ff8ff050
Merge branch 'skinnable-combo-counter' into skinnable-score-display
2020-10-15 17:52:06 +09:00
Dean Herbert
37e9f331ad
Simplify score font lookup
2020-10-15 17:49:55 +09:00
Dean Herbert
43e5cb90e2
Merge branch 'skinnable-combo-counter' into skinnable-score-display
2020-10-15 17:30:29 +09:00
Dean Herbert
9f51327e4b
Fix completely incorrect default positioning logic
2020-10-15 17:29:40 +09:00
Dean Herbert
5b5ba7df93
Remove unused offset
2020-10-15 17:22:34 +09:00
Dean Herbert
d8d085ede9
Align top-right elements with lowest point in score display
2020-10-15 17:14:42 +09:00
Dean Herbert
74c031cfbb
Fix ModOverlay not including "UNRANKED" text in size
2020-10-15 17:14:42 +09:00
Dean Herbert
b210147c2e
Update combo counter to read from default score display's position correctly
2020-10-15 17:14:42 +09:00
Dean Herbert
950c47287c
Fix positioning of score display in HUD overlay
2020-10-15 17:14:42 +09:00
Dean Herbert
e1da64398e
Add and consume skinnable score counter
2020-10-15 17:14:42 +09:00
Dean Herbert
219cbec6bd
Split out DefaultScoreCounter and make ScoreCounter abstract
2020-10-15 16:32:30 +09:00
Dean Herbert
d5f2aab52e
Tidy up SkinnableComboCounter class slightly
2020-10-15 15:37:40 +09:00
Dean Herbert
e0210f5c4c
Ignore failed casts to make tests happy
2020-10-14 23:52:58 +09:00
Dean Herbert
e3eaba7b2c
Move ISampleDisabler implementation to Player and FrameStabilityContainer
2020-10-14 19:39:48 +09:00
Dean Herbert
ac4f56403d
Adjust size/position
2020-10-14 19:16:34 +09:00
Dean Herbert
7f5ea57bd4
Clean-up pass (best effort) on LegacyComboCounter
2020-10-14 19:16:34 +09:00
Dean Herbert
9bb8a43bce
Combine LegacyComboCounter and ComboCounter classes
2020-10-14 19:16:34 +09:00
Dean Herbert
fbbea48c8c
Add score text skinnability
2020-10-14 19:16:34 +09:00
Dean Herbert
2fce064e32
Add basic legacy combo counter and updating positioning logic
2020-10-14 19:16:34 +09:00
Dean Herbert
6a6718ebab
Allow bypassing origin/anchor setting of skinnable components
...
It makes little sense to set these when using RelativeSizeAxes.Both
2020-10-14 19:16:34 +09:00