#rnx
#rb none
#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869210 via CL 10869511 via CL 10869900
#ROBOMERGE-BOT: (v613-10869866)
[CL 10870549 by ryan durand in Main branch]
#rb none
#lockdown Nick.Penwarden
=================================================================================================
THESE CHANGES TOUCH MULTIPLE PLATFORMS AND/OR RESTRICTED FOLDERS.
YOU MUST REVIEW THESE MANUALLY AND APPEND THEM TO THE DESCRIPTIONS FOR THE APPROPRIATE PLATFORMS.
=================================================================================================
Change 3662267 by Nick.Darnell
Engine - Fixing a bug in GetAccurateRealTime, it wasn't subtracting GStartTime, which if you don't prevents accurate platform time when you try to store it in a float.
#jira nojira
Change 3662176 by Ben.Marsh
Disable image integrity report generation if a debugger is attached, and in editor builds.
#jira FORT-55656
Change 3656958 by Luke.Thatcher
[FORTNITE] [CONSOLE] [+] Improved frame syncing mechanism
- Improves input latency by allowing the game thread to sync to the swap chain flip of the previous frame.
- Added "r.GTSyncType" CVar to control how the game thread syncs with the rest of the pipe.
- r.GTSyncType 2 will sync the game thread with the flip of the swap chain, preventing the pipe from getting too long and causing excess input latency.
Platforms are required to implement RHIWaitForFlip and RHISignalFlipEvent, and call RHIInitializeFlipTracking on RHI startup.
A separate thread monitors the progress of frame flips and signals task graph events as they pass their corresponding frame index.
In r.GTSyncType 2 mode, the game thread is signaled by this flip tracking thread.
[~] Unified platform specific sync interval CVars (D3D12.SyncInterval, D3D11.SyncInterval, r.PS4FlipRate, RHI.SyncIntervalOgl) into one: rhi.SyncInterval
- 1 == 60Hz
- 2 == 30Hz
- 3 == 20Hz
[-] Removed large number in XboxOneTime. Adding this arbitrary number prevents us from comparing timestamps from FPlatformTime::Seconds() and various OS callbacks (e.g. flip timings).
#jira FORT-50803
Change 3655598 by Lukasz.Furman
added filtering for navmesh's low height spans to fix crash on layer partitioning
% of span reductions depends on presence of stair or roof building in navmesh tile, changed failsafes in layer code to ignore entire tile if heightfield is too complex to partition instead of reallocating memory
#jira FORT-35375
Change 3648972 by Keith.Judge
Add analytics to help diagnose default parameter collection buffer issue.
+++ REMOVE ONCE CORE ISSUE IS SOLVED +++
#jira FORT-54690
Change 3648756 by Bart.Hawthorne
Integrate 3645298 from //UE4/Dev-Networking
Deprecate GetNetworkObjectInfo in favor of separate FindNetworkObjectInfo and FindOrCreateNetworkObjectInfo methods.
#jira none
Change 3643090 by Josh.Markiewicz
#UE4 - proper handling of "pending connection lost"
- triggered only if a connection is lost and there no "owning actor" to deal with the connection loss
-- added Rejoin and CleanedUp states to connection to make sure that the pending connection lost delegate only fires at the appropriate time
- delegate returns the unique id of the player if known (still possible to be unknown if connection lost after NMT_Hello)
- changed debug output on timeout if the net connection was already in the process of being destroyed
-- occurs when game hitches during the pending destroy 2 second wait
-- ReceivedAcks should have been called to clean things up quietly in those 2 seconds but blocking the game thread will cause the cleanup to look like a timeout
- added userid to UNetConnection::Describe
- bad split screen player handling of unique id
-- splitscreen uniqueid was overwriting the primary player id
-- only store the id on the child connection
- added some clarifying comments
#review-3642816 @ryan.gerleve, @bob.tellez, @sam.zamani, @bart.hawthorne, @dave.ratti
#jira FORT-26776
Change 3639043 by Alex.Thurman
Fix CommonTreeView SetSelection to correctly update list navigation, and behave similarly to CommonListView's SetSelectedItem.
#JIRA FORT-45841
Change 3632275 by Seth.Weedin
#JIRA FORT-54203 - Add clamps to ActiveSound fade interpolation to prevent unwanted volume spikes. Remove 0.01 start time for single-fire audio cues. Should remove the sudden pops sometimes heard when firing weapons, as well as smooth out fade volume in general.
Change 3626944 by Josh.Markiewicz
#UE4 - added "updates connection status" flag to ServiceConfigMCP
- disable updates on Cloud and Friend services (Fortnite only)
- removed overloaded ProcessConnectionStatus function in cloud service
#jira FORT-53113
Change 3626226 by Stewart.Lynch
LLM Update - Memory reductions, Summary page, enum scopes, refactor and cleanup of tags
* Remove all static arrays and hard limits from LLM. Everything is now dynamically allocated using the internal LLM allocators. The overhead when LLM is disabled is now only 48K (was 40MB)
* re-wrote LLMMap. Now stores an int32 index rather then pointer in the HashMap array. Also, changed the Values to be arrays for structs instead of structs of arrays. Means that the tag can be stored in a single byte. Changed the size of the allocation size from int64 to int32. All this takes the memory down from around 600MB to 100MB. It was 120 bytes per allocation, now 29 bytes.
* changed all LLM scopes over to enums. This has a number of benefits; LLM can be enable in Test, less CPU overhead, stored in a byte (LLM overhead /= 8)
* summary page for content creators where all lower-level stats are grouped under one Engine stat
* renamed ELLMScopeTag enum to ELLMTag
* renamed LLM_SCOPED_TAG_WITH_ENUM macro to LLM_SCOPE
* removed Tracker arg from LLM_SCOPE and added LLM_PLATFORM_SCOPE macro
* fixed GenericPlatformMallocCrash stat. Although it seems not be be used anymore
* fixed BackupOOMMemoryPool stat (now shows in both default and platform pages)
* added separate LLM enums for XB1, PS4 and D3D12 (PS4LLM.cpp/h etc.)
* lots of changes adding/removing/renaming tags
* added LLMArray and FLLMObjectAllocator classes
* disabled asset tag tracking by default because it takes up so much memory even when not used
* enable LLM in all non-shipping builds. In Test the on screendisplay won't show because it uses the stats system but it till still write out the csv.
* all the stat macros have been left as they were and can be enabled on the LLM_STAT_TAGS_ENABLED define. These are needed for the asset tagging.
* disabled LLM_TRACK_PEAK_MEMORY because there is a problem with the way it adds the peaks for multiple threads. This needs to be fixed.
* added a CVar to control the csv write interval: LLM.LLMWriteInterval
* added static arrays for the enum tags setup. Easier to manage and removes need for slow switch statements.
* renamed FLLMThreadStateManager to FLLMTracker to make it consistent with the enum
* fixed program size stat which was broken recently on PS4. This was due to initialisation order and global platform stats setup
#jira NONE-01
Change 3622978 by Lukasz.Furman
changed WeaponStatus BT decorator to be event driven, fixes AI trying to check ranged weapon abilities without valid weapon
includes copy of CL# 3620700
#jira FORT-45914
#review-3622979 John.Abercrombie
Change 3622340 by Josh.Markiewicz
#UE4 - playerid netconnection variable setup properly on clients and servers for both beacons and game net drivers
- ipconnection prints uniqueid with lowleveldescribe
#jira fort-0
Change 3621386 by Tim.Tillotson
Add the ability to retry HTTP operations by VERB. This allows us to automatically retry cloud save PUT operations.
#JIRA FORT-53717
#review-3621317 @Josh.Markiewicz @Ian.Fox @Carlos.Cuello
Change 3620517 by Keith.Judge
Xbox One - Revert iOS behaviour for the depth bias back to how it was, and make separate XB1 change use its own define to avoid confusion.
#jira FORT-53928
Change 3620248 by Lukasz.Furman
changed behavior of UBTTask_MoveTo.bStopOnOverlap flag after recent AcceptanceRadius fix, updated comments to be more detailed
#jira nojira
Change 3616187 by Bob.Tellez
#UE4 Throwing an error (for now) if you attempt to use both the malloc profiler and leak detection at the same time since it causes a deadlock.
#JIRA UE-0
Change 3613935 by Peter.Knepley
More logging on update launcher launching
#jira nojira
#robomerge rp rn
Change 3613537 by Marcus.Wassmer
Safety asserts around the MarkPendingKill feature for rendering classes.
#jira FORT-50385
Change 3613399 by Arne.Schober
Extended ShowMaterialDrawEvents to enable it only in very specific passes and default enabled Depth for Fortnite on PS4 to track down a crash.
#RB Marcus.Wassmer
#jira FORT-53610
Change 3610794 by robomerge
#ROBOMERGE-AUTHOR: marc.audy
Reduce UMG class memory
#jira UE-52043
#ROBOMERGE-SOURCE: CL 3610792 in //Fortnite/Release-Prep/...
#ROBOMERGE-BOT: FORTNITE (Release-Prep -> Main)
Change 3610144 by Stewart.Lynch
General LLM improvements
* added tracking for misc task graph tasks (moves 20MB out of Untagged)
* renamed EngineTick to EngineMisc
* added tracking for FName
* added tracking for GC_ProcessObjectArray potential leak
* renamed index & vertex buffers stat to Meshes
* added hooks for MemPro to track allocations from a single category. Currently defined out. I haven't added MemPro.cpp/h.
* removed AVAILABLE_PHYSICAL stat from LLM csv
* csv files now include the date in the filename
* fixed potential threading bug when reading stat values to csv
* made IsDebugMemoryEnabled() always return false in shipping and if not runnong on a dev-kit (PS4). The reason is that the function is a bit hacky, and should only be used for debug purposes, such as displaying the on screen warning.
* added lots more scopes
* started changing Stat scopes to enum scopes. Stat scopes will be phased out.
* added tracking of FName memory
* added llmplatform tracking for XBoxSymbols
* added llm tracking for CPU symbol allocations (20MB)
* wrote an allocator for XBoxOneStack reading so that it doesn't go through Malloc and get tracked by LLM.
* added tracking for GC
* fixed tracking for TransientMemoryAllocator
* added tracking for networking memory
* added more audio memory tracking
* added tracking for blueprints
* added tracking for static meshes
* show on screen warning if debug memory is enabled
* added tracking for particles
* renamed Phys to PhysX and added more scopes
* renamed Slate to UI and added more scopes
* much better coverage of networking memory
* improved coverage of audio
#jira FORT-53420
Change 3610136 by robomerge
#ROBOMERGE-AUTHOR: marc.audy
Reduce size of UStaticMeshComponent by 224 bytes (cumulative, 64 bytes exclusive)
Reduce size of UPrimitiveComponent by 176 bytes (cumulative, 64 bytes exclusive).
Reduce size of USceneComponent by 112 bytes.
Reduce size of FLightingChannels from 3 bytes to 1.
Reduce size of FBodyInstance by 16 bytes.
#jira FORT-52043
#ROBOMERGE-SOURCE: CL 3610134 in //Fortnite/Release-Prep/...
#ROBOMERGE-BOT: FORTNITE (Release-Prep -> Main)
Change 3607937 by robomerge
#ROBOMERGE-AUTHOR: paul.moore
#jira FORT-53105
- Fix websocket not providing information when the peer closes the connection.
#ROBOMERGE-SOURCE: CL 3607933 in //Fortnite/Release-Prep/...
#ROBOMERGE-BOT: FORTNITE (Release-Prep -> Main)
Change 3607042 by Bart.Hawthorne
Move replay.Loop functionality into the demo net driver and rename it demo.Loop
#jira none
Change 3605448 by robomerge
#ROBOMERGE-AUTHOR: seth.weedin
#Athena - Pass owner to ActiveSounds created using PlaySoundAtLocation/PlaySound2D to allow "Limit to Owner" concurrency rules to work. Hook up for weapon sounds. #JIRA FORT-53180
#ROBOMERGE-SOURCE: CL 3605443 in //Fortnite/Release-Prep/...
#ROBOMERGE-BOT: FORTNITE (Release-Prep -> Main)
Change 3604787 by robomerge
#ROBOMERGE-AUTHOR: mike.fricker
Initial support for hotfixing live assets from .ini files
- This allows clients and server to patch certain assets in memory whenever .ini file hotfixes are downloaded
- Only CurveTables and DataTables are supported for now
- The new asset content must be in Json format, the same format the editor uses for importing
- Assets that are hotfixed will be synchronously loaded if they're not already in memory. They'll be retained in memory afterwards.
- IMPORTANT: Json data must be supplied on a single line, and all double quotes must be escaped!
- The changes must go in the Game.ini file and use the following syntax:
[AssetHotfix]
+CurveTable=("/Game/Folder/MyCurveTable","[{\"Name\":\"Default\"}]")
+DataTable=("/Game/Folder2/MyDataTable","[{\"Name\":\"Foo\"}]")
#jira FORT-52099
[CODEREVIEW] frank.gigliotti
[FYI] peter.knepley,bob.tellez
#ROBOMERGE-SOURCE: CL 3604784 in //Fortnite/Release-Prep/...
#ROBOMERGE-BOT: FORTNITE (Release-Prep -> Main)
Change 3602067 by robomerge
#ROBOMERGE-AUTHOR: mike.fricker
Loading time improvements
- This shaves off up to 10 seconds of load time on PS4 in Athena
Details:
- Fixed multiple sub-levels not being able to be enqueued for loading in a single client frame. Athena has ~300 sub-levels, so this ended up wasting up many seconds.
- Fixed 3D world being rendered while loading (frees up game thread cycles for throttled streaming)
- UWorld::AllowLevelLoadRequests() was not allowing load requests to go through while an async load was in progress and the match had started. It now allows this as long as the world isn't being rendered (loading screen.)
- Eliminated extra 2 second delay before loading screen is dismissed (in Athena only)
- Note: A side effect of this change is that the progress bar may not update as smoothly on loading screen. We'll look at tuning the throttle settings if it ends up being a problem.
[CODEREVIEW] ori.cohen
#jira AT-1477
#ROBOMERGE-SOURCE: CL 3602061 in //Fortnite/Release-Prep/...
#ROBOMERGE-BOT: FORTNITE (Release-Prep -> Main)
Change 3601951 by Luke.Thatcher
[FORTNITE] [PS4] [!] Fix memory stats in the old PS4 memory system
- Physical memory stat now includes garlic and onion allocations. CPU OOMs will result in "AvailablePhysical" being close to 0.
- Added garlic, onion and defrag stats to the platform memory stats struct.
- Added fixed pool sizes to platform memory stats.
- Modified the Fortnite heartbeat logging to include extra details of PS4 fixed sized pools.
#jira FORT-52910
Change 3600340 by robomerge
#ROBOMERGE-AUTHOR: wes.hunt
All Fort analytics events now contain a GameState attribute indicating the active GameState ClassName when the event is sent.
Added some new context to crashreporter to help identify Athena matches near and long term.
* Near Term: GameNameSuffix - set via FCoreDelegates::CrashOverrideParamsChanged
* Added bools to the params to indicate WHICH ones are changing
* Allows you to set only some values, and clear them out.
* Hooked up in FortGameState::PostInitializeComponents.
* FortGameState clears it (for returning to main menu).
* FortGameStateAthena sets it (for going into an Athena match).
* Only does this when it's a true GameMode GameState instance (ie, not PIE) so PIE crashes aren't modified.
* Long Term: GameStateName - set via FCoreDelegates::GameStateClassChanged.
* This works for ANY crash on ANY game.
* Hooked up in GameState::HandleMatchIsWaitingToStart.
#jira AT-1457
#jira AT-519
[CODEREVIEW] peter.knepley,josh.markiewicz
#ROBOMERGE-SOURCE: CL 3600278 in //Fortnite/Release-Prep/...
#ROBOMERGE-BOT: FORTNITE (Release-Prep -> Main)
Change 3597593 by Ben.Zeigler
#jira FORT-50722
Fix issues where AssetBundles weren't being correctly updated during cook, which is blocking both Noland and Abercrombie
Partial copy of CL #3402335 and #3526538
#robomerge rp, rn
Change 3597577 by Luke.Thatcher
[FORTNITE] [PS4] [~] Modified the way memory is allocated on Playstation to make more memory available to the CPU.
- Previously the amount of texture memory wasn╞t fixed due to the way the defrag memory is allocated on PS4. This meant we had to have a significant amount of slack.
- With the new configuration, we have a guaranteed texture memory pool, so the slack can be significantly smaller, meaning we can give more memory to the CPU, which is where most of our memory pressure is.
#jira FORT-50825
#jira FORT-49688
#jira FORT-49695
#jira FORT-50054
Change 3596556 by robomerge
#ROBOMERGE-AUTHOR: mike.fricker
Enable GC clustering for actors and blueprints in Fortnite
- This shaves off about 10 ms on GC frames in Athena on PS4 (~52 ms -> 42 ms)
- Clustering doesn't work on building actors because they're very dynamic, but general Fort static meshes and blueprints are clustered!
- This gets us into the realm of shippability on console for very large UObject counts
[FYI] bob.tellez,peter.knepley,michael.noland
#jira AT-1440
#ROBOMERGE-SOURCE: CL 3596552 in //Fortnite/Release-Prep/...
#ROBOMERGE-BOT: FORTNITE (Release-Prep -> Main)
Change 3593994 by robomerge
#ROBOMERGE-AUTHOR: mike.fricker
Force largest distance field atlas size in Athena
- We now force the largest distance field atlas size before preloading Athena content (512x512x1024 = 256 MB). This helps with load times because it's expensive to re-create this texture on consoles, and typically it gets resized over a dozen times.
- Added new CVar "r.DistanceFields.ForceMaxAtlasSize" (defaults to zero)
- Important: Currently we never "reset" this atlas texture. This will be a problem when going back to play Campaigns after preloading to play Athena. I will look into this soon!
[CODEREVIEW] peter.knepley,marcus.wassmer,michael.noland,daniel.wright
#jira AT-1477
#ROBOMERGE-SOURCE: CL 3593992 in //Fortnite/Release-Prep/...
#ROBOMERGE-BOT: FORTNITE (Release-Prep -> Main)
Change 3592096 by robomerge
#ROBOMERGE-AUTHOR: ben.salem
Prototype of gauntlet memory soak test. Not fully fiinished, but want changes in tonight's cook so we can experiment on cooked build tomorrow morning.
#jira FORT-0
#ROBOMERGE-SOURCE: CL 3592025 in //Fortnite/Release-Prep/...
#ROBOMERGE-BOT: FORTNITE (Release-Prep -> Main)
Change 3592085 by robomerge
#ROBOMERGE-AUTHOR: mike.fricker
HLOD: Added support for a fixed distance override via CVar
- Use this to force all HLODs to transition at a specific distance, regardless of their TransitionSize/MinDrawDistance/LODDrawDistance
- New CVar: r.HLOD.DistanceOverride (defaults to 0)
- Fortnite uses 350m for this distance, fornow
[CODEREVIEW] jurre.debaare
#jira AT-1462
#ROBOMERGE-SOURCE: CL 3591929 in //Fortnite/Release-Prep/...
#ROBOMERGE-BOT: FORTNITE (Release-Prep -> Main)
Change 3587391 by Michael.Noland
Fortnite: Lots of memory tracking stuff
- Added memory logging to game state transitions and overall health tracking for the entire session
- Added support for Gauntlet-based tests to Fortnite
- Enabled the Gauntlet plugin (and fixed spaces instead of tabs in the .uproject file)
- Added code to set gauntlet state based on the current subclass of AFortGameState
- Added a base controller and a memory report controller (WIP, ported from equivalents in Paragon)
- Updated FortniteClient to use MALLOC_LEAKDETECTION=1, PLATFORM_USES_FIXED_GMalloc_CLASS=0, and AllowASLRInShipping=false in Development builds (may enable them in Test builds in a future CL, to match Paragon)
#jira FORT-50567
Change 3583307 by Peter.Knepley
Need non-jittered ViewToClip matrix in order to do "after tonemapper" postprocess blendable material that's positioned in view space
Modify the AttachScope material function to use "ViewSpaceTransformToClipSpace" instead of going back to world space first. This also means it can utilitize the ViewToClipNoAA matrix.
#jira AT-733
Change 3582378 by Luke.Thatcher
[FORTNITE] [~] Unify Xbox and PS4 scalability settings and device profiles.
- All Xbox and PS4 r. CVars are overriden in their platform's Scalability.ini file. The device profile only selects sg. groups.
- Fixed the Neo 4K profile for Fortnite. Previously players with 4K monitors would choose the Neo_4K profile, which looks worse than Neo, but still renders at 1080p.
- Console specific settings have to live in the Base/Default .ini's, as the cooker doesn't load the console specific files. This is fixed in UE4 Main.
#jira FORT-50206
Change 3580934 by Luke.Thatcher
[FORTNITE] [PS4] [+] Support different garlic and onion heap sizes in the old memory system for base and neo.
- Neo has 512 MB more direct memory than a base kit.
- Increased the garlic heap size by 416 MB on Neo, and CPU heap by 96 MB.
#jira FORT-50206
Change 3576664 by Bart.Hawthorne
Re-enable Oodle and add Mac implementation. Also includes fixed oodle libraries by MichaelT.
#jira FORT-49986
#tests Connected to PC server with editor -game build on Mac in Athena
Change 3575671 by Nick.Darnell
Athena - The gameplay ability system now supports adding Gameplay Cue's with params. Now using cues instead of gameplay effects in order to notify when the bandaging/shielding begin and end. THe new method should properly show and disappear on time, b/c it's all client side. Added a way in the Athena Context to easily hook gameplay "UI" cues that are rebroadcast from the Athena Pawn.
#jira AT-644
Change 3575534 by Peter.Knepley
Ability montage replication optimizations
#jira AT-955
Change 3573305 by Lukasz.Furman
disabled path section update when crowd simulated AI is moving through navlink, fixed AI getting stuck in some corners
#jira FORT-49748
Change 3566775 by John.Abercrombie
Optimizations from Dev-Athena
- Tested with PIE & and 2 Player local server game
#ue4-athena - (merge CLs 3345771 and 3363030 from Framework) - Refactored CharacterMovementComponent determination of net send rate when combining moves into a virtual function GetClientNetSendDeltaTime(). Added configurable values to GameNetworkManager under [/Script/Engine.GameNetworkManager].
For Fortnite, set unthrottled (<= 10 player) limit to 60Hz (from 90Hz), and trying throttled at 30Hz (from 45Hz).
#AUTOMERGE using branch //Fortnite/Main-To-//Fortnite/Dev-Athena (reversed) of change#3545535 by Zak.Middleton on 2017/07/19 20:15:17.
#ue4-athena - (merge CL 3377054 from Framework) - Fix CharacterMovementComponent updated with very high delta time on server when initially joining. Make sure the ServerTimeStamp is initialized to current world time rather than zero to prevent large delta.
#AUTOMERGE using branch //Fortnite/Main-To-//Fortnite/Dev-Athena (reversed) of change#3545452 by Zak.Middleton on 2017/07/19 18:57:45.
#athena - If network smoothing mode is not linear, don't replicate ReplicatedServerLastTransformUpdateTimeStamp. Only AI use linear smoothing in FN.
#AUTOMERGE using branch //Fortnite/Main-To-//Fortnite/Dev-Athena (reversed) of change#3545559 by Zak.Middleton on 2017/07/19 20:47:18.
#ue4-athena - Converted all RPCs on UCharacterMovementComponent to be on ACharacter instead, to avoid the bandwidth overhead of calling RPCs on a component.
Existing overrides of _Implementation and _Validate functions should remain unchanged. If for some reason someone overrode the old RPC virtuals, those are now non-virtual on UCharacterMovementComponent but are still virtual on ACharacter.
#AUTOMERGE using branch //Fortnite/Main-To-//Fortnite/Dev-Athena (reversed) of change#3557564 by Zak.Middleton on 2017/07/26 20:13:43.
#ue4-athena - Throttle character movement server corrections and acks to the client based on time since last adjustment. Cuts down on network traffic for character movement.
Added configurable settings to control this. Set times to zero to disable this.
- NetworkMinTimeBetweenClientAckGoodMove
- NetworkMinTimeBetweenClientAdjustments
- NetworkMinTimeBetweenClientAdjustmentsLargeCorrection
- NetworkLargeClientCorrectionDistance
#ue4-athena - Perf: (EditMerge CL 3492200 from Dev-Framework): Always reset the input array in AActor::GetComponents(), but do so without affecting allocated size.
#AUTOMERGE using branch //Fortnite/Main-To-//Fortnite/Dev-Athena (reversed) of change#3561669 by Zak.Middleton on 2017/07/28 14:16:19.
#ue4-athena - Perf: (EditMerge CL 3468253 from Dev-AnimPhys): Remove the need for calling constructors for physx PxRaycastHit in the dynamic hit result buffer. Saves 30% of the cost of doing small raycasts.
#AUTOMERGE using branch //Fortnite/Main-To-//Fortnite/Dev-Athena (reversed) of change#3561672 by Zak.Middleton on 2017/07/28 14:17:12.
#ue4-athena - Perf: (EditMerge CL 3359553 from Dev-Framework): Optimization in CharacterMovement tick to not extract transform values twice.
#AUTOMERGE using branch //Fortnite/Main-To-//Fortnite/Dev-Athena (reversed) of change#3561674 by Zak.Middleton on 2017/07/28 14:18:04.
#ue4-athena - Perf: (EditMerge CL 3426174 from Dev-Framework): Avoid call to virtual getSimulationFilterData() to only use it when needed in PreFilter if we actually have items in the IgnoreComponents list (which is rare). The sim filter data 'word2' stores the component ID.
#AUTOMERGE using branch //Fortnite/Main-To-//Fortnite/Dev-Athena (reversed) of change#3561709 by Zak.Middleton on 2017/07/28 14:32:11.
#ue4-athena - Perf: (EditMerge CL 3382054 from Dev-Framework): Optimize CharacterMovementComponent::GetPredictionData_Client_Character() and GetPredictionData_Server_Character() to remove virtual calls.
#AUTOMERGE using branch //Fortnite/Main-To-//Fortnite/Dev-Athena (reversed) of change#3561856 by Zak.Middleton on 2017/07/28 15:11:57.
#ue4-athena - Use less bandwidth for CharacterMovement RPCs when the character is not standing on any component (ie during jumps and falling). Added separate "...NoBase()" versions of ServerMove() and ServerMoveDual().
Undid part of 3557564 and restored the CMC functions to be virtual, and removed virtual keyword from matching Character functions, so that overrides are in one consistent place. Also guarantees backwards compat for licensees.
#AUTOMERGE using branch //Fortnite/Main-To-//Fortnite/Dev-Athena (reversed) of change#3564858 by Zak.Middleton on 2017/07/31 15:24:39.
#jira Fort-1
Change 3562825 by Chris.Gagnon
Added CommonCustomNavigation Widget, this widget can be used to capture navigation requests to handle in custom ways.
#jira FORT-0
Change 3562098 by Josh.Markiewicz
#UE4 Encryption token/ack changes
- moved encryption token request/ack to delegates
- moved FNetworkNotify to NetworkDelegates.h
- moved connection logic out of GameInstance and back into networking code
-- GameInstance sends an enum and the network code does the right thing based on that
#review-3559694 @ryan.gerleve
#tests PC dedicated server connections golden path and forced failures
#jira FORT-0
Change 3559354 by Luke.Thatcher
[FORTNITE] [PS4] [^] Merging (as edit) support for setting flip rate on PS4 (CLs 3555687 and 3558843) from //Fortnite/Dev-Athena/... to //Fortnite/Main/...
- Allowed rates are now 60Hz, 30Hz and 20Hz.
- Exposed by r.PS4FlipRate CVar, set to 60Hz by default. Requires r.Vsync 1.
#jira FORT-49463
Change 3532644 by Jeff.Campeau
Fix mapping current culture to movie audio channels using data table to map languages to track indices.
Don't rewind cinematics (they all start from the begining because we load them and play them once). Seeks cause us to have to redecode video frames at a large perf cost.
Delay cutscene playback by 0.5 seconds to give us time to build up a buffer of decoded video. (Temporary workaround for audio/video sync).
Generic implementation for getting current languages in BP.
Fix more issues with calling into media source functionality when using the source reader (potential hangs).
#jira FORT-44376,FORT-48209,FORT-48040
#testedon Preflight from last night combined with Bob's changes from today clear all known issues. This change tested on Xbox and PC multiple times each.
Change 3527761 by Chris.Gagnon
Fixed various issues in the widget switcher, also added Advanced calls that allow the user to specify if activation/deactivation should occur.
#jira FORT-47988, FORT-47984
Change 3525390 by Jeff.Campeau
Remove media player log spam
#jira FORT-47393
#testedon compiled client
Change 3518692 by Chris.Gagnon
Added CleanOperation Adding which will remove unneeded op combinations from the op queue.
Also added the ability to suspend starting operation queue processing to allow complex operations to accumulate and in turn allow the Clean Op adding code to be effective.
GameFeedback, and the widget switcer utilize this to avoid unnesacary activations of a screen that is immediately being deactivated.
Root issue of the mentioned bug is that activation of the quest screen created a latent navigation du to the deferal of scrolling into view.
This is still an issue in general, there isn't much we can do about it. Other than avoid activating a panel that will deactivated that frame as we did with the code changes in this CL.
#jira FORT-47395
Change 3514658 by Jeff.Campeau
Fixed a media player threading issue where the OnMediaOpened event could be called before the media Init script completed.
Moved the event Cinematic used when setting up and playing media after media file load to use a delayed event from the MovieWidget so that it will always happen after the movie widget processing.
Fixed an issue that could cause samples to leak in MfMedia plugin and cause ReadSample to lockup.
Fixed an issue where a default texture is displayed for movies before the movie starts playing (the player may be active before the first frame of the video is decoded). Default is now all black as it is expected that this texture will be displayed for several frames.
#jira FORT-46801
#testedon Xbox through rocket launch cinematic including vintertip for stairs, skill tree nodes, and victory result video
Change 3507896 by Ryan.Gerleve
Changed the net.UseEncryptionToken to be more useful and renamed it to net.AllowEncryption.
This cvar, if 0, will prevent the PacketHandler from adding the configured encryption component, and prevent UPendingNetGame and AOnlineBeaconClient from filling out the EncryptionToken parameter of NMT_Hello - which prevents the extra encryption handshake connection step.
#jira FORT-46878
#review-3507897 @josh.markiewicz
Change 3503928 by Ryan.Gerleve
Add safety checks around some of the encryption functionality. Fixes a server crash seen during load testing.
#jira FORT-46772
#review-3503929 bob.tellez
#robomerge ReleaseNext
[CL 3673993 by Bob Tellez in Main branch]
#lockdown Nick.Penwarden
Change 3358916 on 2017/03/22 by Andrew.Grant
Merging //Orion/Main to Dev-General (//Orion/Dev-General)
#!tests #!rb na
Change 3357395 on 2017/03/21 by Daniel.Lamb
Added some more custom stats to the cooker.
Only cook the english cook culture when we are running local builds.
#!rb Trivial
#!test Iterative shared cooked builds paragon
Change 3357377 on 2017/03/21 by Daniel.Lamb
Added support for packages which fail to load to the package dependency info module
#!rb Trivial
#!test Cook paragon
Change 3356838 on 2017/03/21 by Andrew.Grant
Merging //Orion/Main to Dev-General (//Orion/Dev-General)
#!3rb #!tests na
Change 3355306 on 2017/03/20 by Daniel.Lamb
Switched PackageDependencyInfo to using Guid instead of entire package hash when generating dependency info.
Stopped cooker from collecting garbage while in the editor.
Iterative cooks don't resolve string asset references for startup packages.
#!rb Trivial
#!test Shared precooked build paragon
Change 3354527 on 2017/03/20 by Wes.Hunt
AnalyticsProvider::SetUserID will now flush any pending events before changing the ID. #!jira AN-1660
#!fyi josh.markiewicz,david.nikdel
#!rb josh.markiewicz
#!tests ran client connected to Solo vs. AI server
Change 3353852 on 2017/03/20 by Benn.Gallagher
Speculative fix for clothing crashes using Mambo. It was possible that the skeletal mesh component could have triggered deletion or creation of simulation state objects while the simulation was in flight on another thread, added tracking and waiting for outstanding tasks.
#!jira OR-36843, UE-42975
#!rb Martin.Wilson
#!tests Editor PIE, -game hero gallery
Change 3353048 on 2017/03/18 by Jeff.Williams
#!ORION_DG - Merge MAIN @CL 3353033
Change 3352845 on 2017/03/17 by Daniel.Lamb
Renamed the ConvertRenderTargetToTexture2D function so that it's obvious it's a editor only feature.
#!rb Daniel.Wright
#!test Editor paragon
Change 3352544 on 2017/03/17 by Daniel.Lamb
ADded support for ignoring ini settings incompatbilities when using shared cooked builds.
#!rb Trivial
#!test Shared cooked build paragon
Change 3352285 on 2017/03/17 by Daniel.Lamb
Fix client side compilation error to do with render texture conversion function
#!rb Trivial
#!test Compile Paragon
Change 3352141 on 2017/03/17 by Daniel.Lamb
Added support for blueprint function to convert a rendertexture to a texture.
#!rb Daniel.Wright
#!test Run in the editor
Change 3351612 on 2017/03/17 by Andrew.Grant
Expand EngineDir and ProjectDir variables during AppLocal deployment
#!tests Jamie verified packaging Orion via the editor works now
#!rb Jamie.Dale
Change 3350470 on 2017/03/16 by Laurent.Delayen
Fix for PS4 compile.
#!rb none
#!tests PS4 + non unity
Change 3350237 on 2017/03/16 by Andrew.Grant
Pak-mounting fix from Dev-Core for OR-36896
#!tests na
#!rb GIl.Gribb
Change 3350079 on 2017/03/16 by Laurent.Delayen
Added 'AnimNotify_PlayMontageNotify' and 'AnimNotify_PlayMontageNotifyWindow' to forward notifies Begin/End to 'PlayMontage' AsyncTask.
#!rb lina.halper
#!tests Yin's BP
Change 3349694 on 2017/03/16 by robomerge
#!ROBOMERGE-AUTHOR: dan.hertzka
Exposing copy/paste actions for properties embedded within IDetailGroup header rows
#!rb Matt.Kuhlenschmidt
#!tests Copy/paste on skin variant primary override rows
#!ROBOMERGE-SOURCE: CL 3349513 in //Orion/Dev-REGS/... via CL 3349675
#!ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3349560 on 2017/03/16 by David.Ratti
Update GameplayTagReferenceHelper to pass in raw data for owner struct (Rather than having caller pass raw 'this' to delegate). Fixes crashes with resizing lists while making calling code less crappy (avoid having to implement copy cstor and operator to fixup delegate).
Added GameplayTagReferenceHelper to gameplay cue classes.
#!rb none
#!tests editor
Change 3349305 on 2017/03/16 by Andrew.Grant
Merging //Orion/Main to Dev-General (//Orion/Dev-General)
#!tests compiled
#!rb na
Change 3349189 on 2017/03/16 by Benn.Gallagher
Fixed clothing not running in PS4 packaged builds
#!rb Martin.Wilson
#!jira OR-36680
#!tests PS4 cooked OrionEntry with Shinbi
Change 3348659 on 2017/03/15 by Daniel.Lamb
Fix compilation errors.
#!rb None
Change 3348646 on 2017/03/15 by Andrew.Grant
Unshelved from pending changelist '3347778':
<description: restricted, no permission to view>
Change 3348636 on 2017/03/15 by Daniel.Lamb
Fixed issue with rebuildlighting commandlet not checking out separate lighting files.
#!rb None
#!test ResavePackages commandlet
Change 3348559 on 2017/03/15 by Daniel.Lamb
Fixed up some iterative ini settings blacklist configs.
#!rb Trivial
#!test Iterative Cook paragon
Change 3348379 on 2017/03/15 by Laurent.Delayen
Added simple Async Node 'Play Montage' to use outside of gameplay abilities.
#!rb none
#!tests none
Change 3348035 on 2017/03/15 by Ben.Salem
Switch automationcheckpoint to being a .log file. Unblocks running on packaged builds in paragon.
#!rb none
#!tests ran oh so very many tests with the changes.
Change 3345982 on 2017/03/14 by Zak.Middleton
#!orion - OR-36422: Clamp client net send rate for character movement to 60Hz (down from 90). Integrates CL 3345771 from Dev-Framework which adds engine support for specifying the rate parameters, and sets them in Orion DefaultGame.ini to 1/60 second.
#!jira OR-36422
#!tests multi-PIE dedicated server, various framerates, net lag, etc.
#!rb Laurent.Delayen
#!codereview Laurent.Delayen
Change 3345134 on 2017/03/14 by Jordan.Walker
mono work
Change 3344857 on 2017/03/14 by Martin.Wilson
Missing includes for transactor header
#!rb none
Change 3341860 on 2017/03/10 by Chris.Bunner
Partial revert of CL 3339904. Fixed material translation error with multiple connections from custom interpolator nodes.
#!rb None
#!tests Editor, Known trouble materials with interpolator nodes, With/without material functions
Change 3341759 on 2017/03/10 by Daniel.Lamb
Fixed up NetworkCompatible version so that it works with UGS.
#!rb Trivial
#!test Cook ps4 paragon.
Change 3341616 on 2017/03/10 by Josh.Markiewicz
#!UE4 - added define for OGS feature
#!rb none
#!codereview sam.zamani
#!tests compiles
Change 3341612 on 2017/03/10 by Josh.Markiewicz
#!UE4 - removed old define
#!tests compiles
Change 3340180 on 2017/03/09 by Daniel.Lamb
Integrate fix for sync loading from main to Dev General.
#!rb Ben.Zeigler
Change 3339904 on 2017/03/09 by Chris.Bunner
Fixed material translation error when custom interpolator node hooked to multiple function outputs.
#!rb None
#!tests Editor
Change 3339280 on 2017/03/09 by Josh.Markiewicz
#!UE4 - removed WebBrowser moduel dependency on OnlineSubsystem
- added 2 functions to online engine interface
#!codereview sam.zamani, ben.marsh
Change 3338654 on 2017/03/08 by Daniel.Lamb
Fixed up some issues with iterative ini settings.
Added support for target platforms exposing which audio formats they use so they can match up supported formats with different machines.
#!rb None
#!test Cook paragon iteratively
Change 3336989 on 2017/03/08 by Ben.Marsh
Merging CL 3336693 from Dev-Core: Use shared PCHs for game plugins by default, to reduce time spent generating individual PCHs.
#!rb none
Change 3336135 on 2017/03/07 by Michael.Trepka
Hide GameLayerManager's title bar on exiting PIE
#!rb Dan.Hertzka
#!tests Tested in the editor on Windows
Change 3335324 on 2017/03/07 by Aaron.Eady
Chat;
Adding AddedItem, CompletedItem, and DiscardedItem to the chat message type enum so we can control the color for each. Set the colors in the Social asset.
Creating client record settings for turning on/off the added item, completed item, and discarded item in chat. Put these in the gameplay settings menu.
Added horizontal boxes to the gameplay settings menu because we are running out of space.
Added a vertical scroll bar to the gameplay settings menu but it doesn't seem to show. Also fixed the horizontal scroll bar at the bottom to be horizontal instead of vertical.
#!rb Matt.Schembari
#!tests MCP, PIE
#!lockdown Nicholas.Davies
#!RN
Change 3333541 on 2017/03/06 by Jason.Bestimt
#!ORION_DG - Merge MAIN @ CL 3333512
#!RB:none
#!Tests:none
#!codeReview: cameron.winston
Change 3332578 on 2017/03/04 by Andrew.Grant
Temp Disabled wrong-looking warning
#!tests #!rb na
#!ROBOMERGE: Main
Change 3332555 on 2017/03/04 by Andrew.Grant
Proper fix for Tencent DLL issue
#!tests #!rb na
#!ROBOMERGE: Main
Change 3332552 on 2017/03/04 by Andrew.Grant
Fix for Tencent DLL issue while staging
#!tests none
#!rb none
#!ROBOMERGE: Main
Change 3332216 on 2017/03/03 by Jason.Bestimt
#!ORION_DG - Merge MAIN @ CL 3332168
#!RB:none
#!Tests:none
Change 3332060 on 2017/03/03 by Daniel.Lamb
Fixed issue with AsyncLoading code eventually flushing async loading while in async loading...
This causes all kinds of cool stuff like objects on the stack corruption and also deleted memory accesses.
#!rb Gil.Gribb.
#!test Editor and -game
Change 3331680 on 2017/03/03 by Jason.Bestimt
#!ORION_MAIN - Merge MAIN @ CL 3331636
#!RB:none
#!Tests:none
#!codeReview: andrew.grant
Change 3331412 on 2017/03/03 by James.Hopkin
#!orion Rebuilt OpenSSL libs for PS4 to fix process termination due to SIGPIPE on closing websockets
Source change committed in CL#!3331380
#!jira OR-36274
#!fyi Paul.Moore
Change 3331375 on 2017/03/03 by Sam.Zamani
fix dll path for tenproxy
#!rb none
#!tests none
Change 3330953 on 2017/03/02 by Jason.Bestimt
#!ORION_DG - Merge MAIN @ CL 3330924
[STOMPED ChestOpeningScreen.uasset]
#!RB:none
#!Tests:none
#!codeReview: bryan.rathman, phil.buuck, matt.schembari, andrew.grant
Change 3330646 on 2017/03/02 by Andrew.Grant
Warning and non-unity fix
#!tests compiled
#!rb none
Change 3330388 on 2017/03/02 by Andrew.Grant
Merging //Orion/Main to Dev-General (//Orion/Dev-General)
#!tests #!rb na
Change 3329982 on 2017/03/02 by Sam.Zamani
fixed updated module rules
#!rb none
#!tests regen projects
Change 3329964 on 2017/03/02 by Sam.Zamani
Copying //Tasks/Orion/Dev-Online-Tencent to Dev-General (//Orion/Dev-General)
3245325 Adding new OSS for Tencent online platform
3245448 tencent third party SDK
TCLS proxy functionality
#!rb none
3245474 missing include
#!rb none
3249585 TCLS tenproxy.dll in thirdparty bin folder
#!rb none
3249726 Load TenProxy.dll for TCLS integration
New OSS Tencent
#!rb none
3255571 tencent configs
#!rb none
3255826 Tencent TCLS paragon launcher
#!rb none
3256168 TCLS launch batch update cmd line options
#!rb none
3256170 Added "TencentLive,TencentDev" MCP config entries
#!rb none
3256504 xmpp config update
#!rb none
3273168 skip login steps for tencent
config update
#!rb none
3279427 #!xmpp
add option to use plain text auth
3279428 disable ssl and use plain text auth for XMPP connection
temporary until we have a valid cert setup on Tigase deployment
3281566 enabled OSS tencent
this will also be the toggle for detecting when to enable tencent functionality at runtime
3283103 differentiate between tencent dev/live environments
disable QoS region selection for tencentdev
3283106 lower http verbosity
3283734 config updates
3285066 disable replays and mtx for tencent build
3291005 #!online,mcp
service config bEnabled flag to toggle individual services as needed
3291006 explicitly mark unneeded Mcp services as disabled
3291108 allow replay tab to be disabled via UOrionRuntimeOptions.bEnableReplays=false
3291492 disable recording of replays for tencent mode
3292750 disable replay tab based on bEnableReplays=false
3292753 new orion runtime option bDisallowCoinPurchases
if true, prevents coins from being available for purchase
3292755 diable mtx coin offers if bDisallowCoinPurchases=true
3292759 missing header
3293246 disable query for available friend codes if bEnableFriendCodes=false
3293250 temp usage of NULL analytics provider
3298025 Adding optional RegionTencent plugin for overriding config files
3298027 ability to override config cache values via plugin config files
3311016 default to TencentDev backend when running in tencent mode
3311017 CMS tencent config
3311022 Rename RegionTencent to RegionCN
3312470 disable links for tencent build
3313014 move tenproxy.dll to \OrionGame\Binaries\ThirdParty\Tencent
3314861 tenproxy 2.0.2.7 update
3314878 default RegionCN plugin to disabled
this will only be enabled once the RegionCN.pak is loaded
3314879 TCLS launcher pointing at UE4Editor.exe for development
3315257 missing file
3323573 remove TCLS launcher
3326006 Tencent TLOG SDK
3326277 wrapper singleton class for tenproxy connection
3329180 Tencent support for login flow
3329181 WIP tenproxy connection usage in identity
3329624 wip tcls proxy
#!rb none
#!tests none
Change 3329651 on 2017/03/02 by Andrew.Grant
Merging from //UE4/Main @ 3322856 through Orion-Staging
#!tests QA
#!rb na
Change 3329411 on 2017/03/02 by robomerge
#!ROBOMERGE-AUTHOR: dan.hertzka
Duplicating CL 3303733 from Dev-Editor (simple fix for a massive issue)
- This will prevent any TAssetPtr property from getting stomped by undo/redo (you know those ridiculous store and card art issues? Fixed!)
#!lockdown Jason.Bestimt
#!rb none
#!tests Undo on an item definition asset
#!ROBOMERGE-SOURCE: CL 3329404 in //Orion/Release-38.3/... via CL 3329405
#!ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3328858 on 2017/03/01 by Lina.Halper
Fixed crash on importing animation that was edited before
#!rb: none
#!tests: reimport
Change 3328459 on 2017/03/01 by Daniel.Lamb
When adding new ddc back ends to the hierarchcial ddc make sure to update the async backends lists.
#!codereview Gil.Gribb
#!test None
#!rb Trivial
Change 3328182 on 2017/03/01 by Daniel.Lamb
Unshelved from pending changelist '3318009':
Adding support for shared cooked builds to be downloaded from the network.
Included CookedAssetRegistry in the p:\ published builds.
#!rb Ben.Marsh
Change 3327856 on 2017/03/01 by Frank.Gigliotti
Added velocity overrides to FRK4SpringInterpolator;
#!RB None
#!codeReview Laurent.Delayen
#!Tests PIE
Change 3327096 on 2017/03/01 by David.Ratti
Added generic reference viewer details customization for gameplay tags. Added it to GameplayStatsMetaData.
#!rb none
#!tests editor
Change 3326177 on 2017/02/28 by Daniel.Lamb
Added some more debugging information to help track down live issue.
#!rb Chris.Bunner
#!test Ran editor.
Change 3324951 on 2017/02/28 by David.Ratti
UDataTable: added AddRow/RemoveRow native functions.
#!rb JB
#!tests na
Change 3323852 on 2017/02/27 by David.Ratti
Fix ::RequestAllGameplayTags OnlyIncludeDictionaryTags option
#!codereview Ben.Zeigler
#!rb #!tests na
Change 3323706 on 2017/02/27 by Jason.Bestimt
#!ORION_DG - Merge MAIN @ CL 3323694
#!RB:none
#!Tests:none
Change 3321945 on 2017/02/24 by Jon.Lietz
OR-36258
- fixing an issue where gameplay effects that are set to not refresh the period should not allow the execution of a period effect on application.
#!RB David.Ratti
#!tests golden path
#!codeReview: Billy.Bramer, Fred.Kimberley
#!RNX
Change 3321876 on 2017/02/24 by Daniel.Lamb
Fixed erroronEngineContentUse flag not being set properly.
#!rb Trivial
#!test Cook Paragon.
Change 3321591 on 2017/02/24 by Jason.Bestimt
#!ORION_DG - MAIN @ CL 3321563
#!RB:none
#!Tests:none
Change 3321260 on 2017/02/24 by Andrew.Grant
Fixed issue that was causing missing string references to not show their referencer
#!rb none
Change 3321040 on 2017/02/24 by Robert.Manuszewski
Merging changes 3316253 and 3319134 from Dev-Core: fixes to file log hangs and crashes.
#!rb none
#!tests Cooked Win64 server and client, played cooked Win64 build
Change 3319413 on 2017/02/23 by Jason.Bestimt
#!ORION_DG - Merge MAIN @ CL 3319394
#!RB:none
#!Tests:none
Change 3317905 on 2017/02/22 by Daniel.Lamb
Integrate CL 3238291 from Odin
Add Plugin content to the asset registry
Change the location of AssetRegistry.bin when cooking a plugin as DLC
Include AssetRegistry.bin in the cooked plugin staging process
Add function to PluginManager to keep list of any plugins that loaded a pak file
Use list of plugins with pak files to merge their AssetRegistry.bin files into the main AssetRegistry when it's created
#!rb Ben.Marsh
#!codereview Chance.Ivey, Daniel.Lamb
Change 3317648 on 2017/02/22 by Cody.Haskell
Instead of popping an external web browser, we use the SWebBrowser widget on GFN.
#!rb DanH
#!codereview Andrew.Grant, Dan.Hertzka, Matt.Schembari
#!tests PIE
Change 3317289 on 2017/02/22 by Jason.Bestimt
#!ORION_DG - Merge MAIN @ CL 3317254
#!RB:none
#!Tests:none
Change 3317186 on 2017/02/22 by Mieszko.Zielinski
Fixed items that have been force-scored by an EQS test as 'failed' getting discarted even if the test is being run in scoring-only mode #!UE4
#!test golden path
#!rb Lukasz.Furman
#!codereview Daniel.Broder, John.Abercrombie
Change 3317005 on 2017/02/22 by Daniel.Lamb
Submitted wrong version of my file.
#!rb Trivial
#!test Compile
Change 3316958 on 2017/02/22 by Daniel.Lamb
Added support in buildcookrun for shared cooked builds.
#!rb Trivial
#!test BuildCookRun iterative script
Change 3316942 on 2017/02/22 by Daniel.Lamb
DLC cooking optimization.
Optimization to determining package dependency tree, now is async.
Fixes for iterate shared cooked build. Added fallback when using shared cooked build to local build if local build is newer.
Added DLC cooking warning if you are overriding output directories.
Removed previous release packages names from DLC asset registry.
Only generate manifest for additional assets instead of all assets.
Minor optimization to worst case resolving of string asset references. Only resolve those that haven't been resolved before (only happens when GC thrashing happens).
#!rb Andrew.Grant
#!test Cook paragon
[CL 3365166 by Andrew Grant in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3209340 on 2016/11/23 by Ben.Marsh
Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.
Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.
* Every header now includes everything it needs to compile.
* There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
* There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
* Every .cpp file includes its matching .h file first.
* This helps validate that each header is including everything it needs to compile.
* No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
* You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
* There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
* No engine code explicitly includes a precompiled header any more.
* We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
* PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.
Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.
[CL 3209342 by Ben Marsh in Main branch]
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2912513 on 2016/03/16 by David.Ratti
attempted cook fix
#rb none
#tests compile
Change 2912456 on 2016/03/16 by Zak.Middleton
#ue4 - Move Replay client interpolation mode check to OnRegister(), out of TickComponent() so we don't check it constantly.
#rb John.Pollard
#tests Replays and MultiPIE vs AI
Change 2912386 on 2016/03/16 by Ben.Marsh
BuildGraph: Add quotes around custom build node lists, so we can support node names with spaces.
Change 2912378 on 2016/03/16 by Ben.Marsh
BuildGraph: Fix format of custom build arguments when running with buildgraph.
Change 2912318 on 2016/03/16 by Marcus.Wassmer
Fix mallocleakdetection false positives, and hash collision data corruption.
#rb none
#test leak finding on goldenpath
Change 2912242 on 2016/03/16 by Lukasz.Furman
CIS fix
#rb none
#tests none
Change 2912239 on 2016/03/16 by Ben.Marsh
UBT: Include the project "Build" folder in the generated project files. It's pretty common to want to edit configuration data that's stored there.
#rb none
#tests generated project files using UGS after making change
Change 2912211 on 2016/03/16 by Ben.Marsh
BuildFarm: Allow disabling the local DDC by setting the DDC override environment variable to "None". Testing performance of just using shared DDC for builders.
#rb none
#codereview Wes.Hunt
#tests none
Change 2912196 on 2016/03/16 by Mieszko.Zielinski
Added a missing #pragma once to GameplayDebuggerCompat.h #Orion
#rb Lukasz.Furman
#test none
Change 2912165 on 2016/03/16 by Lukasz.Furman
new gameplay debugger and some replication fixes (disabled by default)
uncommment debugger's setup line in FOrionGameModule::StartupModule to enable
#orion
#rb none
#tests yes, a lot.
#codereview Mieszko.Zielinski
Change 2912065 on 2016/03/16 by Jason.Bestimt
[AUTOMERGE]
#ORION_MAIN - Copy of DevUI (POST MERGE) @ CL 2912016
#RB:none
#Tests:none
#CodeReview: matt.schembari
--------
Integrated using branch //Orion/Main_to_//Orion/Dev-General of change#2912060 by Jason.Bestimt on 2016/03/16 15:32:56.
Change 2912045 on 2016/03/16 by David.Ratti
Add support for gameplay cues retrieiving the ability or gameplay effect level of the thing that instigated them. Also added level requirement settings in the addition particle system options in gameplay cues
#rb DanY
#tests PIE
Change 2912030 on 2016/03/16 by Alex.Fennell
Merging //Portal/Dev-LibCurl_update/Engine/Source/Runtime/Online/... to //Orion/Dev-General/Engine/Source/Runtime/Online/...
support for cookies across curl easy handles in libcurl
#TESTS: cookie support confirmed by using the http test targetting google.com
#RB: david.nikdel
#codereview: david.nikdel, jason.bestimt
Change 2911870 on 2016/03/16 by Laurent.Delayen
- Added FBranchingPointNotifyPayload used in AnimNotify and AnimNotifyState notifications.
- FBranchingPointNotifyPayload includes MontageInstance InstanceID to uniquely identify which Montage it came from.
- New notifications are backwards compatible with old.
- Added bIsNativeBranchingPoint flag to notify classes to force them into branching points.
#rb martin.wilson, frank.gigliotti
#tests Kuro VS Rampage abilities in networked PIE
Change 2911763 on 2016/03/16 by Nick.Atamas
Prevents a re-entrancy crash caused by potentially complex thumbnail generators. In general, we should not be doing heavy lifting in the asset browser until the user has released their mouse. This is especially true when a user is clicking on the content browser tab to bring it to front for the first time. This is probably a good change regardless of the re-entrancy issue.
#rb none
#test Editor does not crash.
#codereview Matt.Kuhlenschmidt
Change 2911631 on 2016/03/16 by Dmitry.Rekman
Fix AvgPing perfcounter being occasionally NaN (FORT-20523)
- Prevent division by zero.
#rb none
[CL 2917701 by Andrew Grant in Main branch]
==========================
MAJOR FEATURES + CHANGES
==========================
#lockdown Nick.Penwarden
Change 2903938 on 2016/03/10 by Frank.Gigliotti
Added an instance ID to FAnimMontageInstance
#CodeReview Laurent.Delayen
#RB Laurent.Delayen
#Tests PIE
Change 2903745 on 2016/03/10 by Wes.Hunt
Update Oodle TPS
#rb none
#tests none
#codereview:john.pollard
Change 2903689 on 2016/03/10 by Uriel.Doyon
New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero.
#rb marcus.wasmer
#codereview marcus.wassmer
#tests editor, playing PC games, trying the new command
Change 2903669 on 2016/03/10 by Aaron.McLeran
OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds
- Change only effects debug stat commands for audio guys
#rb none
#tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds
Change 2903625 on 2016/03/10 by John.Pollard
XB1 Oodle SDK
#rb none
#tests none
#codereview Jeff.Campeau
Change 2903577 on 2016/03/10 by Ben.Marsh
Remaking latest build scripts from //UE4/Main @ 2900980.
Change 2903560 on 2016/03/10 by Ben.Marsh
Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP.
Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components:
* Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules.
* Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts.
* Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts.
* Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts.
* Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on.
Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name.
Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope.
Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs.
File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on.
Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system.
A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type.
#rb none
#codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett
#tests local only so far, but not part of any build process yet
Change 2903539 on 2016/03/10 by John.Pollard
Improve replay playback debugging of character movement
#rb none
#tests replays
Change 2903526 on 2016/03/10 by Ben.Marsh
Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks.
#rb none
#tests none
Change 2903512 on 2016/03/10 by Dan.Youhon
Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s
#rb None
#tests Compiles
Change 2903474 on 2016/03/10 by Marc.Audy
Fix crash if ChildActor is null
#rb None
#tests None
Change 2903314 on 2016/03/10 by Marc.Audy
Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken
#rb James.Golding
#tests Selection of child actors works as expected
#jira UE-28201
Change 2903298 on 2016/03/10 by Simon.Tovey
Disabling the trails optimization.
#tests none
#rb none
#codereview Olaf.Piesche
Change 2903124 on 2016/03/10 by Robert.Manuszewski
Small refactor to pak signing to help with exe protection
#rb none
#tests none
[CL 2907678 by Andrew Grant in Main branch]
==========================
MAJOR FEATURES + CHANGES
==========================
#lockdown Nick.Penwarden
Change 2879705 on 2016/02/24 by Nick.Darnell
Editor - Tweaking some comments.
#tests n/a
#rb n/a
Change 2879674 on 2016/02/24 by Nick.Darnell
Editor - The editor now supports many new methods of opening new asset editors. You can choose where tabs open with a great deal more options in Editor Preferences > Appearance > Asset Editor Open Location. This will reset the 'always open asset editors in new windows' option, it completely replaces and enchances that option.
#tests Ran the editor, tried each option and they all seem to do what I want.
#rb matt.kuhlenschmidt
Change 2879661 on 2016/02/24 by Jamie.Dale
More general fixes for dialogue waves
- The localization key now uses a hash of the speaker and target voice GUIDs to help keep them short.
- The localization key can now be user customized, and contains a placeholder format specifier for the context hash.
- The "Variations" meta-data is now called "Context".
#rb James.Hopkin
#tests Built for Windows, Linux, and PS4. Tested a loc gather and export had the correct info in it. Tested the new UI worked as expected.
Change 2879436 on 2016/02/24 by Nicholas.Davies
A few bug fixes for blocking PS4 > PC chat
#jira OR-15467 Disable Paragon chat on PS4 for users outside of the game
#RB Antony.Carter
#codereview Sam.Zamani
#TESTS PS4 whispers to and from none Paragon PC users is blocked.
Change 2878929 on 2016/02/23 by Jason.Bestimt
#ORION_DEV - Merge Main to reconcile 0.20 branch creation
#RB:none
#Tests:none
Change 2878600 on 2016/02/23 by Dmitry.Rekman
Linux: added code to identify CPU for FPSCharts (OR-14949).
#rb none
#tests Ran dedicated server on local VM and a few physical boxes.
Change 2878443 on 2016/02/23 by Marcus.Wassmer
Fix game not ticking when PS button is pressed.
#rb andrew.grant
#test golden path ps4
Change 2878361 on 2016/02/23 by Josh.Markiewicz
#UE4 - fixed bad comment
#rb none
#tests none
Change 2878205 on 2016/02/23 by Jason.Bestimt
#ORION_DEV - Merge main (0.19) at CL# 2878162
#Tests:none
#RB:none
Change 2878095 on 2016/02/23 by Josh.Markiewicz
#UE4 - added warnings to json mcp read/write failures
- removed HostAddressOverride parameter (use -uselocalips and -multihome together instead)
#rb none
#tests matchmaking golden path
Change 2878002 on 2016/02/23 by Josh.Markiewicz
#UE4 - made two party framework functions virtual
#rb none
#tests none
Change 2877998 on 2016/02/23 by Josh.Markiewicz
#Ue4 - Party interface can optionally enable/disable creating a chat room alongside the party (defaults to enabled)
#rb rob.cannaday
#tests social/team parties golden path
#codereview rob.cannaday
Change 2877822 on 2016/02/23 by Olaf.Piesche
speculative fix for OR-15710
#rb david.hill
#tests PC game
Change 2877804 on 2016/02/23 by Uriel.Doyon
Fixed ULevel::AddReferencedObjects clearing all references to static texture streaming data
#codereview robert.manuszewski
#rb marcus.wassmer
#tests played several games on PC, also doing rejoin
#jira OR-15658
Change 2877692 on 2016/02/23 by Jamie.Dale
Added commandlet to replace sound wave players in sound cues with dialogue wave players where appropriate
#rb Saul.Abreu
#tests Built for Windows, Linux, and PS4. Tested the commandlet.
Change 2877691 on 2016/02/23 by Jamie.Dale
Added commandlet to extract out the information from our character sheets and put it into the correct dialogue waves
#rb Saul.Abreu
#tests Built for Windows, Linux, and PS4. Tested the commandlet.
Change 2877690 on 2016/02/23 by Jamie.Dale
General dialogue wave fixes
[CL 2881965 by Andrew Grant in Main branch]
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2870336 on 2016/02/17 by Marc.Audy
Continued splitting up Orion Build
* Restructure from platform based MakeBuild steps in to a PS4, Server, and Windows Client MakeBuild
* Cook server data only once for both Windows and Linux (windows reuses Linux server data)
* Split compilation of Win64 Client and Server such that MakeBuild_Server only builds Server and MakeBuild_WindowsClient only builds Client
#jira UEB-580
#rb Ben.Marsh
#tests Preflight and generated Windows Client and Server work to play game
Change 2870026 on 2016/02/17 by Wes.Hunt
Don't allow array shrinking when removing the corruption wrapper trailer.
#rb none
Updating CIS Counter
Change 2869725 on 2016/02/17 by Dmitry.Rekman
More analytics and QoS stats added for 0.19.
#rb none
#tests Ran Windows client and Linux server on compatible content.
Change 2869705 on 2016/02/16 by Ryan.Gerleve
Fix replicated properties and call RepNotifies of startup actors when scrubbing in replays.
This is the engine support for fixing OR-6817, towers not respawning when rewinding replays.
#rb john.pollard
#tests golden path, replays, ps4 nomcp
Change 2869644 on 2016/02/16 by Jason.Bestimt
#ORION_DEV - Merge MAIN (0.18) at CL# 2869635
#Tests:none
#RB:none
Change 2869586 on 2016/02/16 by Marcus.Wassmer
Fix texturestreaming RHI flushes.
#rb none
#test goldenpath
#codereview Gil.Gribb
Change 2869279 on 2016/02/16 by Lukasz.Furman
fixed minion hit reaction directions
#orion OR-13953
#rb Mieszko.Zielinski
#tests PIE: hit minions with various abilities from different angles, checked velocity of death particles when killed by abilities and towers
#codereview Dan.Youhon
Change 2869277 on 2016/02/16 by Wes.Hunt
During cook, when a package is not ready to save, actually early out of the saving code. Saves somewhere in the 130s to 200s range for cooks.
#rb daniel.lamb
#tests local windows cooks, preflight PS4 cooks
Change 2869132 on 2016/02/16 by Mieszko.Zielinski
Added a function to AISenseConfig allowing native-code MaxAge configuration #UE4
#rb Lukasz.Furman
#test none required
Change 2868981 on 2016/02/16 by Wes.Hunt
remove -LogCookStats cmdline check, always log cook stats. -SendCookAnalytics flag is still used.
This was requested by NickP.
#rb none
#tests local windows cooks
Change 2868975 on 2016/02/16 by Wes.Hunt
Don't submit DDC usage stats for zero-sized events.
#rb none
#tests local windows cook
Change 2868956 on 2016/02/16 by Jason.Bestimt
#ORION_DEV - Merge MAIN (0.18) at CL# 2868926
#RB:none
#Tests:none
Change 2868889 on 2016/02/16 by Max.Chen
Sequencer: Only allow transport control binding when editing level editor sequencers.
#rb none
#tests none
Change 2868663 on 2016/02/16 by David.Ratti
downgrade warning to display
#rb none
#tests compile
Change 2868624 on 2016/02/16 by Marcus.Wassmer
Re-Enable Defrag validation for devgeneral
#rb none
#test none
Change 2868493 on 2016/02/16 by Benn.Gallagher
Added a few more stats to morph target updates to try and narrow down hitches
#rb Bruce.Nesbit
#tests pie, -game Win64
Change 2868445 on 2016/02/16 by Dmitry.Rekman
Linux: report crashes due to stack overflow (OR-14519).
- Reserve memory for alternative stack for signal handlers. Adds about 128KB memory per thread.
- Force process spawning to use vfork() when no pipes are needed.
- Ignore all signals except explicitly handled.
- Prevent signals from being raised while another one is handled.
- Added "debug threadrecurse" and "debug threadstackoverflow" to test that.
[CL 2873763 by Andrew Grant in Main branch]
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2861045 on 2016/02/09 by Marcus.Wassmer
Fix debug editor crash from async compute creating commands when it shouldn't.
#rb none
#test debug editor
Change 2861030 on 2016/02/09 by Michael.Noland
Engine: Added support for debugging safe zones (visualization on any platform and simulation on platforms that don't natively provide safe zone information)
r.DebugSafeZone.Mode controls the debug visualization overlay (0..2, default 0)
- 0: Do not display the safe zone overlay
- 1: Display the overlay for the title safe zone
- 2: Display the overlay for the action safe zone
r.DebugSafeZone.OverlayAlpha controls how opaque the debug visualization overlay is (0..1, default 0.3)
On platforms that don't natively support safe zones, you can simulate a safe zone for quick/easy testing in the editor:
- r.DebugSafeZone.TitleRatio controls the title safe zone margins returned in FDisplayMetrics
- r.DebugActionZone.ActionRatio controls the action safe zone margins returned in FDisplayMetrics
- These both range from 0..1, and default to 1 indicating 100% of the display is safe. A typical test value would be 0.9
#codereview josh.adams
#rb marcus.wassmer
#tests Tested on Win64 uncooked and PS4 cooked (front-end and game)
Change 2860923 on 2016/02/09 by Andrew.Grant
Fix client warning about HTTPChunkInstaller module not existing
#rb none
#tests ran Win64 client
Change 2860852 on 2016/02/09 by Daniel.Wright
Fixed crash enabling capsule direct shadows in BP
#rb Nick.Penwarden
#tests Editor
Change 2860842 on 2016/02/09 by Marcus.Wassmer
MallocLeakDetection proxy
#rb Steve.Robb
#test PS4/PC testing all commands.
Change 2860744 on 2016/02/09 by Josh.Markiewicz
#UE4 - fixed possible crash when refresh auth with invalid response
#rb sam.zamani
#tests login flow
#codereview justin.sargent, joe.wilcox, pter.knepley, ben.zeigler
Change 2860739 on 2016/02/09 by Laurent.Delayen
Sync Markers
- Reset SyncGroups every frame.
- ::GetSyncGroupPosition() makes sure there is a valid MarkerSyncContext.
=> Fixes SyncGroup returning 'valid' positions for TransitionLeaders that were not in between sync markers.
#rb martin.wilson
#codereview lina.halper
#tests new riftmage and kurohane networked in PIE
Change 2860736 on 2016/02/09 by Daniel.Lamb
Fixed issue with iterative cook on the fly invalidating cooked content all the time.
#rb Marcus.Wassmer
#test Cook on the fly iterative ps4
Change 2860598 on 2016/02/09 by Joe.Graf
Simple log category change to match existing log messages in LoadMap
#rb: n/a
#test: loading, cooking, game
Change 2860559 on 2016/02/09 by Zak.Middleton
#orion - Add flag to AIController to control whether it copies the Pawn rotation to ControlRotation if there is no focus point.
#rb Lukasz.Furman
#tests PIE ded server AI with lanes
Change 2860462 on 2016/02/09 by Marc.Audy
Build system improvements
* Added details to Empty manifest file save error
* Removed redundent pseudo-dependencies from -showdependency output
* Monolithic Kinds now a set and branch hacker can specify kind not to build
#rb Ben.Marsh
#tests Preflight
Change 2860434 on 2016/02/09 by David.Ratti
NaN checks:
-Targeting mode checks in orion code
-Changed the AActor::SetTransform NaN check so that the logging is included in the NaN ensure (rather than getting cut off from the log afterwards).
#rb FrankG
#tests golden path vs bots
Change 2860390 on 2016/02/09 by Michael.Trepka
Adjust 3D rendering resolution so that it stays approximately the same when user switches display modes
#rb none
#tests Tested editor build on PC
Change 2860364 on 2016/02/09 by Justin.Sargent
Removed unused editor-only functions causing compiler errors when compiling the game.
#rb keli
#tests none
Change 2860242 on 2016/02/09 by Justin.Sargent
Made a number of DialogueWave quality of life improvements to the editor and specifically SoundCue editing.
New right-click option on SoundWaves to create a DialogueWave
[CL 2863630 by Andrew Grant in Main branch]
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2835191 on 2016/01/19 by Nick.Whiting
Invert the y-axis on the SteamVR controllers to match the convention of the engine and the rest of the gamepads
#jira UE-22705
Change 2835686 on 2016/01/20 by Gareth.Martin
Fixed landscape material instances not being updated if holes are painted on a landscape that doesn't have the landscape visibility mask node in the material and then the visibility mask node is added to the material later.
#jira UE-18187
Change 2835767 on 2016/01/20 by Richard.Hinckley
#jira UE-25499 Added a cursor to TopDown template (C++ version) to match the BP version.
Change 2835772 on 2016/01/20 by Richard.Hinckley
#jira UE-25499 Adding the material asset for the C++ TopDown template's cursor.
Change 2835811 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25699 Added Validity Checks in BP logic, unchecked CDO for Pixel Ship, to Fix Log Warnings
#jira UE-25704 Adjusted Matinee to happen at Box Location
#jira UE-25688 Adjusted Player Starts
#jira UE-25693 Adjusted Player Starts
Change 2835863 on 2016/01/20 by Gareth.Martin
Fixed crash in the landscape ramp and mirror tools if the streaming level containing the landscape is hidden (or possibly if the landscape actor is deleted)
#jira UE-24883
Change 2835889 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25698 Enabled V-sync, also fixed up player Respawn Issue
Change 2835995 on 2016/01/20 by Jamie.Dale
The output log now hard-wraps lines to prevent long lines causing performance issues
#jira UE-24187
Change 2836052 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25675 Added Blocking Volume to prevent Player from Falling off map
#jira UE-25676 Added Blocking Volumes so that the Player doesn't get stucl at awkward corners under the Bridge
Change 2836137 on 2016/01/20 by Chad.Taylor
Vehicle and VehicleAdv template content fixes for new VR camera
#jira UE-25507
Change 2836166 on 2016/01/20 by Gareth.Martin
Fixed hiding a streaming level containing a landscape causing the landscape editor to switch to the "New Landscape" tool instead of exiting
#jira UE-25093
Change 2836174 on 2016/01/20 by Chad.Taylor
IHeadMountedDisplay crash fix associated with accessing a dangling pointer.
#jira UE-25272
Change 2836179 on 2016/01/20 by Jamie.Dale
Optimized FShapedGlyphSequence reverse look-up
There's now a reverse look-up map of cluster indices to their glyph data in order to avoid brute force looping
#jira UE-24187
Change 2836286 on 2016/01/20 by Chris.Babcock
Update Qualcomm TextureConverter for OSX
#jira UE-22092
#ue4
#android
Change 2836328 on 2016/01/20 by Nick.Darnell
Fixing a problem with widget components crashing on destruction with the render commands to pre/post render for window render commands needing access to the policy, but it potentially being deleted. Inserting a NoOp command that keeps the shared ptr alive through the RHI render process.
#jira UE-25752
Change 2836342 on 2016/01/20 by Nick.Darnell
Depending on shutdown order, the Slate Renderer may go away, and then render data handles may not be collected correctly because they are trying to reference a pointer that's no longer valid and cause a crash on exit. The correct approach would be to have render handles actually have a pointer back to who owns them, in this case the RHI Resource Manager, which is still alive and well at this point in the pipeline. Then if the resource manager is collected, it forces all handles to get cleaned up correctly, or if the handles are collected first, they can be sure they've got a valid pointer back to the resource manager.
#jira UE-25753
Change 2836358 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25710 Replaced Deprecated Nodes
Change 2836510 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25718 Adjsuted BP to make pointer decal rotate in the direction of surface
Change 2836564 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25716 Added bool to store last Moved Direction
Change 2836697 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25740 Removed unused VR Nodes to remove Log errors on Mac
Change 2836725 on 2016/01/20 by Peter.Sauerbrei
workaround for thread race when trying to release the TargetDeviceService endpoint after an unclaim message is sent
#jira UE-25123
Change 2836782 on 2016/01/20 by Jamie.Dale
Added FTextLayout::AddLines
This is similar to AddLine, however it allows you to add multiple lines in a single call, thus avoiding the re-justification cost associated with each call to AddLine.
AddLine has also been changed to take the same structure type as AddLines (which takes an array of these structures), and the existing version of AddLine has been deprecated.
#jira UE-24187
Change 2836801 on 2016/01/20 by Jeff.Campeau
[CL 2857187 by Matthew Griffin in Main branch]