You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
========================== MAJOR FEATURES + CHANGES ========================== Change 2939164 on 2016/04/10 by John.Barrett Updated base UNetConnection netcode to be bit-based, rather than byte-based (to optimize packet size with PacketHandler's and Oodle) - this CL is interdependent with subsequent CL's. Fixed an issue with FBitReader, when inserting a non-byte-aligned number of bits, where it would fail to zero the unused bits, in the last byte - this led to corrupt reads, in the new termination bit code (subsequent CL). Added better overflow detection for FBitWriter - plus other additional asserts. Fixed a potential bug with control channel messages, where non-byte-aligned control channel messages that were queued for later sending, were stored as byte-aligned, causing bad (too large) data to be sent. Optimized MAX_PACKET_HEADER_BITS to save a bit. Change 2939169 on 2016/04/10 by John.Barrett NetcodeUnitTest maintenance. Added unit test for testing bit reader/writer limits. Added 'LogHex' debug command, for logging a hex-editor-style dump of selected memory data - without requiring a dependency on NetcodeUnitTest. Change 2939170 on 2016/04/10 by John.Barrett Added work-in-progress DoS/DDoS unit test. Change 2943718 on 2016/04/14 by John.Pollard Allow override of replay session ID + start using match ID for replays Change 2944678 on 2016/04/14 by Ryan.Gerleve Merging using Release-4.11_to_Dev-Networking: 4.11 hotfix change: fix for an assert that can occur when network clients call AActor::SetReplicates. SetReplicates will now only modify RemoteRole if Role is Authority and warn otherwise. #jira UE-27646 Change 2946909 on 2016/04/18 by John.Pollard Misc seamless travel cleanup + sanity checks * Cleanup the naming of variables and logic used to pick which actors will transfer to new world during seamless travel to more explicitly convey intent * Warn when there is no context for a world when destroying actors, it's likely that this world is the floating world during seamless travel, and if we hit this case, something is likely in a bad state Change 2948883 on 2016/04/19 by John.Pollard GitHub request: https://jira.ol.epicgames.net/browse/UE-29385 Change 2952109 on 2016/04/21 by John.Barrett Fixed false positive with FBitWriter overflow error log, in PackageMap code. Change 2953639 on 2016/04/22 by John.Barrett Fixed shadowed local variable - UE-29829 Change 2958267 on 2016/04/27 by John.Pollard Make vision manager more resilient to bad network data from old replays Change 2958410 on 2016/04/27 by John.Pollard Fix incorrect warning when ReceivedBunch fails for replays Change 2958411 on 2016/04/27 by John.Pollard Replay backwards compatibility fixes. * Mark custom properties/RPC's as incompatible if there was an error reading them in the stream, and ignore from there on out. * Don't close connection when failing to read properties on clients now that we can skip over this info easily. Change 2960134 on 2016/04/28 by Ryan.Gerleve Protect against adding null player controllers to the out list of UEngine::GetAllLocalPlayerControllers. See https://udn.unrealengine.com/questions/289948/uenginegetalllocalplayercontrollers-pushes-a-null.html Change 2960617 on 2016/04/29 by John.Barrett Made way for engine version code refactor. Change 2961050 on 2016/04/29 by John.Pollard Log when we send hello to server in pending net game Change 2961468 on 2016/04/29 by John.Pollard ReplayCompat: Show name of incompatible property when logging + log when we don't read correct number of bits + cleanup Change 2964357 on 2016/05/03 by John.Barrett Optimized netcode SerializeInt\WriteIntWrapped, to allow compile-time calculation of the data bit size. The runtime calculated version of these functions, has been adjusted to not assert on 1-bit sized writes - to fix a false positive in Paragon. Adjusted some FMath functions, to allow CONSTEXPR for compile-time calculation. Change 2964361 on 2016/05/03 by John.Barrett Update unit test to work with new integer serialization code. Change 2964831 on 2016/05/03 by John.Barrett Back out net serialization changes for now. Change 2964832 on 2016/05/03 by John.Barrett Back out unit test net serialization change. Change 2964838 on 2016/05/03 by John.Barrett Fix Paragon false positive netcode assert. Change 2966257 on 2016/05/04 by John.Pollard Unify network version logic + move to core * Move network version logic to core * Formalized concept of compatible network/replay changelist * Fixed up UDemoNetDriver to work with new version concepts * Fixed up Orion/other samples in the same way * This is first step to officially supporting backwards compatility for replays, and possibly networking in general (would be opt-in if so) Change 2966657 on 2016/05/04 by John.Pollard Deprecate GEngineNetVersion, GEngineMinNetVersion and GEngineNegotiationVersion Change 2968945 on 2016/05/06 by John.Pollard Print name of object that has NULL level Change 2970529 on 2016/05/09 by Bart.Bressler Add an optional "CapturePercentage" command line parameter that has a percentage chance of generating capture files per connection Change 2971233 on 2016/05/09 by Bart.Bressler Update Oodle DLLs in Orion Change 2975585 on 2016/05/12 by Bart.Bressler - Keep track of STAT_NumNetActors on clients as well as servers - Change STAT_NumActors to just be the world actor count instead of using FActorIterator (FActorIterator was causing a hitch) Change 2979207 on 2016/05/16 by Bart.Bressler Remove FActorIterator loop around world actor count retrieval in UNetDriver::TickFlush Change 2981198 on 2016/05/17 by John.Pollard Changes to support FN replays * Save streaming levels within network stream * Don't load streaming level if it's already in the list * Remove need for meta data Change 2981201 on 2016/05/17 by John.Pollard Forgot to check in Change 2982075 on 2016/05/18 by John.Pollard Cache network checksum so we don't spam log (we call this function more now) Change 2982092 on 2016/05/18 by John.Pollard Lower verbosity of log Change 2986571 on 2016/05/23 by Bart.Bressler Fix issue where oodle wasn't getting enabled in shipping correctly Change 2988628 on 2016/05/24 by Bart.Bressler When processing captures with the Oodle commandlet, only check files that end with "ucap" (there might be gzipped files that have the exact same filenames, for example) Change 2988838 on 2016/05/24 by Bart.Bressler - Add script to pull down captures from S3 - Add script to do the whole process from pulling down captures to generating dictionaries Change 2994575 on 2016/05/31 by John.Pollard Include networkversion.h in UnrealNetwork.h, this is so that older code will continue to compile that relied on network version code that used to be in this file Change 2996026 on 2016/06/01 by John.Pollard Add network version to FArchive Change 2996043 on 2016/06/01 by John.Pollard Store network version on NetConnection/Bunch, replays properly initialize these to current replay network versions Change 2996081 on 2016/06/01 by John.Pollard Remove unused FInBunch constructor Change 2996544 on 2016/06/01 by John.Pollard Make sure network version is correct for external data + set on connection after checkpoint Change 2996731 on 2016/06/01 by John.Pollard Set game network version for Orion Change 2997042 on 2016/06/01 by John.Pollard Fix issue when game server times out, and replay service turns off live replay flag, and we fail to download last chunk + more log info when replay http chunk downloading fails Change 2997908 on 2016/06/02 by Ryan.Gerleve Use the smoothed mesh transform for characters when recording client replays. Since the root component's transform may only be updated periodically, this greatly improves the quality of character movement. Change 2998001 on 2016/06/02 by Ryan.Gerleve Set the NetDriverName in the replay spectator's constructor. The replay spectator will always be associated with a DemoNetDriver and this fixes cases where GetNetMode could return the wrong value before the net driver name was set (such as during BeginPlay). Also inverted the logic in IsForPlayback() to make it more intuitive. Change 2998636 on 2016/06/02 by John.Pollard If we don't have enough external replay samples, use the best one Change 2998637 on 2016/06/02 by John.Pollard Clamp replay time Change 2998705 on 2016/06/02 by John.Pollard Replay fixes: * Fix issue when scrubbing to time 0, and first chunk takes longer than normal to download * Better streaming logic that works better with new backend delay logic * Better handling when replay flips from live to not live * Don't update StreamTimeRangeStart/End unless we got those values in the header response * Handle when we fail to download a chunk and HighPriorityEndTime is active Change 2998832 on 2016/06/02 by Ryan.Gerleve Fix an issue that could cause the replay spectator controller to not get the notification that the spectator class has been received while recording a client replay. Change 2999054 on 2016/06/02 by Ryan.Gerleve Added ability to set a maximum desired time budget for replay recording. Once the budget is reached, remaining actors will have to wait until the next frame to try to replicate. Change 2999057 on 2016/06/02 by Ryan.Gerleve Fixed an issue that could cause the main game world to use the incorrect vision manager when deathcam was enabled and the replay recording time budget was set very aggressively. In this case, AOrionVisionManager2::PostInitializeComponents would be called before the spectator player controller was spawned in the playback world, causing it to fail to find the local player and not initializing GKillcamVisionManager correctly. Change 2999749 on 2016/06/03 by Ryan.Gerleve RPCs will now be recorded in client replays. Cleaned up actor role swapping logic for client recording and re-use it for RPCs. Change 3000051 on 2016/06/03 by Ryan.Gerleve Fix Paragon server crash. #jira UE-31618 Change 3001361 on 2016/06/05 by Ryan.Gerleve Added support for prioritizing actors during replay recording to get better results when a maximum desired recording time is set. Added virtual function GetReplayPriority to Actor, similar to GetNetPriority, but allows different priorities for live networking and replays. Moved FCompareFActorPriority to a header so that the DemoNetDriver can use it. Change 3001365 on 2016/06/05 by Ryan.Gerleve Paragon now uses a desired recording time limit and enables actor prioritization for recording the deathcam replay. Change 3002094 on 2016/06/06 by Ryan.Gerleve Missed file from a main merge fixup. Change 3002417 on 2016/06/06 by Ryan.Gerleve Disabling a check to work around UE-31636 for now. Change 3002547 on 2016/06/06 by John.Barrett Added improved 'DebugDump' command option to the Oodle trainer commandlet - this takes UE4 .ucap capture files, and batch converts them into Oodle-example-code compatible .bin files. Use through the new BatchDebugDump.bat file. Change 3002989 on 2016/06/06 by John.Pollard Add ability to skip missing/changed properties in FFastArraySerializer Change 3003072 on 2016/06/06 by John.Pollard Fix crash related to new replay backwards compatibility changes #lockdown Nick.Penwarden [CL 3004618 by John Pollard in Main branch]