Commit Graph

2070 Commits

Author SHA1 Message Date
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