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]
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]
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]
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]
* 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]
* 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]
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]
* 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]
* 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]
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]