#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3358702 on 2017/03/22 by Marc.Audy
Always mark child actors pending kill when in PostLoad as often the World is too early to have a WorldContext which causes issues in DestroyActor
#jira UE-42679
Change 3358737 on 2017/03/22 by Mieszko.Zielinski
Exposed UBrainComponent::IsRunning() and UBrainComponent::IsPaused() to Blueprint #UE4
Change 3359062 on 2017/03/22 by Michael.Noland
Blueprints: Show the Save and Find in CB buttons when working with level script blueprints (they will save/show the map package)
#jira UE-30748
Change 3359066 on 2017/03/22 by Michael.Noland
PR #3348: Make fields of FAttributeMetaData editable (Contributed by hoelzl)
#jira UE-42620
Change 3359069 on 2017/03/22 by Michael.Noland
PR #3288: InverseLerp Blueprint Tooltips Clarification (Contributed by wunawuna)
#jira UE-42250
Change 3359108 on 2017/03/22 by Michael.Noland
Blueprints: Fix an issue where running the editor in a different culture could break pins on nodes that have optional arrays of pins (e.g., animation graph nodes like blend by layer)
#jira UE-36232
Change 3359235 on 2017/03/22 by Marc.Audy
Expose bShouldPerformFullTickWhenPaused to blueprints and details panel
#jira UE-17286
Change 3359324 on 2017/03/22 by Zak.Middleton
#ue4 - (Merge) Disable collision on NavModifierVolumes. Previously they had an OverlapAll response and generated overlap events. They are only supposed to be used for preventing nav mesh generation, but overlap events could affect gameplay, and also are bad for performance.
(Integrate CL 3249525 from Odin).
Change 3359326 on 2017/03/22 by Zak.Middleton
#ue4 - (Merge) Optimization during attachment to check bool before expensive casts and body instance fetching.
(Integrate CL 3261262 from Odin).
Change 3359327 on 2017/03/22 by Zak.Middleton
#ue4 - (Merge) Make bSkipAgentHeightCheckWhenPickingNavData actually ignore height when picking data.
(Integrate CL 3231908 from Odin)
Change 3359328 on 2017/03/22 by Zak.Middleton
#ue4 - (Merge) Make a static FName in UMovementComponent::OverlapTest const and move it to a namespace.
(Integrate CL 3259985 from Odin)
Change 3359329 on 2017/03/22 by Zak.Middleton
#ue4 - (Merge) Fix ProjectileMovementComponent continuing to simulate (and generate hit events) after it is deactivated during simulation. HasStoppedSimulation() should check if bIsActive is false.
(Integrate CL 3260001 from Odin)
Change 3359330 on 2017/03/22 by Zak.Middleton
#ue4 - (Merge) Fix accumulated forces in CharacterMovement when movement mode or activation changes.
- Added CharacterMovementComponent::ClearAccumulatedForces()
- AddForce() and related functions now avoid adding the force if in MovementMode "None". When ticking in "None", forces are cleared so they don't pile up until the next valid movement mode. Forces are also cleared if the updated component changes or when the capsule simulates physics.
- CharacterMovementComponent::Deactivate() implemented to stop movement and call ClearAccumulatedForces().
- ClearAccumulatedForces() now also clears pending launch velocity.
- Exposed ClearAccumulatedForces() to blueprints.
- AddForce() and AddImpulse() now also check that character movement is active (not deactivated, able to tick).
- ApplyAccumulatedForces() does not call ClearAccumulatedForces(), since that would prevent pending launch.
- SimulateMovement() handles pending launch and clears forces regardless of whether it's simulated proxy. Added note to investigate using ApplyAccumulatedForces() in SimulateMovement().
- Inlined ActorComponent::IsActive().
(Integrate CLs 3259933, 3266018 from Odin)
Change 3359338 on 2017/03/22 by Zak.Middleton
#ue4 - (Merge) TickCharacterPose() and clear root motion before abandoning tick in UCharacterMovementComponent::PerformMovement() when movement mode is None. Prevents root motion building up until next valid movement mode.
(Integrate CL 3271928 from Odin)
Change 3359345 on 2017/03/22 by Zak.Middleton
#ue4 - (Merge) Fix characters sliding when landing on slanted surfaces or stairs, when aggressive "Perch" settings could cause a line trace (from the center of a capsule) instead of capsule trace and thereby screw up the floor distance checks.
(Integrate CL 3273026 from Odin)
Change 3359381 on 2017/03/22 by Zak.Middleton
#ue4 - (Merge) Performance tweak to ApplyRadialDamageWithFalloff(). Don't rebuild FRadialDamageEvent each loop over hit actors. Added stats for BreakHitResult()/MakeHitResult() under "stat game".
(Integrate CLs 3275415, 3276810 from Odin).
Change 3359422 on 2017/03/22 by Zak.Middleton
#ue4 - (Merge) Fix build (CollisionProfile included).
Change 3359442 on 2017/03/22 by Michael.Noland
Blueprints: Prevent comment boxes from clipping the last letter of some words at the edge by increasing the padding on the wrap-at position
Change 3359445 on 2017/03/22 by Michael.Noland
PR #2989: Improved BP comment nodes (Contributed by projectgheist)
#jira UE-36788
#jira UE-39118
Change 3359446 on 2017/03/22 by Zak.Middleton
#ue4 - (Merge) Add support for FScopedMovementUpdate to be able to queue up overlaps that do not require reflexive bGenerateOverlapEvents. This allows custom inspection or processing of overlaps within a scoped move. Overlap events from the move will still only trigger in UpdateOverlaps() if bGenerateOverlapEvents is enabled on both components, as before.
(Integrate CL 3278307 from Odin)
Change 3359494 on 2017/03/22 by Zak.Middleton
#ue4 - (Merge) Make some data in FScopedMovementUpdate protected rather than private so it can easily be subclassed, and expose a new helper SetWorldLocationAndRotation().
(Integrated CL 3280775 from Odin).
Change 3359506 on 2017/03/22 by Zak.Middleton
#ue4 - (Merge) MovementComponent::Deactivate() calls StopMovement() to clear cached velocity. It's silly that reactivation many seconds or frames later would restore that velocity. Some special handling in CharacterMovement to keep it acting as before (it cleared velocity, but did not clear the path request, leaving that alone).
(Integrate CL 3287026 from Odin).
Change 3359514 on 2017/03/22 by Zak.Middleton
#ue4 - (Merge) Collision.ListComponentsWithResponseToProfile command includes pending kill objects.
(Integrate CL 3293322 from Odin)
Change 3359553 on 2017/03/22 by Zak.Middleton
#ue4 - (Merge) Optimization in CharacterMovement tick to not extract transform values twice.
(Integrate CL 3299098 from Odin).
Change 3359554 on 2017/03/22 by Zak.Middleton
#ue4 - (Merge) Perf: optimize UKismetMathLibrary::GetForwardVector() (converts Rotator to forward direction). This way we avoid building a matrix, and avoids 1 more SinCos call.
(Integrate CL 3296254 from Odin).
Change 3359555 on 2017/03/22 by Zak.Middleton
#ue4 - (Merge) Add OnComponentCollisionSettingsChangedEvent delegate to PrimitiveComponent. Fixed SkeletalMeshComponent not calling Super implementation.
(Integrate CL 3295744 from Odin)
Change 3359561 on 2017/03/22 by Zak.Middleton
#ue4 - (Merge) Perf: AActor::GetComponents() with generic type should *not* assume the output array needs space for the entire contents of OwnedComponents. If OwnedComponents.Num() > the array reserve size, this forces an allocation, even if few or no components of the requested type are found.
(Integrate CL 3299111 from Odin)
Change 3359573 on 2017/03/22 by dan.reynolds
Added BP log to the Passive Mix Modifier test platform BP
Change 3359593 on 2017/03/22 by Zak.Middleton
#ue4 - (Merge) Perf: avoid allocations during creation in AAIController::PostInitializeComponents() (in development builds).
(Integrate CL 3299118 from Odin)
Change 3359595 on 2017/03/22 by Zak.Middleton
#ue4 - (Merge) Perf: HasActiveCameraComponent() and HasActivePawnControlCameraComponent() don't need to fill in an array while searching for a certain component. Also see CL 3359561, which could cause each of these functions to always cause an allocation when filling in the array when num components > 24.
(Integrate CL 3299116 from Odin)
Change 3359602 on 2017/03/22 by Zak.Middleton
#ue4 - (Merge) Clean up some of the new fast overlap code in PrimitiveComponent. Mostly some variable renaming, and CVar access optimization.
(Integrate CL 3340622 from Odin)
Change 3359616 on 2017/03/22 by Zak.Middleton
#ue4 - (Merge) Added support for bIgnoreTouches to FCollisionQueryParams. MoveComponent uses this to avoid PhysX collision queries for overlaps in GeomSweepMulti when bGenerateOverlapEvents is off.
(Integrate CL 3340635 from Odin)
Change 3359864 on 2017/03/23 by Mieszko.Zielinski
Added a safeguard to prevent crashes resulting from people trying to name their BB keys things longer than 1024 characters #UE4
#jira UE-43120
Change 3360884 on 2017/03/23 by Zak.Middleton
#ue4 - (Merge) Audio: AUDIO_MIXER_ENABLE_DEBUG_MODE turned off in Test builds. Shipping already had it off.
(Integrate CL 3310724 from Odin)
Change 3361045 on 2017/03/23 by Zak.Middleton
#ue4 - (Merge) Audio: new cvars to help with optimization:
- au.DisableReverbSubmix
- au.DisableEQSubmix
- au.DisableParallelSourceProcessing
- au.SetAudioChannelCount
Also checked in some code to cut down on the amount of parameter setting in EQ
(Integrate of CL 3303165 in Odin by Aaron.Mcleran)
Change 3361172 on 2017/03/23 by Zak.Middleton
#ue4 - (Merge) Audio: added stat for HRTF.
(Integrate CL 3310728 from Odin)
Change 3361189 on 2017/03/23 by Zak.Middleton
#ue4 - (Merge) CVar to toggle HRTF for perf settings. Default is on.
(Integrate CL 3310926 from Odin).
Change 3361914 on 2017/03/23 by Aaron.McLeran
UE-42649 Fixing crash in cleaning up active sound in sound concurrency
-Handling edge case of an active sound not have a sound base ptr, which is possible.
Change 3361924 on 2017/03/23 by Aaron.McLeran
UE-41378 Fixing passive mix modifier bug
Change 3361978 on 2017/03/23 by Aaron.McLeran
UE-42627 Fix for when audio device is removed and getting a deadlock in computing audio clock
Change 3361989 on 2017/03/23 by Aaron.McLeran
PR #3010: Check for null GEngine on sound processing
Change 3362053 on 2017/03/23 by Zak.Middleton
#ue4 - (Merge) Audio: Perf: Avoid thousands of Array.Add() calls during processing, which on shipping still does checks to see if the allocator has to grow, and updates ArrayCount.
(Integrate CL 3311120 from Odin)
Change 3362102 on 2017/03/23 by Aaron.McLeran
PR #3182: Enabled SwitchOnEnum nodes for EAttenuationShape and EAttenuationDistanceModel
Change 3362153 on 2017/03/23 by Aaron.McLeran
UE-43286 Oculus audio plugin not working/available
Change 3362162 on 2017/03/23 by Aaron.McLeran
UE-42252 Frequent ensure in FLevelEditorViewportClient::UpdateAudioListener
Change 3362206 on 2017/03/23 by Aaron.McLeran
UE-43287 Fixing HRTF spatialization in editor viewport
- Steam Audio doesn't support multiple audio devices at the moment
- Instead of hard-coding all audio plugins to not work in main audio device (GDC temp fix), I allow audio plugins to specify if they should be used on main audio device
Change 3362775 on 2017/03/24 by mason.seay
Replaced deprecated node
Change 3363024 on 2017/03/24 by Ben.Zeigler
Fix regression in behavior of streamable manager where loading both a valid and null asset used to work but now fails. Instead added a warning for that case, but if only null are requested it still fails with an error
Change 3363030 on 2017/03/24 by Zak.Middleton
#ue4 - Lower default max sendrate for clients to 60Hz from 90Hz when net speed is high and player count is low. Throttled rate remains at 45Hz. This value has been tested in Paragon with no ill effect, and saves on bandwidth and server CPU when clients run at high framerate.
Change 3363036 on 2017/03/24 by Zak.Middleton
#ue4 - (Merge) Audio: Perf: turned a float divide into a multiply. It happens at least 32k times per audio update.
(Integrate CL 3311158 from Odin)
Change 3363541 on 2017/03/24 by Zak.Middleton
#ue4 - (Merge) Audio: Perf: remove pointer indirection, and successive TArray Add()s in GetChannelMap().
(Integrate CL 3311169 from Odin)
Change 3363642 on 2017/03/24 by Zak.Middleton
#ue4 - (Merge) Audio: Perf: Save ~5% total audio update time. Savings in "Source Output Buffers".
- Removed function call overhead to updating channel map. 64,000 function calls...
- Simplified FSourceParam::Update() to reduce branching and have 1 return site.
- Added alternative to GetChannelMap() called UpdateChannelMap() that avoids copying out values to an array. The values can then be fetched from the channel data directly.
(Integrate CL 3311235 from Odin)
Change 3364441 on 2017/03/24 by Ben.Zeigler
Fix issue where calling LoadLocalIniFile on a plugin file would result in an empty file. It was assuming engine/game dirs, now it instead pulls it out of GConfig if available.
This fixes issue where iterative cooking would fail on plugin config files
Add FindConfigFileWithBaseName to GConfig
Change 3364652 on 2017/03/25 by Phillip.Kavan
#jira UE-43210 - Fix a runtime VM crash upon removing an element from a set after consecutive add/remove iterations.
Change summary:
- Fixed FScriptSet::Add() to initialize the HashIndex member of the new element when the HashSize does not change.
Change 3365609 on 2017/03/27 by Richard.Hinckley
#jira UEDOC-4720
Fixed global enums being dropped from documentation after being extracted by Doxygen.
Change 3365737 on 2017/03/27 by Marc.Audy
Move setting of the ParentComponent property on an actor to PostRepNotifies instead of having a separate OnRep function.
Change 3365795 on 2017/03/27 by Marc.Audy
Fix compile error
Change 3365894 on 2017/03/27 by Phillip.Kavan
#jira UE-35507 - Fix for a GLEO when choosing an LSBP class as the default value for a class input pin in a non-LSBP graph.
Change summary:
- Modified FGraphPinFilter::IsClassAllowed() to disallow a given class if the type is contained within a map package that does not match the current graph context.
Change 3366067 on 2017/03/27 by Marc.Audy
Add UWorld* to PostLoadMap indicating which world has been loaded. Null if an error has occurred.
#jira UE-40228
Change 3366097 on 2017/03/27 by Marc.Audy
Fixed missed deprecation disable pairing for PostLadMap
Change 3366170 on 2017/03/27 by Aaron.McLeran
Fixing div by zero
Change 3366221 on 2017/03/27 by Aaron.McLeran
UE-43240 Removing dependency on component visualizers in runtime Phonon module.
Change 3366698 on 2017/03/27 by Marc.Audy
Fix Orion compile errors
Change 3366782 on 2017/03/27 by Aaron.McLeran
Bringing over optimizations from Odin to Dev-framework.
Original CL 3311435
Change 3366818 on 2017/03/27 by Aaron.McLeran
Bringing fix from Odin to Dev-Framework from CL 3304533
Fix for rare condition that stomps memory during source recycling.
Change 3366984 on 2017/03/27 by Michael.Noland
Blueprints: Downgraded a warning in the connection drawing policy to verbose to suppress it. It does no good to a typical user.
#jira UE-41638
Change 3367085 on 2017/03/27 by Brent.Pease
- Improve AudioMixer buffering so that only two buffers are needed instead of three, buffer submission and buffer processing are ovelapped, and a warning is issued if the audio processing thread can not keep up.
- Added time critical thread priority so that audio processing is not starved which would produce clicks and popping
- Allow the audio thread to not be created if a platform implements its own BeginGeneratingAudio() call (as happens on Android)
Change 3367434 on 2017/03/28 by Marc.Audy
Fix UT compile error
Change 3368587 on 2017/03/28 by Mike.Beach
Adding a "CookedOnly" plugin type (now used by the nativized Blueprint plugin).
Change 3368724 on 2017/03/28 by Zak.Middleton
#ue4 - MovementComponent does not ignore initial blocking overlaps when moving from SafeMoveUpdatedComponent(). Set "p.MoveIgnoreFirstBlockingOverlap" back to zero and add a new flag that prevents the depenetration test from generating hit events (to prevent the problem discovered in UE-39387).
#jira UE-41613, UE-28610
Change 3368748 on 2017/03/28 by Dan.Oconnor
Provide &FUObjectThreadContext::Get().ObjLoaded when using the compilation manager, add validation functions for finding REINST/TRASH references
Change 3368852 on 2017/03/28 by Mike.Beach
Fixing a CIS error before it happens - wrapping implementation in preprocessor defines to match declaration in header.
Change 3368873 on 2017/03/28 by Dan.Oconnor
Rather than collecting script object references, just use the ScriptObjectReferences array. This allows reference replacing archives to update ScriptObjectReferences.
Change 3368998 on 2017/03/28 by Dan.Oconnor
Setting CLASS_Interface early in the compilation process
Change 3369494 on 2017/03/29 by Marc.Audy
Fix UAT compile error
Change 3369924 on 2017/03/29 by Zak.Middleton
#ue4 - Allow CharacterMovement AdjustFloorHeight() to adjust using the line trace if in penetration. Force next floor check so it will check after it depenetrates.
#jira UE-36973
Change 3369932 on 2017/03/29 by Ben.Zeigler
#jira UE-19494 Finish asset auditing work by allowing reading back a cooked asset registry in the editor
Split off FAssetRegistryState as the struct to hold serialization and accessors, to allow loading multiple platform states at once.
Optimized runtime asset registry serialization to be around 1/3 as large as before. Dependencies are disabled by default for the runtime registry, you can re-enable with bSerializeDependencies in Engine.ini
Add FAssetPackageData which is explicitly per-package and only updated on save/load time. File size is stored in here and is computed for both editor and cooked data
Add code to AssetManagerEditorModule to allow loading pre-cooked asset registry files and reading cooked sizes. The Asset Audit window now has a platform drop down that allows reading from cooked data
Rename ChunkManifestGenerator to AssetRegistryGenerator and change it to directly hold an FAssetRegistryState internally
Add new experimental AssetRegistry mode for iterative cooking. This mode is much faster as it does not need to do it's own internal dependency checking and it can be enabled with bUseAssetRegistryForIteration
Change it so during cooking it doesn't directly load string asset references, but instead cues them for cook and uses the asset registry to find and add redirector mappings that are used during save time
Change 3370028 on 2017/03/29 by Ben.Zeigler
CIS fix
Change 3370360 on 2017/03/29 by Mike.Beach
Adding an extra field to FPlatformInfo; a 'UBTTarget' identifier intended to sync up with UBT's UnrealTargetPlatform enum (needed for programatically generating plugin platform whitelists).
Change 3370363 on 2017/03/29 by Ben.Zeigler
Fix issue where loading out of date editor asset registry cache would throw pointless errors
Change 3370414 on 2017/03/29 by Marc.Audy
Remove autos
Change 3370428 on 2017/03/29 by Ben.Zeigler
Fix linux CIS issue, remove implicit conversion from FSavePackageResultStruct back to enum result as it was creating ambiguous operators
Change 3370453 on 2017/03/29 by Marc.Audy
CIS fix
Change 3370548 on 2017/03/29 by Marc.Audy
#rn Fix issues with seamless travel in PIE and shared sub levels between different parents.
Change 3370564 on 2017/03/29 by Mieszko.Zielinski
PR #3429: fix comment typo (Contributed by kayama-shift)
Change 3370602 on 2017/03/29 by Mieszko.Zielinski
Fixed FRecastTileGenerator::Modifiers being erroneously counted twice when stating memory #UE4
Change 3370615 on 2017/03/29 by Phillip.Kavan
#jira UE-35515 - No longer crash when creating a new BP class from one or more selected Actors in which the root component is not Blueprint-spawnable.
Change summary:
- Modified FKismetEditorUtilities::AddComponentsToBlueprint() to handle deferred SceneComponent SCS node adds when the parent component was not also added (due to not being BP-spawnable).
Change 3370693 on 2017/03/29 by Michael.Noland
Fixing some bad indentation
#rnx
Change 3370740 on 2017/03/29 by Ben.Zeigler
DLC/Mod Cooking fixes, the list of packages from release build as in uncooked filename format so fixed code and made this more obvious
Fix Asset Registry to allow loading multiple source asset registries into the same state, by keeping a list of preallocated buffers
Change 3370792 on 2017/03/29 by Michael.Noland
Blueprints: Deleted some unversioned backwards compat. code that would only matter for assets older than VER_UE4_OLDEST_LOADABLE_PACKAGE
Change 3370794 on 2017/03/29 by Michael.Noland
PR #3190: Reduce some output logging
- Reduced an Oculus log from Log to Verbose because it spams quite a bit
- Corrected the spelling and the meaning of a blueprint warning when an invalid breakpoint is encountered
- Treat UInputComponent::GetAxisValue(None) as not a warning
- Switch FGenericSaveGameSystem::LoadGame to silently attempt to load the file, it returns success/failure and it isn't necessary to have a separate warning at the file i/o layer
#jira UE-41446
Change 3370831 on 2017/03/29 by Dan.Oconnor
Iteration on compilation manager
- Fix Skeleton class compilation order
- Pass ObjLoaded array to compilation manager to ensure all objects get PostLoaded
- Make sure data only classes get reinstanced, so that UpdateCustomPropertyListForPostConstruction is run correctly
Change 3370923 on 2017/03/29 by Michael.Noland
Blueprints: Added an icon to indicate whether or not a macro contains latent actions
- Note: The state of the icon is cached for performance reasons on request, with the cache being cleared when the BP containing the macro is modified or a macro graph is removed
- This does mean that editing the inner macro of a nested macro to add/remove a latent action will not show up in visualization for the outer node until the editor is restarted or the outer macro is modified
Change 3371039 on 2017/03/29 by Dan.Oconnor
Hacky fix for dropping return params when a function's return node is culled
Change 3371750 on 2017/03/30 by Richard.Hinckley
Stencil write mask exposed. Adds nine new options (all bits, plus each bit individually - write on pass or depth fail). This allows stencil overlaps to be detected by mixing masks.
Change 3372513 on 2017/03/30 by Ben.Zeigler
#jira UE-43475 Fix cooker issues with string asset references to null packages.
Fix redirector detection to follow recursive chains, and correctly strip object class from redirected string asset references.
Change 3372565 on 2017/03/30 by Richard.Hinckley
Rolling back stencil change, will be moved to Dev-Rendering.
Change 3372764 on 2017/03/30 by Marc.Audy
Do not create a duplicate sub object that is not in the annotation if a sub object of the same name and class already exists.
#jira UE-43328
#rn Fixed cases where the blueprint of a class used as a child actor could be dirtied when compiling the owning blueprint.
Change 3372847 on 2017/03/30 by Marc.Audy
Fix missing include
Change 3372994 on 2017/03/30 by Zak.Middleton
#ue4 - Fix build in Debug (checkSlow using incorrect function params).
Change 3373195 on 2017/03/30 by Mike.Beach
For nativization, changing it so we key off of the target platform-info struct instead of the platform (in preparation for defining the nativized plugin's platform whitelist).
Change 3373320 on 2017/03/30 by mason.seay
Basic for TM-Gameplay map (WIP)
Change 3373448 on 2017/03/30 by Ben.Zeigler
Fix recursive size display in audit window
Improve asset manager comments
Change 3373576 on 2017/03/30 by dan.reynolds
AEOverview Update:
Updated Passive Mix Modifier Test based on recent changes in behavior
Also added Initial Delay Time timer to test
Change 3373589 on 2017/03/30 by dan.reynolds
AEOverview Passive Mix Mod Test Map update
Change 3373624 on 2017/03/30 by Zak.Middleton
#ue4 - Increase Pawn location replication precision to 2 decimal places from 0. Prevents replicated pawns from being inside geometry by a large amount. Removed CVars controlling CharacterMovement proxy shrink amount and made those instanced properties on the component.
#jira UE-40420
Change 3374271 on 2017/03/31 by Marc.Audy
Fix deprecation warning in new UT code
Change 3374320 on 2017/03/31 by Marc.Audy
Fix HTML5 compile.
Change 3374413 on 2017/03/31 by Jeff.Farris
Added ENGINE_API to 2 functions in PlanarReflection, so projects can subclass it.
(Copied CL 3276454 from Robo Recall to Dev-Framework)
Change 3374414 on 2017/03/31 by Jeff.Farris
Added support for setting UNavigationSystem::bUpdateNavOctreeOnComponentChange
(Copied CL 3267903 from RoboRecall to Dev-Framework)
Change 3374616 on 2017/03/31 by Ben.Zeigler
Copy of Fortnite CL #3312058 to add a missing redirector. I do not understand why this is not erroring on Main, I guess my minor cook changes somehow exposed this
Change 3374664 on 2017/03/31 by Jeff.Farris
Consted AIController::GetBrainComponent()
(Copied 3239101 from Robo Recall to Dev-Framework)
Change 3374665 on 2017/03/31 by Jeff.Farris
PrimitiveComponent bIgnoreRadialImpulse and bIgnoreRadialForce are now exposed to BPs. bIgnoreRadialImpulse now respected when applying impulse to relevant movement components.
(Coped CL 3242355 from Robo Recall to Dev-Framework)
Change 3374779 on 2017/03/31 by Jeff.Farris
Exposed SetAllPhysicsAngularVelocity to blueprints
(Copied CL 3228390 from Robo Recall to Dev-Framework)
Change 3374792 on 2017/03/31 by Ben.Zeigler
#jira UE-42618
PR #3347: Improve support for FGameplayAttributeData properties in attribute sets (Contributed by hoelzl)
Change 3374844 on 2017/03/31 by Ben.Zeigler
#jira UE-42587 Fix issue where supressed gameplay effects that granted abilities would only work the first time, it now clears out of date ability handles
Change 3374925 on 2017/03/31 by Marc.Audy
Don't throw warning about missing world context for inactive worlds.
#jira UE-42679
Change 3374927 on 2017/03/31 by Michael.Noland
Editor: Added options for configuring the editor window background color and texture, which can be useful to visually distinguish the editor when switching between different branches or projects
Change 3374995 on 2017/03/31 by Michael.Noland
Editor: Rewrote CallInEditor support and promoted it so it can be used on functions in any class, not just blueprints derived from AActor:
- CallInEditor used on native UFUNCTION() declarations will now show up without having to make a BP subclass
- CallInEditor can now be used as a top-level keyword in the UFUNCTION() declaration (e.g., UFUNCTION(Category=CoolCommands, CallInEditor))
- Now shows each function as a separate button, placed in the category associated with the function
- The button strip entry is now searchable by function name or tooltip
- Prevented operating on functions that have parameters or return values, which would crash before
- Removed the duplicate copies of properties placed in the Blutility section
- Added a scoped transaction around CallInEditor execution
- Allowed functions to be marked as CallInEditor in addition to custom events (currently we don't allow editing category or tooltip on custom events...)
Editor: Moved Experimental/EarlyAccessPreview details customizations up to UObject so it can be used on any class, not just actors/components
Upgrade Note: Behavior has changed so that CallInEditor can be called on CDOs as well, this will probably be walked back in a subsequent update, at least for actors and components.
Change 3375005 on 2017/03/31 by Michael.Noland
Fixing incremental compilation error due to missing include
#rnx
Change 3375015 on 2017/03/31 by Michael.Noland
Fixing incremental compilation error due to missing include (for real)
#rnx
Change 3375045 on 2017/03/31 by Marc.Audy
Only calculate the streaming levels prefix during seamless travel if it is a PIE world
#jira UE-43485
Change 3375053 on 2017/03/31 by Ben.Zeigler
#jira UE-41988 Fix it so leaving PIE while gameplay debugger is active will disable HUD extensions properly, restoring ability to print messages to screen
Change 3375057 on 2017/03/31 by Ben.Zeigler
#jira UE-39226 Don't add to DrawDebug list for player controllers with no local player
Change 3375121 on 2017/03/31 by Michael.Noland
Added missing include for FScopedTransaction
#rnx
Change 3375222 on 2017/03/31 by mason.seay
Submitting work done to TM-Gameplay. Still WIP
Change 3375308 on 2017/03/31 by Michael.Noland
Editor: Added back CDO filtering to CallInEditor, it's too easy to explode in the BP editor. May consider allowing opt-in behavior when we revisit Blutilities
Change 3375321 on 2017/03/31 by Ben.Zeigler
#jira UE-39062 Fix issue where using the level editor toolbar to modify blueprints was not properly marking the blueprints as modified, so the constructor links weren't being updated until manually compiling or resaving
Always recompute post constructor links when calling MarkBlueprintAsModified, as it can be called from native and other places where we modified CDOs but don't have a property changed event
Change 3375372 on 2017/03/31 by Ben.Zeigler
#jira UE-39568 Change Components to specifically update LatentActions the same as Actors do, so they update properly if bUpdateWhilePaused is set
Change 3375380 on 2017/03/31 by Marc.Audy
Modify IsMainAudioDevice to deal with the case where no audio device has been created.
Change 3375402 on 2017/03/31 by Marc.Audy
Fix DuplicateWorldForPIE in the case that the OwningWorld is null.
Change 3376037 on 2017/04/02 by Phillip.Kavan
#jira UE-35332 - Preserve the least common ancestor pin type on object array function node inputs after a node refresh.
Change summary:
- Added UK2Node_CallArrayFunction::GetDynamicallyTypedPins() to consolidate the code that retrieves type-dependent parameter pins.
- Added FBlueprintEditorUtils::FindLinkedPinWithAuthoritativePinType() to consolidate the code that considers other linked pins when choosing which type to propagate to type-dependent parameter pins.
- Added FBlueprintEditorUtils::PropagatePinTypeInfo() to consolidate the common code from UK2Node_CallArrayFunction::PropagateArrayTypeInfo(); this eliminated a redundant retrieval of the target pin set.
- Refactored UK2Node_CallArrayFunction::PropagateArrayTypeInfo() to now call FBlueprintEditorUtils::PropagatePinTypeInfo() after retrieving the set of dynamically-typed pins.
- Refactored UK2Node_CallArrayFunction::NotifyPinConnectionListChanged() to remove some unnecessary iteration passes and to ensure that we propagate the authoritative (least common ancestor) pin type for object- and struct-based types.
Change 3376364 on 2017/04/03 by Richard.Hinckley
UE-40920 Fix to Paper2D flipbook timeline editor. Previously, the timeline shown was one frame shorter than the animation. Now, the timeline shows the correct frame count.
Change 3376366 on 2017/04/03 by Richard.Hinckley
UE-40920 Bugfix to Paper2D flipbook editor. The red line indicating the current frame now adjusts properly if the timeline is longer than the editor window and the scroll bar is moved to the right.
Change 3376517 on 2017/04/03 by Marc.Audy
PR #3195: Added support for GamePad on RawInput Plugin (Contributed by katze7514)
#jira UE-41499
Change 3376708 on 2017/04/03 by Mike.Beach
Moving nativized plugins into a centralized folder (so we can use it as an additional plugin lookup dir) - this is so we can ultimately keep the generated code around for debugging purposes.
Summary of changes:
- nativized plugins now moved to ...\Intermediate\Plugins\<PLATFORM>\NativizedAssets
- corresponding manifest files get saved inside the module and named to match the platform
- nativized modules now whitelisted only for the platform they were generated for
- cleanup on how we generate paths (now piping in platform name) and pass multi-cook process ids (for building manifest filenames)
- extending the 'NativizeAssets' command line, so you can use it to specify the target plugin path (utilized by UAT to coordinate the plugin path between cook & build - was previously hardcoded in multiple places).
Change 3376826 on 2017/04/03 by Phillip.Kavan
#jira UE-43330 - Fix a crash when adding an input parameter to a Custom Event node after deleting a Function Graph containing a Create Event node.
Change summary:
- Modified UK2Node_CreateDelegate::HandleAnyChangeWithoutNotifying() to check for a valid blueprint before accessing it (since the accessor is now a checked operation).
- Modified UK2Node_CreateDelegate::GetScopeClass() to also check for a valid blueprint before accessing it.
- Switched 'NULL' to 'nullptr' in a few spots.
Change 3376831 on 2017/04/03 by Ben.Zeigler
#jira UE-43500, clean up UPackage when EDL/async loading fails. This restores EDL LoadPackage to work the same as non EDL and return NULL instead of an invalid empty package
Change 3376846 on 2017/04/03 by Ben.Zeigler
#jira UE-38760 Properly refresh exec pins when removing pin from a Switch on Int node
Change 3376850 on 2017/04/03 by Dan.Oconnor
Use authoritative class to mitigate compilation order issues
Change 3376961 on 2017/04/03 by Ben.Zeigler
#jira UE-43127 Add struct ops implementations for FIntVector and FBox2d, any blueprint type needs struct ops to avoid crashes
Fix Box2d variable name in NoExportTypes
Change 3376985 on 2017/04/03 by Ben.Zeigler
#jira UE-43582 Remove Xbox-specific code from AssetRegistry because it won't work after my refactor. The serialization is much faster now and neither Bob nor I can conceive of a way this would take long enough to stall the main thread. If it it is somehow a problem, it should be wrapped in a slow task instead
Change 3377009 on 2017/04/03 by Ben.Zeigler
#jira UE-43036 Fix crash when right clicking blueprint with no parent class. Ensures are fine but crashes should be avoided so people can try to copy data out of them
Change 3377054 on 2017/04/03 by Zak.Middleton
#ue4 - 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.
#jira UE-40344
#udn https://udn.unrealengine.com/questions/310497/large-delta-time-for-first-player-movement-update.html
Change 3377061 on 2017/04/03 by Dan.Oconnor
Fixes for issues exposed by cooking with compilation manager. When cooking we end up with more blueprints compiling at a single time, which highlighted issues reading from generated classes while they were actively regenerating.
Note that EInternalCompilerFlags::PostponeLocalsGenerationUntilPhaseTwo has only been added to mitigate risk - there is no known reason that existing compilation flows can't postpone generatation of local variables.
Change 3377073 on 2017/04/03 by Mike.Beach
CIS fix - proper initialization ordering.
Change 3377371 on 2017/04/03 by Ben.Zeigler
#jira UE-43144 Disallow creating map of FText, like bool it is not hashable
Change 3377395 on 2017/04/03 by Dan.Oconnor
Build fix - make order in source match initialization order in artifact
Change 3377417 on 2017/04/03 by Dan.Oconnor
Speculative SA fix
Change 3377496 on 2017/04/03 by Aaron.McLeran
#jira UE-43558 Cleaning up shutdown code with audio plugins.
Change 3377608 on 2017/04/03 by Zak.Middleton
#ue4 - Added function ACharacter::CacheInitialMeshOffset() to cache initial mesh offset, used as the target for network smoothing. Added a call to this function from BeginPlay() in addition to the existing call from PostInitializeComponents(), and exposed this to blueprints as well. This fixes the case of people moving the mesh in BeginPlay rather than in the editor or construction script and not having the mesh offset reflected correctly in network games.
#jira UE-38966
Change 3377880 on 2017/04/03 by Aaron.McLeran
Audio bug fixes
#jira UE-43600 Fixing sounds played by playsoundatlocation for audio volume calculations
#jira UE-43601 Fixing listener volume interpolation
#jida UE-43602 Fixing reverb/eq interpolation
Change 3377908 on 2017/04/03 by Phillip.Kavan
#jira UE-43565 - Fix a regression on type-dependent array function node pins that have more than one link.
Change summary:
- Added FBlueprintEditorUtils::FindLinkedPinWithMostDerivedPinType()
- Modified FBlueprintEditorUtils::FindLinkedPinWithAuthoritativePinType() to properly handle pins that have multiple links.
Change 3377912 on 2017/04/03 by Dan.Oconnor
Fix for missing SUBINSTANCE variables on anim BP skeletons. I elected to force SUBINSTANCE variable creation for the compilation manager codepath
Change 3377946 on 2017/04/03 by Ben.Zeigler
#jira UE-43594 Fix issue with streamable manager where a failed load would leave bAsyncLoadRequestOutstanding, which would confuse later calls to stream the same asset
Lower some error verbosity now that I believe I have tracked down the issue
Change 3377950 on 2017/04/03 by Michael.Noland
Blueprints: Prevent merge tool from crashing in SVN when looking at a file with gaps in the revision history
(May still not work correctly, but it won't crash; full fix covered by UE-43603)
#jira UE-22428
Change 3377981 on 2017/04/03 by Michael.Noland
PR #3416: UE-43005: Prevent crash due to too long name (Contributed by projectgheist)
#jira UE-43291
#jira UE-43005
Change 3378039 on 2017/04/04 by Michael.Noland
PhysX: Allowed the editor to compile when bRuntimePhysicsCooking is disabled (WITH_EDITOR is used in every place in C++ to force it in already)
Change 3378041 on 2017/04/04 by Michael.Noland
Paper2D: Adjusted under what circumstances CreatePhysicsMeshes is called on various Paper2D types to match UProceduralMeshComponent
Change 3378081 on 2017/04/04 by Dan.Oconnor
Fix Blueprint Context nodes so that they don't rely on Ar.IsBeingSaved() call before compilation
3x because of copy/paste
Change 3378094 on 2017/04/04 by Dan.Oconnor
Add missing preload call for compilation manager
Change 3378917 on 2017/04/04 by Marc.Audy
Fix static analysis (which is very dumb)
Change 3378986 on 2017/04/04 by Dan.Oconnor
Fix bad merge
Change 3379100 on 2017/04/04 by Dan.Oconnor
Fix missing CPF_ConstParm/CPF_ReferenceParm/CPF_OutParm logic in 'fast' skeleton path
#jira UE-43629
Change 3379102 on 2017/04/04 by Ben.Zeigler
Actually fix StreamableManager issues with cancelling a request messing up things in the future. We now always queue a request, even if it failed before or there is one in progress. This has to be done to avoid issues with cancelling the existing request or mounting new files after it's failed once
Now that StreamableManager will retry missing files, add failed load packages to the known missing list so it won't spam errors over and over
Change 3379147 on 2017/04/04 by Zak.Middleton
#ue4 - Improve on CL 3377608: Made Character::CacheInitialMeshOffset() take location and rotation params so you can be explicit on the values, in case you try to change these during network smoothing, where reading the relative offsets would have been skewed.
Change 3379254 on 2017/04/04 by Aaron.McLeran
Fixing sounds in audio mixer when no EQ has been set.
Change 3379760 on 2017/04/04 by Ben.Zeigler
#jira UE-43647 Don't delete failed async packages that are rooted
[CL 3380073 by Dan Oconnor in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3209807 on 2016/11/24 by Chris.Wood
CRP now has improved handling of lost comms with website/DB (CRP v.1.2.9)
[UE-38397] - CrashReportProcess should not lose crashes when the website goes down.
Change 3209936 on 2016/11/24 by Steven.Hutton
Reconciled offline work. Fixed a number of display bugs with the reports page.
Change 3209938 on 2016/11/24 by Steven.Hutton
Reconciled offline work
Adding JQuery UI packages
Change 3210736 on 2016/11/28 by Steve.Robb
Unset() made protected, which is an implementation details of TFunction and not the way to unbind one (may leak memory).
Fixes to existing calls.
https://answers.unrealengine.com/questions/494947/proper-way-to-deal-with-destroying-a-tfunction.html
Change 3211181 on 2016/11/28 by Steve.Robb
Improved error message when binding a delegate to a pending kill object.
#jira UE-5232
Change 3211214 on 2016/11/28 by Steve.Robb
PR #2978: fixed typo in FMallocLeakDetection (Contributed by finap)
#jira UE-39049
Change 3211301 on 2016/11/28 by Steve.Robb
PR #2892: Copy bCustomVersionsAreReset when creating an Archive from another Ar. (Contributed by surakin)
#jira UE-37941
Change 3213387 on 2016/11/29 by Steven.Hutton
Test of a release note parsed from the changelist
Change 3213553 on 2016/11/29 by Gil.Gribb
UE4 - Rework dependencies and UStruct creation so that we can create UBlueprintGeneratedClass's without needing the parent class serialized.
Change 3214800 on 2016/11/30 by Robert.Manuszewski
ModuleManager will now use a critical section instead of FMultiReaderSingleWriterGT to make it really thread safe.
- removed FMultiReaderSingleWriterGT because it was not fully thread safe
Change 3214926 on 2016/11/30 by Robert.Manuszewski
Merging using Dev-Core_To_Dev-LoadTimes (reversed)
Change 3214981 on 2016/11/30 by Gil.Gribb
UE4 - Make sure that subobjects of CDOs are exported even if they don't have any direct references; they might be archetypes.
Change 3215392 on 2016/11/30 by Steve.Robb
Error out on editor builds when reading a non-boolean value in an archive.
Change 3215674 on 2016/11/30 by Steve.Robb
Replacement of a custom scope-exit setup with our standard macro.
Change 3215720 on 2016/11/30 by Steve.Robb
Default constructor for TTuple which value-initializes the elements.
Change 3216777 on 2016/12/01 by Graeme.Thornton
Add NoRedist and NotForLicensees folders in the game folder to the C# version of config file hierarchy.
Change 3216858 on 2016/12/01 by Graeme.Thornton
Improvements to pak signing and encryption
- Remove compile time defines for encryption key and signing keys
- Embed keys in executable by including in the UBT generated UELinkerFixups.cpp file
- Add key access core delegate for passing these keys through to pak platform file
Change 3216860 on 2016/12/01 by Graeme.Thornton
Re-enable pak signing and encryption in ShooterGame
Change 3216861 on 2016/12/01 by Graeme.Thornton
Re-enable pak signing and encryption in Paragon
Change 3217076 on 2016/12/01 by Gil.Gribb
UE4 - replaced !GIsIntialLoad with EVENT_DRIVEN_ASYNC_LOAD_ACTIVE_AT_RUNTIME as a first step toward boot time EDL
Change 3221139 on 2016/12/05 by Ben.Woodhouse
Dummy integrate of CL 3221131 (versioning workarounds) from Dev-LoadTimes4.14 with accept target to prevent those workarounds being merged out of dev-loadtimes4.14.
Command:
p4 integrate //UE4/Dev-LoadTimes4.14/...@3221131,3221131
w/ resolve/accept-target
Change 3221410 on 2016/12/05 by Steve.Robb
Allow Algo::IsSorted to work on C arrays and initializer_lists.
Change 3221673 on 2016/12/05 by Gil.Gribb
set up an intentional merge conflict so we can do the right thing when dev-BP and dev-core come together
Change 3223182 on 2016/12/06 by Chris.Wood
Add EngineModeEx to CrashReportCommon
[UE-39258] - Update CrashReporter to include whether Engine crashes are from vanilla build or not
Change 3224646 on 2016/12/07 by Robert.Manuszewski
It's no longer necessary to rebuild the cooked exe to enable the event driven loader. EDL and the new async IO are now controlled with ini settings only.
Change 3224647 on 2016/12/07 by Robert.Manuszewski
Event Driven Loader is now enabled by default.
Change 3224669 on 2016/12/07 by Chris.Wood
Compressing some crash files output from CRP to S3 (CRP v1.2.11)
[UE-37564] - Add compression support for CRP crash files in S3
Add EngineModeEx to support to CRP (CRP v1.2.10)
[UE-39258] - Update CrashReporter to include whether Engine crashes are from vanilla build or not
Change 3224873 on 2016/12/07 by Robert.Manuszewski
A few fixes to the EDL macro refactor.
Change 3224933 on 2016/12/07 by Robert.Manuszewski
Async Loading settings will now be logged on startup in cooked games
Change 3224984 on 2016/12/07 by Robert.Manuszewski
Small fix to EDL and new async IO global var init.
Change 3225027 on 2016/12/07 by Robert.Manuszewski
Re-enabling EDL in ShooterGame since it no longer requires the cooked exe to be re-compiled (and EDL is on by default anyway).
Change 3226702 on 2016/12/08 by Steve.Robb
UHT can now skip over macro-like identifiers while parsing.
Correctly handles FTypefaceEntry::Name parsing, which was broken by the workaround in CL# 3219332.
Syntax workaround reverted in FTypefaceEntry.
#jira UE-38231
Change 3226756 on 2016/12/08 by Steve.Robb
LexicalConversion renamed to Lex after #core discussion.
Lex::ToString overloads added for FString itself.
Change 3226766 on 2016/12/08 by Steve.Robb
FCookStatsManager::ToString replaced with Lex::ToString, as it now supports the required functionality.
Change 3226949 on 2016/12/08 by Robert.Manuszewski
Fixing static analysis warnings
Change 3228566 on 2016/12/09 by Robert.Manuszewski
Making UBT not think it needs to use separate temporary target for non source code projects when EDL settings don't match default.
Change 3228601 on 2016/12/09 by Steve.Robb
Fix for TSparseArray visualization of types smaller than 8 bytes.
Change 3228654 on 2016/12/09 by Gil.Gribb
UE4 - Fix very old bug with lock free lists, probably not relevant to anything we currently use.
Change 3228697 on 2016/12/09 by Graeme.Thornton
Rebuilt UnrealPak
[CL 3228932 by Robert Manuszewski 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
#rb None
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3173153 on 2016/10/25 by Graeme.Thornton
Pak signing changes
- Integrated into EDL loader
- Changed to not encrypt each CRC in the sig file, rather just store a single encryped signature of the entire sig file. Removes need to decrypt thousands of signatures at startup.
Change 3173531 on 2016/10/25 by Steven.Hutton
Removing unused j query packages.
Change 3174743 on 2016/10/26 by Gil.Gribb
UE4 - fixed COTF with EDL
Change 3177896 on 2016/10/28 by Steve.Robb
TSharedPtr and TSharedRef aliasing constructors.
Removal of static_asserts for TSharedPtr<UObject>.
Change 3180343 on 2016/10/31 by Steve.Robb
Reimplementation of changes from CL#s 3050329 and 3105715 that were lost in merges 3094597 and 3105741.
Change 3181382 on 2016/11/01 by Steve.Robb
Visual Studio debugger visualizers for delegates.
Change 3182738 on 2016/11/02 by Graeme.Thornton
Re-enable signed archive reader so non-pakpreacher based reads still get signature checked
Change 3183420 on 2016/11/02 by Steve.Robb
Fix to TIsZeroConstructType for TScriptDelegate.
Change 3184872 on 2016/11/03 by Robert.Manuszewski
Fixing memory stomps in SSL certificate initialization (found with mallocstomp)
Change 3184873 on 2016/11/03 by Robert.Manuszewski
Adding thread safety checks to async loading code
Change 3185535 on 2016/11/03 by Ben.Zeigler
Fix it so calling CreateDefaultSubobject with bTransient = true sets the object transient flag. This fixes EDL Crashes involving components.
Change 3186636 on 2016/11/04 by Graeme.Thornton
AES encryption integrated into EDL system
Pak signing and AES encryption now configurable by ini files rather than magical text files
Change 3186637 on 2016/11/04 by Graeme.Thornton
Configured pak signing and encryption in ShooterGame for reference
Change 3186639 on 2016/11/04 by Graeme.Thornton
Encryption changes for Orion
* Move pak signing keys into new INI format
* Add AES key and enable INI file encryption
Change 3186661 on 2016/11/04 by Graeme.Thornton
Change unrealpak command line params to accept AES key as a separete parameter
Change 3186670 on 2016/11/04 by Robert.Manuszewski
Adding a null check before using a package pointer in Linker code
#jira UE-38237
Change 3186775 on 2016/11/04 by Graeme.Thornton
Fix UBT defines that come in as quoted strings, losing the quotes when passed to the compiler
- PS4 and Mac fixes. Other platforms might need fixing too!
Change 3186823 on 2016/11/04 by Graeme.Thornton
Fixed an incorrect size check in the EDL pak signing code
Change 3186925 on 2016/11/04 by Graeme.Thornton
Allow UnrealPak to read encryption settings from project ini files
Change 3189885 on 2016/11/08 by Graeme.Thornton
Static analysis warning fix
Change 3190015 on 2016/11/08 by Robert.Manuszewski
Thread safety fix for UBlueprintGeneratedClass::PostLoadDefaultObject while UBlueprintGeneratedClass::SerializeDefaultObject runs on the async loading thread
Change 3190253 on 2016/11/08 by Chris.Wood
Improved MDD performance for on the CR server.
[UE-37566] - Improve MDD performance on CR server
Blocked MDD init'ing the crash handling code as it isn't desirable on the server.
Removed redundant call to SetSymbolPathsFromModules() from CrashDebugHelper.
Change 3192993 on 2016/11/10 by Robert.Manuszewski
Thread Heartbeat will no longer report the same hang multiple times.
Change 3193111 on 2016/11/10 by Robert.Manuszewski
Minor change in the condition that detects the same hangs - allow the same callstacks from different threads
Change 3193168 on 2016/11/10 by Steve.Robb
TSparseArray now reserves space in reverse so that new elements get added to the front of the allocation rather than the back, which is better for memory traversal and meets expectations more closely.
Change 3193171 on 2016/11/10 by Steve.Robb
Easier debugging of FPendingRegistrantInfo map.
Change 3193188 on 2016/11/10 by Steve.Robb
TAutoPointer deprecated.
Change 3193796 on 2016/11/10 by Graeme.Thornton
Fix pak creation failure when no pak signing keys are supplied
Change 3194524 on 2016/11/11 by Graeme.Thornton
Another static analysis warning fix
Change 3195119 on 2016/11/11 by Steve.Robb
TAutoPtr deprecated.
Fixes to use of TAutoPtr with incompatible memory deallocations (TAutoPtr with FMemory::Malloc and new[]).
Some large headers moved into .cpp files.
Change 3196582 on 2016/11/14 by Gil.Gribb
UE4 - Changed a check to a warning related to detaching linekrs twice. Seen in nativized BP version of platformer game.
Change 3196878 on 2016/11/14 by Steve.Robb
TScopedPointer deprecated.
Change 3198061 on 2016/11/15 by Steve.Robb
Class array is no longer regenerated when saving UClasses.
Change 3198065 on 2016/11/15 by Robert.Manuszewski
Making AssembleReferenceTokenStream thread safe for blueprints loaded on the async loading thread.
Change 3198199 on 2016/11/15 by Robert.Manuszewski
Pak platform file will now only be used if pak files exist regardless of command line paraks like -pak, -singedpak and -signed.
Change 3199954 on 2016/11/16 by Graeme.Thornton
Removing USING_SIGNED_CONTENT
Change 3200221 on 2016/11/16 by Chris.Wood
CrashReportProcess code cleanup - removing unused using directives
Change 3200232 on 2016/11/16 by Chris.Wood
Multiple CrashReportProcess updates and improvements (CRP v1.2.6)
UE-36248 - CRP scalability: All bulk storage or shared data to S3 or suitable network drives
InvalidCrashReports now saved to S3 instead of local folder
Removed option tosync MinidumpDiagnostics from Perforce
Moved MinidumpDiagnostics from old Perforce synched location to its own folder in E:\Services (makes more sense with manual publishing)
Added improved logging to Slack with option to monitor MDD performance
Added hourly log folders to MDD logs
Added support for types of crashes we don't want to symbolicate (using it to skip callstack gen for hang detected ensures)
Change 3200382 on 2016/11/16 by Robert.Manuszewski
Async Loading code will now detach the linker when resetting async package loader to avoid situations when loading the same asset multiple times results in the following load request finding the old linker after the package has been loading but the async package hasn't been deleted yet (async package for the old request in limbo state but linker exists).
Change 3200562 on 2016/11/16 by Gil.Gribb
UE4 - Fixed rare issue with reloading nativized blueprints with the EDL and a minor simplication.
Change 3201093 on 2016/11/16 by Ben.Zeigler
#UE 38654 Fix EDL cooking to correctly search components created directly by UBlueprints, as well as the CDO components it already covered. Also explicitly mark subobject templates as editor only.
Fix issue where the AssetImportData associated with Blueprint-owned Curves was ending up in the cooked subobject template list. Stopped it from creating those objects, and mark the class editor only.
Change 3201736 on 2016/11/17 by Steve.Robb
Strtoi64 platform and TCString functions.
#fyi robert.manuszewski
Change 3201938 on 2016/11/17 by Ben.Woodhouse
Dummy integrate of the Square render version workaround (CL 3201913) with _accept target_ to prevent it being integrated to dev-core in future.
Commandline:
p4 integrate //Tasks/UE4/Dev-LoadTimes/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp@3201913,3201913 //UE4/Dev-Core/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp
#fyi robert.manuszewski
Change 3203757 on 2016/11/18 by Robert.Manuszewski
Removing debug code from async loading code.
Change 3203927 on 2016/11/18 by Robert.Manuszewski
Fixing comments in the async loading code.
Change 3204851 on 2016/11/18 by Steve.Robb
Metafunction for testing if a particular operator<< overload exists, e.g. THasInserterOperator<FArchive&, FMyType&>::Value.
Change 3204854 on 2016/11/18 by Steve.Robb
UEnumProperty.
Change 3205027 on 2016/11/18 by Ben.Zeigler
Add useful functions to FAssetPtr and TAssetSubclassOf that already existed on TAssetPtr
Add Get() to TSubclassOf so it matches our other wrappers
Fix TSubclassOf and TAssetSubclassOf to use the more efficient template method of checking class compatibility
Comment and template cleanups for AssetPtr, StringAssetReference, LazyPtr, and SubclassOf
Change 3206334 on 2016/11/21 by Ben.Zeigler
#UE-38773: Fix it so non-component template subobjects of CDOs are not included as creation dependencies for BP classes, also clean up GetPreloadDependencies as it was adding redundant and null entries
#UE-38799: Fix it so WidgetTrees don't get picked up as subobjects, and add ensure at cook time to find null outers that would crash at runtime. Make sure the instanced widget trees are transient.
Cook finishes but game is still crashing in some cases, so I might adjust this after other testing
Change 3206353 on 2016/11/21 by Ben.Zeigler
Fix EnumProperty to handle EDL preload dependencies properly
Change 3206625 on 2016/11/21 by Ben.Zeigler
Fix enum property crash at runtime by copying what array property does and making sure inner property is not transient
Change 3206937 on 2016/11/21 by Ben.Zeigler
#jira UE-38905 Fix it so enums inside arrays are migrated properly, the enum tag is lost so use the current one
Disable other nested enum migrations as they are unlikely to work. Array property tags need to be refactored to be safer
Correctly save enum tag for enum properties, it was being set but not serialized
Change 3207002 on 2016/11/21 by Ben.Zeigler
#jira UE-38799
Fix it so per-widget copy of widget tree and all widgets inside are properly transient, they were being cooked before but never accessed.
Fix case where non ClientOnly public objects nested instead ClientOnly objects would cook but fail to load, and add ensure to catch these cases in the future.
If the full outer chain isn't available, it can't be loaded anyway, and this finds issues at cook time instead of load time.
We should generally outlaw non-transient objects with transient outers, it does not do what people expect.
Change 3207032 on 2016/11/21 by Ben.Zeigler
#jira UE-38654 Re-Fix EDL cooking with SCS-added components. They used to have the DefaultSubObject flag but no longer do
[CL 3208270 by Ben Zeigler in Main branch]
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2946506 on 2016/04/18 by Steven.Hutton
Update to Crash Reporter buggs table to add new search fields and inclusion of packages needed for e-mail reports.
Change 3017807 on 2016/06/17 by Chris.Wood
Improved Crash Report Process folder delete code as it could sometimes fail.
[UE-30349] - Crash Report Process is leaving crashes in the landing zone that build up and block the queue
Also added logging to Slack when stop request received instead of just when stop is complete.
Change 3019367 on 2016/06/20 by Chris.Wood
Improve Crash Report Process logging to track bad reads from S3.
Also, better logging when CleanReport fails to delete folders.
Change 3019376 on 2016/06/20 by Steve.Robb
Clarification of assert message and comments which talk about 'null' TFunctions.
Tidy-up of dead code.
Change 3019409 on 2016/06/20 by Steve.Robb
New Find and FindByPredicate algorithms for finding stuff in arbitrary containers.
Change 3022658 on 2016/06/22 by Chris.Wood
Discarding duplicated crash reports earlier in read from Data Router process to avoid clashes in the landing zone (CRP v1.1.11)
[UE-30349] - Crash Report Process is leaving crashes in the landing zone that build up and block the queue
Also improved logging to Slack with better layout, fixed event ordering and counting duplicates.
Change 3022840 on 2016/06/22 by Steve.Robb
Skipped UHT attributes removed.
Change 3022907 on 2016/06/22 by Robert.Manuszewski
Fixing crash when adding a new C++ class to project
#jira UE-32333
Change 3023169 on 2016/06/22 by Steve.Robb
Checks for UTHINGs in skipped preprocessor blocks.
Fixes for skipped UTHINGs and some other parsing accidents.
#jira UE-31627
Change 3023239 on 2016/06/22 by Steve.Robb
Fix for JSON date parsing reported here: https://udn.unrealengine.com/questions/299342/fdatetime-json-serialization-bug.html
Change 3026812 on 2016/06/24 by Mieszko.Zielinski
Marked FEnvQueryInstance::AddItemData UEnvQueryItemType_Point specialization as AIMODULE_API #UE4
Change 3028235 on 2016/06/27 by Robert.Manuszewski
PR #2535: BUGFIX: FPS pop-up updates when loading new stat file (Contributed by projectgheist)
Change 3028282 on 2016/06/27 by Steve.Robb
Fix for missing UFUNCTION check in skipped preprocessor blocks.
#jira UE-31627
Change 3028284 on 2016/06/27 by Steve.Robb
Debuggability improvements and coding standards changes.
Change 3028343 on 2016/06/27 by Steve.Robb
Fix for UHT error in WEX.
#jira UE-32464
Change 3028393 on 2016/06/27 by Steve.Robb
Fix for hot reload of enums finding the old enum.
Fix to stop SPropertyEditorNumeric caching the enum flags.
#jira UE-31658
Change 3030362 on 2016/06/28 by Robert.Manuszewski
Fixing hang when cooking.
Change 3030462 on 2016/06/28 by Steve.Robb
Assert added to PackageTools::GetFilteredPackageList() to help with catching a bug reported in the wild.
#jira UE-32001
Change 3034341 on 2016/06/30 by Robert.Manuszewski
Modified crash handling code (on Windows) to handle two threads crashing at the same time properly. Previously the second crash would force the process to exit before generating the crash report.
Added 'debug twothreadsgpf' command to test the functionality.
Change 3034342 on 2016/06/30 by John.Mahoney
Fix for crash when loading an empty cached asset registry.
#jira UE-32232
Change 3035599 on 2016/07/01 by Chris.Wood
Added support for CrashType string to Crash Report Process. CRP v1.1.12
[UE-30592] - Crash Reporter should determine crash type on client and pass string to server
Also fixes problem with reports falling back on the legacy WER metadata when a crash context exists. They now only read the error message from metadata if available and keep crash context data when possible.
Added in missing crash context parameters that have been added to clients but not known by the server.
Change 3035787 on 2016/07/01 by John.Mahoney
Fix for crash when DuplicateRedirects does not contain the DependentObject when saving dependencies. It will still fall through to the assertion below, but it will now fail with a useful error message instead of a generic 'Pair != nullptr' from Map.h.
#jira UE-30189
Change 3036933 on 2016/07/04 by Steve.Robb
Proper forwarding constructor for FAsyncTask.
Change 3036938 on 2016/07/04 by Steve.Robb
Fix for CDO hot reload corrupting memory when replacing references inside structs.
#jira UE-29335
Change 3036960 on 2016/07/04 by Steve.Robb
Fix for FAnsiAllocator::ResizeAllocation when resizing to zero.
Change 3037423 on 2016/07/05 by Steve.Robb
FModuleManager::UnloadOrAbandonModuleWithCallback split into two instead of switching behavior with a bool.
Change 3037464 on 2016/07/05 by Steve.Robb
HotReload.cpp cleanup:
Deep nesting flattened.
Linear array searches replaced with maps.
FHotReloadModule::GetGameModules made into a non-member function and split into two.
Comment and coding standard fixes.
Change 3037741 on 2016/07/05 by John.Mahoney
Fix for COTF not checking the correct timestamps on startup.
#jira UE-31023
Change 3037846 on 2016/07/05 by Steve.Robb
Fix for compile button disappearing on a bad compile.
#jira UE-31575
Change 3037994 on 2016/07/05 by Steve.Robb
Static analysis fixes:
warning C6308: 'realloc' might return null pointer: assigning null pointer to 'Data', which is passed as an argument to 'realloc', will cause the original memory block to be leaked.
Change 3039186 on 2016/07/06 by Robert.Manuszewski
Enabling crash callstack logging by default.
Change 3039220 on 2016/07/06 by Steve.Robb
Static analysis fixes:
warning C28159: Consider using 'InitiateSystemShutdownEx' instead of 'ExitWindowsEx'. Reason: Legacy API. Rearchitect to avoid Reboot
warning C6001: Using uninitialized memory 'UserNameLength'
warning C6001: Using uninitialized memory 'DomainNameLength'
Change 3039230 on 2016/07/06 by Steve.Robb
Fix for VC internal compiler errors.
Change 3039237 on 2016/07/06 by Steve.Robb
Static analysis fix: warning C6385: Reading invalid data from 'Path': the readable size is '400' bytes, but 'PathCurrentDepth' bytes may be read.
Change 3039287 on 2016/07/06 by Steve.Robb
Static analysis fixes:
warning C6509: Invalid annotation: 'return' cannot be referenced in some contexts
warning C6101: Returning uninitialized memory '*lpdwExitCode'. A successful path through the function does not set the named _Out_ parameter.
warning C6387: '_Param_(1)' could be '0': this does not adhere to the specification for the function 'IMoniker::BindToStorage'.
warning C6387: '_Param_(1)' could be '0': this does not adhere to the specification for the function 'IMoniker::BindToObject'.
warning C6031: Return value ignored: 'CoCreateInstance'.
Change 3039359 on 2016/07/06 by Graeme.Thornton
Compile error fix for FAsyncTask, courtesy of SteveR
Change 3039534 on 2016/07/06 by Steve.Robb
Static analysis fix: warning C6319: Use of the comma-operator in a tested expression causes the left argument to be ignored when it has no side-effects.
Change 3039545 on 2016/07/06 by Steve.Robb
Static analysis fix: warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value.
Change 3039578 on 2016/07/06 by Steve.Robb
Static analysis fix: warning C6263: Using _alloca in a loop: this can quickly overflow stack.
Change 3039623 on 2016/07/06 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'X'
warning C6308:'realloc' might return null pointer: assigning null pointer to 'X', which is passed as an argument to 'realloc', will cause the original memory block to be leaked.
warning C6385: Reading invalid data from 'X': the readable size is 'Y' bytes, but 'Z' bytes may be read.
warning C6386: Buffer overrun while writing to 'X': the writable size is 'Y' bytes, but 'Z' bytes might be written.
warning C28182: Dereferencing NULL pointer. 'X' contains the same NULL value as 'Y' did.
Change 3039630 on 2016/07/06 by John.Mahoney
Fix for crash when spawning an actor using a template object that has instance components. UActorComponent::PostInitProperties was adding itself to the owner's InstanceComponents array, resulting in a realloc of that array and invalidating the reference that the owner's ObjectInitializer was trying to replace while instantiating that property. The new instance component will be added to the array as part of the owner's initialization anyway, so it is not necessary to do it here.
#jira UE-29123
Change 3039664 on 2016/07/06 by Steve.Robb
Static analysis fixes:
warning C6386: Buffer overrun while writing to 'NewKeys': the writable size is 'NewIndexSize*4' bytes, but '8' bytes might be written.
warning C6386: Buffer overrun while writing to 'NewHeapIndexes': the writable size is 'NewIndexSize*4' bytes, but '8' bytes might be written.
Change 3039673 on 2016/07/06 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'v'.
Change 3039690 on 2016/07/06 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'X'.
warning C6246: Local declaration of 'X' hides declaration of the same name in outer scope.
warning C6262: Function uses '121180' bytes of stack: exceeds /analyze:stacksize '81940'. Consider moving some data to heap.
warning C6263: Using _alloca in a loop: this can quickly overflow stack.
Change 3040868 on 2016/07/07 by Graeme.Thornton
Config based class stripping for server builds
Change 3040872 on 2016/07/07 by Graeme.Thornton
Remove "return false" NeedsLoadForServer functions from engine code
Change 3040997 on 2016/07/07 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'Landscape'.
warning C6011: Dereferencing NULL pointer 'rhs.Allocation.LayerInfo'.
warning C6011: Dereferencing NULL pointer 'lhs.Allocation.LayerInfo'.
Change 3041004 on 2016/07/07 by Steve.Robb
Static analysis fix: warning C6336: Arithmetic operator has precedence over question operator, use parentheses to clarify intent.
Change 3041014 on 2016/07/07 by Steve.Robb
Static analysis fix: warning C6287: Redundant code: the left and right sub-expressions are identical.
Change 3041111 on 2016/07/07 by Steve.Robb
Removal of an obsolete error message about INI file case sensitivity.
Change 3041150 on 2016/07/07 by Steve.Robb
Static analysis fix: warning C6289: Incorrect operator: mutual exclusion over || is always a non-zero constant. Did you intend to use && instead?
Change 3041274 on 2016/07/07 by Steve.Robb
Static analysis fixes: warning C6001: Using uninitialized memory 'X'.
Change 3041294 on 2016/07/07 by Chris.Wood
Fixed protocol buffer and decompression errors in Crash Report Process (v.1.1.14)
[UE-32151] - High number of crashes read from S3 by Crash Report Process are failing to unpack
Size of buffer received from S3 is incorrect for some records. Fixed read problems by using size header value instead of stream length.
Increased buffer size for decompression as this was sometimes too small.
Modified S3 reading code to look for multiple records in each downloaded file.
Change 3041472 on 2016/07/07 by Steve.Robb
Static analysis fixes:
warning C6294: Ill-defined for-loop: initial condition does not satisfy test. Loop body not executed.
warning C6201: Index '1' is out of valid index range '0' to '0' for possibly stack allocated buffer 'NewHistory.Nodes'.
Change 3043074 on 2016/07/08 by John.Mahoney
Fix for COTF incorrectly reconstructing the original asset path based on the sandbox path when the game name differs from the game folder name.
Fix for COTF GetFiles not handling absolute GameDir paths properly.
#jira UE-31023
Change 3044461 on 2016/07/11 by Steve.Robb
Static analysis fix: warning C6386: Buffer overrun while writing to 'Attributes': the writable size is '16384' bytes, but '-8' bytes might be written.
Change 3044470 on 2016/07/11 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Node.Sequence'.
Change 3044476 on 2016/07/11 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Property'.
Change 3044551 on 2016/07/11 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'KeyAreaNode' did.
Change 3044664 on 2016/07/11 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'ToLandscape->SplineComponent'.
warning C28182: Dereferencing NULL pointer. 'SplinesComponent' contains the same NULL value as 'Landscape->SplineComponent' did.
warning C6011: Dereferencing NULL pointer 'Landscape->SplineComponent'.
warning C6385: Reading invalid data from 'out': the readable size is 'sizeof(kiss_fft_cpx)*Dims[0]*Dims[1]' bytes, but '16' bytes may be read.
Change 3044716 on 2016/07/11 by Steve.Robb
Static analysis fix: warning C6385: Reading invalid data from 'this->ScreenSize': the readable size is '32' bytes, but '-4' bytes may be read.
Change 3044717 on 2016/07/11 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Window' contains the same NULL value as 'ElementType * Window=AllWindows.FindByPredicate((*FStaticMeshEditorTest::RunTest::<lambda_46fd0093f3912289e870263afe1fcb2e>(ExpectedTitle)))' did.
This appears to be a false positive.
Change 3044787 on 2016/07/11 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'FbxObject'.
warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'RigidMeshNode' did.
warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'Result' did.
Change 3045933 on 2016/07/12 by Steve.Robb
Overloading support for TSharedPtr, TSharedRef and TWeakPtr.
Change 3045960 on 2016/07/12 by Robert.Manuszewski
Fixing a crash in Portal (and any other program that uses UObjects and GCs, with the exception of UHT) caused by classes not having their token stream assembled.
Change 3045963 on 2016/07/12 by Steve.Robb
PLATFORM_COMPILER_HAS_EXPLICIT_OPERATORS, FORCEINLINE_EXPLICIT_OPERATOR_BOOL and SAFE_BOOL_OPERATORS macros removed.
THasOperatorEquals and THasOperatorNotEquals traits moved to their own header.
Change 3045967 on 2016/07/12 by Steve.Robb
Initializer list support for TArray and TSet.
Change 3045968 on 2016/07/12 by Robert.Manuszewski
Fixing an ensure after typing 'stat dumphitches' in console.
Change 3045992 on 2016/07/12 by Robert.Manuszewski
Making sure CoreUObject headers are included for programs that don't include the engine (fixing MinidumpDiagnostics CIS failure)
Change 3047870 on 2016/07/13 by Steven.Hutton
Updated CRW to entity framework with repository models. #rb none
Change 3047871 on 2016/07/13 by Steven.Hutton
Add repository models #rb none
Change 3049468 on 2016/07/14 by Steven.Hutton
Fix broken project files. #rb none
#lockdown Nick.Penwarden
[CL 3050320 by Robert Manuszewski in Main branch]
New FindSortedStringCaseInsensitive algorithm, which binary searches strings in an array.
Many UHT string tests replaced with FindSortedStringCaseInsensitive.
FPropertySpecifier moved to UHT.
#codereview robert.manuszewski
[CL 2587588 by Steve Robb in Main branch]
- Added new class metadata Experimental and EarlyAccessPreview, which will trigger a warning section in the actor details panel
Experimental:
- Here be dragons! It's a totally unsupported and undocumented prototype
Early Access Preview:
- While not considered production-ready, it's a step beyond 'experimental' and is being provided as a preview of things to come
[CL 2117581 by Michael Noland in Main branch]