Commit Graph

25 Commits

Author SHA1 Message Date
Bart Bressler
581564b074 Merging replay streaming changes from Orion branch
2620313 - Fix issue where we would get disconnected from the replay server if we paused for too long. Fixes OR-2753.

2628891 - First pass on bug replay events:
- pressing J when in a game saves a bug event
- loading that replay enumerates all bug events and adds them to the timeline bar

2630827 - Bugs on the replay timeline are clickable and will teleport the camera to the location where the bug was entered. Code is messy and needs cleanup.

2638789 - Add text box to replay list widget that filters replays by an event group

[CL 2638900 by Bart Bressler in Main branch]
2015-07-30 12:17:05 -04:00
Bart Bressler
ce68aa7a6e Integrate 2626341 from UE4-Orion
Integrating PeteK changes to allow custom events in replays

2623455 - Replay changes to allow custom events

#codereview david.ratti

[CL 2635371 by Bart Bressler in Main branch]
2015-07-28 10:29:52 -04:00
Ryan Gerleve
7eecaf4b84 [AUTOMERGE]
The engine now notifies the replay system about players who join in progress.

--------
Integrated using branch UT_To_UE4 of change#2592351 by Ryan.Gerleve on 2015/06/18 14:22:24.

[CL 2592935 by Ryan Gerleve in Main branch]
2015-06-18 19:20:06 -04:00
John Pollard
76b809171d Engine side support for viewing "My Replays"
[CL 2575908 by John Pollard in Main branch]
2015-06-03 14:37:38 -04:00
John Pollard
a4b74aae8f Add engine support to add participating users to replays
[CL 2574572 by John Pollard in Main branch]
2015-06-02 17:21:20 -04:00
John Pollard
ad4c9e60e6 Engine side support for replay meta tags
[CL 2574564 by John Pollard in Main branch]
2015-06-02 17:17:30 -04:00
John Pollard
887d869d49 Engine side work to support showing recently viewed replays
[CL 2574550 by John Pollard in Main branch]
2015-06-02 17:13:15 -04:00
Ryan Gerleve
bde543b16c Added an API on UGameInstance to make it easier to start recording, stop recording, and start playing back replays.
Fixes UE-6803, consumers no longer have to call Exec() to get this functionality.
Handlers for the "demorec", "demostop", and "demoplay" commands now use the new API.
NullNetworkReplayStreaming now stores and reports the replay's FriendlyName.

#codereview john.pollard

[CL 2528622 by Ryan Gerleve in Main branch]
2015-04-28 12:11:45 -04:00
Ryan Gerleve
035e60a55a FNullNetworkReplayStreamer now stores some extra metadata about each replay, including the total time, network version, and changelist with which it was saved.
FNullNetworkReplayStreamer::EnumerateStreams now respects the version passed in (you can pass in 0 to enumerate all versions).
FNullNetworkReplayStreamer::GetTotalDemoTime now returns the correct value.
Fixes UE-13611 and UE-13612.

[CL 2521362 by Ryan Gerleve in Main branch]
2015-04-22 14:06:26 -04:00
Ryan Gerleve
a685ba8f72 INetworkReplayStreamer::StartStreaming now takes a CustomName and a FriendlyName
Demorec command and URL option name parameter is now optional, if it isn't provided the streamer implementation will automatically generate CustomName, and the FriendlyName will be the map name
Logic to auto-generate demo names moved out of ShooterGame and into NullNetworkReplayStreaming

[CL 2506853 by Ryan Gerleve in Main branch]
2015-04-09 11:29:06 -04:00
Ryan Gerleve
09dd4712f8 Implement checkpoints and fine-grained scrubbing in FNullNetworkReplayStreamer.
FNullNetworkReplayStreamer now stores the demo header in a separate file to facilitate scrubbing to the beginning of the replay stream.
DemoNetDriver now handles errors when StartStreaming calls the FOnStreamDelegate inside its implementation. Fixes getting stuck on the loading screen in ShooterGame if FNullNetworkReplayStreamer::StartStreaming fails.

