Commit Graph

12 Commits

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