[CL 2506027 by Ryan Gerleve in Main branch]
2015-04-08 18:10:44 -04:00
John Pollard
4e9ea7ae11 Better logic used to jump to the end of live games, allows the initial load to settle down so that we can get a more fresh time to jump to
[CL 2505628 by John Pollard in Main branch]
2015-04-08 15:04:19 -04:00
John Pollard
3d25697f3a When starting live replays, jump to as close as live as possible
[CL 2505621 by John Pollard in Main branch]
2015-04-08 15:02:20 -04:00
John Pollard
ae03e98d9c We now pass in app string, version and changelist to replay server.
[CL 2499302 by John Pollard in Main branch]
2015-04-01 19:15:23 -04:00
John Pollard
e02276491f Merge: Initiall replay fine scrubbing support.
* You can scrub to any time on the timeline
* Use demo.GotoTimeInSeconds to test
* You can now scrub to very beginning of timeline
* Ability to enumerate checkpoints as events
* Continue to enumerate checkpoints in the background for live games
* Improved comments
* Cleanup

[CL 2493652 by John Pollard in Main branch]
2015-03-27 09:13:08 -04:00
John Pollard
cf7df47f44 Initial network replay checkpoint implementation
[CL 2483412 by John Pollard in Main branch]
2015-03-18 15:03:50 -04:00
John Pollard
8f7d37ca01 Network replay skip time fixes and cleanup.
* Added initial ability to set a replay time range as high priority so that the streamer will quickly download that section
* Added initial ability to check if a range of time has been downloaded for a replay
* Refactored replays to store absolute time in MS each frame
* Simplified the ReadDemoFrame loop
* Added ability for http streamer to report that the file stream is at the end (bAtEndOfReplay)
* Bumped replay file version

[CL 2474351 by John Pollard in Main branch]
2015-03-10 17:22:45 -04:00
John Pollard
8c5930cad1 Merge: Add error handling to network replay interface
[CL 2467969 by John Pollard in Main branch]
2015-03-03 15:14:36 -05:00
John Pollard
2cf91e8047 Add ability for network replay interface to track total demo time during live recording and playback
[CL 2450347 by John Pollard in Main branch]
2015-02-18 12:18:19 -05:00
John Pollard
862a0afbdb Engine side modifications necessary for http replay stream enumeration + cap max demo name in ShooterGame demo browser
[CL 2447643 by John Pollard in Main branch]
2015-02-16 15:02:53 -05:00
Ryan Gerleve
497ef7caef Added functions to NetworkReplayStreaming to enumerate and delete streams, and to check whether a stream is live.
Implemented in the Null module, stubbed for the HTTP module.
ShooterGame now uses these functions in the demo list menu.

[CL 2445451 by Ryan Gerleve in Main branch]
2015-02-13 16:39:03 -05:00
John Pollard
3aa1a83f68 Http replay streamer work
* Actual engine network version is now used when uploading streams
* Fixed bug when replay server would shutdown and engine would continually keep trying to upload streams

[CL 2440743 by John Pollard in Main branch]
2015-02-10 19:38:05 -05:00
John Pollard
fb26abdc04 Network replay changes.
* Added ability to check if data is available to replay streamer interface
* Added concept of header archive to replay streaming interface
* Http streamer now separates header into separate file
* Http streamer now supports downloading stream on demand in chunks
* Changes necessary to network replay engine to support downloading replay on demand

[CL 2439012 by John Pollard in Main branch]
2015-02-09 18:50:47 -05:00
Ryan Gerleve
939414c358 Network demo metadata that was written out at the end of recording is now written to a separate file to facilitate streaming the main demo file. Demo version bumped!
The DemoNetDriver is resilient to missing metadata files, and will still attempt to play the stream.
Each demo is now stored in its own directory with its metadata file.
NullNetworkReplayStreaming now handles generating the full path to the demo files, instead of the demorec and demoplay command handlers.
Updated ShooterGame to work with new directory structure.

#codereview john.pollard

[CL 2435846 by Ryan Gerleve in Main branch]
2015-02-06 14:54:13 -05:00
John Pollard
55206b7c2b Initial reference/null network replay streaming implementation
[CL 2433988 by John Pollard in Main branch]
2015-02-05 14:29:12 -05:00