#rnx
#rb none
#ROBOMERGE-SOURCE: CL 10869241 via CL 10869527 via CL 10869904
#ROBOMERGE-BOT: (v613-10869866)
[CL 10870586 by ryan durand in Main branch]
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3623004 by Ben.Marsh
Fix RemoteExecutor not taking the remote machine specs into account.
Change 3623172 by Ben.Marsh
UGS: Fix "More Info..." button not using P4 server override.
Change 3628820 by Ben.Marsh
PR #3979: Get working directory from task element, not tool node (Contributed by nullbus)
Change 3630424 by Graeme.Thornton
Make the AES key parameter const in FAES::EncryptData()
Change 3632786 by Steve.Robb
FString constructor fixed to not take an ignored void* parameter, which can be misleading.
Change 3639534 by Ben.Marsh
Remove old P4.NET library. Doesn't seem to be used by anything.
Change 3640536 by Steve.Robb
GitHub #4007 : Delete unnecessary specialization of MakeArrayView
#jira UE-49617
Change 3641155 by Gil.Gribb
UE4 - Speculative fix for problem with summary reading in FAsyncArchive2.
Change 3643932 by Ben.Marsh
Add an example build script for updating the version number, then compiling and staging the editor and tools to an output directory. Optionally submits at the end (requires -Submit argument).
Change 3644825 by Ben.Marsh
Use VSWHERE to find the location of MsBuild.exe, if available.
https://github.com/EpicGames/UnrealEngine/pull/3879#issuecomment-329688645
Change 3647395 by Ben.Marsh
Allow compiling of monolithic binaries from BuildEditorAndTools.xml, using the -set:GameTarget=FooGame -set:TargetPlatforms=Win32;Win64 options.
Change 3650300 by Ben.Marsh
UAT: Remove code that deletes cooked data on a failed cook. The engine should write packages out transactionally now (by writing to a temporary file and moving into place), and deleting the cooked data just prevents post-mortem analysis.
Change 3650856 by Robert.Manuszewski
Adding checks to prevent FlushAsyncLoading and LoadObject/LoadPackage from being called from any threads other than the game thread
Change 3651022 by Gil.Gribb
UE4 - Possible fix for mysterious ensure indicating problematic recursion in the pak precacher.
Change 3658331 by Steve.Robb
Fix for the parsing of large integer values.
Change 3661958 by Gil.Gribb
UE4 - Fixed rare hang in task graph.
Change 3664021 by Robert.Manuszewski
Fix for a potential GC crash caused by stale pointer in AnimInstanceProxy
See https://udn.unrealengine.com/questions/392432/gc-issue-uaniminstancemontageinstances-empty-but-u.html
Change 3664254 by Steve.Robb
Use ANSI allocator when thread sanitizer is enabled. This allows the generation of more accurate and meaningful reports.
Change 3664436 by Steve.Robb
Use TUniquePtr instead of a thread-unsafe TSharedPtr to move data between threads.
Change 3666461 by Graeme.Thornton
Improvements to signing/encryption key embedding and runtime access
- Changed method of embedding key into the executable to make it more secure
- Added FAESKey class to wrap a 32 byte key
Change 3666462 by Graeme.Thornton
Cut ShooterGame AES key down to 32 characters
Change 3677560 by Ben.Marsh
PR #4074: UBT: Add include and library-related fields to module JSON output (Contributed by adamrehn)
Change 3683534 by Steve.Robb
Refactoring of enum/struct lookup during hot reload.
Change 3683754 by Steve.Robb
Alignment fixes to allow int64 on 32-bit platforms
Support for integral types in IsAligned.
Static asserts so that alignment functions will no longer be called with non-intergal, non-pointer types.
Some fixes to existing code.
Change 3686670 by Steve.Robb
Fix for thread-unsafe modification of static array in FString::ParseIntoArrayWS.
Change 3687540 by Ben.Marsh
Fix all UBT/UAT output going to stderr rather than stdout.
Change 3688931 by Gil.Gribb
UE4 - Critical fix for a rare race condition in the pak file async IO layer.
Change 3690000 by Graeme.Thornton
Manual copy of 4.18 CL 3687869
Make UBT include the destination INI file for a given hierarchy if it exists
Renamed VSCode enum value to VisualStudioCode, so it matches the source accessor plugin name
Change 3690030 by Graeme.Thornton
VSCode fixes
- Source Code Accessor plugin changes. Add new interface method to open a solution at a given path
- GameProjectUtils now uses the source navigation API to open solutions rather than hardcoding which solution file types to look for
- Various fixes for vscode project file generation
#jira UE-50554
Change 3690885 by Steve.Robb
Atomic reads in FReferenceControllerOps<ESPMode::ThreadSafe>.
Change 3691052 by Steve.Robb
Free stats thread on shutdown.
Change 3695138 by Steve.Robb
AsConst helper function added.
Change 3696627 by James.Hopkin
Changed player controller iterator typedefs to use TWeakObjectPtr rather than the deprecated TAutoWeakObjectPtr
(review-3606695)
Change 3697099 by Steve.Robb
GitHub #4105 : Removed redundant class access modifier
Change 3697154 by Steve.Robb
Removal of deprecated functions in delegates.
Mutable lambdas to can now be bound to delegates.
Change 3697180 by Steve.Robb
GitHub #4115 : Incorrect CPPMacroType used for USoftClassProperty
Change 3697239 by Steve.Robb
Allow TArray::Insert to take an array with any allocator type.
Change 3697269 by Steve.Robb
RelocateConstructItems instead of MoveConstructItems.
Change 3697558 by Steve.Robb
New _GetRef functions for TArray, which return a reference to the newly-added element.
Unit tests for these functions.
Change 3699776 by Steve.Robb
TSAN warning suppression around IAsyncReadRequest::bCompleteAndCallbackCalled.
Change 3702397 by Steve.Robb
TIsTrivial type trait.
Change 3702569 by Steve.Robb
Allow a TGuardValue to be assigned to a different type from the one being guarded.
Change 3706644 by Robert.Manuszewski
Different stack ingore count for development builds for FArchiveStackTrace
Change 3709272 by Steve.Robb
Removal of redundant UpdateVertices, which causes a race condition on the renderer thread.
Change 3709452 by Robert.Manuszewski
Fixed a bug where with async time limit set to a low value the async loading could hang because the linker would keep reloading the preload dependencies
Change 3709454 by Robert.Manuszewski
Added command line option -NOEDL to disable EDL
Change 3709487 by Steve.Robb
Remove use of PLATFORM_HAS_64BIT_ATOMICS, which is always 1.
Change 3709645 by Ben.Marsh
Fix race condition between multiple instances of UBT trying to write out the XML config cache.
Change 3711193 by Ben.Marsh
Add an editor setting for the shared DDC location to use.
#jira UE-51487
Change 3713811 by Steve.Robb
Update .modules files after a hot reload.
Don't check for directory timestamp changes as a way of detecting new files if hot reloading with a makefile, as this is already done during makefile invalidation checks.
Pass hotreload flags around in UBT instead of relying on global state.
This fixes the hot reload iteration speed regression without also regressing the fix to UE-42205.
#jira UE-51472
Change 3715654 by Steve.Robb
GitHub #4156 : Fixed not compiling template function Algo::UpperBoundBy.
Change 3718782 by Steve.Robb
TSharedPtr, TSharedRef and TWeakPtr assignment are now implemented as copy-and-swap to avoid an invalid smart pointer state being visible to any destructors being called.
Change 3720830 by Steve.Robb
Initial import of TAtomic object wrapper, which guarantees atomic access to an object.
Change 3720881 by Steve.Robb
FCompression ThreadSanitizer data race fixes.
Change 3722640 by Graeme.Thornton
Guard network platform file heartbeat function with the socket critical section. Stop heartbeat from causing a crash when firing during async loading.
#jira UE-51463
Change 3722655 by Steve.Robb
Don't null name table because it's already zeroed at startup.
Some tidy-ups.
Change 3722754 by Steve.Robb
Thread sanitizer fix.
Small typo fix.
Change 3722849 by Graeme.Thornton
Improve "caching file" message in networkplatformfile so it says "Requesting file..." and is only output when we actually request the file from the server
Change 3723081 by Steve.Robb
TAtomic is now aligned to the underlying integer type.
TAtomic will now static assert with a better error message when given an unsupported type.
Define added for the maximum platform-supported atomic type, and used instead of a (wrong) hardcoded number.
Misc renames.
Change 3723270 by Ben.Marsh
Include /d2cgsummary argument when running UBT with -Timing.
Change 3723683 by Ben.Marsh
Do not include documentation in the generated project files by default. Suspect that the 30,000 UDN files that get added to the solution take up memory and degrate performance.
Change 3725422 by Robert.Manuszewski
When serializing compressed archive with multithreaded compression enabled, wait for the oldest async task instead of spinning.
Change 3725735 by Robert.Manuszewski
Making all CheckDefaultSubobjects related functions const
Change 3726167 by Steve.Robb
FMinimalName::IsNone added.
Change 3726458 by Steve.Robb
TAtomic will no longer instantiate for types which are not exactly a size supported by the platform layer.
Change 3726542 by Ben.Marsh
UGS: Always include the project filename in the editor build command. The project may not be in one of the .uprojectdirs paths.
Change 3726595 by Ben.Marsh
Allow building multiple game targets in the example BuildEditorAndTools.xml script.
Change 3726724 by Ben.Marsh
Fix ambiguities in calculating root directory. (GitHub #4172)
Change 3726959 by Ben.Marsh
Make sure that AutomationTool uses the same list of preprocessor definitions when compiling *.target.cs files as UnrealBuildTool does.
Change 3728437 by Steve.Robb
VisitTupleElements now supports invocation of a functor taking arguments from multiple tuples in parallel.
Some improved documentation.
NOTE: This is a backward-incompatible change to VisitTupleElements. Any existing calls will need their arguments swapping.
Change 3732262 by Gil.Gribb
UE4 - Fixed rare hangs in the task graph.
Change 3732755 by Steve.Robb
Stats TSAN fixes.
Optimizations to FCycleCounter::Start() to only read the stat name once.
Change 3735000 by Robert.Manuszewski
Always preload the AssetRegistry module on startup. even if EDL is disabled.
Even without EDL, if the async loading thread is enabled the AssetRegistryModule will otherwise be loaded from the ASL thread and that will assert.
Change 3735292 by Robert.Manuszewski
Made sure component visualizer is removed from VisualizersForSelection when UnregisterComponentVisualizer() is called otherwise it may cause crashes when the engine terminates.
Change 3735332 by Steve.Robb
Refactoring of UDelegateProperty::Identical() to clarify logic.
Fixed UMulticastDelegateProperty::Identical() to compare the bound function names.
PPF_DeltaComparison removed, as it doesn't seem useful.
Change 3737960 by Graeme.Thornton
VSCode - Add launch task for generating project files for the given folder
Change 3738398 by Graeme.Thornton
Make Visual Studio source code accessor's module hotreload handler pass the 'save all files' message to the current accesor, rather than direct to the visual studio accessor
#jira UE-51451
Change 3738405 by Graeme.Thornton
VSCode: Format c/cpp settings strings using comment path formatting function
Change 3738928 by Steve.Robb
Fix for lack of null conditional operators in some older Monos. (replicated from CL# 3729574 in Release-4.18)
#jira UE-51842
Change 3739135 by Ben.Marsh
Fix being unable to package projects in a folder called "Wolf". This is only a restricted folder for Epic's Perforce history.
#jira UE-51855
Change 3739360 by Ben.Marsh
UAT: Fix issue with P4PORT setting not being parsed correctly.
Change 3745959 by James.Hopkin
#core Added ImplicitConv for safe upcasts to a specific required type, e.g. deduced delegate payload types
Change 3746125 by Steve.Robb
FName ThreadSanitizer fixes.
Change 3747274 by Steve.Robb
TSAN fix for FMediaTicker::Stopping.
Change 3747618 by Steve.Robb
ThreadSanitizer data race fix for FShaderCompileThreadRunnableBase::bForceFinish.
Change 3747720 by Steve.Robb
ThreadSanitizer fix for FMessageRouter::Stopping.
Change 3749207 by Graeme.Thornton
First pass of CryptoKeys plugin. Allows creation/editing/cycling of AES/RSA keys.
Change 3749323 by Graeme.Thornton
Fix UAT crash when only -targetplatform is specifiied
Change 3749349 by Steve.Robb
TSAN_SAFE guards around LockFreeList to silence ThreadSanitizer.
Change 3749617 by Steve.Robb
Logf static_assert for formatting string enabled.
Change 3749897 by Steve.Robb
FDebug::LogAssertFailedMessage static assert for formatting string enabled.
Change 3754011 by Steve.Robb
Static asserts that the allocator supports move.
Move-enabled our allocators which don't support move.
Change 3754227 by Ben.Marsh
Fix build command line in generated projects missing a space before the compiler version override.
#jira UE-52226
Change 3754562 by Ben.Marsh
PR #4206: Replace deprecated wsprintf with secure swprintf for Bootstrap executable (Contributed by jessicafalk)
Change 3755616 by Graeme.Thornton
Runtime code for using the new crypto ini files to define signing/encryption keys
#jira UE-46580
Change 3755666 by James.Hopkin
Used ImplicitConv to remove Casts being used for up-casts
#review-3745965
Change 3755671 by Graeme.Thornton
Add log message in unrealpak to say which config file system it is using for crypto keys
Change 3755672 by Graeme.Thornton
Updating ShooterGame with new CryptoKeys based security setup
Change 3756778 by Ben.Marsh
Add support for running multiple jobs simultaneously on a single builder.
When running job or agent setup, the --num-slots=X parameter defines the number of steps that can run simultaneously (EC procedures pass in the resource step limit). A lock file is created under the workspace root (D:\Build) and a reservation file is created for the first slot that can be allocated (slot-1, slot-2, etc...). The slot number is used to define the workspace name that should be used.
Change 3758498 by Ben.Marsh
Re-throw exceptions when a file cannot be deleted when cleaning a target.
Change 3758921 by Steve.Robb
ThreadSanitizer fix to FThreadSafeStaticStatBase::HighPerformanceEnable to do a relaxed atomic load on access.
DoSetup() now returns the newly-allocated pointer, instead of reloading it from memory.
Change 3760599 by Graeme.Thornton
Added missing epic header comment to some new source files
Change 3760642 by Steve.Robb
ThreadSanitizer fix for concurrent access to GMainThreadBlockedOnRenderThread.
Change 3760669 by Graeme.Thornton
Improvement to OpenSSL based signing key generator. Generate a full RSA key then steal the primes from it, rather than generating the primes manually.
Added a test mode to the cryptokeys commandlet to test signing key generation
Change 3760711 by Steve.Robb
ThreadSanitizer fixes to GIsRenderingThreadSuspended.
Change 3760739 by Steve.Robb
ThreadSanitizer fix for FQueuedThread::TimeToDie.
Change 3760763 by Steve.Robb
ThreadSanitizer fix for GRunRenderingThreadHeartbeat.
Removal of unnecessary/dangerous initializer for GMainThreadBlockedOnRenderThread.
Change 3760793 by Steve.Robb
Some simple refactoring to remove some volatile reads of BufferStartPos and BufferEndPos.
Change 3760817 by Steve.Robb
ThreadSanitizer fixes for FAsyncWriter::BufferStartPos and BufferEndPos.
Change 3761331 by Josh.Engebretson
UnrealBuildTool enforcement of Development and Debug configurations in existing .csproj
#jira UE-52416
Change 3761521 by Steve.Robb
ThreadSanitizer fixes for FEvent::EventStartCycles and EventUniqueId.
Change 3763117 by Graeme.Thornton
PR #3722: Optimising FPaths::IsRelative() (Contributed by jovisgCL)
Change 3763358 by Graeme.Thornton
Ensure that all branches within FGenericPlatformMisc::RootDir() produce an absolute path with no duplicate slashes
Remove relative->abs conversion of root dir from FPaths::MakeStandardFilename(), now that we know RootDir() always returns an absolute path
Derived from the content of this PR:
PR #3742: Treat RootDirectory the same way as Standardized (Contributed by TroutZhang)
Change 3764058 by Graeme.Thornton
Generate a .code-workspace file for the current workspace. Allows foreign projects to "mount" the UE4 folder so that the engine tasks are avaible, and all engine source is visible to VSCode for searching purposes
#jira UE-52359
Change 3764705 by Steve.Robb
Better handling of whitespace in ImportText_Internal() for set and map properties.
Containers are now emptied upon import failure, to avoid leaving bad container states (unhashed, partial data).
Fix to USetProperty's temp buffer size to avoid buffer overruns.
Duplicate map keys are now skipped during import, same as USetProperty's behavior.
Change 3764731 by Steve.Robb
Don't re-run UHT if only source files have changed in the same folder as headers. This was already done for hot reload, but there's no reason why it should be limited to that.
Change 3765923 by Graeme.Thornton
VSCode - "taskName" -> "label" for C# build tasks
Change 3766018 by Steve.Robb
constexpr constructor for TAtomic.
Change 3766037 by Steve.Robb
Misc tidyings in HotReload.cpp.
Change 3766046 by Steve.Robb
ThreadSanitizer fixes to ENamedThreads::RenderThread and ENamedThreads::ENamedThreads_Local.
Change 3766288 by Steve.Robb
Improved efficiency of adding/removing elements to UGCObjectReferencer::ReferencedObjects.
Change 3766374 by Josh.Engebretson
Fix issue with ini quoted value comparison
#jira UE-52066
Change 3766532 by Josh.Engebretson
PR #3680: Added NetSerialize to FDateTime fixing UE-22533 (Contributed by druhasu)
#jira UE-46156
Change 3766740 by Steve.Robb
TMultiMap::Append added.
Change 3767523 by Steve.Robb
ThreadSanitizer fix for UE4Delegates_Private::GNextID.
Change 3767601 by Steve.Robb
ThreadSanitizer fix for FStats::GameThreadStatsFrame.
Change 3770567 by Ben.Marsh
Add a FAnnotatedArchiveFormatter interface which allows querying structural type information that may not be in binary archives.
Change 3770826 by Ben.Marsh
Move StructuredArchive implementation into Core, so primitive types can implement serialization overloads for it.
Change 3770875 by Steve.Robb
Redundant UScriptStruct::PostLoad removed, which was causing a race condition in async loading. This was re-establishing the CppStructOps, but that is unnecessary because native classes cannot change as a result of a load - only BP structs can, and they don't have CppStructOps.
Change 3772167 by Ben.Marsh
Add a context-free binary formatter that can serialize tagged data. This functions as a lower-overhead binary intermediate format for JSON data.
Change 3772248 by Steve.Robb
ThreadSanitizer fixes to FMalloc call counters.
Change 3772383 by Ben.Marsh
Separate archive metadata from FArchive into FArchiveContext, so it can be safely exposed to consumers of FStructuredArchive.
Change 3772906 by Graeme.Thornton
TextAssetCommandlet - Utility commandlet for testing/converting to text asset format
Change 3772932 by Ben.Marsh
Fix "String:" prefix not being stripped from escaped string values.
Change 3772942 by Graeme.Thornton
Add experimental setting to enable in-editor text asset format functionality
Add "export to text" option into the content browser asset actions context menu
Change 3772955 by Ben.Marsh
Add a new "stream" compound type to FStructuredArchive, which allows serializing a sequence of elements similarly to an array, but without serializing an explicit size. Allows passing through data to an underlying binary archive without breaking compatibility.
Change 3772963 by Ben.Marsh
Allow querying record keys and stream lengths from annotated archive formatters, since these archives have markup for field boundaries.
Change 3773010 by Graeme.Thornton
Added CORE_API to FArchiveFromStructuredArchive
Gave text asset format experimental option a slightly less random tooltip comment
Change 3773057 by Ben.Marsh
Add a flag to FArchive to determine whether the archive is text (IsTextFormat()).
Add support for seeking within FArchiveFromStructuredArchive. For text formats, data is serialized to an in-memory buffer, with names and objects serialized as indices into an array. For non-text formats, data is serialized directly to the underlying archive.
Also rename FStructuredArchive::TryEnterSlot() to TryEnterField().
Change 3773118 by Steve.Robb
TSignedIntType and TUnsignedIntType type traits for getting an integer type of a given size.
Change 3773122 by Steve.Robb
TAtomic fixes for pointer arithmetic.
TSignedIntType used instead of reimplementing its own trait.
Change 3773123 by Steve.Robb
Unit tests for TAtomic.
Change 3773138 by Steve.Robb
Run numeric tests on integer types instead of basic tests.
Fix for compiler warnings when subtracting from unsigned atomics.
Change 3773166 by Steve.Robb
Refactoring of arithmetic operations into its own class, then basing the pointer and integral versions on that.
Change 3774216 by Gil.Gribb
UE4 - Fix rare crash in the pak precacher immediately after unmounting a pak file.
Change 3774426 by Ben.Marsh
Copy all C# tools to a staging directory before compiling them. This prevents access violations when compiling tools like iPhonePackager that reference DotNETCommon, and ensures we strip NotForLicensees folders out of them all.
See: https://answers.unrealengine.com/questions/726010/418-will-not-build-from-source.html
Change 3774658 by Ben.Marsh
Improve error reporting while generating intellisense for project files. Include the name of the target being compiled, and allow project file generation to continue without it.
Change 3775141 by Ben.Marsh
Always output HTML5 diagnostics at "information" verbosity, to avoid every line being prefixed with "WARNING:" and screwing up the EC postprocessor.
Change 3775459 by Ben.Marsh
Removing .NET Framework Perforce DLL as runtime dependency of engine third party library. The actual library is linked statically.
Change 3775522 by Ben.Marsh
UGS: Treat .uproject and .uplugin files as code changes.
Change 3775597 by Ben.Marsh
Fix post-build steps for plugins not being executed.
#jira UE-52754
Change 3777895 by Graeme.Thornton
StructuredArchiveFromArchive - An adapter class for wrapping an existing FArchive with a structured archive
Change 3777931 by Graeme.Thornton
Refactored FArchiveUObjects serialization code into some static helpers
Added FArchiveUObjectFromStructuredArchive which allows the adaption of a structured archive into an FArchive that supports the extra UObect serialization functions for weak/soft pointers
Change 3777942 by Graeme.Thornton
Added missing CORE_API to FStructuredArchive::FStream
Added FStructuredArchive::FSlot insertion operator for char
Added specialization of TArray<uint8> serializer for structured archives which serializes the contents as one value
Change 3778084 by Graeme.Thornton
Adding FPackageName::GetTextAssetPackageExtension() to access the file extension we use for text asset files
Change 3778096 by Graeme.Thornton
Add a constructor to FArchiveUObjectFromStructuredArchive that takes a slot and passes it to the base class
Change 3778389 by Josh.Engebretson
Fix an optimization issue with CPU benchmarking
Add better support for debugging/testing local rocket builds
UDN Link: https://udn.unrealengine.com/questions/400909/command-scalability-auto-gives-inaccurate-cpu-benc.html
#jira UE-52192
Change 3778701 by Josh.Engebretson
Ensure plugin content folders are mounted consistently. Fixes TryConvertFilenameToLongPackageName failing to work on plugin assets
UDN Link: https://udn.unrealengine.com/questions/276386/tryconvertfilenametolongpackagename-fails-for-plug.html
#jira UE-40317
Change 3778832 by Chad.Garyet
Adding enterprise path support for PCB's for UGS
Change 3780258 by Graeme.Thornton
TextAssetCommandlet - Accumulate timings for loading packages and saving packages
Change 3780463 by Graeme.Thornton
CryptoKeys improvements
- Enable CryptoKeys plugin by default
- Attempt to inherit settings from the old system by default
- Hide ini/index encryption settings from packaging settings and just inherit previous values into new system
Minor UBT change to remove a trailing comma from the end of encryption/signing key binary strings
Change 3780557 by Ben.Marsh
Fix LoginFlow module not being precompiled for the binary release.
Change 3780846 by Josh.Engebretson
Improve filename to long package name resolution when provided a relative path
Change 3780863 by Ben.Marsh
UAT: Add a better error message when a C# project has an invalid reference.
Change 3780911 by Ben.Marsh
Update the BuildEditorAndTools.xml script to allow submitting archived binaries to Perforce.
The "Submit To Perforce For UGS" node creates a zip of all the binaries that have been built, and submits it to the stream specified by the 'ArchiveStream' argument.
Change 3780956 by Josh.Engebretson
Add support for ! (RemoveKey) config command to UBT
UDN Link: https://udn.unrealengine.com/questions/397267/index.html
#jira UE-52033
Change 3782957 by Robert.Manuszewski
UE4 - Fixed a linear search in EDL that caused performance problems for very large maps.
Change 3784503 by Ben.Marsh
Optimizations for FStructuredArchive:
* Store the depth explicitly in element objects, to avoid having to loop through the scope stack to find it.
* Prevent shrinking of arrays when removing elements.
* Add an inline allocator to the scope and container stacks.
Change 3784700 by Ben.Marsh
Remove the inline allocator from FStructuredArchive; checking whether the inline or backup allocator is being used is slower than just allocating up-front.
Change 3784989 by Ben.Marsh
Compile out all the FStructuredArchive validation code when WITH_TEXT_ARCHIVE_SUPPORT = 0.
Change 3786860 by Gil.Gribb
UE4 - Remove no buffering flag from windows async IO because it disabled the disk cache entirely.
Change 3787159 by Ben.Marsh
Guard against UE4.0 backwards compatibility path when determining if an engine is a source distribution.
Change 3787493 by Josh.Engebretson
Parallel pak generation now uses MaxDegreeOfParallelism option which is now set to the number of CPU cores
Moved cryptography settings parsing out of threaded CreatePak method to avoid concurrency issue in ConfigCache.TryReadFile
Fix for multiple threads parsing ini keys (PR 3995)
#PR 3995
#jira 52913
#jira 49503
Change 3787773 by Steve.Robb
Fix for missing final values from FOREACH_ENUM_ macros.
Change 3788287 by Ben.Marsh
TBA: Add checks in debug builds that key names in maps and records for FStructuredArchive are unique.
Change 3788678 by Ben.Marsh
Fix compile error due to inability to instantiate TArray<> of forward declared struct. Convert set of key names to an array to avoid including Set.h in public header for FStructuredArchive.
Change 3789353 by Graeme.Thornton
Removed unused/rotten modes from TextAsset commandlet.
Used existing "-iterations=n" switch to control a global iteration over the given command. Useful for performance testing.
Change 3789396 by Ben.Marsh
Move code to validate container keys/sizes into DO_GUARD_SLOW checks, and allocate container metadata instances dynamically to fix problems with references to things not declared in headers that can't be included from StructuredArchive.h
Change 3789772 by Ben.Marsh
Always strip trailing slashes from the end of paths specified by .build.cs files; they can cause quoted paths to be escaped on the command line.
Change 3790003 by Ben.Marsh
TBA: Rename FStructuredArchive::EElementType::Object to FStructuredArchive::EElementType::Record.
Change 3790051 by Steve.Robb
PIE is disabled during a hot reload.
Hot reload in editor is disabled during PIE.
Hot reload from IDE is deferred until after PIE is exited.
Compiling multiple times before a hot reload (e.g. compiling multiple times in PIE) will now load the most recent change.
#jira UE-20357
#jira UE-52137
Change 3790709 by Steve.Robb
Better move support for TVariant.
EVariantTypes switched over to using an enum class to aid debugger visualization.
Change 3791422 by Ben.Marsh
TBA: Return the type of a field from an annotated archive formatter at the point that we enter it, rather than querying all the time.
Change 3791489 by Graeme.Thornton
TBA: Change StructuredArchiveFromArchive adapter to use the archive.Open() result directly, now that it's a slot and not a record
Change 3792344 by Ben.Marsh
Improvements to base64 encoding library.
* Now supports encoding and decoding with ANSICHAR and WIDECHAR implementations.
* Added support for decoding base-64 blobs without padding marks.
* Added support for decoding into pre-allocated buffer.
* Added constexpr functions for determining the encoded and maximum decoded size of an input buffer.
* Prevent writes past the end of allocated buffer (no longer need to manually remove padding bytes).
Change 3792949 by Ben.Marsh
TBA: Rename FAnnotatedArchiveFormatter to FAnnotatedStructuredArchiveFormatter.
Change 3794078 by Robert.Manuszewski
Fixing a crash that could happen when FGCObjects were constructed and destructed when shutting down the engine
#jira UE-52392
Change 3794413 by Ben.Marsh
TBA: Remove the element type parameter to SetScope(). It isn't really needed; we can just assume the element ID correctly identifies the item on the stack.
Change 3794731 by Ben.Marsh
TBA: Optimize creation of stack elements for empty slots in FStructuredArchive. This saves a lot of bookkeeping when serializing a large number of individual fields. Since only one slot can be active at a time (and it only exists temporarily, until we write into it), we can just store the element ID assigned to it in a member variable.
Change 3795081 by Ben.Marsh
UBT: Move LinuxCommon.cs into Platform/Linux folder.
Change 3795137 by Ben.Marsh
UBT: Allow modules to specify private compiler definitions from the build.cs file, only visible within that module (via the "PrivateDefinitions" property).
Change 3795247 by Ben.Marsh
Fix missing header when creating a new interface from the editor new code wizard.
#jira UE-53174
Change 3796025 by Graeme.Thornton
Fixed some deprecated "Definitions" warnings in OpenCV build files
Change 3796103 by Graeme.Thornton
Disable experimental text asset option - it does nothing useful yet.
Change 3796157 by Graeme.Thornton
Fix path type mismatch in visual studio source code accessor meaning that the DTE comms wouldn't identify a running instance of VS as having the current solution open.
#jira UE-53206
Change 3796315 by Ben.Marsh
Move Formatter to the correct position for initializer.
#jira UE-53208
Change 3797082 by Ben.Marsh
UAT: Work around for exception thrown by launching cook with "-platform=Android_ETC1 -targetplatform=Android -cookflavor=ETC1". Anrdoid_ETC1 is not a valid platform (it's a cook platform), and can't be parsed by UAT.
#jira UE-53232
Change 3799050 by Ben.Marsh
Make UnrealPak.version files writable for Mac and Linux.
Change 3801012 by Graeme.Thornton
VSCode - Update source accessor to use code workspace as it's target, rather than just the project directory
Change 3801214 by Gil.Gribb
UE4 - Remove assert to work around minor problem with lock free lists.
#jira UE-49600
Change 3801219 by Steve.Robb
WeakObjectPtrs now warn when casting away const.
Change 3801299 by Graeme.Thornton
Fix quote issue with foreign project build tasks on PC
Change 3803292 by Graeme.Thornton
Fix crash on startup when using cook-on-the-side. Force a flush of the asset registry background scanning when creating the cook-on-the-side platform registries
Change 3803559 by Steve.Robb
TSAN fix for FMalloc::MaxSingleAlloc.
Change 3803735 by Graeme.Thornton
Last set of cryptokeys changes
- Added some comments for editor exposed settings
- Split "encrypt assets" option into "encrypt uassets" and "encrypt all assets"
Change 3803929 by Ben.Marsh
UGS: Show an in-place error panel when a project fails to open, allowing the user to retry and have their tabs saved instead of creating a modal dialog.
Change 3624590 by Steve.Robb
AddReferencedObjects now generates a compile error with containers of UObject*s where the UObjectType is forward-declared, as these which won't be added to the reference collector.
Tidy-up of existing calls to AddReferencedObjects.
Change 3629473 by Ben.Marsh
Build: Rename the option for embedding source server information in PDB files for installed engine builds.
Change 3632894 by Steve.Robb
VARARG* macros deprecated and usage replaced with variadic templates.
Change 3640704 by Steve.Robb
MakeWeakObjectPtr added, which deduces a TWeakObjectPtr type from a raw pointer type.
Fix to TWeakObjectPtr's constructor which implicitly removed const.
Fixes to everything which didn't compile as a result.
Change 3650813 by Graeme.Thornton
Removed FStartupPackages and associated code
Change 3651000 by Ben.Marsh
Return the stack size from FPlatformStackWalk::CaptureStackBacktrace() rather than checking for the first null pointer, to prevent truncated callstacks if parts of the stack are zeroed out.
#jira UE-49980
Change 3690842 by Steve.Robb
FPlatformAtomics::AtomicRead added - needs optimizing.
AtomicRead() used in FThreadSafeCounter::GetValue().
Change 3699416 by Steve.Robb
Fix to debugger visualization of TArray with a TInlineAllocator or TFixedAllocator.
Improved readability of TSparseArray visualization.
Change 3720812 by Steve.Robb
Atomic functions for 8-bit and 16-bit.
Android, Linux and Switch implementations now just use the Clang implementation.
AtomicRead64 deprecated in favor of the int64* AtomicRead overload.
Change 3722698 by Steve.Robb
VS debugger visualizers for TAtomic.
Change 3732270 by Steve.Robb
Relaxed stores and loads.
Change 3749315 by Graeme.Thornton
If UAT is invoked with platforms in both the -platform and -targetplatform command line switches, build using all of them rather than just the ones in -targetplatform
#jira UE-52034
Change 3750657 by Josh.Engebretson
Fixed issue when debugging editor cook/package and project launch operations
#jira UE-52207
Change 3758514 by Steve.Robb
Fixes to FString::Printf having non-literals being passed as its formatting string.
Change 3763356 by Steve.Robb
ENamedThreads::RenderThread and ENamedThreads::RenderThread_Local encapsulated by getters and setters.
Change 3770549 by Steve.Robb
Removal of obsolete PLATFORM_COMPILER_HAS_DEFAULTED_FUNCTIONS and PLATFORM_COMPILER_HAS_AUTO_RETURN_TYPES.
Tidy up of existing code which uses it.
Change 3770553 by Ben.Marsh
Adding structured serialization API to Core/CoreUObject for use with text-based assets.
* FStructuredArchive abstracts an archive which is made up of compound types (records, arrays, and maps). Values are stored in slots within these types.
* Records are string -> value dictionaries where the key names can be compiled out in non-editor builds or when WITH_TEXT_ARCHIVE_SUPPORT = 0.
* Maps are string -> value dictionaries where the key names are present regardless of the build type.
* Proxy objects are defined to express the context for serialization (FStructuredArchive::FRecord, FStructuredArchive::FArray, FStructuredArchive::FMap, FStructuredArchive::FSlot) which allows basic validation through static typing. These objects act as lightweight handles, and can be cheaply constructed and passed around on the stack. Most serialization to and from the archive is done through these objects.
* Runtime checks perform additional validation to ensure that serialized data is well formed and written in a forward-only manner, regardless of the underlying archive type.
* The actual input/output format is determined by a separate interface (FArchiveFormatter). Context validation (always causing matching LeaveArray for every EnterArray, etc...) is done by FStructuredArchive, so implementing these classes is fairly trivial. FArchiveFormatter can be de-virtualized in non-editor builds, where WITH_TEXT_ARCHIVE_SUPPORT = 0.
* Includes implementations of FArchiveFormatter for binary and JSON formats.
Change 3771105 by Steve.Robb
Deprecation warnings for PLATFORM_COMPILER_HAS_AUTO_RETURN_TYPES and PLATFORM_COMPILER_HAS_DEFAULTED_FUNCTIONS.
Fix for incorrect warning formatting on Clang platforms.
Change 3771520 by Steve.Robb
Start moving Clang-using platforms' pre-setup stuff into a Clang-specific header.
Change 3771564 by Steve.Robb
More common macros moved to the Clang pre-setup header.
Change 3771613 by Steve.Robb
EMIT_CUSTOM_WARNING_AT_LINE moved to ClangPlatformCompilerPreSetup.h.
Change 3772881 by Ben.Marsh
Add support for serializing FName and UObject through FStructuredArchive.
In order to allow custom linker behavior when serializing objects:
* The constructor to JSON input formatter now takes a delegate to convert a string object name into a UObject pointer.
* The constructor to tagged binary formatter takes a delegate to serialize a UObject pointer into any form it chooses (likely an integer index into the import table)
Object and name types are stored as strings in JSON, using an "Object:" or "Name:" prefix to differentiate them from regular strings. Any strings that already contain one of these prefixes are prepended with a "String:" prefix (as is any string that already has a "String:" prefix).
Change 3772941 by Graeme.Thornton
Make build work when including StructuredArchive.h from core container types
Added standard header to new files
Add structured archive serializer for TArray
Fix bug in structured archive where containers weren't being popped from the scope stack
Change 3772972 by Ben.Marsh
Add an adapter which presents a legacy FArchive interface to a FStructuredArchive slot.
Data is serialized into this slot as a stream of elements; raw data is buffered up into fixed size chunks, names and objects are serialized separately.
When used with FBinaryArchiveFormatter, this should result in all data being passed through to the underlying archive in a backwards compatible way, wiith no additional bookkeeping fields.
Change 3773006 by Ben.Marsh
Rename FStructuredArchive::FRecord::EnterSlot() to EnterField().
Change 3773013 by Steve.Robb
bUseInlining target rule added to UnrealBuildTool, which defaults to true, to allow inlining to be disabled for debugging purposes.
Change 3774499 by Ben.Marsh
Minor fixes for FStructuredArchive related classes:
* Text-based archive formats are now compiled out when WITH_TEXT_ARCHIVE_SUPPORT = 0.
* Fixed issue with FTaggedBinaryArchiveFormatter state becoming corrupted when looking ahead at field types.
* FArchiveFieldName constructor is now explicit, to fix cases where strings were being passed directly to serialize functions.
Change 3774600 by Ben.Marsh
Add CopyFormattedData() function, which can copy data from one formatter to another. Add a test case to SerializationAPI that converts from data -> JSON -> binary -> JSON -> data.
This function can be used to implement a generic visitor pattern, by implementing a FArchiveFormatter which receives the deserialized data.
Change 3789721 by Ben.Marsh
TBA: Split FTaggedBinaryArchiveFormatter into separate classes for reading and writing.
Change 3789920 by Ben.Marsh
TBA: Support automatic coercion between any numeric types in tagged binary archives. Also report the smallest type that can contain a value, rather than just in32/double.
#jira UECORE-364
Change 3789982 by Ben.Marsh
TBA: Change FStructuredArchive::Open() to return a slot, rather than a record, to make it easier to implement a raw FArchive adapter.
Change 3792466 by Ben.Marsh
TBA: Better handling of raw data in text based assets. Short sequences of binary data are Base64 encoded as a single string. Longer sequences are stored as an array of Base64 encoded lines, push a SHA1 hash to detect cases where the data was merged incorrectly.
In order to allow inference of the correct type for a field, other fields called "Base64" will be escaped to "_Base64", and any field beginning with "_" will have an additional underscore inserted. Reading files back in reverses these transformations.
Change 3792935 by Ben.Marsh
TBA: Rename FArchiveFormatter to FStructuredArchiveFormatter for consistency with FStructuredArchive.
Change 3795100 by Ben.Marsh
UBT: Rename the ModuleRules Definitions property to PublicDefinitions, to make its semantics clearer.
Change 3795106 by Ben.Marsh
Replace all internal usages of ModuleRules.Definitions, and replace it with ModuleRules.PublicDefinitions.
Change 3796275 by Ben.Marsh
Fix paths to Version.h includes from resource files.
Change 3800683 by Josh.Engebretson
Remove WER from Mac and Linux crash reports in favor of unified runtime-xml format
#jira UE-50073
Change 3803545 by Steve.Robb
TWeakObjPtr const-dropping assignment fix.
Fixes to change.
[CL 3805231 by Ben Marsh in Main branch]
#lockdown Nick.Penwarden
#rb none
#rnx
============================
MAJOR FEATURES & CHANGES
============================
Change 3794434 by Marc.Audy
Correctly call PostPlacedNewNode before AllocateDefaultPins in 2 places that had the order wrong
Change 3796912 by Fred.Kimberley
Added several transform related functions to the HIDE_ACTOR_TRANSFORM_FUNCTIONS macro and fixed the signatures on some that were already there.
#jira UE-52837
Change 3781456 by Dan.Oconnor
Disable net flags related assert when linking reflection data that is being loaded
#jira UE-52852
Change 3781725 by mason.seay
Moved test blueprints to subfolder
Change 3781828 by mason.seay
Removed some unnecessary blueprint logic
Change 3783304 by Phillip.Kavan
More descriptive log output after an attempt to break execution on a missing function/interface.
#4238
#jira UE-52549
Change 3783678 by Phillip.Kavan
Fix for a serialization oversight in UEdGraphPin that could lead to a compile error during Blueprint nativization.
#jira UE-52528
Change 3783708 by Ben.Zeigler
#jira UE-52487 Better fix for calling OnAssetLoaded on async loaded assets in the editor. The previous fix only worked for specifically loaded packages, this one works for those plus dependencies
Change 3783922 by Ben.Zeigler
#jira UE-51408 Fix it so objects returned by CreateWidget and CreateDragDropOperation are not marked as always hard referenced by the blueprint event graph. This would cause those objects to get leaked and was redundant because these objects already handle their own life cycle
If a game was depending on this functionality to keep things loaded, change your blueprint to set the return value into a variable, that will keep it hard referenced normally
Change 3784604 by Ben.Zeigler
#jira UE-40033 Fix issue where changing the default value of a nested user struct would break all outer structs in an unrecoverable way. We do not want to do the first half of reinstancing if we're going to skip the second half
Change 3785039 by Ben.Zeigler
Fix it so empty pins do not display "None" as their label
Change 3785794 by Phillip.Kavan
Guard against a reported crash when setting bIsEditorOnly flag on attached scene components.
Change summary:
- Modified SetDescendantIsEditorOnly() to add a NULL check around an iteration (consistent with other places that iterate the attachment list).
#jira UE-52923
Change 3785842 by Phillip.Kavan
Guard against a reported crash when deleting one or more Actor components.
Change summary:
- Modified FComponentEditorUtils::DeleteComponents() to add a NULL check when iterating through child attachments.
#jira UE-52916
Change 3785851 by Phillip.Kavan
Guard against a reported crash when deleting a non-root scene component with no parent attachment.
Change summary:
- Modified USceneComponent::DestroyComponent() to use an ensure() instead of a check() to allow the deletion to proceed but still provide a warning to potentially help catch this later.
#jira UE-52921
Change 3785852 by Phillip.Kavan
CIS fix.
Change 3786141 by Phillip.Kavan
Removed an invalid comment emitted to codegen during nativization of a BlueprintNativeEvent override signature.
Was intended to be submitted along with CL# 3783678.
Change 3788496 by Ben.Zeigler
#jira UE-32061 Large change to UserDefinedStructs where the default struct instance is now stored on the struct itself and accessible at runtime
User structs now work identically to native structs when it comes to default values, it is set at struct initialization time instead of at tagged property serialization time
Remove many editor-time UDS hacks now that they work like native. The only special code left is that it forces delta serialization on in the editor, to deal with the defaults changing
Change 3789308 by Marc.Audy
Don't unregister/register components and ticks for an Actor just testing a rename
Change 3789644 by Ben.Zeigler
Static analysis fix
Change 3789777 by Ben.Zeigler
#jira UE-42586 Fix it so using ImportText on user structs will look for fields using the human readable display name if not found using GUID lookup. This makes it so you can use the format displayed in the data table editor
Change 3789908 by mason.seay
Test struct using containers
Change 3790475 by Ben.Zeigler
Fix user structs to work properly with circular reference checking. When we copy the values out of the default we may need to register the newly created structs with the circular reference system.
I'm using raw pointers here as after investigation the fixup happens before any relevant freeing could occur
Change 3790777 by Ben.Zeigler
#jira UE-53081 Fix map/set properties inside user structs by having them pass the defaults for both load and save, as maps expect both sides have defaults set
Partially address UE-53086, it now correctly updates map properties when they are removed, but readding them can add extra entries in some case because it loses the "deleted" information
Change 3790919 by Ben.Zeigler
Add start of User Structs functional test
Change 3792050 by Fred.Kimberley
Added several transform related functions to the HIDE_ACTOR_TRANSFORM_FUNCTIONS macro and fixed the signatures on some that were already there.
#jira UE-52837
Change 3793542 by Michael.Noland
Back out changelist 3792050
Change 3794193 by Marc.Audy
Never reset loaders when renaming the child actor to avoid cases where IsLoading returns false but flushing loading will still cause issues due to async loading
#jira UE-52950
Change 3794211 by Marc.Audy
Don't include redirectors or otherwise invalid .umap files as sub levels for world composition
#jira UE-52925
Change 3794564 by Marc.Audy
Make it safe to call RecombinePin on the top level split pin
Change 3794851 by Marc.Audy
Fix split pins on macro instances for resolved wildcard pins not resetting when disconnected
#jira UE-44922
Change 3795017 by Marc.Audy
Properly enforce all actor subclasses not ticking when tick type is viewports only unless ShouldTickIfViewportsOnly returns true
#jira UE-36929
Change 3795143 by Marc.Audy
After copying properties clear the actor label so that the child actor template's display name is not misleading
#jira UE-50472
Change 3795241 by Dan.Oconnor
Fix subsequent navigation operations after navigating to a window that is already open
#jira UE-53203
Change 3795255 by Dan.Oconnor
Harden pin serialization logic, specifically to prevent crash due to bad 'conform' routines when renaming functions
#jira UE-52847
Change 3795660 by Dan.Oconnor
Blueprints that have no parent class can now be reparented when using the compilation manager
#jira UE-53218
Change 3796496 by Marc.Audy
Fix without editor compile errors
Change 3797316 by Dan.Oconnor
Downgrade ensure to warning as we have known ways of triggering
#jira UE-53237
Change 3797619 by Phillip.Kavan
Reinstate a faster lookup mechanism for tunnel instance source nodes during marching ants draw calls when stopped at a breakpoint, and fix issues with missing marching ants when stopped at a breakpoint in a tunnel instance graph.
Change summary:
- Removed FindMatchingTunnelInstanceNode() utility method in BlueprintConnectionDrawingPolicy.cpp (no longer needed).
- Restored/renamed FDebuggingInfoForSingleFunction::LineNumberToTunnellInstanceSourceNodeMap.
- Modified FBlueprintDebugData::RegisterNodeToCodeAssociation() to restore the parameter for the tunnel instance node chain and map it to the current code offset if not empty.
- Modified FScriptBytecodeWriter::EmitInstrumentation() to construct the tunnel instance node chain that will be mapped to the current code offset if not empty.
- Modified FKismetConnectionDrawingPolicy::BuildExecutionRoadmap() to more efficiently find tunnel instance nodes through the table that now maps tunnel instance node chains to the current script code offset.
- Modified the tunnel node case in FKismetCompilerContext::ExpandTunnelsAndMacros() to better handle nested tunnel instance expansions (which may expand to include internal tunnel nodes in different orders).
- Modified FKismetCompilerContext::MapExpansionPathToTunnelInstance() to avoid incorrectly remapping nested composite tunnel expansions to the outermost intermediate tunnel instance node.
- Modified FKismetCompilerContext::ProcessIntermediateTunnelBoundary() to map intermediate tunnel boundary nodes back to the outer intermediate tunnel instance node from which they were expanded.
- Modified FKismetCompilerContext::ProcessIntermediateTunnelBoundary() to better position the boundary nodes in the intermediate graph.
- Added a few verbose comment blocks in order to hopefully help visualize how tunnel expansion debugging is currently implemented and also to remind myself later.
#jira UE-52747
Change 3801237 by Ben.Zeigler
#jira UE-53305 Fix it so split struct pins respect AllowedClasses metadata, which fixes crash with passing invalid objects into things like set font info
Change 3801768 by Ben.Zeigler
Add more tests to UserStructs functional test
Change 3801794 by Dan.Oconnor
Mirror 3794923/3794318, make sure replication data is initialized correctly across editor/EDL/compilation manager/no compilation manager load flows
#jira UE-53112
Change 3803091 by Ben.Zeigler
Fix issue where nativized user structs had the wrong defaults, by correctly diffing the struct defaults and placing them in the constructor instead of a static GetDefaultValue function
I had to override struct constructors to not call LoadObject for object properties, FindObject works because the dependencies have already been queued for loading by the referencing blueprint in EDL
Change 3803659 by Marc.Audy
Fix static analysis warning
#jira UE-53337
Change 3803685 by Marc.Audy
Fix extra )
[CL 3804136 by Marc Audy in Main branch]
#rb none
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3626305 by Phillip.Kavan
#jira UE-49269 - Workaround fix for crash after packaging a nativized QAGame build with all AnimBP assets disabled for nativization by default.
Change 3627162 by Phillip.Kavan
#jira UE-49239 - Fix an invalid cast emitted to nativized codegen for converted AnimBP types.
- Regression introduced in CL# 3613358.
Change 3756887 by Ben.Zeigler
#jira UE-52380 Fix inconsistency with how FSoftObjectPtr case is managed between FLinkerSave and FArchiveSaveTagImports, which would cause a cook ensure under some circumstances
Copy of CL #3756788
Change 3756888 by Ben.Zeigler
#jira UE-45505 Fix issue where FCoreUObjectDelegates::OnAssetLoaded was being called from an inner loop inside EndLoad. Maps would register components from that callback, and if those registers started their own loads, those objects would be returned in a partially loaded state. We now defer the asset loaded callback to the very end of the loop so recursive loads work properly
Copy of CL #3753986
#thomas.sarkanen
Change 3759254 by Ben.Zeigler
Disable the duplicate PrimaryAssetId for editor only types like Maps. This can happen if content folk copy maps using the content browser, and does not actually cause a runtime problem. It still ensures for cooked types
Change 3759278 by Ben.Zeigler
Add IsTempPackage to FPackageName
Fix issue where temp/memory packages shown in a content browser/asset audit window would spam the log when it failed to find source control info for them
Change 3759613 by Phillip.Kavan
Add support for casting between mismatched soft pointer types in nativized Blueprint C++ assignment statements and function calls.
Change summary:
- Extended FEmitHelper::GenerateAutomaticCast() to consider soft pointer terms and inject C++ code to explicitly cast the RHS when needed.
#jira UE-52205
Change 3760040 by Dan.Oconnor
Add Call Stack control for viewing Blueprint call stacks when paused at a breakpoint, available from the Developer Tools menu
#jira UE-2296
Change 3760955 by Phillip.Kavan
Fix conditional (SA/CIS issue).
Change 3761356 by Ben.Zeigler
Fix DLC staging rules to handle metadata correctly and remove debug log I accidentally added. The DLC staging now iterates in a similar way to the normal staging, it just may also excluded Engine
Change 3761859 by Zak.Middleton
#ue4 - Fix crash in UStaticMesh::GetAssetRegistryTags() when FindObject is used during saving. Added Lex::ToString for physics enums ECollisionTraceFlag, EPhysicsType, and EBodyCollisionResponse.
#jira UE-52478
#tests QA game, content browser
Change 3761860 by mason.seay
Submitting test content for Async Load issue
Change 3762559 by Ben.Zeigler
#jira UE-52407 Fix it so FText can be specified in blueprint functions as default parameters. The UI showed up before but the data was lost
Change GetDefaultsAsString on Pin to always return an internal string so it can correctly be import texted, add GetDefaultsAsText for display purposes
Change 3764459 by Marc.Audy
PR #4224: Fix LoadLevelInstanceBySoftObjectPtr (Contributed by phlknght)
#jira UE-52415
Change 3764580 by Ben.Zeigler
Clean up delegates in UObjectGlobals.h, fixing several incorrect comments and moving some editor delegates into WITH_EDITOR
Change 3764602 by Ben.Zeigler
#jira UE-52487 Fix it so OnAssetLoaded gets correctly called for Assets that were async loaded while in the editor/standalone editor game.
This is necessary because they would not get registered with various editor systems for the rest of the editor session, even if opened manually
Change 3764603 by Ben.Zeigler
Related to UE-52487, now that async loading blueprints in the editor properly registers them with the blueprint actions, we need to unregister them when automated tests want them to unload. Add a ClearEditorReferences function to UBlueprint that calls the OnUnloaded editor delegate, so EngineTest doesn't need to include the editor module
Change 3764768 by Ben.Zeigler
#jira UE-52524 Fix null access crash when pasting an invalid macro instance node
Change 3766415 by Fred.Kimberley
Removing invalid assets. Most of these are out of date.
Change 3766417 by Fred.Kimberley
Add warnings when we try to export a package without a type.
Change 3766514 by Fred.Kimberley
Added a #include to fix the build.
Change 3766542 by Fred.Kimberley
Added a #include to fix the build.
Change 3766558 by Fred.Kimberley
Rename variables to avoid warnings about hiding previous variable declarations.
Change 3767619 by Marc.Audy
bActorIsBeingDestroyed must be part of transaction history
#jira UE-51796
Change 3767993 by Dan.Oconnor
Preserve graph editor controls when clicking on a hyper link, this speeds up navigation via the debugger 'step' command and Find in Blueprints control
#jira UE-52596
Change 3768146 by Marc.Audy
Fix material instance dynamic not correctly finding object in details panel customization as a result soft path changes
#jira UE-52488
Change 3769586 by Marc.Audy
Fix expose on spawn related error messages
Change 3769863 by Dan.Oconnor
Blueprint call stack now has access to frame offsets and can highlight nodes that are active on previous stack frames
#jira UE-52452
Change 3771200 by Dan.Oconnor
CIS fix - add missing DO_BLUEPRINT_GUARD
Change 3771555 by Ben.Zeigler
Add transactions for several pin class changing actions which were missing them
Change 3771589 by Ben.Zeigler
#jira UE-52665 Fix it so changing the type of a create widget or spawn actor node will correctly propagate the type change to reroute/wildcard nodes instead of disconnecting
Change 3771683 by Dan.Oconnor
Call Stack polish: background color no longer changes when undocked, prettify-ing "ExecuteUbergraph_blahblah" in to "Event Graph", resizing works correctly, added overlay message when no call stack is available
#jira UE-52567
Change 3771734 by Dan.Oconnor
Add entries for native code in the blueprint call stack view, clarifying re-entrancy
Change 3774293 by Ben.Zeigler
#jira UE-52665 Minimal fix for making sure type changes propagate through multiple rerout nodes, going to make a larger refactor in a second checkin
Change 3774328 by Ben.Zeigler
#jira UE-52665 Refactor knot nodes so there is one type propagation function that takes a direction, this fixes an issue where the second knot node in a chain would not have it's type changed when input type changed
Change 3774342 by Ben.Zeigler
#jira UE-52661 Fix crash when using blueprinted components created by a specialized subclass of UBlueprint, from PR #4249
Change 3774476 by Fred.Kimberley
Add class and function info to pin names for async nodes. This fixes a problem where redirectors for async node pins did not work.
https://udn.unrealengine.com/questions/402882/propertyredirect-fails-with-uk2node-latentgameplay.html?childToView=403808
Change 3774645 by Ben.Zeigler
#jira UE-41743 Fix it so struct split pins handle renames correctly, both for user structs and native structs
Refactor the variable rename checking in make/break struct to use the generic one I just added
Change 3775412 by Phillip.Kavan
UX improvements for Blueprint single-step debugging and breakpoints. Also added Step Out and Step Over debugging commands.
Change summary:
- Remapped the existing Step In command from F10 to F11 hotkey.
- Mapped existing Step Over command to F10 and existing Step Out command to ALT-SHIFT-F11 hotkeys.
- Added new (repurposed) icon assets for single-step debugging toolbar commands.
- Modified FPlayWorldCommands::BuildToolbar() to add new Step Over and Step Out commands to the toolbar.
- Modified FCompilerResultsLog::CalculateStableIdentifierForLatentActionManager() to remove special-case code for intermediate Tunnel Instance nodes, as these are now reverse-mapped through FullSourceBacktrackMap.
- Modified FKismetDebugUtilities::CheckBreakConditions() to more generally manage the current graph stack (i.e. not just for Blueprint Function graphs). Also fixed a bug where we had failed to reset the target graph stack depth after completing a Step Out/Over iteration.
- Modified FBlueprintDebugData::FindAllCodeLocationsFromSourceNode() to remove the additional iteration for the special Macro source node table (no longer required).
- Modified FBlueprintDebugData::RegisterNodeToCodeAssociation() to remove the Macro-specific parameters and the additional insertions into the special Macro tables (no longer required).
- Modified UK2Node_MathExpression::ValidateNodeDuringCompilation() to remove the special-case for Macro Instance source nodes, as Macro source nodes are now being mapped through the same table.
- Added FindMatchingTunnelInstanceNode() as a utility method for now in BlueprintConnectionDrawingPolicy.cpp in order to match up Macro/Composite graph source nodes with nested Tunnel Instance nodes at the current graph level. *** TODO: For 4.19 we probably should revert back to using a secondary table in the debug data to map Tunnel Instance node hierarchies to code offsets in order to result in a faster lookup time here. ***
- Modified FKismetConnectionDrawingPolicy::BuilldExecutionRoadmap() to replace the special-case for Macro Instance source nodes with a more general check for Tunnel Instance nodes that also handles Composite source nodes.
- Revised UK2Node_TunnelBoundary to strip out most of what was being used to support the profiler, while keeping its basic compiled goto behavior in order to still function as a NOP node.
- Added FKismetCompilerContext::SpawnIntermediateTunnelBoundaryNodes().
- Modified FKismetCompilerContext::ExpandTunnelsAndMacros() to no longer overwrite intermediate Macro source node mappings in the lookup table with the Macro Instance source node that triggered the Macro graph expansion. Also revised the TunnelNode case to spawn intermediate TunnelBoundary (NOP) nodes around Macro and Composite gateways; this allows breakpoints to hit on the Tunnel nodes around a source graph expansion.
- Modified FScriptBuilderBase::EmitInstrumentation() to remove special-case handling for Macro and Tunnel source nodes. These are now being mapped directly through the SourceBacktrackMap instead.
- Removed alternate breakpoint icon assets for Macro Instance and Composite nodes (no longer needed).
- Removed UK2Node::GetActiveBreakpointToolTipText() and its UK2Node_MacroInstance override (no longer required).
- Removed special case in SGraphNodeK2Base::GetOverlayBrushes() for Macro Instance and Composite nodes (no longer needed).
- Removed special-case mappings and interface methods for Tunnel nodes in FCompilerResultsLog (no longer required).
- Removed the LineNumberToMacroSourceNodeMap and LineNumberToMacroInstanceNodeMap members from the FDebuggingInfoForSingleFunction struct (no longer in use).
- Removed FBlueprintDebugData::FindMacroSourceNodeFromCodeLocation() and FindMacroInstanceNodesFromCodeLocation().
- Removed FKismetDebugUtilities::FindMacroSourceNodeForCodeLocation() (no longer in use).
- Removed special-case handling for Macro Instance nodes in FKismetDebugUtilities::OnScriptException() (no longer required). Macro source nodes are no longer being mapped to code offsets through a separate table, and we don't need to worry about saving/restoring the Active Object when debugging with a Macro Graph in the active tab.
#jira UE-2880
#jira UE-16817
Change 3776606 by mason.seay
Updated content to prevent warning from appearing
Change 3777051 by Dan.Oconnor
ComponentTemplate references in UBlueprint can no be cleared after compiling the (blueprint defined) component
#jira UE-52484
Change 3777108 by Dan.Oconnor
Look up call stack frame source name when caching a script call stack for display. This relies on debug data being generated for event stubs
#jira UE-52717, UE-52719
Change 3778277 by Marc.Audy
Fixed potential null material reference causing crash.
#jira UE-52803
Change 3778288 by Marc.Audy
PR #3957: Making FAlphaBlend BlueprintType in order to fix a bunch of broken UPROPERTY's as of 4.17 (Contributed by ill)
#jira UE-49082
Change 3778321 by Phillip.Kavan
Fix for a regression in BP script execution behavior related to misidentified latent node expansions from a macro source graph.
Change summary:
- Removed FCompilerResultsLog::FullSourceBacktrackMap (no longer in use).
- Restored FCompilerResultsLog::IntermediateTunnelNodeToTunnelInstanceMap (which was in place prior to CL# 37754112); this table was being used to map intermediate nodes resulting from a tunnel instance node expansion back to the outer tunnel instance node that triggered the expansion. Its once again being used for that reason, but I reduced the scope a bit to only include the execution path within the expansion, as that's the only mapping that we need.
- Restored FCompilerResultsLog::RegisterIntermediateTunnelNode(), but renamed it to NotifyIntermediateTunnelNode() to be consistent with the other parts of the MessageLog interface, and also removed the part of the implementation that was adding to a secondary macro expansion-to-source backtrack map (since macro expansion node lookup is now done through the main source backtrack map).
- Restored FCompilerResultsLog::GetIntermediateTunnelInstance().
- Modified FCompilerResultsLog::NotifyIntermediateObjectCreation() to remove the part of the implementation that was adding to the secondary node-only-to-source backtrack map (it was previously just a redundant copy of the main one except in the case of macro expansions).
- Modified FCompilerResultsLog::CalculateStableIdentifierForLatentActionManager() to restore the calculation of a stable UUID for nodes sourced from a macro expansion, where we had incorporated the outer intermediate tunnel instance node chain.
#jira UE-52872
Change 3778329 by Marc.Audy
PR #4241: Enforce calling superclass on ActorComponent::BeginPlay (Contributed by rlefebvre)
#jira UE-52574
Change 3778349 by Marc.Audy
Minor cleanup
Change 3759702 by Ben.Zeigler
#jira UE-52287 Prevent cook metadata like DevelopmentAssetRegistry.bin from being packed into a shipping game, by moving it into a Metadata subdirectory and updating deployment scripts to avoid that directory.
Right now it doesn't package them at all, we could change it to package them as Debug Non-UFS if desired
Change it so the asset audit UI will only load DevelopmentAssetRegistry.bin files, the cooked registry files don't have enough information any more to be useful
Remove ability for runtime game to load DevelopmentAssetRegistry.bin, this ended up not being useful
#jira UE-52158 Fix it to refresh the list of possible asset audit platforms when the refresh button is pushed
Change 3766414 by Fred.Kimberley
Data validation plugin
Change 3769923 by Ben.Zeigler
#jira UE-30347 Change ResourceSize mode enum from Inclusive to EstimatedTotal, which includes UObject serialization data as well as data for any subobjects. It now does NOT include externally referenced assets, which it did for some assets but not others
Fix Texture EstimatedTotal memory to handle LOD bias, it now reports the largest possible size in a cooked game of any platform
Fix many GetResourceSizeEx calls to match the new definition and improve accuracy
Switched several editor tools to use EstimatedTotal now that it is more useful, and removed some unused memory stats
Remove ResourceSize from UObject asset registry tags as it was misleading and inaccurate, for now it is only possible to get this for loaded objects
Remove MapFileSize from Worlds as it redundant with the generic file size. Fixed the generic file size to display using the Size format
Several UI fixes for Asset Audit and Size Map to deal with this change. Asset Audit no longer has the memory size columns, and the memory size drop down in Size Map is disabled for cooked builds
Change 3771365 by Ben.Zeigler
#jira UE-52670 Add project setting bValidateUnloadedSoftActorReferences that is true by default to match current behavior. If you set it to false it will no longer load packages to look for soft actor references when deleting/renaming actors.
[CL 3779057 by Marc Audy in Main branch]
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3623720 by Phillip.Kavan
#jira UE-49239 - Temp fix for QAGame animations not updating in a nativized build.
Change summary:
- Temporarily excluded all AnimBP assets from nativization as a workaround.
Change 3626305 by Phillip.Kavan
#jira UE-49269 - Workaround fix for crash after packaging a nativized QAGame build with all AnimBP assets disabled for nativization by default.
Change 3629145 by Marc.Audy
Don't hide developer nativization tool behind ini
Change 3630849 by Marc.Audy
Fix nativization uncompilable code when using a non-referenceable term in a switch statement.
#jira UE-44085
Change 3631037 by Marc.Audy
(4.17.2) Fix crash when nativizing blueprint with MakeMap or MakeSet node in it
#jira UE-49440
Change 3631206 by Marc.Audy
Make NAME_None == TEXT("") behave the same as NAME_None == FName(TEXT(""))
Change 3631232 by Marc.Audy
Remove outdated diagnostic code throwing false positives
#jira UE-47986
Change 3631573 by Marc.Audy
Fix containers of vector, rotator, or transform placing a space between the type and the pluralization 's'
Change 3633168 by Lukasz.Furman
fixed behavior tree changing its state during latent abort,
modified order of operations during abort to: abort & wait -> change aux nodes -> execute
Change 3633609 by Marc.Audy
Don't get unneeded string
Change 3633691 by Marc.Audy
Fix copy-pasting of a collapsed graph containing a map input losing the value type
#jira UE-49517
Change 3633967 by Ben.Zeigler
Actor.h header cleanup, fix various comments and reorganize some members, saves 80 bytes per actor in a cooked Win64 build
bRunningUserConstructionScript is now private, exposed with IsRunningUserConstructionScript
Fixed a few other fields to be private that were accidentally made public in 4.17
Change 3633984 by Michael.Noland
Blueprints: Fixed a potential crash when collapsing nodes to a function when a potential entry pin had no links
Change 3634464 by Ben.Zeigler
Header cleanups for Pawn, Controller, Character, and PlayerController
Change 3636858 by Marc.Audy
In preview worlds don't display the light error sprite
#jira UE-49555
Change 3636903 by Marc.Audy
Fix numerous issues with copy/pasting editable pin bases
#jira UE-49532
Change 3638898 by Marc.Audy
Allow right-click creation of local variables in blueprint function libraries
#jira UE-49590
Change 3639086 by Marc.Audy
PR #4006: Mark UEdGraphSchema::BreakSinglePinLink as const (Contributed by leyyin)
#jira UE-49591
Change 3639445 by Marc.Audy
Fix mistaken override and virtual markup on niagara schema function.
Change 3641202 by Marc.Audy
(4.17.2) Fix crash undoing pin changes with split pins
#jira UE-49634
Change 3643825 by Marc.Audy
(4.17.2) Fix crash right clicking a struct pin when the struct it represented has been deleted
#jira UE-49756
Change 3645110 by mason.seay
Fixed up QA-ClickHUD map so it's usable and makes more sense
Change 3646428 by Dan.Oconnor
Fix for UbergraphFrame layout changing during bytecode recompile, which would cause actual ubergraph frame layout to mismatch reflection data
#jira None
Change 3647298 by Marc.Audy
PR #4016: Rename argument name for SetInputMode (Contributed by projectgheist)
#jira UE-49748
Change 3647815 by Marc.Audy
Minor performance improvements
Change 3648931 by Lina.Halper
#Compiler : fixed so that each type of BP can provide module info, and compiler info
- Moved out AnimBlueprint Compiler
- Refactored WidgetBlueprint
- DUPE - Merging using ControlRig_Dev-Framework
Change 3654310 by Marc.Audy
Shrink USkinnedMeshComponent 64 bytes
Shrink USkeletalMeshComponent 224 bytes (160 bytes internal)
Change 3654636 by Lina.Halper
Fix crashing on shutdown
#jira: UE-50004
Change 3654960 by Lina.Halper
- Fix with automation test of creation/duplication
- Fixed shut down crash with editor again due to uobject GCed
#jira: UE-50028
Change 3655023 by Ben.Zeigler
#jira UE-50101 Fix level streaming transform when PIE-duplicating a level that has been preloaded but not made visible in the editor. Instead of always saying actors have been moved we copy the source level's flag
Change 3655426 by Ben.Zeigler
#jira UE-50019 Fix issue where StreamableManager could return objects that are partially loaded if called from PostLoad. StreamableManager never wants half-loaded objects, so change it to explicitly skip them
Change 3657627 by Ben.Zeigler
#jira UE-50157 Fix EDL load dependency issue where the simple construction script/ICH are not guaranteed to be serialized in time for subobject construction
Change 3662086 by Mieszko.Zielinski
Fixed navmesh not loading properly in PIE when owning world has been duplicated-for-play #UE4
This can happen when navigation containing level is loaded via AsyncLoadPrimaryAssetList
#jira UE-50101
Change 3662294 by Ben.Zeigler
Fix enum redirects to handle non-class enums properly where a value redirect is not specified. It needs to convert from EOldEnum::Value to ENewEnum::Value before doing the name check
Change 3662825 by Mieszko.Zielinski
Fixed VisLog debug drawing crashing when using UI to change log lines to be displayed #UE4
there was a loop iterating over elements of a map and was modifying the map as it went, which is a big no-no
Change 3664424 by Marc.Audy
UE-50076 test assets #rb none #rnx
Change 3664441 by Mieszko.Zielinski
PR #3993: UE-25907: Added logging to Log Text, Log Location, and Log Box Shape (Contributed by projectgheist)
Piggybacking on this PR I've redone how visual log is using categories. Now it's using FName rather than FLogCategoryBase to indicated log category. All UE_VLOG macros have been updated.
Change 3664506 by Phillip.Kavan
#jira UE-47852 - Fix various issues with both UAT/UBT-driven and manually-configured code/data build workflows involving nativized Blueprint assets.
Change summary:
- UAT: Removed '-nativizedAssets' command-line option. It's no longer required to specify this flag when cooking/building in order to enable nativization.
- UAT: Removed AutomationTool.ProjectParams.BlueprintPluginPaths.
- UAT: Modified AutomationTool.ProjectParams.ProjectParams() to initialize the 'RunAssetNativization' field based on the current 'BlueprintNativizationMethod' config setting. This flag is now used just to direct UAT to defer invoking UBT for '-build' until after the '-cook' stage has finished.
- UAT: Modified BuildCookRun.DoBuildCookRun() to remove the 'bWarnIfPackagedWithoutNativizationFlag' case (since we removed the '-nativizedAssets' command-line option).
- UAT: Removed Project.AddBlueprintPluginPathArgument() and Project.GetBlueprintPluginPathArgument(). These utility functions are no longer needed.
- UAT: Modified Project.Cook() to remove the registration of each NativizedAssets plugin path for '-build' along with the addition of the '-nativizedAssets' argument with the platform-agnostic path to the NativizedAssets plugin when invoking UE4Editor.exe for '-cook'. This is now handled by the UE4Editor cook commandlet instead.
- UAT: Modified Project.Build() to remove the addition of the '-plugin' argument with the path to the NativizedAssets plugin when invoking UBT for '-build'. This is now handled by UBT instead.
- UBT: Modified UnrealBuildTool.ProjectFileGenerator.DiscoverExtraPlugins() to remove the previously-added search for intermediate plugin assets based on the 'AdditionalPluginDirectories' optionally found in the .uproject file. Instead, this search is now handled via a Plugins.EnumeratePlugins() LINQ query. It is also gated by a new Advanced project setting in DefaultGame.ini that defaults to off, but this way users can still add generated assets into the solution file.
- UBT: Added UnrealBuildTool.UEBuildTarget.ShouldIncludeNativizedAssets() as a utility method for checking the current 'BlueprintNativizationMethod' setting in the game's config file.
- UBT: Modified UnrealBuildTool.UEBuildTarget.CreateTarget() to confirm the existence of a NativizedAssets plugin (generated at cook time) when the project is configured for nativization. If the plugin is found, it is added to the RulesAssembly chain and the ProjectDescriptor.ForeignPlugins list. If the plugin is not found, then a BuildException is thrown informing the user that the plugin must exist in order to build (with a note to make sure to cook the target platform first).
- UE4: Added 'Lex' namespace utility functions for converting PlatformInfo::EPlatformType to/from an FString. Note: Lex::FromString() is simply a proxy to the already-existing PlatformInfo::EPlaformTypeFromString() API, but it was included for completeness.
- UE4: Removed the UProjectPackagingSettings::bWarnIfPackagedWithoutNativizationFlag. This is no longer needed since the '-nativizedAssets' command-line option has been removed.
- UE4: Added UProjectPackagingSettings::bIncludeNativizedAssetsInProjectGeneration (advanced setting). This defaults to 'false' (off). When true, running GenerateProjects.bat will also generate project files for any NativizedAssets plugins previously generated at cook time. This gives advanced users/engineers an option to include nativized Blueprint class sources in the set of generated C++ code projects for faster browsing, etc.
- UE4: Modified UProjectPackagingSettings::PostEditChangeProperty() to remove the case that handles the 'BlueprintNativizationMethod' property. When this value changes, we no longer make an attempt to modify the .uproject file.
- UE4: Removed BlueprintNativeCodeGenManifestImpl::PlatformPlaceholderPattern. This pattern string is no longer in use. Also modified the FBlueprintNativeCodeGenPaths ctor to remove the replacement logic for the pattern string.
- UE4: Modified FBlueprintNativeCodeGenPaths::GetDefaultCodeGenPaths() to construct and return a new directory pattern for the generated NativizedAssets plugin. This is now generated to: Intermediate/Plugins/NativizedAssets/<Platform>/<Type:Game|Client|Server>.
- UE4: Modified FBlueprintNativeCodeGenPaths::PluginRootDir() to no longer append "NativizedAssets" to the end of the path to the generated NativizedAssets plugin.
- UE4: Removed FCookByTheBookStartupOptions::bNativizeAssets and NativizedPluginPath (no longer in use since the '-nativizeAssets' command-line option has been removed).
- UE4: Modified UCookCommandlet::CookByTheBook() to remove initialization of the 'bNativizeAssets' field in the startup options (since the corresponding command-line argument has been removed).
- UE4: Removed FNativeCodeGenData::DestPluginPath and modified FBlueprintNativeCodeGenModule::Initialize() to remove the check for it.
- UE4: Added FBlueprintNativeCodeGenModule::ShutdownModule(). This now handles cleanup for the nativization module after the cook process has finished.
- UE4: Modified UCookCommandlet::CookByTheBook() to no longer look for the '-nativizedAssets' command-line option as well as to remove the initialization of the nativization-related startup option flags that were removed.
- UE4: Modified UCookOnTheFlyServer::StartCookByTheBook() to check the 'BlueprintNativizationMethod' config setting in order to determine whether or not to nativize assets. This replaces the '-nativizedAssets' command-line flag.
- UE4: Modified UCookOnTheFlyServer::StartCookByTheBook() to remove the case that previously handled the 'bWarnIfPackagedWithoutNativizationFlag' check. This is no longer needed since the '-nativizedAssets' flag was removed.
- UE4: Modified UCookOnTheFlyServer::CookByTheBookFinished() to unload the IBlueprintNativeCodeGenModule instance after cooking, in order to reset module state for another potential pass within the same process context.
- UE4: Modified UWidgetBlueprintGeneratedClass::InitializeTemplate() to append 'REN_ForceNoResetLoaders' to the Rename() flags so that when we shift the OldArchetype object into the transient package, it doesn't invalidate the outer package's linker. We need that to remain valid so that multiple nativized cooks within the same process don't fail.
- UE4: Modified FMainFrameActionCallbacks::PackageProject() to remove the addition of '-nativizedAssets' to the UAT command line based on project settings (this is no longer needed, as it is now handled internally by UAT).
- UE4: Modified SaveWorld() to append 'REN_ForceNoResetLoaders' to the Rename() flags so that when we rename the world instead of duplicating it, it no longer triggers a reset of *all* object loaders.
Notes:
- After this change, all nativization workflows (e.g. UAT, UBT and UE4Editor) now look to the 'BlueprintNativizationMethod' flag in the Project settings (UProjectPackagingSettings). This unifies everything on a single flag by default, and removes the feature added in 4.17 that touched the .uproject file when that setting changed (which itself introduced a couple of new regressions in that release).
- Advanced users and build engineers can override this value per task. Instructions to do that are as follows:
- For UAT/UBT/UE4Editor.exe tasks, adding '-ini:Game:[/Script/UnrealEd.ProjectPackagingSettings]:BlueprintNativizationMethod=<Disabled|Inclusive|Exclusive>' will allow the current setting to be overridden on the command line.
- When '-cook' is included on the RunUAT BuildCookRun command line, the above needs to also be embedded within the '-AdditionalCookerOptions' command-line argument. This means that if both '-cook' and '-build' are included, then both the '-ini' argument shown above as well as the same '-ini' argument embedded inside the '-AdditionalCookerOptions' argument will need to be included for the build pipeline to work properly.
- We should add a release note instructing users to check their .uproject file and remove any 'AdditionalPluginDirectories' entries that list the "Intermediate/Plugins" path. This will avoid issues when building the cooked target with UBT.
- We should also add a release note and/or documentation to explain the "advanced" build pipeline options (i.e. the '-ini' argument noted above).
Change 3665061 by Phillip.Kavan
Fix crash on load in a nativized build caused by a reference to a BP class containing a nativized enum.
Mirrored from //UE4/Release-4.18 (CL# 3664993).
#3969
#jira UE-49233
Change 3665108 by Marc.Audy
(4.18) Fix crash when diffing a blueprint whose older version's parent blueprint has been deleted
+ additional code cleanup
#jira UE-50076
Change 3665114 by Marc.Audy
Minor change that could potentially improve performance in some cases
Change 3665410 by Mieszko.Zielinski
Fixed naming of Vislog's BP API #UE4
Change 3665634 by Ben.Zeigler
#jira UE-50045 Mark PIE-duplicated packages as explicitly fully loaded to fix PIE networking crash. These used to be accidentally treated as fully loaded because it was checking the wrong package name on disk
Change 3666970 by Phillip.Kavan
Do not emit a BOM when generating nativized Blueprint asset source files encoded as UTF-8.
#jira UE-46814
Change 3667058 by Phillip.Kavan
Ensure that '-build' is always passed to BuildCookRun automation for projects configured with Blueprint nativization enabled so that it doesn't skip that stage.
Mirrored from //UE4/Release-4.18 (CL# 3667043).
#jira UE-50403
Change 3667150 by Mieszko.Zielinski
PR #4042: BT CompositeDecorator node clears RF_Transient flag for all owned Decorator nodes. (Contributed by BibbitM)
Minor tweak from the original PR - made UBehaviorTreeDecoratorGraphNode_Decorator::ResetNodeOwner protected and added UBehaviorTreeGraphNode_CompositeDecorator class a a friend.
#jira UE-50249
Change 3667152 by Mieszko.Zielinski
PR #4047: Clearing RF_Transient flag when reseting EQS node owner - single change. (Contributed by BibbitM)
#jira UE-50298
Change 3667166 by Mieszko.Zielinski
Fixed FRichCurve baking so that it doesn't loose its curvature #UE4
Also, added some baking sanity checking (like if the range is larger than a single point).
Change 3668025 by Dan.Oconnor
Added a step to the compilation manager to skip recompilation of classes that are dependent on a given classes function signatures when those signatures have not changed
#jira UE-50453
Change 3672063 by Ben.Zeigler
#jira UE-49049 Fix issue with StreamableHandle ParentHandles array being modified during iteration, I had already fixed the Cancel case but not the complete case
Change 3672306 by Ben.Zeigler
#jira UE-50571 Fix issue where PrimaryAsset blueprints would be incorrectly added to the dictionary if their base class had an active class redirect referencing it
Change 3672683 by Marc.Audy
Code cleanup
Change 3672749 by Ben.Zeigler
Fix issue where deleting a source package would not cause the generated cooked package to get deleted while doing an incremental build
Change 3672831 by Ben.Zeigler
#jira UE-50507 Add a cook/save warning when a registered PrimaryAssetId does not match the object's real exported PrimaryAssetId.
Make PrimaryDataAsset blueprintable so you can make primary assets in a blueprint-only project
Change 3673551 by Ben.Zeigler
#jira UE-50029 Fix it so data-only blueprints will never create a UCS function in the final class. If you manually compiled the blueprint or it got recompiled due to inheritance it would create a UCS function that just calls its parent, which could cause problems later on when it did not create a UCS function during normal load
Change 3675074 by mason.seay
Test map for VisLog Testing
Change 3675084 by Mieszko.Zielinski
Fixed BT editor constantly marking BT asset as dirty if it has a "RunBehavior" node #UE4
#jira UE-43430
Change 3676490 by Ben.Zeigler
#jira UE-50635 Fix it so directly blueprinting PrimaryDataAsset will give you a useful PrimaryAssetType. Unless overridden the Type of a PrimaryDataAsset will be the first native class found in the hierarchy, or the the blueprint class that directly blueprints PrimaryDataAsset
Change 3676579 by Lukasz.Furman
fixed crash in behavior tree's search rollback
Change 3676586 by Lukasz.Furman
added local scope mode to behavior tree's composite nodes
Change 3676587 by Ben.Zeigler
Swap PrimaryAssetId property customization to use the same ui as the Pin customization. This one better handles objects that aren't loaded into memory, the old Property one would show None in that case
Add browse, use selected, and clear buttons, and make ID selector font the normal property font
Change 3676715 by Lukasz.Furman
changed order of behavior tree's aux node ticking
Change 3676867 by Ben.Zeigler
#jira UE-50665 Fix issue where resolving Soft Object Ptrs that are stored inside static assets or Blueprint CDOs from PIE will return the editor actor, not the PIE actor. So when resolving a path/ptr during PIE add a failsafe to do a PIE fixup
Fix issue where Lazy pointer fixup could corrupt Soft Object Ptrs by applying the PIE fixup too early
Change 3677892 by Ben.Zeigler
Fix crash when additional level viewport sprites are added after level editor module is loaded. This is basically the same fix as CL #3491406, but for sprites
Change 3678247 by Marc.Audy
Fix static analysis warning
Change 3678357 by Ben.Zeigler
#jira UE-50696 Add some container variables to diff test to track down crashes
Change 3678385 by Ben.Zeigler
#jira UE-50696 Fix crash diffing blueprints where array properties were changed. It needs to not run the generic identical check until it's sure the container types match
Change 3678600 by Ben.Zeigler
#jira UE-50703 Fix crash when a soft actor reference is not actually pointing to an actor, treat it like a broken reference
Change 3679075 by Dan.Oconnor
Mirror 3679030 from Release-4.18
Fix crash when compiling a level blueprint that has delegates to a blueprint that it also has a direct dependency on
#jira UE-48692
Change 3679087 by Dan.Oconnor
Filter out unnecessary relink jobs from the compilation manager
#jira None
Change 3680221 by Ben.Zeigler
#jira UE-50764 Fix crash when converting a property from a soft object reference to hard, it needs to validate the class after the conversion and null if necessary
Change 3680561 by Lukasz.Furman
fixed unsafe StopTree calls in behavior tree
#jira nope
Change 3680788 by Ben.Zeigler
Fix issue where scrubbing sequencer in simulate would not modify actors. We need to temporarily set the PIE context global when doing this specific type of actor bind
Change 3683001 by mason.seay
Submitting various test maps and assets
Change 3686837 by Mieszko.Zielinski
Fixed NavMeshBoundsVolume not updating navmesh when its location gets changed via the Transform Details widget #Orion
#jira UE-50857
Change 3688451 by Marc.Audy
Fix up new material expression to work with String -> Name refactor
Change 3689097 by Mason.Seay
Test content for nativization and enum testing
Change 3689106 by Mieszko.Zielinski
Made NavMeshBoundsVolume react to undo in the editor #Orion
#jira UE-51013
Change 3689347 by Mieszko.Zielinski
Fixed a crash on FAIDynamicParam creation resulting from uninitialized member variables #UE4
Manual merge of CL#3689316 over from 4.18
#jira UE-51019
Change 3692524 by mason.seay
Moved some assets to folder for org, fixed up redirectors
Change 3692540 by mason.seay
Renaming test maps so they are clearly indicated for testing nativization
Change 3692577 by mason.seay
Deleted a bunch of old assets I created specifically for various bugs reported. All issues are closed so they're no longer needed
Change 3692724 by mason.seay
Deleting handful of assets found in developer folders of those no longer with the team. Moved assets that are still used by test maps
Change 3693184 by mason.seay
Assets for testing nativization with structs
Change 3693367 by mason.seay
Improvements to test content
Change 3695395 by Dan.Oconnor
Fix for rare linker issue, IsBlueprintFinalizationPending would return true when we were trying to force load subobjects that were now ready to be loaded. This would prevent some placeholder objects from being replaced
#jira None
Change 3695484 by Marc.Audy
Fix sound cue connection drawing policy not getting returned.
#jira UE-51032
Change 3695494 by mason.seay
More test content for nativization testing
Change 3697829 by Mieszko.Zielinski
PR #4104: Fixed a typo CaclulateMaxTilesCount to CalculateMaxTilesCount (Contributed by YuchenMei)
Change 3700541 by mason.seay
Test map for containers with function bug
Change 3703459 by Marc.Audy
Remove poorly named InverseLerp
Fix degenerate behavior returning bad value
#jira UE-50295
Change 3703803 by Marc.Audy
Clean up autos
Minor improvement to ShouldGenerateCluster
Change 3704496 by Mason.Seay
More test content for testing nativization
Change 3706314 by Marc.Audy
PR #4085: GetDefaultPawnClassForController -> BlueprintCallable (Contributed by Allar)
#jira UE-50874
Change 3707502 by Mason.Seay
Final changes to nativization test content (hopefully)
Change 3709478 by Marc.Audy
PR #4144: Exposed MassageAxisInput for inheritence (Contributed by jackknobel)
Same as CL# 3689702 implemented in Fortnite
#jira UE-51453
Change 3709967 by Marc.Audy
PR #4139: fixed a typo in a comment (Contributed by derekvanvliet)
#jira UE-51372
Change 3709970 by Marc.Audy
PR #4150: Fixed a typo in movement override comment (Contributed by ruffenman)
#jira UE-51495
Change 3709971 by Marc.Audy
PR #4149: Fixing typo on movement pawn component (Contributed by celsodantas)
#jira UE-51492
Change 3710041 by Marc.Audy
Minor code cleanup
Change 3711223 by Phillip.Kavan
Move some Blueprint nativization log spam into the verbose category.
#jira UE-49770
Change 3713398 by Marc.Audy
PR #4157: Renamed AActor::InternalTakePointDamage function's parameter. (Contributed by BibbitM)
#jira UE-51517
Change 3713601 by Marc.Audy
Fix merge error
Change 3713994 by Marc.Audy
(4.18) Just mark level script actor pending kill when the level script blueprint has been recompiled, instead of trying to send it through the destroy actor lifecycle event.
#jira UE-50738
Change 3714270 by Marc.Audy
Fix crashes with tickables as a result of virtuals not being usable in constructors/destructors
#jira UE-51534
Change 3714406 by Marc.Audy
Fix dumb inverted boolean check
Change 3716594 by Dan.Oconnor
Integrate 3681301 from 4.18
Only run OnLevelScriptBlueprintChanged when explicitly compiling a level blueprint, this matches the old behavior
#jira UE-50780, UE-51568
Change 3686450 by Marc.Audy
PinCategory, PinSubcategory, and PinName are now stored as FName instead of FString.
CreatePin has several simplified overrides so you can only specify Subcategory or SubcategoryObject or neither.
CreatePin also takes a parameter bundle for reference, const, container type, index, and value terminal type rather than a long list of default parameters.
Material Expressions now store input and output names as FName instead of FString
FNiagaraParameterHandle now stores the parameter handle, namespace, and name as FName instead of FString
Most existing pin related functions using string have been deprecated.
Change 3713796 by Marc.Audy
Added virtual GetTickableType function to FTickableBaseObject that can return Conditional (default), Always, or Never. Tickable Never objects will not get added to the tickable array or ever evaluated. Tickable Always objects do not call IsTickable and assume it will return true. Tickable Conditional objects work as in the past with IsTickable called each frame to make the determination whether to call Tick or not.
IsTickable no longer a pure virtual (defaults to true).
Applied fixes to avoid array corruption when a FTickableEditorObject is deleted during the tick phase consistent with previous fixes to FTickableGameObject.
Change 3638554 by Marc.Audy
Add enum expansion functional test to validate that the metadata ExpandEnumAsExecs works as expected.
Change 3676502 by Ben.Zeigler
Add Blueprint-only primary asset type to EngineTest, to cover testing UE-50635
[CL 3718205 by Marc Audy in Main branch]
#lockdown Nick.Penwarden
#rb none
#rnx
=====================================
MAJOR FEATURES + CHANGES
=====================================
Change 3343905 by Dan.Oconnor
ResolveMember optimizations and moved into cpp. ResolveMember<UFunction> now checks UClass::FuncMap before doing more expensive searches
Change 3346637 by Ben.Zeigler
Actually fix in non editor builds
Change 3355484 by Dan.Oconnor
Back out FMemberReference Optimization
Change 3425833 by Ben.Zeigler
#jira UE-31749 Fix it so Undo works properly when modifying a local variable
#jira UE-44736 Fix it so changing the type of a local variable correctly resets the default value
Change 3510091 by Marc.Audy
Expose on Spawn functional test
#rnx
Change 3510100 by Marc.Audy
Fix spelling error
#rnx
Change 3510132 by Marc.Audy
Fix issues with marking a widget blueprint class as abstract
Change 3510133 by Marc.Audy
Minor code cleanup
#rnx
Change 3510178 by Ben.Zeigler
#jira UE-46500 Fix it so editor-only and transient stuct members are not serialized for literal blueprint structs. It's unsafe to serialize them because they may not exist in the cooked build
Change 3510466 by Ben.Zeigler
Start adding basic ability system tests to enginetest, very minimal so far
Change 3511295 by Marc.Audy
Fix wasted work going weak -> object -> weak -> object
#rnx
Change 3511824 by Marc.Audy
Fix spelling error in tooltip
#jira UE-46515
#rnx
Change 3514446 by Ben.Zeigler
Fix ActorBoundEvent and ComponentBoundEvent to always refresh their event signature from the delegate property they are bound to. This is required to correctly deal with delegate signatures being moved or renamed. Both types now do the fixup one time, in ReconstructNode.
Change 3514578 by Marc.Audy
Move clearing of the actor component need end of frame update mark to base class instead of just primitive component
Change 3514583 by Ben.Zeigler
Better fix to last delegate checkin that also handles moving functions between modules but not renaming
Change 3515325 by Dan.Oconnor
Fix for rare orphan pin false positive, rare exposed on spawn false positive
#rnx
Change 3515761 by Marc.Audy
fix shipping configuration
#rnx
Change 3515772 by Marc.Audy
Fix static analysis warnings
#rnx
Change 3516287 by Marc.Audy
Fix references to instanced components not being updated when resetting component to default
#jira UE-44706
#rnx
Change 3516303 by Marc.Audy
Back out CL# 3516287 while an oddity is investigated
#rnx
Change 3516563 by Marc.Audy
(4.17) Fix references to instanced components not being updated when resetting component to default
#jira UE-44706
Change 3516637 by Phillip.Kavan
#jira UE-44661 - Fix potential crash when changing the ChildActorComponent class default value on a Blueprint that also sets the class in the Construction Script.
Change summary:
- Modified UChildActorComponent::DestroyChildActor() to move the check for PendingKill/Unreachable so that we can also rename a defunct ChildActor instance out of the way in order to allow for a new ChildActor instance w/ the cached name.
Change 3517735 by Marc.Audy
Avoid unnecessary string copy
#rnx
Change 3517931 by Marc.Audy
Small optimization to CleanupActors
Change 3518221 by Dan.Oconnor
Fix rare crash when running ConformImplementedEvents when async loading
#jira UE-45348
Change 3518270 by Ben.Zeigler
#jira UE-46574 Add FCollectionReference type and customization to allow setting an FName to an editor collection
Add AssetCollection to PrimaryAssetLabel that derives the bundled assets from an editor collection
Change 3518271 by Marc.Audy
Get rid of unnecessary construction differentiation if custom reset is being used
Change 3518310 by Ben.Marsh
Re-adding IOS files with correct case.
Change 3518423 by Ben.Zeigler
#jira UE-46574 Initial support for chunk installation in Asset Manager.
Refactor AssetManagerSettings so it copies runtime bools into the asset manager for fast access
Add a concept of a stalled streamable manager handle, handles can be created stalled and will not execute their async load until all needed resources have been acquired externally
Change 3518480 by Marc.Audy
Correctly get the variable reference for an input variable get from the member scope rather than a member variable of the same name on the class
#jira UE-46737
Change 3518498 by Ben.Zeigler
Fix bug with AssetManager where requesting the same load twice in a row before the first one finishes caused the complete callback to get called too early for the second load
Update test map to catch this
Change 3518526 by Ben.Zeigler
IOS Fix
Change 3518619 by Ben.Zeigler
#jira UE-46744 Fix issue where refreshing asset manager editor settings would throw away asset label rules overrides, causing the recursive flag to accidentally get set
Change 3518747 by Phillip.Kavan
#jira UE-43154 - Prevent ConstructGenericObject nodes from compiling if the selected type does not include 'BlueprintType' in its inheritance hierarchy.
Change summary:
- Moved UGameplayStatics::CanSpawnObjectOfClass() into UK2Node_GenericCreateObject as a local util method (per JIRA notes). This was not exposed to Blueprints and as such was inconsistent with the rest of the API.
- Modified UGameplayStatics::SpawnObject() to no longer call CanSpawnObjectOfClass(). This seemed redundant as this will already have been called during node validation at Blueprint compile time.
- Refactored CanSpawnObjectOfClass() into FK2Node_GenericCreateObject_Utils. Walking up the inheritance chain no longer starts out w/ the assumption that 'BlueprintType' is set by default, which was previously including a lot of engine-specific classes into the "allowed" set (e.g. UByteProperty). Also unified the 2 loop iterations that were being used to check for 'BlueprintType'/'NotBlueprintType' and 'DontUseGenericSpawnObjectName', as well as the check for whether or not the class is a derivative of AActor/UActorComponent.
- Modified UK2Node_GenericCreateObject::EarlyValidation() to call FK2Node_GenericCreateObject_Utils::CanSpawnObjectOfClass() and emit a slightly more informative error message to the BP compiler message log.
Change 3518756 by Michael.Noland
(4.17) Framework: Prevent various asserts when USplineComponent methods are called on a spline with no points
Change 3518760 by Michael.Noland
Core: Changed FRuntimeAssetCache ensures to ensureAsRuntimeWarning
Change 3518771 by Michael.Noland
AI: Prevent an ensure in UBlackboardComponent::ClearValue when called on a component with a null BlackboardAsset
Change 3518818 by Michael.Noland
Rendering: Fixed a whitespace issue in UCanvasRenderTarget2D::RepaintCanvas()
#rnx
Change 3518822 by Michael.Noland
Sequencer: Prevented crashes in some methods of UMovieSceneSequencePlayer when there is no Sequence set
Sequencer: Prevented a crash in FMovieSceneRootEvaluationTemplateInstance::Evaluate when the instance has no template set
Change 3518824 by Michael.Noland
Landscape: Marked ULandscapeComponent and ULandscapeHeightfieldCollisionComponent as Within=LandscapeProxy, since they do CastChecked on their Outer all the time
Change 3519073 by Michael.Noland
QAGame: Fixed a crash in UQASynth::PlaySynth() if called on a directly created instance rather than using the factory method
Change 3519076 by Michael.Noland
Preventing crashes in UAutomationPerformaceHelper (sic) when spawned abnormally for fuzzing (assumes that the outer will have a route to a world)
#rnx
Change 3519079 by Michael.Noland
Sequencer: Fixed a potential crash in UMediaPlaylist::Insert and UMediaPlaylist::RemoveAt when passed an invalid index
Change 3519081 by Michael.Noland
Blueprints: Added support for creating appropriate outers for objects that must be nested within another class during fuzzing (ones that specify Within=, other relationships aren't knowable yet)
Change 3519082 by Michael.Noland
VR: Prevent a crash in UMRMeshComponent::ConnectReconstructor when passed a null reconstructor
Change 3519084 by Michael.Noland
Rendering: Prevent crashes when UNiagaraComponent::GetEffectDataInterface is called on a component with no effect asset set
Change 3521889 by Michael.Noland
Sequencer: Prevented a bogus static analysis warning by reworking the code (FixedFrameInterval could have only been set if the pointer were valid from the line above)
#rnx
Change 3521987 by Michael.Noland
Animation: Prevent a couple of potential asserts in UControlRig::GetOrAllocateSubControlRig
Change 3522101 by Michael.Noland
Physics: Improved the comment on UPhysicalMaterial::Friction
#rn
Change 3522105 by Michael.Noland
Physics: Fixed a few crashes in UVehicleWheel when spawned directly
Change 3522106 by Michael.Noland
Framework: Marked ULevelStreaming as Within=World, since it does CastChecked on the Outer all the time
Change 3522109 by Michael.Noland
Animation: Marked UAnimInstance as Within=SkeletalMeshComponent since it assumes the outer in various places
Change 3522121 by Michael.Noland
Mobile: Prevent UMobileInstalledContent methods from crashing when called on a created instance in an uncooked build (no installed manifest)
Change 3522783 by Zak.Middleton
#ue4 - Imported new simple collision for Engine/Content/BasicShaps/Cylinder.uasset which is a single convex shape (rather than being 4 shapes as before).
Change 3525477 by Dan.Oconnor
Remove Tooltip, Category, and HideCategories tooltip from the blueprint generated class if source data is cleared
Change 3526538 by Ben.Zeigler
Refresh primary asset labels if their bundles are different at all and not just if they're added or removed. This is required because they now work based on collections or directories. This fixes issue with the onboarding collection changes not correctly modifying chunks
Copy of CL #3526501
Change 3526817 by Ben.Zeigler
#jira UE-46917 Fix issue where maps that do not contain level script blueprints were being counted as unindexed for find in blueprints. The old behavior depended on detecting the existence of empty tags, but the asset registry now filters those out so treat maps with no FiB data as indexed
Change 3526873 by Ben.Zeigler
#jira UE-46627 Change it so blueprint or native subclasses of static mesh actor cannot be added to clusters, as they are not likely to be immutable the way the base class is
Add code to to the ubergraph frame to fall back to hard reference serialization if the reference collector doesn't support weak references, such as the cluster collector
Change 3526958 by Marc.Audy
(4.17) Don't copy and then break pin links when reconstructing. Instead simply move.
#jira UE-46935
Change 3528916 by Marc.Audy
PR #3609: Adds GetKeysForAxis() to complement GetKeysForAction() in UPlayerInput (Contributed by alanedwardes)
#jira UE-45347
Change 3529080 by mason.seay
BP asset for undetermined type bug
Change 3529381 by Marc.Audy
Fix ability to insert duplicates in to a set or map
Change 3529471 by Dan.Oconnor
Fix for clang 4.0 error: definition of builtin function '__rdtsc' inline unsigned long long __rdtsc()
Change 3530876 by Marc.Audy
Based on PR #3457: Add MakeSet BP node (Contributed by projectgheist)
Also refactored MakeArray/Set to share a base MakeContainer class
Cleaned up some dead code from MakeArray
Added icon for MakeSet
Added Functional Test for MakeSet
#jira UE-43717
Change 3531070 by Phillip.Kavan
#jira UE-46866 - Fix crash on load when an external variable member reference's owning type cannot be loaded.
Change summary:
- Modified FBlueprintEditorUtils::GetSkeletonClass() to check for NULL before attempting to check for the generating BP.
Change 3531081 by Marc.Audy
Remove deprecated CustomMapParamValue code
Change 3531094 by Phillip.Kavan
#jira UE-46952 - Fix a packaging code build failure that will occur with a nativized Blueprint class that contains a UInterfaceProperty.
Change summary:
- Modified TScriptInterface::operator=() to cast the given 'SourceObject' instance to the 'InterfaceType' type before assigning to 'SourceInterface'. This was necessary because if the caller (in this case nativized codegen) passes in a UObject* that does not explicitly inherit from 'InterfaceType', then it will need to go through the object's GetInterfaceAddress() API instead and cast the result back to an 'InterfaceType' pointer.
Change 3531186 by Phillip.Kavan
Back out changelist 3531094 (temp CIS fix).
#rnx
Change 3532082 by Marc.Audy
Move garbage collection timers and other management to UEngine instead of UWorld
Fixes CollectGarbage blueprint node not working in shipping
#jira UE-46566
Change 3532134 by Phillip.Kavan
Restored changelist 3531094 w/ fix for non-unity.
- Mirrored from //UE4/Release-4.17 (CL# 3531232).
#rnx
Change 3533009 by Marc.Audy
Fixup missing function and deprecation warnings
Change 3534056 by Marc.Audy
(4.17) Fix expose on spawn of map and sets to work
#jira UE-47140
Change 3534761 by Marc.Audy
(4.17) Apply code review changes to Dev-Framework as well
#rnx
Change 3535147 by Dan.Oconnor
Build fix, already made in 4.17
#rnx
Change 3535530 by mason.seay
Resaving to remove error when opening level blueprint
Change 3535581 by Marc.Audy
Class Properties are only identical if they are literally the same object. Do not consider the deep compare port flags as object property base does.
#jira UE-46533
Change 3535583 by Marc.Audy
When properties are imported in to a child actor component the cached instance data is invalidated, so clear it.
#jira UE-46533
Change 3535617 by Marc.Audy
PR #3788: UE-39237: Prevent (im-)pure casting during BP debugging (Contributed by projectgheist)
#jira UE-47188
#jira UE-39237
Change 3535671 by Marc.Audy
Change NodeFactory to look at interface to use sequence node instead of each node having to add itself
Change 3535955 by Marc.Audy
Prevent MakeSet from removing split pins
Change 3536114 by Michael.Noland
Paper2D: Removing deprecated code from 4.3/4.4 era
#rnx
Change 3536120 by Michael.Noland
Animation: Removed deprecated FTAlphaBlend class and AlphaBlendType.h header
Change 3536124 by Michael.Noland
Physics: Removed deprecated methods that were replaced by _AssumesLocked variations
Change 3536131 by Michael.Noland
Slate: Converting remaining uses of EKeyboardFocusCause to EFocusCause and properly deprecating it
Change 3536138 by Michael.Noland
Slate: Removed any deprecated code older than 4.10 that didn't affect content compatibility
Change 3536167 by Dan.Oconnor
When a client provides a skeleton class as the self scope, make sure we also use a skel class for non-self scopes - but only if using the compilation manager. Skel classes are not reliably up to date when not using the compilation manager
#jira UE-46904
Change 3536221 by Michael.Noland
Editor: Removing deprecated code from 4.9 or earlier
Change 3536240 by Michael.Noland
Blueprints: Removed long-deprecated TypeToString method from the K2 schema
#rnx
Change 3536243 by Michael.Noland
AI: Prevent crashes if UMockTask_Log is created manually rather than via the CreateTask factory method
Change 3536244 by Michael.Noland
Core: Prevent FScopedExternalProfilerBase::StopScopedTimer() from asserting if called an unmatched number of times with StartScopedTimer, as both are exposed to BPs now
Change 3536250 by Michael.Noland
CoreUObject: Removed any deprecated code older than 4.10 that didn't affect content compatibility
Change 3536253 by Michael.Noland
Core: Removed any deprecated code older than 4.10 that didn't affect content compatibility
Change 3536310 by Michael.Noland
Engine: Removed any deprecated code older than 4.10 that didn't affect content compatibility
Change 3536397 by Mieszko.Zielinski
Fixed UCrowdFollowingComponent::UpdateCachedDirections crashing when CharacterMovement is not set #UE4
#jira UE-46860
Change 3536404 by Michael.Noland
Platform: Added a warning for others when they try to remove this 'deprecated' method
Change 3536639 by Michael.Noland
CharacterMovement: Changed the name of a variable introduced in CL# 3536397 to better match intent
#rnx
Change 3536893 by Michael.Noland
Blueprints: Clear the stale value on the value pin when a map find node fails to find an item
#jira UE-47233
Change 3536902 by Michael.Noland
Framework: Killed a couple of more deprecated methods that were not exposed to Blueprints
#rnx
Change 3537038 by Ben.Marsh
Fixing case of iOS directories, pt1
Change 3537039 by Ben.Marsh
Fixing case of iOS directories, pt2
Change 3538246 by Michael.Noland
UnrealTournament: Fixing issues with renamed enum
#rnx
Change 3538618 by Ben.Zeigler
Fix ensure when closing sequencer transform UI
Change 3540213 by Ben.Zeigler
#jira UE-47313 Fix crash serializing a MapProperty where the value type has changed for a type that implements ConvertFromType. The address passed to ConvertFromType needs to be the container root, not the specific value address, keys worked because the offset was 0.
Change 3540253 by Marc.Audy
Only copy default values for input pins as output pins do not have them
#rnx
Change 3540376 by Marc.Audy
Add utility FromPinType for FEdGraphTerminalType
#rnx
Change 3540433 by Marc.Audy
Add MakeMap
#jira UE-47093
Unify IsConnectionDisallowed for containers and fix static analysis warning
#jira UE-47291
Change 3540585 by Phillip.Kavan
#jira UE-47117 - Fix crash on launch of a nativized build that includes an instanced default subobject that's referenced by another instanced default subobject.
Change summary:
- Modified FEmitDefaultValueHelper::HandleSpecialTypes() to only direct HandleInstancedSubobject() to emit code to create the instanced subobject if it's not a default subobject. This was previously being incorrectly interpreted as an object having the 'RF_ArchetypeObject' flag set; however, default subobjects will also have that flag set in addition to the 'RF_DefaultSubobject' flag.
- Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to assert in the 'GetDefaultSubobjectByName' case if the given object is not also a default subobject.
Change 3541147 by Dan.Oconnor
Fix for not being able to override custom events when using the compilation manager post 3536167
#jira UE-47292
#rnx
Change 3541177 by Ben.Zeigler
#jira UE-46595, UE-46553 Fix issue where creating a widget template could cause a widget blueprint being cooked to have the wrong package flags, making it appear to be an uncooked package
Copy of CL #3541027
Change 3541325 by Dan.Oconnor
K2node data table data needs to preload data before the compilation queue is flushed
#rnx
#jira UE-47319
Change 3541409 by Michael.Noland
Blueprints: Added code to reapply any active breakpoints after recompilation when using the BP compilation manager
#jira UE-47322
[reimplementing CL# 3541404 in Dev-Framework]
Change 3541418 by Dan.Oconnor
Fix for bad SKEL_ CDO reference in blueprint bytecode
#jira UE-47265
#rnx
Change 3541482 by Dan.Oconnor
Blanket fix up of preload calls that are being done in AllocateDefaultPins. AllocatDefaultPins is not called until compile, meaning if these preload calls load blueprints they will be loaded while the compilation manager is compiling blueprints
#rnx
#jira UE-47319
Change 3541817 by Marc.Audy
Fix static analysis warnings
#rnx
Change 3542299 by Michael.Noland
Blueprints: Speculative fix for static analysis warning
#rnx
Change 3542406 by Marc.Audy
Use a check slow to avoid any cost
#rnx
Change 3542486 by Michael.Noland
Asset Manager: Removing an unnecessary ensure (it's a potentially expected case)
#jira UE-47380
Change 3542659 by Michael.Noland
Blueprints: Clear out null entries in the LastEditedDocuments list during PostLoad() and remove entries when a graph is being deleted to prevent their generation in the first place
#jira UE-47385
Change 3543620 by Dan.Oconnor
Remove overzealous ensure - we may recompile blueprints that are asynchronously loading when a user triggers a synchronous compile
#jira UE-47415
#rnx
Change 3518415 by Ben.Zeigler
#jira UE-46574 Deprecate IPlatformChunkInstall::SetChunkInstallDelgate as it was spelled wrong, was only half implemented, and did not support success vs failure
Replace with AddChunkInstallDelegate, which supports a bool error code and is bound once instead of separately for each chunk. All implementations support this delegate at a basic level, although several could be improved to call the failure delegate in more cases
Change 3534339 by Michael.Noland
Platforms: Changed DEPRECATED() macro description to use 4.xx rather than a speciifc version in examples, so it doesn't show up when removing deprecated code
[CL 3544050 by Marc Audy in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3252833 on 2017/01/10 by Ori.Cohen
Refactor constraint so that it can be used for external solvers. (Copying //Tasks/UE4/Dev-ImmediateModePhysics to Dev-Framework (//UE4/Dev-Framework))
Change 3256288 on 2017/01/12 by Ori.Cohen
Undo constraint refactor as we found a way around it and it made the code much harder to read/debug
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 3381178 on 2017/04/05 by Dan.Oconnor
Make sure we don't inherit the NATIVE func flag when generating skeleton functions, also make sure all bojects outer'd to the skeleton class are marked transient
#jira UE-43616
Change 3381532 on 2017/04/05 by Marc.Audy
(4.16) Fix various cases where built lighting on child actors could be lost when loading a level
#jira UE-43553
Change 3381586 on 2017/04/05 by Mike.Beach
Now generating TArrayCaster conversions for nativized UClass arrays that need it (to handle different TSubclassOf arrays).
#jira UE-42676, UE-43257
Change 3381682 on 2017/04/05 by mason.seay
Some more changes to test map
Change 3381844 on 2017/04/05 by Dan.Oconnor
Match existing logic for CPF_ReturnParm/CPF_OutParm. Fixes compilation error in BP_TurbineBlades when using compilation manager
Change 3382054 on 2017/04/05 by Zak.Middleton
#ue4 - Optimize CharacterMovementComponent::GetPredictionData_Client_Character() and GetPredictionData_Server_Character() to remove virtual calls.
#jira UE-30998
Change 3382703 on 2017/04/06 by Lukasz.Furman
fixed missing links between navmesh polys when there are more than 4 neighbor connections
#jira UE-43524
Change 3383357 on 2017/04/06 by Marc.Audy
(4.16) Make SetHiddenInGame propagate consistently with SetVisibility
#jira UE-43709
Change 3383359 on 2017/04/06 by Dan.Oconnor
Fix last errant SKEL reference when cooking Odin
Change 3383591 on 2017/04/06 by Mike.Beach
Prevent users from setting object variables as 'config' properties (disallowed by UHT). This prevents some errors that could happen later when users nativize the Blueprint.
#jira UE-42085
Change 3384762 on 2017/04/07 by Zak.Middleton
#ue4 - Fix SpringArmComponent not restoring relative transform when bUsePawnControlRotation is turned off. Fixes the editor interaction ignoring transform of the component in the viewport after bUsePawnControlRotation is toggled on then off, since by then the world transform had been overwritten (from tick in editor) and nothing would drive transform changes from the editable value.
Toggling bUsePawnControlRotation off at runtime now restores the rotation to the initial relative rotation, not stomping it with the current pawn rotation, allowing toggling between the editable/desired base rotation and the control rotation.
#jira UE-24850
Change 3384948 on 2017/04/07 by Dan.Oconnor
Prevent GForceDisableBlueprintCompileOnLoad from causing all sorts of badness when dependencies are loaded as part of a Diff operation. Instead of setting a global flag we flag the package as LOAD_DisableCompileOnLoad
Change 3385267 on 2017/04/07 by Michael.Noland
Graph Editing: Pushed some node diffing code down from UAIGraphNode into UEdGraphNode so nodes with details panel properties will diff correctly (e.g., various animation nodes and BP switch nodes)
#jira UE-21724
Change 3385473 on 2017/04/07 by Phillip.Kavan
#jira UE-43067 - Fix broken pin wires after an Expand Node operation, along with some misc. cleanup.
Change summary:
- Fixed to use correct string for "Expand Node" transaction name.
- Modified FBlueprintEditor::OnExpandNodes() to consolidate some redundant code.
- Fixed to generate a unique node GUID for cases where the source graph is not removed after expansion.
Change 3385583 on 2017/04/07 by Dan.Oconnor
Handle CreatePropertyOnScope nullptr return values (happens for structs missing a struct property)
#jira UE-43746
Change 3386581 on 2017/04/10 by Michael.Noland
Blueprints: Further hardening FBlueprintActionInfo::GetOwnerClass()
#jira UE-43824
Change 3386615 on 2017/04/10 by Marc.Audy
Instanced properties can now properly be set on a per-instance basis in blueprint added components.
#jira UE-42066
Change 3387000 on 2017/04/10 by Marc.Audy
Fix includes for CIS
Change 3387229 on 2017/04/10 by mason.seay
More changes to TM-Gameplay
Added Save Game test (with blueprint)
Tick Interval test (with blueprint)
BP logic cleanup
Level organization
Change 3388437 on 2017/04/11 by Mike.Beach
Adding support for map/set literals in the backend (so you can use set nodes for structs containing sets/maps, without having to connect a RHS input - resets to struct defaults).
#jira UE-42617
Change 3388532 on 2017/04/11 by mason.seay
Submitting latest changes for crash repro
Change 3389026 on 2017/04/11 by Ben.Zeigler
Performance and bug fixes for incremetal cooking with asset registry, duplicate of several changes made on //Fortnite/Main
Fix it so AssetRegistry.ScanPathsAndFilesSynchronous won't scan subdirectories inside already scanned directories, this cuts down on the number of cache files
Fix 2 second stall when shutting down AssetSourceFilenameCache if it had never been previously created
Change 3389163 on 2017/04/11 by Ben.Zeigler
#jira UE-42922 Fix it so connecting function input node output pins does not clear default value, we only want to clear the value when connecting an input pin. Properly testing this fix depends on UE-43883
Change 3389205 on 2017/04/11 by Marc.Audy
Protect against a handful of GEditor usages that can now be hit in standalone
Change 3389220 on 2017/04/11 by Marc.Audy
Don't borrow ClassWithin to masquerade as ParentClass during compilation and instead just set the super struct immediately
Change 3389222 on 2017/04/11 by Michael.Noland
Framework: Adding a cvar (t.TickComponentLatentActionsWithTheComponent) to allow users to revert to the old behavior on when component latent actions tick
- Non-zero values behave the same way as actors do, ticking pending latent action when the component ticks, instead of later on in the frame (default behavior in 4.16 and beyond)
- Prior to 4.16, components behaved as if the value were 0, which meant their latent actions behaved differently to actors
This CVar will be removed in a future version, defaulting to on
#jira UE-43661
Change 3389276 on 2017/04/11 by Marc.Audy
Spelling fix and NULL to nullptr
Change 3389303 on 2017/04/11 by Mieszko.Zielinski
Made sure AIController::Posses doesn't get called when compiling Pawn BP #UE4
#jira UE-43873
Change 3390215 on 2017/04/12 by mason.seay
Removed some tests, will need further review
Change 3390638 on 2017/04/12 by Mike.Beach
Generalizing the omission of the CoerceProperty (in EmitTerm) - previously we were only omitting properties for our custom array lib. For wildcards, a coerce property should not be used as its type will not match.
NOTE: There is a slight behavior change in UEdGraphSchema_K2::ConvertPropertyToPinType(), as it will return 'wildcard' for params marked as 'ArrayTypeDependentParams' (previously would have returned 'int').
#jira UE-42747
Change 3390774 on 2017/04/12 by Ben.Zeigler
#jira UE-43911 Fix several issues with saving a runtime asset registry containing redirectors that caused crashes in cook on the fly. Don't resolve redirectors on incoming links because it will make a circular link, and fix an issue where chained redirectors would break the for loop iteration and return a bad dependency
Fix it so the asset registry written out at the beginning of CookOnTheFly uses the registry generator, otherwise it will include all of the stripped editor only tags
Change 3390778 on 2017/04/12 by Ben.Zeigler
Fix UCookOnTheFlyServer::CollectFilesToCook to check for initial unsolicited packages up front. This is required in iterative mode because it may skip cooking all explicit packages and thus miss a new startup loaded package
Change 3390782 on 2017/04/12 by Ben.Zeigler
Change RunProjectCommand to not imply -nomcp, and allow reading -clientcmdline to override setting the map parameter to 127.0.0.1 by default
Fix RunProjectCommand to remove ios-specific checks to not pass weird platform parameters, and instead never pass them
Fix PS4Platform to pass along command line when calling build cook run, args needs to be the last parameter so explicitly set -target=
Change 3390859 on 2017/04/12 by Mike.Beach
T3D class fields now export with the class's fully qualified path name (to avoid abiguity). Since we can have multiple classes with the same name (Blueprints in different folders), we have to use the class's fully qualified object path.
#jira UE-28048
Change 3390914 on 2017/04/12 by Lukasz.Furman
fixed missing navlink component's transform in exported navigation data
#jira UE-43688
Change 3391122 on 2017/04/12 by Ben.Zeigler
Add new PreloadPrimaryAssets call to AssetManager that stream the desired assets without modifying the official load/unload state. This is useful if you want to preload things in case the might be used in the future, and it also supports recursion
Fix crash calling GetAssetDataForPath with null path
Change 3391494 on 2017/04/12 by Dan.Oconnor
Fix bad references in deep object (widget) hierarchies
#jira UE-43802
Change 3391529 on 2017/04/12 by Dan.Oconnor
Fix log spam, accidently submitted
#rnx
Change 3391756 on 2017/04/12 by Dan.Oconnor
LinkExternalDependencies needs to be performed before we RefreshVariables
#jira UE-43843
Change 3392542 on 2017/04/13 by Marc.Audy
Ensure that initialized actors get cleaned up when removed from world even if that world hasn't begun play.
#jira UE-43879
Change 3392746 on 2017/04/13 by Marc.Audy
(4.16) When duplicating a blueprint node, correctly make the new node a sibling of the duplicated node, not a child of it (unless duplicating the root component).
Also resets scale of a duplicated root component to 1 to avoid a squaring of the scale for that component.
#jira UE-40218
#jira UE-42086
Change 3393253 on 2017/04/13 by Dan.Oconnor
Make sure calculated meta data is correctly set on functions generated by the compilation manager (SKEL_ class functions)
#jira UE-43883
Change 3393509 on 2017/04/13 by Mike.Beach
Removing hack'ish ResetLoaders() call that was causing undesired side-effects (resetting of a loaded package that other objects were relying on). This was originally intended to release file handles so separate editor processes could make updates and save the file (from CL 1712376). Using ResetLoaders() for this is bad though, as it has too many side effects. Instead we have to wait for GC to run. This also makes sure that GC should run as intended as the CookOnTheFly sever is idling.
#jira UE-37284
Change 3394350 on 2017/04/14 by Michael.Noland
Core: Making FDateTime and FTimespan actually reflected, so they get duplicated properly in CopyPropertiesForUnrelatedObjects, etc...
#jira UE-39921
Change 3395985 on 2017/04/17 by Phillip.Kavan
#jira UE-38280 - Fix invalid custom type selections on member fields in the User-Defined Structure Editor after a reload.
Change summary:
- Ensure that the 'SubCategoryObject' member in a UDS variable descriptor has been loaded when converting to an FEdGraphPinType.
Change 3396152 on 2017/04/17 by Marc.Audy
TickableGameObjects that have IsTickableInEditor false should not tick in the editor
#jira UE-40421
Change 3396279 on 2017/04/17 by Phillip.Kavan
#jira UE-43968 - Fix failed validation of bitmask enum types when serializing bitmask literal nodes.
Change 3396299 on 2017/04/17 by Dan.Oconnor
Fix resintancing issues exposed by running TM-Gameplay with -game. We cannot reinstance actors in levels on load because the scene is not created.
#jira UE-43859
Change 3396712 on 2017/04/17 by Marc.Audy
Call PostLoad on subobjects before copying for unrelated properties to avoid cases where an out of date object patched over in the linker has not been brought up to date
#jira UE-38234
Change 3396718 on 2017/04/17 by Mike.Beach
Adding a search bar to the components tree for Blueprints.
#epicfriday
#jira UE-17620
Change 3396999 on 2017/04/17 by Mike.Beach
In generated code, call event '_Implementation' functions directly for interface functions being invoked on self (avoids a UHT runtime error).
#jira UE-44018
Change 3397700 on 2017/04/18 by Marc.Audy
UT struct BlueprintType fixups
Change 3397701 on 2017/04/18 by Marc.Audy
Odin struct BlueprintType fixups
Change 3397703 on 2017/04/18 by Marc.Audy
Ocean struct BlueprintType fixups
Change 3397704 on 2017/04/18 by Marc.Audy
WEX struct BlueprintType fixups
Change 3397705 on 2017/04/18 by Marc.Audy
Additional UT blueprint type struct fixups
Change 3397706 on 2017/04/18 by Marc.Audy
Fortnite struct BlueprintType fixups
Change 3397708 on 2017/04/18 by Marc.Audy
Fixup Engine BlueprintType markup of structs
Change 3397709 on 2017/04/18 by Marc.Audy
Sample Game struct BlueprintType fixups
Change 3397711 on 2017/04/18 by Marc.Audy
Mark AnimNodes as BlueprintType and BlueprintInternalUseOnly
Change 3397712 on 2017/04/18 by Marc.Audy
Paragon struct BlueprintType fixups
Change 3397735 on 2017/04/18 by Marc.Audy
Definition pieces of BlueprintInternalUseOnly to fix UHT errors with structs already marked to use it
Change 3397912 on 2017/04/18 by Mike.Beach
Fix for CIS warnings about shadowed variables (fallout from CL 3396718).
Change 3398455 on 2017/04/18 by Marc.Audy
Make less critical errors log an error rather than immediately throwing allowing multiple errors to be reported in the same compile
Change 3398491 on 2017/04/18 by Marc.Audy
BPRW/BPRO in a non-BlueprintType is now a UHT error
Change 3398539 on 2017/04/18 by Marc.Audy
Fixup live link struct markups
Change 3399412 on 2017/04/19 by Marc.Audy
Fix Match3 blueprint type struct markups
Change 3399509 on 2017/04/19 by Phillip.Kavan
#jira UE-38574 - Fix AnimBlueprint function graphs marked as 'const' to treat 'self' as read-only when compiling.
Change summary:
- Modified FKismetCompilerContext::ProcessOneFunctionGraph() to use the function graph schema rather than the compiler context schema for both the function context's schema as well as testing the function for 'const'-ness. For AnimBPs, the compiler context and the function graph context can differ, so we need to make sure we are using the right one when making queries for a specific function context during compilation.
- Minor cleanup: changed the function context schema to be 'const' in order to be consistent with the function graph GetSchema() API's result. Added a few 'const' qualifiers where needed to match.
- Added a new object version in order to avoid breaking compilation of existing AnimBP function graphs that may already be violating the 'const' rule (this is the same thing that was done when 'const' was first added to "normal" BP function graphs). Just as with normal function graphs in place before the addition, a warning will be generated for existing AnimBP function graphs if they violate 'const' correctness, and an error will be generated for all new ones.
Change 3399749 on 2017/04/19 by Mike.Beach
Hiding the Nativized Blueprints plugin from the in-editor browser (prevent users from disabling it).
Change 3399774 on 2017/04/19 by Marc.Audy
ConditionalPostLoad is already called on StaticMesh earlier in the function
#rnx
Change 3400313 on 2017/04/19 by Mike.Beach
Mirroring CL 3398673 from 4.16
Now, with ICWYU, making sure that the coresponding header gets included first in nativized Blueprint files (else we get a UHT error). Had to fixup some ShooterGame specific files as a result (they had missing includes and forward declarations).
#jira UE-44124
Change 3400328 on 2017/04/19 by Mike.Beach
Missing file from mirrored change (CL 3400313 - mirroring CL 3398673 from 4.16)
#jira UE-44124
Change 3400415 on 2017/04/19 by Chad.Garyet
adding physx switch build to framework
Change 3400514 on 2017/04/19 by Mike.Beach
Back out changelist 3400313 / 3400328 (mirrored from CL 3398673 in 4.16), as it was producing "include PCH first" errors. Likely, CL 3398673 was a fix for a 4.16 specific change, altering the expected include order. We'll have to wait for this one to be integrated back.
Change 3400552 on 2017/04/19 by Marc.Audy
Undo the calling of post load prior to the CPFUO as dependent objects may not yet be loaded. Instead copy the need load flag to the new CDO subobject, similarly to how the top level CDO object copies its flags over.
#jira UE-44150
Change 3400815 on 2017/04/19 by Marc.Audy
Spelling fix (part of PR #3490)
#rnx
Change 3400918 on 2017/04/19 by Marc.Audy
Partial pull of PR #3490: Improved remapping game controls support (Contributed by projectgheist)
This portion brings in the exposure of the bindings to blueprint
#jira UE-44122
Change 3401550 on 2017/04/20 by Marc.Audy
fix kitedemo blueprint type markup
#rnx
Change 3401702 on 2017/04/20 by Mike.Beach
Make it so plugins added to a project through the .uproject's 'AdditionalPluginDirectories' list get folded into the generated code project (for visual studio, etc.).
Change 3401720 on 2017/04/20 by Mike.Beach
Add white and black lists for target type (game, client, server, etc.) to plugin module descriptors.
Change 3401725 on 2017/04/20 by Mike.Beach
Whitelisting the nativized Blueprint plugin for only the targets it was built for (game, server, or client).
Change 3401800 on 2017/04/20 by Ben.Zeigler
Add Algo::BinarySearch, LowerBound, and UpperBound. These are setup to allow binary searching a presorted array, and allow for specifying projection and sort predicates. Convert some engine code to use it
Add TSortedMap, which is a map data structure that has the same API as TMap, but is backed by a sorted array. It uses half the memory and performance is faster below n=10
Add FName::CompareIndexes so a SortedMap with FNames can be used without doing very slow string compares, and FNameSortIndexes predicate to sort by it
Add code to Algo and Container tests. Split up container tests so the new ones aren't run in smoketest as they are a bit slow
Add RemoveCurrent and SetToEnd to ArrayIterator
Change 3401849 on 2017/04/20 by Marc.Audy
Partial pull of PR #3490: Improved remapping game controls support (Contributed by projectgheist)
This portion brings bug fixes and improvements to InputKeySelector UMG widgets.
#jira UE-44122
Change 3402088 on 2017/04/20 by Marc.Audy
Focus the search box when expanding the map value type
#jira UE-44211
Change 3402251 on 2017/04/20 by Ben.Zeigler
Fix issue where SortedMap needs to be resorted after serialization, because the sorting may have changed from when it was saved out
Change 3402335 on 2017/04/20 by Ben.Zeigler
Significant changes to FAssetData serialization and memory, cuts memory significantly but will break code that was using some of the internal API that was not properly hidden before
Both Editor and Runtime cache now use the same FAssetRegistryVersion, which is now registered as a custom version
Rename FAssetData and FAssetPackage operator<< to SerializeForCache to make it clear that it isn't safe to use for general serialization
Remove GroupNames from FAssetData, it has not been useful since the UE4 package structure changed around 4.0
Rename generic-sounding but not actually generic SharedMapView class to AssetDataTagMapSharedView to indicate what it is actually used for
Change TagsAndValues to use a new array-backed TSortedMap as the base structure instead of a hash map. Also, it only allocates the map on demand, which saves significant memory at runtime as many packages have no tags
Add bFilterAssetDataWithNoTags to [AssetRegistry] ini section, if set it will only save cooked asset data if it has tags, off by default but saves significant memory if your whitelist is set up properly
Fix issue where asset registry tags updated by loading assets during cook were not being reflected in the cooked registry
Add AssetRegistry::GetAllocatedSize and add to MemReport output
Change 3402457 on 2017/04/20 by Ben.Zeigler
Enable asset registry iteration and stripping unused asset data in Fortnite. Registry iteration is already on in //Fortnite/Main, stripping is a new feature I want to test
Change 3402498 on 2017/04/20 by Ben.Zeigler
CIS fix. Why did this compile locally?
Change 3402537 on 2017/04/20 by Ben.Zeigler
Remove ensure for making AssetData for subobjects, the editor does this for thumbnail creation in some cases
Change 3402600 on 2017/04/20 by Ben.Zeigler
Add bShouldGuessTypeAndNameInEditor to manager settings, can be set false for games where type cannot be safely implied and content must be resaved
Fix up some bool setting code inside asset manager, and fix const correctness and for iterator issues
AssetManager can now discover any BlueprintCore type when bHasBlueprintClasses=true
Add AssetManager.DumpAssetRegistryInfo to output detailed asset registry usage stats
Add Primary Name to asset audit window by default
Change 3403556 on 2017/04/21 by Marc.Audy
Fix Orion input key selector override class
#rnx
Change 3404090 on 2017/04/21 by mason.seay
Applying Forcefeedback to test map
Change 3404093 on 2017/04/21 by mason.seay
Changing text in level
Change 3404139 on 2017/04/21 by mason.seay
Added Force Feedback test and made some tweaks.
Change 3404146 on 2017/04/21 by mason.seay
Added source reference to Instanced Variable test
Change 3404154 on 2017/04/21 by mason.seay
More minor tweaks
Change 3404155 on 2017/04/21 by Marc.Audy
Remove auto
#rnx
Change 3404188 on 2017/04/21 by Marc.Audy
Fixed crash changing variable type when any type other than map
#jira UE-44249
#rnx
Change 3404463 on 2017/04/21 by Ben.Zeigler
Fix asset data code to not ensure when loading an object with invalid exports, and instead print warning with name of package that needs to be resaved
Resave a map that had a redirector from a DIFFERENT package saved in it's exports. I do not understand how this happened, but it appears to be related to the lightmap BuiltData transition when old maps are opened
Change 3404465 on 2017/04/21 by Ben.Zeigler
Fix issue with trying to load editor-only asset classes in a cooked build
Fix issues with renaming or changing template Ids of assets from the editor
Always print the Duplicate Asset ID error, as if you have more than one the ensuremsg only goes off once
Change 3404481 on 2017/04/21 by Dan.Oconnor
Remove unneeded walk up hierarchy - prevent stale entries in action database if we compile a BP but don't compile its children
Change 3404510 on 2017/04/21 by Phillip.Kavan
#jira UE-35727 - Collapsed graphs containing a local variable node will no longer cause a compile error when the parent graph is renamed.
Change 3404590 on 2017/04/21 by Michael.Noland
Editor: Fixed incorrect filtering of abstract/deprecated UDeveloperSettings and UContentBrowserFrontEndFilterExtension classes caused by a typo (HasAnyCastFlags versus HasAnyClassFlags)
Change 3404593 on 2017/04/21 by Marc.Audy
Fixed another crash to do with input pin secondary combo box
#jira UE-44269
#rnx
Change 3404600 on 2017/04/21 by Michael.Noland
Core: Allow UE_GC_TRACK_OBJ_AVAILABLE to be set externally
#rnx
Change 3404602 on 2017/04/21 by Michael.Noland
Engine: Switched from an include to a forward declaration of SWidget in UDeveloperSettings to keep it slim
#rnx
Change 3404608 on 2017/04/21 by Michael.Noland
Core: Marked TNumericLimits as constexpr so they can be used in static asserts
Change 3404659 on 2017/04/21 by Michael.Noland
Engine: Adding includes back to two UDeveloperSettings subclasses
Change 3405289 on 2017/04/24 by Marc.Audy
Remove auto
#rnx
Change 3405446 on 2017/04/24 by Marc.Audy
Fix Win32 unsigned compile issue
Change 3405512 on 2017/04/24 by Mike.Beach
Piping through NativizationOptions to filename generation (so we're able to gen different files names per target: client vs. server).
Change 3406080 on 2017/04/24 by Ben.Zeigler
Deprecate UEngine::OnPostEngineInit and move to FCoreDelegates, clean up comments for the initialization delegates
Call OnPostEngineInit from commandlet initialization as well as normal execution. I thought about making a wrapper function, but the commandlet calls EditorInit directly so it wouldn't work
Bind delegate to refresh the AssetRegistry native class hierarchy after engine init so it picks up game/plugin classes. Undo ini change that was required to hack around this
Change 3406381 on 2017/04/24 by Ben.Zeigler
#jira UE-23768 Enable Run Physics With No Controller for montage test pawn. The montage pawn has no controller so wasn't correctly running physics when the root motion stopped. This flag needs to be set to allow it to correctly stop after the montage is over
Change 3406438 on 2017/04/24 by Ben.Zeigler
Fix deprecation warning
Change 3406519 on 2017/04/24 by Phillip.Kavan
#jira UE-43612 - Suppress array "Get" node fixup notifications on load when the BP Compilation Manager is enabled.
Change summary:
- Wrapped BPCM calls to FBlueprintEditorUtils::ReconstructAllNodes() and ReplaceDeprecatedNodes() duirng compile-on-load with bIsRegeneratingOnLoad = true. This matches the BP's state during compile-on-load when the BPCM is not enabled.
Change 3406565 on 2017/04/24 by Dan.Oconnor
Make sure all interface functions are added to skeleton
#jira UE-44152
Change 3407489 on 2017/04/25 by Ben.Zeigler
#jira UE-44317 Fix game-only TickableGameObjects to correctly tick in PIE
Change 3407558 on 2017/04/25 by Ben.Zeigler
Fix Fortnite cook warnings, issue had to do with the CDO being registered as a Primary Asset in conflict with the Class being registered
Fix issue with renaming a BP primary asset not finding the old name
Change 3407701 on 2017/04/25 by Dan.Oconnor
Remove unneeded null check, static analysis doen't like the inconsistency
Change 3407995 on 2017/04/25 by Marc.Audy
Fixed maps and sets not working correctly with split pin.
#jira UE-43857
Change 3408124 on 2017/04/25 by Ben.Zeigler
#jira UE-39586 Change it so the blueprint String/Name/Object to Text node creates culture invariant text, and also have them show as an expanded node with a comment explaining this
Fix Transform to actually return in the format specified in the comment, and fix comments on many text conversions
Change 3408134 on 2017/04/25 by Marc.Audy
Graph pin container type now represented by an enumeration (EPinContainerType) rather than 3 "independent" booleans.
FEdGraphPinType constructor, UEdGraphNode::CreatePin, and FKismetCompilerContext::SpawnInternalVariable that took 3 booleans deprecated and replaced with a version that takes EPinContainerType.
UEdGraphNode::CreatePin parameters reorganized so that PinName is before ContainerType and bIsReference, which default to None and false respectively
Change 3408256 on 2017/04/25 by Michael.Noland
Core: Changed UClass::ClassFlags to be of type EClassFlags for improved type safety
Change 3408282 on 2017/04/25 by Marc.Audy
(4.16) Fix incorrect positioning of instance components after duplication
#jira UE-44314
Change 3408404 on 2017/04/25 by Mike.Beach
Adding and removing the nativized plugin to/from the project when we alter the packaging nativization setting (so it gets picked up by project generation).
Change 3408445 on 2017/04/25 by Marc.Audy
Fix up missed deprecation cases
#rnx
Change 3409354 on 2017/04/26 by Marc.Audy
Fix Linux CIS failure
#rnx
Change 3409487 on 2017/04/26 by Marc.Audy
When dragging assets in to the SCS create them as siblings, not nested
#jira UE-43041
Change 3409776 on 2017/04/26 by Ben.Zeigler
#jira UE-44401 Fix issue with cooking a map containing a reparented component. In that case the child component may think it's not editor only, but it's archetype is editor only. This is not allowed in EDL, so now the child is marked as editor only as well
Change 3410168 on 2017/04/26 by Dan.Oconnor
Avoid calling virtual functions in the middle of compile
#jira UE-44243
Change 3410252 on 2017/04/26 by Lukasz.Furman
adjusted WITH_GAMEPLAY_DEBUGGER checks after IWYU changes
#ue4
Change 3410385 on 2017/04/26 by Marc.Audy
ChildActorComponent SetClass no longer fails when setting at runtime.
#jira UE-43356
Change 3410466 on 2017/04/26 by Michael.Noland
Core: Ensuring EClassFlags is 32 bit in a different way (underlying type of the enum is coming out signed even though all members are unsigned, long term fix is probably to move it to an enum class)
#rnx
Change 3410476 on 2017/04/26 by Michael.Noland
Automation: Deleting some commented out methods
#rnx
Change 3411070 on 2017/04/27 by Marc.Audy
Properly complete deprecation of old attachment API
Change 3411338 on 2017/04/27 by mason.seay
Map for Latent Action Tick Bug
Change 3411637 on 2017/04/27 by Ben.Zeigler
Back out CL #3381532 as it was causing crashes when adding new variables to blueprints, as the transaction array was being recursively modified while it was being added to
Change 3412052 on 2017/04/27 by mason.seay
Updated jump test map and pawn
Change 3412231 on 2017/04/27 by Ben.Zeigler
Fix issue where running SearchAllAssets multiple times after mounting new paths would throw away the asset registry cache, which slowed down incremental cooking substantially because the cooker mounts the autosave folder
Duplicate of CL #3411860
Change 3412233 on 2017/04/27 by Ben.Zeigler
Made FStreamableHandle::GetLoadedCount much faster by taking advantage of existing progress counter
Duplicate of CL #3411778
Change 3412235 on 2017/04/27 by Ben.Zeigler
Add code to FStringAssetReferenceThreadContext and FStringAssetReferenceSerializationScope which allows setting package name and collect options for string asset references serialized via something other than linker load
Make RedirectCollector threadsafe to avoid issues with async loading asset references
Fix it so ProcessStringAssetReferencePackageList will remove entries from the string asset array like resolve did, and rename function to indicate that
Fix it so string asset references created by asset labels do not automatically get cooked, and significantly improve the speed of labels with lots of assets
Add code to cooker and asset manager to explicitly mark non-cookable assets as NeverVook, this stops labels from ending up in the build if set that way
Added option to not recurse package dependency changes more than one level when hashes change. This ended up not being significantly faster in a realistic case so left disabled
Duplicate of CL #3412080
Change 3412352 on 2017/04/27 by Marc.Audy
Refix lighting getting wrong position when getting component instance data
Change 3412426 on 2017/04/27 by Marc.Audy
Take first steps to making ComponentToWorld private and force use of accessor
Make bWorldToComponentUpdated private
Make ComponentToWorld and bWorldToComponentUpdated mutable
Add a SetComponentToWorld function for the (likely ill-advised) places that were setting it directly.
Change 3412468 on 2017/04/27 by Marc.Audy
Remove last remnants of deprecated (4.11) custom location system
Change 3413398 on 2017/04/28 by Marc.Audy
Fix up missed deprecated attachment API uses
Change 3413403 on 2017/04/28 by Marc.Audy
Fix Orion compile error
#rnx
Change 3413448 on 2017/04/28 by Marc.Audy
Fix up kite demo component to world privataization warnings
#rnx
Change 3413792 on 2017/04/28 by Ben.Zeigler
Fix many bugs with blueprint pin default values, and add "Reset to Default Value" option to pin context menu
Deprecate and rename SetPinDefaultValue because it actually sets the Autogenerated default. This was being called in bad places and destroying the stored autogenerated defaults
#jira UE-40101 Fix expose on spawn pins to correctly update when the spawned object's defaults change
#jira UE-21642 Fix struct pin default values to properly update when the struct is changed
#jira UE-39418 Fix changed function/macro default values to properly update in already placed call nodes
Change 3413839 on 2017/04/28 by samuel.proctor
Added some Blueprint focused tests for TM-Gameplay
Change 3414030 on 2017/04/28 by Ben.Zeigler
Enable use of AssetPtr variables with Config, for native and blueprint
This incorporates CL #3302487 but also enables for blueprint usage as that code is new to framework branch
Change 3414229 on 2017/04/28 by Marc.Audy
Fixup virtuals not calling their Super
Remove some autos
#rnx
Change 3414451 on 2017/04/28 by Lukasz.Furman
static analysis fix for gameplay debugger
Change 3414482 on 2017/04/28 by Ben.Zeigler
Fix crash found where changing pin type on ConvertAsset accessed an array while deleting it
Change 3414609 on 2017/04/28 by Ben.Zeigler
#jira UE-18146 Refresh graph when disconnecting a resolve asset id node
Change 3415852 on 2017/05/01 by Marc.Audy
Remove unused code
#rnx
Change 3415856 on 2017/05/01 by Marc.Audy
auto removal
#rnx
Change 3415858 on 2017/05/01 by Marc.Audy
Fix function taking an input as reference when unneeded and causing (still unclear why it suddenly started showing up) error in cooking
#rnx
Change 3415946 on 2017/05/01 by Marc.Audy
Have K2Node_StructOperation skip the K2Node_Variable validation as it doesn't need a property (per CL# 1756451)
#rnx
Change 3415988 on 2017/05/01 by Lukasz.Furman
renamed WorldContext param in AI related static blueprint functions to remove load/cook warnings
#jira UE-44544
Change 3416030 on 2017/05/01 by Ben.Zeigler
Fix issue with WorldContext pins being broken by my pin value refactor, partial paths like "WorldContext" need to be stored as strings and not as broken object references.
Change 3416230 on 2017/05/01 by Marc.Audy
Fix spelling error
#rnx
Change 3416419 on 2017/05/01 by Phillip.Kavan
#jira UE-44213 - Nativizing a Blueprint class with a non-nativized Blueprint class subobject dependency will no longer lead to a crash at load time.
Change summary:
- Modified the FFakeImportTableHelper ctor to inject subobject CDOs into the 'SerializeBeforeCreateCDODependencies' array. This in turn ensures that EDL will serialize those subobject CDOs (if necessary) before we create the subobject's nativized owner's CDO at load time.
- Modified FEmitDefaultValueHelper::GenerateCustomDynamicClassInitialization() to emit MiscConvertedSubobject instantiations AFTER we emit the FillUsedAssetsInDynamicClass() call. This is now consistent with the code emitted for other subobjects (all of which assumes that the UsedAssets array has been initialized).
- Modified FFindAssetsToInclude::HandleObjectReference() to add UField owner CDOs in addition to the owner class to the asset dependency list. This ensures that owner CDOs will be emitted alongside the class to both the nativized asset dependency table as well as to the fake import table associated with the UDynamicClass linker for the nativized BP asset.
Change 3416425 on 2017/05/01 by Phillip.Kavan
#jira UE-44219 - Nativizing a Blueprint class with a nativized DOBP class dependency will no longer lead to a compile error at cook/nativization time.
- Modified the FGatherConvertedClassDependencies ctor to properly handle DOBPs in exclusive mode that have been explicitly enabled for nativization. Previously, this code wasn't taking that possibility into account, and as a result could lead to a missing header file in a dependent nativized class body's include set.
- Modified FGatherConvertedClassDependencies::GetFirstNativeOrConvertedClass() to remove the 'bExcludeBPDataOnly' parameter, as it was primarily just being used for a redundant exclusion check when called from the FGatherConvertedClassDependencies ctor. That call site has now been modified to start searching from the super class instead. Additionally, any DOBPs will already fail the preceding WillClassBeConverted() check if they have not been explicitly enabled for nativization in exclusive mode, and will always fail if nativizing in inclusive mode. The extra check was breaking the explicitly-enabled case, so it was removed to allow explicitly-enabled DOBPs to pass.
Notes:
- Allowing for explicitly-enabled DOBPs in exclusive mode may be removed in a future change, but since it is currently supported, the changes noted above will at least ensure that the generated code will compile properly for now.
Change 3416570 on 2017/05/01 by mason.seay
Added UMG test to map. Tweaked force feedback test
Change 3416580 on 2017/05/01 by mason.seay
Resubmitting sub levels
Change 3416597 on 2017/05/01 by Dan.Oconnor
Compilation manager iteration, adds machinery for individual blueprint compilation, adds comments, cleans up duplicated code
Change 3416636 on 2017/05/01 by Phillip.Kavan
#jira UE-44505 - Potential fix for a low-repro crash tied to the Blueprint graph context menu.
Change summary:
- Switched FBlueprintActionInfo::ActionOwner to be a weak object reference.
Change 3416960 on 2017/05/01 by Dan.Oconnor
Use compilation manager when clicking the compile button, PIE'ing, etc
Change 3417207 on 2017/05/01 by Ben.Zeigler
Fix issue with None strings causing default value parsing failures
Add SetPinDefaultValueAtConstruction needed by some other changes
Change 3417519 on 2017/05/01 by Ben.Zeigler
Fix BP compile errors caused by local variables with invalid default values. There's no reason to set autogenerated here because the nodes are transient and invisible in the UI.
There is still a problem here, local variables are not getting their default values validated when type is changed, so you end up with an integer that has the default value of a struct.
Change 3418659 on 2017/05/02 by Ben.Zeigler
#jira UE-44534 Fix it so animation node pins get properly created autogenerated default values that are based on the node struct defaults. This fixes issues when they are reset to other defaults
#jira UE-44532 Fix it so connecting an animation asset pin on a node player resets the pin value to the autogenerated default instead of the cached asset. This was causing old unused assets to get unnecessarily cooked
Fix it so any animation node with an exposed pin that is an object property will reset that object propery when the pin is exposed. This fixes UE-31015 in a generic way
Change the OptionalPinManager to take a Defaults address as well as a current address, to allow setting autogenerated defaults properly
Remove Import/ExportKismetDefaultValueToProperty as they were redundant with PropertyValueFromString and were using the wrong pin setting functions, replaced with PropertyValueFromString_Direct and calling the schema pin set functions
I need to write some backward compatibility code to fix existing nodes, I'll do that in a later checkin
Change 3418700 on 2017/05/02 by Ben.Zeigler
Actually fix None object paths for real this time. I did not test sufficiently before
Change 3418811 on 2017/05/02 by Ben.Zeigler
Fix existing animation blueprint nodes with dead asset references duplicated by pins. This code can be applied independent of the other change to fix specific games
Change 3419165 on 2017/05/02 by Dan.Oconnor
Add misc. functionality from FKismetEditorUtilities::CompileBlueprint
Change 3419202 on 2017/05/02 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3417825
#rnx
Change 3419236 on 2017/05/02 by mason.seay
Removed OnPressed event from Widget BP
Change 3419314 on 2017/05/02 by Marc.Audy
Fix bad auto-resolve
#rnx
Change 3419524 on 2017/05/02 by Marc.Audy
PR #3528: Improved Input BP library node display names (Contributed by projectgheist)
#jira UE-44587
#rn Improved Input BP library node display names
Change 3419570 on 2017/05/02 by Zak.Middleton
#ue4 - Fix typo in TFunctionRef comment/example.
Change 3419709 on 2017/05/02 by Dan.Oconnor
Fix missing category metadata on SkeletonGeneratedClass when using compilation manager
Change 3419756 on 2017/05/02 by Dan.Oconnor
Remove unintentional verbosity increase
Change 3420875 on 2017/05/03 by Marc.Audy
Make IsExecPin static
Minor optimization to IsMetaPin
#rnx
Change 3420981 on 2017/05/03 by Marc.Audy
Change tagging temporarily until other changes are done so that we don't have warnings in the meantime
#rnx
Change 3421367 on 2017/05/03 by Marc.Audy
Manually introduce changes from CL# 3398673 in 4.16 that failed to make it to Dev-Framework as a result of the integration submitted as CL# 3401725.
#rnx
Change 3421685 on 2017/05/03 by Ben.Zeigler
#jira UE-23001 Convert literal Asset ID/Class ID pins to store path as string instead of as hard object reference. Old pins are fixed on load, after resaving the hard references will go away
Refactor the way that FStringAssetReference and FAssetPtr are serialized, it now does the various fixups in FStringAssetReference::SerializePath, which is called from archivers
Change it so the asset registry reads in a list of all scanned redirectors and adds them to GRedirectCollector, this means that saving a string asset reference will automatically fix it up to point to the redirector destination
Change the default behavior of FAssetPtr serialize on ArchiveUObject to match what most of it's children want, and remove several special case hacks. It now serializes as asset reference when saving/loading, and as object for other cases
Deprecate StringAssetReferenceLoaded/StringAssetReferenceSaving delegates, replace with PreSavePath and PostLoadPath on FStringAssetReference
Make AssetLongPathname private on FStringAssetReference, it was deprecated in 4.9
Change 3421728 on 2017/05/03 by Phillip.Kavan
Mirror CL 3408285 from //UE4/Release-4.16.
#jira UE-44124
#rnx
Change 3422370 on 2017/05/03 by Dan.Oconnor
Mirror 3422359
Implement UBlueprintGeneratedClass::NeedsLoadForEditorGame to match UBlueprint, also tag a class's CDO as NeedsLoadForEditorGame.
This prevents us from failing to load a UBlueprint's GeneratedClass when running the editor with -server.
#jira UE-44659
Change 3423192 on 2017/05/04 by Ben.Zeigler
CIS Fix
Change 3423305 on 2017/05/04 by Ben.Zeigler
Fix "Missing opening parenthesis" warnings for Vector and Rotator the same way they were fixed for Transform
Change 3423358 on 2017/05/04 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3422809
#rnx
Change 3423766 on 2017/05/04 by Ben.Zeigler
#jira UE-44680 Delete some corrupted redirectors that are no longer in use
Change 3423804 on 2017/05/04 by Dan.Oconnor
Honor SaveIntermediateCompilerResults when using compilation manager
Change 3424010 on 2017/05/04 by Marc.Audy
Validate that switch string cases are unique
Change 3424011 on 2017/05/04 by Marc.Audy
Re-fix switch node default pin not appearing as an exec output
Remove unused boolean
Change 3424071 on 2017/05/04 by Ben.Zeigler
Delete FixupRedirects commandlet, replace with -FixupRedirects/FixupRedirectors option on ResavePackages. This new method is much faster than the old commandlet as it uses the asset registry vs loading all packages, fixing up all redirectors in Fortnite only took about an hour vs 12+ hours the old way
Removed some hacky bits in Core that only existed to support FixupRedirects
Change it so the AssetRegistry listens to DirectoryWatcher callbacks in commandlets now that commandlets use the asset registry properly. This won't do anything unless you tick directory watcher the way that ResavePackages does
Change 3424313 on 2017/05/04 by Dan.Oconnor
Address missing property flags on SkeletonGeneratedClass when using compilation manager
#jira UE-44705
Change 3424325 on 2017/05/04 by Phillip.Kavan
#jira UE-44222 - Move nativized UDS implementation details into its own .cpp file in order to avoid circular dependencies.
Change summary:
- Modified IKismetCompilerInterface::GenerateCppCodeForStruct() to include an output parameter for CPP source and modified FKismet2CompilerModule to match the updated API.
- Modified IBlueprintCompilerCppBackend::GenerateCodeFromStruct() to include an output parameter for CPP source and modified FBlueprintCompilerCppBackendBase to match the updated API.
- Modified FBlueprintNativeCodeGenUtils::GenerateCppCode() to adjust the call to GenerateCppCodeForStruct() to include CPP source output.
- Modified FGatherConvertedClassDependencies::DependenciesForHeader() to switch UDS property dependencies to be forward declarations rather than includes (for default value init code).
- Modified FEmitDefaultValueHelper::GenerateGetDefaultValue() to emit implementation details to the 'Body' container, and adjust the header content to be a declaration only.
- Modified FIncludeHeaderHelper::EmitInner() to exclude a potentially-redundant line for the module's .h file, for the case when the caller has included the base filename in the 'AlreadyIncluded' set.
- Modified FEmitterLocalContext::FindGloballyMappedObject() to limit the 'TryUsedAssetsList' path to UClass conversions only (since that requires a UDynamicClass target to work).
- Modified FGatherConvertedClassDependencies::DependenciesForHeader() to only include BPGC fields if they are also being converted. Eliminates an issue with missing header files in generated code.
Change 3424359 on 2017/05/04 by Ben.Zeigler
Fix issue where StreamableManager would break when requesting an async load that failed the first time. Because our game supports downloading assets during gameplay it's not safe to assume it will never load again.
Port of CL #3424159
Change 3424367 on 2017/05/04 by Ben.Zeigler
Fix some asset manager warnings to not go off in invalid cases
Change 3425270 on 2017/05/05 by Marc.Audy
Pack booleans/enums in UEdGraphNode and FOptionalPinFromProperty
#rnx
Change 3425696 on 2017/05/05 by Ben.Zeigler
#jira UE-44672 Fix it so select node option pins get populated with default values properly
#jira UE-43927 Fix it so select node opion pin type is correctly maintained accross node recreation, as opposed to deriving from the attached pins
#jira UE-44675 Fix it to correctly refresh select node when switching from bool to integer index
Change 3425833 on 2017/05/05 by Ben.Zeigler
#jira UE-31749 Fix it so Undo works properly when modifying a local variable
#jira UE-44736 Fix it so changing the type of a local variable correctly resets the default value
Change 3425890 on 2017/05/05 by Marc.Audy
Fix Copy/Paste of child actor components losing the template
#jira UE-44566
Change 3425947 on 2017/05/05 by Ben.Zeigler
This was meant to be part of last checkin
Change 3425959 on 2017/05/05 by Ben.Zeigler
#jira UE-44692 Fix it so only the sequentially last node can be removed from a Switch On Int, and for Switch On Name stop it from removing an exec pin if it's the only non-default one
Change 3425979 on 2017/05/05 by Dan.Oconnor
PVS fix
Change 3425985 on 2017/05/05 by Phillip.Kavan
Fix an uninitialized variable.
#rnx
Change 3426043 on 2017/05/05 by Ben.Zeigler
#jira UE-35583 Correctly refresh array node UI when connecting pins that change it away from wildcard
Change 3426174 on 2017/05/05 by Zak.Middleton
#ue4 - 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.
Change 3426621 on 2017/05/05 by Phillip.Kavan
#jira UE-44708 - Fix an issue that re-introduced component data loss in a non-nativized child Blueprint class with a nativized parent Blueprint class.
Change summary:
- Removed an unnecessary additional check I had for the presence of "-NativizeAssets" switch on the command line in UBlueprint::BeginCacheForCookedPlatformData(). This check was failing because the usage was recently changed to include an optional value. It was not needed anyway so I just removed it.
#rnx
Change 3426906 on 2017/05/05 by Ben.Zeigler
#jira UE-11189 Fix function/macro input default values to show as a pin customization instead of as a broken text box that doesn't work correctly for most types. This fixes enums and provide validation for other types
Types that don't have a customization (most structs) will now show any more, they did not work before either
#jira UE-21754 Hide function default values if pass by reference is set
Fix it so changing input parameter will also reset default value, to avoid having the wrong type value set and to work the same as local variables
Change 3426941 on 2017/05/05 by Dan.Oconnor
Fix determinstic cooking of LoadAssetClass nodes in macros
Change 3427021 on 2017/05/05 by Dan.Oconnor
Build fix, make initialization order in source match artifact
#rnx
Change 3427135 on 2017/05/05 by Phillip.Kavan
#jira UE-44702 - Restore code-based interface classes to Blueprint editor UI.
Change summary:
- Partially backed out CL# 3348513 to return to previous behavior for 4.16. The UI is no longer filtering on the __is_abstract() type trait for interface classes.
- Modified FNativeClassHeaderGenerator::ExportClassFromSourceFileInner() to emit the _getUObject() declaration for native interface types as a default implementation that returns NULL rather than as a pure virtual declaration.
#rnx
Change 3427144 on 2017/05/06 by Marc.Audy
Fix init order
#rnx
Change 3427146 on 2017/05/06 by Marc.Audy
remove stray semicolon
#rnx
Change 3427242 on 2017/05/06 by Phillip.Kavan
#jira UE-44744 - Fix a regression in which a UMG Widget Blueprint property not explicitly marked as a variable would cause Blueprint nativization to fail at package time.
Change summary:
- Modified FWidgetBlueprintCompiler::CreateClassVariablesFromBlueprint() to only add 'Category' metadata when we set the 'CPF_BlueprintVisible' flag on the UProperty, which in is now tied to whether or not the property has been explcitly marked as a variable. This avoids a UHT warning when compiling the nativized codegen that would cause packaging to fail.
#rnx
Change 3427720 on 2017/05/08 by Dan.Oconnor
Backing out 3419202
#rnx
Change 3427725 on 2017/05/08 by Dan.Oconnor
SA fix
#rnx
Change 3427734 on 2017/05/08 by Dan.Oconnor
More exhaustive GEditor null checks, to appease SA
#rnx
Change 3427882 on 2017/05/08 by Marc.Audy
Properly order all booleans in intialization
#rnx
Change 3428049 on 2017/05/08 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3427804
#rnx
Change 3428523 on 2017/05/08 by Ben.Zeigler
#jira UE-44781 Refresh function input UI when blueprint graph refreshes, needed as pins may have gone away
Change 3428563 on 2017/05/08 by Ben.Zeigler
#jira UE-44783 If setting a hard reference pin type from a string, load the referenced object.
Change 3428595 on 2017/05/08 by Dan.Oconnor
Avoid node reconstruction when we're compiling a blueprint with no linker (e.g., a duplicated blueprint)
#jira UE-44777
Change 3428599 on 2017/05/08 by Ben.Zeigler
#jira UE-44789 Fix string asset renamer to not mark IsPersistent becuase that crashes in lightmap code, change it so the path fixup doesn't require the persistent flag
Change 3428609 on 2017/05/08 by Dan.Oconnor
Improved fix for UE-44777
#jira UE-44777
#rnx
Change 3429176 on 2017/05/08 by Phillip.Kavan
#jira UE-44755 - Fix nativization build errors when packaging a game project that is not IWYU-compliant for a build target that disables PCH files.
- Mirrored from //UE4/Release-4.16 (CL# 3429030).
#rnx
Change 3429198 on 2017/05/08 by Phillip.Kavan
CIS fix.
#rnx
Change 3429583 on 2017/05/08 by Ben.Zeigler
Fix SGraphPinClass to work properly after my changes to allow unloaded assets. For Class pins we need to store separate Runtime and Editor asset data objects, as one has _C and refers to the class, and the other doesn't and refers to the blueprint. The content browser wants the editor path, the pin defaults want the runtime path.
Change default value widgets to look more like properties widgets by forcing them to act as highlighted and disabling black background
Change 3429640 on 2017/05/08 by Marc.Audy
Fix issues with select nodes in macros connected to wildcard pins.
#jira UE-44799
#rnx
Change 3429890 on 2017/05/08 by Ben.Zeigler
Fix function/macro defaults to properly propagate when changed using the new edit UI
Refactor some code out of the details customization into the k2 schema
Disable defaults UI for object/class/interface hard references as it is disabled in KismetCompiler
Change 3429947 on 2017/05/08 by Michael.Noland
Core: Backing out CL# 3394352 (marking FDateTime and FTimespan nonexport member Tick with UPROPERTY()), which will re-break UE-39921 but fix UE-44418
There appears to be a more serious underlying issue with how the CDO is instanced which needs to be addressed
#jira UE-44418
#reimplementing 3411681 from Release 4.16
Change 3429987 on 2017/05/08 by Ben.Zeigler
#jira UE-44798 Do a better job of validating object paths saved as default values, due to an old bug with local variables some object paths are saved as struct exportext
At load time clear invalid default value for local variables
Add IsValidObjectPath to FPackageName that validates the passed in path would be valid to load with LoadObject
Change 3430392 on 2017/05/09 by Marc.Audy
Fix SA CIS error
#rnx
Change 3430747 on 2017/05/09 by Ben.Zeigler
#jira UE-44836 Don't reconstruct node during callback for param value changing, this can happen during a reconstruction and recursive reconstruction is unsafe
Don't call ModifyUserDefinedPinDefaultValue unless the default value has actually changed
Change 3431027 on 2017/05/09 by Marc.Audy
Fix BPRW mark up causing Ocean warnings
#rnx
Change 3431353 on 2017/05/09 by Marc.Audy
Fix UHT error due to exposing FJsonObjectWrapper to blueprints
#rnx
[CL 3431398 by Marc Audy in Main branch]
#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 3342222 on 2017/03/10 by Nick.Darnell
UMG - Adding a GetContent to the UContentWidget.
Change 3342228 on 2017/03/10 by Nick.Darnell
Project Launcher - Always consume mouse wheel vertically so it stops scrolling to the right.
Change 3342310 on 2017/03/10 by Nick.Darnell
UMG - Cleaning up some extra class references.
Change 3343382 on 2017/03/13 by Jamie.Dale
Applying optimization to FChunkManifestGenerator::ContainsMap
Change 3343523 on 2017/03/13 by Mike.Fricker
New details view option: "Show Hidden Properties while Playing"
- Enabling this allows you to see every property on selected objects that belong to a simulating world, even non-visible and non-editable properties. Very useful for inspection and debugging.
- Remember to change World Outliner to show you actors in the "Play World" if you want to select and inspect those objects first!
- This setting is saved for your entire project, similar to "Show All Advanced"
Change 3343573 on 2017/03/13 by Mike.Fricker
New details view option: "Show Hidden Properties while Playing" (part 2)
- Fixed missing include / unity issue
Change 3343709 on 2017/03/13 by Jamie.Dale
Some fixes for gathering cached dependency data
- We no longer load dependency data that doesn't have the correct package name.
- We no longer populate the dependency results when bGatherDependsData is false.
Change 3343900 on 2017/03/13 by Alexis.Matte
fix crash when creating too much LOD at import
#jira UE-42785
Change 3344104 on 2017/03/13 by Alexis.Matte
Add a boolean to the static mesh socket so we know if the socket was imported or created in UE4. This allow us to not impact editor socket when we re-import a fbx
#jira UE-42736
Change 3344802 on 2017/03/14 by Michael.Dupuis
#jira UE-42244 : added missing nullptr so render thread wont try to access global var when we're no longer in landscape mode
Changed the sync method between graphic resource from render thread and game thread to prevent desync
Change 3346061 on 2017/03/14 by Jamie.Dale
Adding const& and && overloads of FText::Format
Change 3346192 on 2017/03/14 by Arciel.Rekman
Linux: fix VHACD to retain bincompat with the baseline (UE-42895).
- It is now compiled against libc++ instead of libstdc++ in the toolchain.
Change 3347083 on 2017/03/15 by Andrew.Rodham
Fixed crash when changing anchors on a background blur widget
Change 3347359 on 2017/03/15 by Michael.Dupuis
#jira UE-38193:
Added Rename, Delete, New Folder, Size Map, Show In Explorer for folder and asset in the path view and asset view
Change 3347382 on 2017/03/15 by Michael.Dupuis
missing include incremental
Change 3347500 on 2017/03/15 by Alex.Delesky
#jira UE-41231 - Selecting multiple text widgets in UMG will now allow you to set their value correctly, and the "Multiple Values" text will no longer be set in the widgets instead.
Change 3347920 on 2017/03/15 by Jamie.Dale
Fixing some places passing tooltips as FString rather than FText
#jira UE-42603
Change 3347925 on 2017/03/15 by Jamie.Dale
Re-saving some assets so their tooltips can be gathered
#jira UE-42603
Change 3348788 on 2017/03/15 by Jamie.Dale
Updated the Windows platform to use the newer Vista+ style browser dialogs, rather than the older XP style dialogs
Change 3349187 on 2017/03/16 by Andrew.Rodham
Sequencer: Added the ability to specify additional event receivers for level sequence actors
- Such actors will receive events from event tracks
Change 3349194 on 2017/03/16 by Andrew.Rodham
Sequencer: Reset compiled templates on load in the editor, and ensure correct serialization of generation ledger
- Resetting on load means that we guarantee up-to-date templates, even if underlying compilation logic changes.
#jira UE-42198
#jira UE-40969
Change 3349210 on 2017/03/16 by Andrew.Rodham
Sequencer: Event tracks can now be defined to trigger events at the start of evaluation, after objects are spawned, or at the end of evaluation
Change 3349211 on 2017/03/16 by Andrew.Rodham
Sequencer: Add ability to retrieve bound objects from blueprint
Change 3349398 on 2017/03/16 by Nick.Darnell
UMG - Fixing a flashing hierarchy view. Looks like assets continuing to stream in causing the object change notification to continue to fire, and the widget designer refreshed any time it happened. Now limit to only if widgets are changing.
Change 3349420 on 2017/03/16 by Alex.Delesky
#jira UE-40720 - Multiline editable text boxes can now be set to Read-Only.
Change 3349548 on 2017/03/16 by Alexis.Matte
Fbx importer, when importing a staticmesh with combine mesh option check and the fbx file contain some "MultiSub Material" the materialinstance are now always hook properly.
Change 3349818 on 2017/03/16 by Cody.Albert
Fixed constructor for FNavigationMetaData
Change 3350047 on 2017/03/16 by Cody.Albert
Removed unneeded check so that children actors are never orphaned when their parent is moved into a newly created folder in the world outliner
Change 3350072 on 2017/03/16 by Arciel.Rekman
ShaderCompiler: make sure strings are at least 4-byte aligned.
- Can crash wcscpy() under Linux otherwise (reported by a licensee).
Change 3350146 on 2017/03/16 by Arciel.Rekman
Fix CodeLite project generation (UE-42921).
- Reportedly causes a crash in CodeLite 10.x
Change 3350235 on 2017/03/16 by Arciel.Rekman
Fix memory leak in address symbolication on Linux.
- Makes MallocProfiler work again.
- Also add progress update in MallocProfiler since symbolication is still slow.
Merging CL 3338764 from Fortnite to Dev-Editor.
Change 3350382 on 2017/03/16 by Arciel.Rekman
Linux: fix incorrect cast of rlimit in i686.
Change 3350471 on 2017/03/16 by Jamie.Dale
Enabling loc dashboard by default for new projects
Change 3350516 on 2017/03/16 by Jamie.Dale
Enabling content hot-reloading by default
Change 3350582 on 2017/03/16 by Cody.Albert
Corrected Widget Interaction Component to use current impact point instead of last impact point
Change 3350945 on 2017/03/16 by Jamie.Dale
Gave FConfigFile::FindOrAddSection API linkage
Change 3351441 on 2017/03/17 by Michael.Dupuis
#jira UE-42843: Fixed Transaction begin/end order issue happening with min slider passing max slider value
Add support for multiple selection value display
Change 3351558 on 2017/03/17 by Michael.Dupuis
#jira UE-42845: Always refresh the detail panel to properly update for selection change, delete, etc.
Change 3351657 on 2017/03/17 by Matt.Kuhlenschmidt
Adding USD Third Party dependencies
Change 3351665 on 2017/03/17 by Matt.Kuhlenschmidt
Added experimental USD Importer Plugin
This plugin supports basic static mesh importing and scene creation of actors using static meshes
Change 3351682 on 2017/03/17 by Matt.Kuhlenschmidt
Enabling USD importer in engine test project for automation tests
Change 3351749 on 2017/03/17 by Alexis.Matte
Make sure the selection proxy is off for the skeletal mesh component. UE4 use the selection outline instead
#jira UE-41677
Change 3351831 on 2017/03/17 by Michael.Dupuis
#jira UETOOL-1102:
Added HSV controls to Color Grading
Some look improvement for RGV/HSV
Color Grading refactor
Group Reset bug fix (relevant only to color grading)
Change 3352041 on 2017/03/17 by Matt.Kuhlenschmidt
Updated USD plugin whitelisting
Change 3352093 on 2017/03/17 by Michael.Dupuis
when FREEZERENDERING is called, stop the foliage culling too
Change 3352211 on 2017/03/17 by Alexis.Matte
Fix the physic asset missing skeleton warning
#jira UE-43006
Change 3352336 on 2017/03/17 by Alexis.Matte
We now allow a negative W value of the ScreenPoint vector in the ScreenToPixel function. In this case we simply reverse the W value to kept the manipulator direction on the good side.
#jira UE-37458
Change 3352947 on 2017/03/17 by Phillip.Kavan
#jira UE-42510 - Instanced static mesh transform edits are now reflected in the Blueprint editor's preview scene.
Change summary:
- Added IPropertyHandle::GetValueBaseAddress() (interface).
- Modified IPropertyHandle::NotifyPostChange() to include EPropertyChangeType as an optional input.
- Added FPropertyHandleBase::GetValueBaseAddress() (implementation).
- Modified FPropertyHandleBase::NotifyPostChange() to include the optional input arg in the property change event.
- Modified FPropertyHandleBase::CreatePropertyNameWidget() to clear the override text after temporarily replacing display name/tooltip text for the creation of the SPropertyNameWidget. This was done to allow for transactions to be named according to the property that's being modified.
- Modified FMathStructProxyCustomization::OnValueCommitted() to only apply the input value while not interactively editing via spinbox as well as when not post-processing an undo/redo (which can trigger a focus loss).
- Modified the FMathStructProxyCustomization::OnEndSliderMovement() delegate to include property handle and proxy value input parameters, as well as to call FlushValues() as part of the implementation.
- Modified FlushValues() for each of FMatrixStructCustomization, FTransformStructCustomization and FQuatStructCustomization to explicitly handle both propagation and transaction processing.
- Modified UInstancedStaticMeshComponent::UpdateInstanceTransform() to call Modify() prior to applying changes (so that the previous state is recorded when inside a transaction context).
- Modified FInstanceStaticMeshSCSEditorCustomization::HandleViewportDrag() to propagate changes to all instances of the ISMC archetype.
Known issues:
- Using the spinbox to edit instanced mesh transform values in the Blueprint editor will not apply the change to instances in the level editor until after you release the mouse button (i.e. - it will not be shown as a "live" update).
Change 3353678 on 2017/03/20 by Michael.Dupuis
properly unfreeze the culling of foliage when toggling the freezerendering command
Change 3353747 on 2017/03/20 by Matt.Kuhlenschmidt
PR #3372: Git plugin: fix update status on directories hotfix (still) slightly broken in master (UE4.16) (Contributed by SRombauts)
Change 3353749 on 2017/03/20 by Matt.Kuhlenschmidt
PR #3373: Git Plugin: hotfix for regression off Visual Diffs with older version of Git in master (UE4.16) (Contributed by SRombauts)
Change 3353754 on 2017/03/20 by Matt.Kuhlenschmidt
PR #3390: Allow OBJ imports to change if materials and textures are also imported (Contributed by mmdanggg2)
Change 3353909 on 2017/03/20 by Matt.Kuhlenschmidt
Fixed actors showing thumbnails in details panel and made a few other tweeks to thumbnail displays in details panels
- The color of the accepted type is now shown properly
- All object based properties now have thumbnails on by default.
Change 3353948 on 2017/03/20 by Nick.Darnell
UMG - Updating the background blur widget's upgrade code to use the custom version, and handling older cases that were continuing to generate blur slots, even when already upgraded.
Change 3354335 on 2017/03/20 by Nick.Darnell
Paragon - Excluding Archetype objects from reporting references, which causes crashes in the fast template mode.
Change 3354495 on 2017/03/20 by Nick.Darnell
Core - Making it so order that outers are discovered does not matter, initializing the chain of outers if hasn't been created when instancing subobjects.
Change 3354578 on 2017/03/20 by Nick.Darnell
Slate - There's now a console variable option, Slate.VerifyHitTestVisibility (off by default) which enables additional visibility checks for widgets. Normally this isn't nessesary, but if you're changing the visibility of widgets during a frame, and several hit tests need to be performed that frame there's a chance that a button could be clicked twice in one frame. Enabling this mode will make all hit testing more expensive, so for now it's off by default, but available for licensees that need the extra testing.
Change 3354737 on 2017/03/20 by Nick.Darnell
Core - Adding a fix to Dev-Editor from that enables objects in the same package being requested to also be loaded. This came about during async streaming callbacks alerting that a requested class was done loading, but there were still other assets in the package 'not loaded' but were available, just needed post load called on them.
Change 3355923 on 2017/03/21 by Yannick.Lange
VR Editor: - Remove unnecessary cleanup functions.
- Initialize with VR Mode and remove SetOwner function, since it shouldn't be possible to reset the VR Mode afterwards.
Change 3355959 on 2017/03/21 by Yannick.Lange
VR Editor: - Rename VREditorWorldInteraction to VREditorPlacement, to avoid confusion with ViewportWorldInteraction. VREditorPlacement will only handle placing objects from content browser in the VR Mode.
- Removed SnapSelectedActorsToGround to VREditorMode.
Change 3355965 on 2017/03/21 by Yannick.Lange
VR Editor: Forgot to add files to previous submit 3355959.
Change 3355977 on 2017/03/21 by Yannick.Lange
VR Editor: Remove function to add a new extension with TSubclassOf<UEditorWorldExtension>.
Change 3356017 on 2017/03/21 by Yannick.Lange
VR Editor: - UI system check owner VRMode.
- UI system fix check on VRMode on shutdown.
Change 3356028 on 2017/03/21 by Nick.Darnell
Slate - SButton now correctly releases mouse capture even if it becomes disabled while pressed, but before 'click' has been fired.
#jira UE-42777
Change 3356071 on 2017/03/21 by Yannick.Lange
VR Editor: Copy of change 3353663.
- Fix having to press once on the landscape to see the visuals for landscape editing.
- Fix when sculpting/painting the position wouldn't update.
- Fix inverted action for brushes while holding down shift or modifier on motioncontroller.
- Cleanup FLandscapeToolInteractorPosition.
- Change from 3353663: Use TStrokeClass::UseContinuousApply and TimeSinceLastInteractorMove to decide when to apply ToolStroke on tick.
Change 3356180 on 2017/03/21 by Michael.Dupuis
Added ShowFlag Foliage Occlusion Bounds
Fixed non initialized variable
Expose changing Min Occlusion Bounds instead of assuming 6
#rn none
Change 3356347 on 2017/03/21 by Nick.Darnell
UMG - Introducing a faster CreateWidget. When cooking, the widget compiler now generates a widget template/archetype that is stored in the same package as the generated blueprint class. During compiling we generate a nearly fully initialized widget tree including all sub userwidgets and their trees, hookup all member variables, initialize named slots, setup any animations...etc. This nearly fully constructed widget can be instanced using it as an archetype in the NewObject call, and does not have to use the correspondingly slow StaticDuplicateObject path. There are restrictions on this method, part of the compiling step for widgets now inspects if the instancing would be successful, or if there would be GLEO references after instancing because a user forgot to setup Instanced on a subobject property. Luckily that should be few and far between, all UVisuals (Widgets & Slots) are now DefaultToInstanced, which takes care of the overwhelming cases that demand the instanced flag. Especially given the bulk of cases using BindWidget in native code.
UMG - Removing a lot of deprecated functions from 4.8 on UUserWidget.
Change 3356357 on 2017/03/21 by Nick.Darnell
Build - Fixing some IWYU issues on the incremental build.
Change 3356461 on 2017/03/21 by Nick.Darnell
Build - Fixing linux build errors.
Change 3356468 on 2017/03/21 by Jamie.Dale
STextPropertyEditableTextBox now handles empty texts correctly
Change 3356916 on 2017/03/21 by Matt.Kuhlenschmidt
Fixed a crash when a material render proxy on a preview node is deleted when it is in flight on the render thread
#jira UE-40556
Change 3357033 on 2017/03/21 by Alexis.Matte
Fix crash when importing file with import commandlet
Make sure path are combine properly to avoid crash
Add some missing pointer check
Make sure the asset are save when there is no source control
#jira UE-42334
Change 3357176 on 2017/03/21 by Alex.Delesky
#jira UE-42445 - TMaps now support editing the values of structs that act as map keys. TMaps with struct keys will now show the types of their elements in the details panel as well, and structs will now also display numbers next to set elements.
Change 3357197 on 2017/03/21 by Alex.Delesky
#jira none - Fixing build issue for TMap key struct change.
Change 3357205 on 2017/03/21 by Michael.Dupuis
Forgot to reset min granularity to 6 from testing
Change 3357340 on 2017/03/21 by Arciel.Rekman
Mark FMallocAnsi (standard libc malloc) thread-safe on Linux.
Change 3357413 on 2017/03/21 by matt.kuhlenschmidt
Added '/Game/Effects/Fort_Effects/Materials/Smoke/M_Main_Smoke_Puff.M_Main_Smoke_Puff' to collection 'MattKTest'
Upgraded collection 'MattKTest' (was version 1, now version 2)
Change 3357505 on 2017/03/21 by Alexis.Matte
Fix to avoid changing the CDO of FbxAssetImportData. The UI was saving the Config which was saving the CDO. But already serialized data will be reload badly if the CDO change since we serialize only the diff.
#jira UE-42947
Change 3357825 on 2017/03/21 by Arciel.Rekman
Clean up the large thread pool on exit.
- Seems like the destruction was missed in the original CL 2785131 (12/1/15).
- Fixes problems when threads were allocated in memory that is being cleaned up in another place on exit.
Change 3358086 on 2017/03/22 by Yannick.Lange
VR Editor: - Fix gizmo scaling down when dragging the world.
- Fix gizmo scaling down when dragging rotation handle.
Change 3358175 on 2017/03/22 by Andrew.Rodham
Sequencer: Made ALevelSequenceActor::AdditionalEventReceivers advanced display
Change 3358367 on 2017/03/22 by tim.gautier
Submitting resaved QAGame assets - Materials, Material Instances, Material Functions and Parameters
Change 3358457 on 2017/03/22 by Yannick.Lange
VR Editor: Deleting unused UI assets.
Change 3358801 on 2017/03/22 by Matt.Kuhlenschmidt
Guard against crash if the level editor is shut down when the object system has already been shut down
#jira UE-35605
Change 3358897 on 2017/03/22 by matt.barnes
Checking in WIP test content for UEQATC-1635 (UMG Navigation)
Change 3358976 on 2017/03/22 by Alex.Delesky
#jira none - Fixing an issue where ItemPropertyNode could potentially dereference a null property
Change 3358987 on 2017/03/22 by Yannick.Lange
VR Editor: Fix warning: Can't find file for asset '/Engine/VREditor/UI/VRButtonBackground' while loading ../../../Engine/Content/VREditor/Devices/Vive/VivePreControllerMaterial.uasset.
Change 3359067 on 2017/03/22 by Yannick.Lange
VR Editor: Fix Radial Menu remains on controller after exiting VR Preview
#jira UE-42885
Change 3359179 on 2017/03/22 by Matt.Kuhlenschmidt
Fixed "Multiple Values" in Body Setup when single bone has multiple bodies
#jira UE-41546
Change 3359626 on 2017/03/22 by Arciel.Rekman
Linux: pool OS allocations.
- Add a TMemoryPool and TMemoryPoolArray classes that can be used with any type of OS allocator functions.
- Add ability to bypass CachedOSPageAllocator for given sizes. Also, corrected the condition on AllocImpl to match one on FreeImpl.
- Switch Linux to pool mmap()/munmap() by default (helps 32-bit Linux and also speeds up 64-bit one), except 64-bit servers.
- Add a test to TestPAL to check performance and thread safety.
- Misc. fixes.
Change 3359989 on 2017/03/23 by Andrew.Rodham
Sequencer: Binding overrides improvements
- Added the ability to override spawnable bindings
- Added the ability to override bindings in sub sequences
- Deprecated "Get Sequence Bindings" node in favor of "Get Sequence Binding", which is more robust, and provides a better UI/UX for selecting single bindings
#jira UE-42470
Change 3360369 on 2017/03/23 by Alexis.Matte
Fix the staticmesh conversion from UE4 4.13 to earlier UE4 versions
#jira UE-42731
Change 3360556 on 2017/03/23 by Andrew.Rodham
Sequencer: Added drag/drop support for binding overrides
- You can now drag and drop sequencer object binding nodes into blueprint graphs (to create 'Get Sequence Binding' nodes), and onto binding overrides specified on level sequence actors.
Change 3360618 on 2017/03/23 by Arciel.Rekman
Make Binned2 work on Mac.
- Game/server will use Binned2 by default.
Change 3360838 on 2017/03/23 by Nick.Darnell
CommonUI - Making the SingleMaterialStyleMID property transient. It had been serialized mistakenly onto several widgets when it appears the intent is to dynamically allocate it upon demand.
Change 3360841 on 2017/03/23 by Nick.Darnell
UMG - Updating the editor to use DuplicateAndInitializeFromWidgetTree, so that Initialize is properly called when duplicating sub widget trees.
Change 3362561 on 2017/03/24 by Matt.Kuhlenschmidt
Fixed text outlines being cropped at large sizes
#jira UE-42647
Change 3362565 on 2017/03/24 by Matt.Kuhlenschmidt
Added automation test for font outlines
Change 3362567 on 2017/03/24 by Matt.Kuhlenschmidt
Resaved this file to fix 0 engine version warnings
Change 3362582 on 2017/03/24 by Yannick.Lange
VR Editor: - Fix log warnings when teleporting.
- Fix undo/redo when using teleport scaling.
- Improved teleport scaling and push/pull input.
#jira UE-43214
Change 3362631 on 2017/03/24 by Jamie.Dale
Split the monolithic culture concept in UE4
UE4 has historically only supported the concept of a single monolithic "culture" that applied to both text localization and internationalization, as well as all asset localization. Typically the "culture" was set to the "locale" of the OS, however that could be undesirable or incorrect on platforms (such as newer versions of Windows) that have a distinct concept of "language" (for localization) and "locale" (for internationalization).
This change splits the concept of "culture" into "language" and "locale", and also adds the concept of "asset groups". The language is now used to work out which localization we should use, and the locale is used to control how numbers/dates/times/etc are formatted within our internationalization library.
Asset groups expand on the language used by asset localization and allow you to create a group of asset classes that can be assigned a different culture than the main game language. A typical use-case of this would be creating an "audio" group that could, for example, be set to Japanese while the rest of the game runs in English.
If your game doesn't care about the distinction between language and locale, and doesn't need to use asset groups, then you're able to continue to use "culture" as you always have. If, however, you do care about those things, then you'll likely want to avoid using the "culture" directly (as it's now a very aggressive setting that overrides all others), and instead favor using language/locale (games will typically treat these as the same) and asset groups as separate concepts (both in settings, and in your in-game UI).
The language or locale for a game can be controlled by settings within the "Internationalization" section of your configs (this would typically be set in your GameUserSettings config, in the same way that "culture" works), eg)
[Internationalization]
language=fr
locale=fr
The asset groups for a game can be controlled by settings within the "Internationalization.AssetGroupClasses" and "Internationalization.AssetGroupCultures" sections of your configs (the asset group class definition would typically be set in your DefaultGame config, and the cultures the groups use would typically be set in your GameUserSettings config), eg)
[Internationalization.AssetGroupClasses]
+Audio=SoundWave
+Audio=DialogueWave
[Internationalization.AssetGroupCultures]
+Audio=ja
#jira UE-38418
#jira UE-43014
Change 3362798 on 2017/03/24 by Nick.Darnell
UMG - Putting the finishing touches on the hardware cursor system. Can now load them from blueprints, and there are options for setting them up in the project settings.
UMG - Deprecating the old properties for software widget cursors. They've been moved into a map that can handle any of the mouse cursors as the enum key, which was always the intent/desire but maps couldn't be used as UProperties then.
Change 3362805 on 2017/03/24 by Jamie.Dale
PR #3397: Allow empty source to override display string (Contributed by jorgenpt)
Change 3363039 on 2017/03/24 by Jamie.Dale
Use the pre-scaled font height where possible to avoid an extra multiply
Change 3363188 on 2017/03/24 by Joe.Graf
Added support for -iterate for content plugins that require path remapping during cook/packaging
#CodeReview: matt.kuhlenschmidt
#rb: matt.kuhlenschmidt
Change 3363355 on 2017/03/24 by Nick.Darnell
UMG - Removing the CookAdditionalFiles function in UserInterfaceSettings.
Change 3363672 on 2017/03/24 by Matt.Kuhlenschmidt
Material thumbnails now respect used particle system sprites flag and show a quad insead of a sphere by default. For this change I added the ability to have per asset type override for the default thumbnail shape and I added a way to reset thumbnails to default. All existinging particle system materials that have not had a custom thumbnail will have to be reloaded and resaved for this to work
#jira UE-42410
Change 3363699 on 2017/03/24 by Mike.Fricker
VR Editor: Improved extensibility (for mesh editor)
- This was merged from CL 3352612 and re-opened for edit before commit
- All mesh editor changes were stripped before merging
Change 3363784 on 2017/03/24 by Matt.Barnes
Adding content for tests following UEQATC-3548
Change 3363872 on 2017/03/24 by Arciel.Rekman
Linux: require user to setup clang/clang++ for building hlslcc.
- Earlier we tried to handle most common scenarios since libhlslcc needed to be built during the setup. Now that we supply a prebuilt version we don't need to be as user friendly, especially given that the attempts to second guess the compiler started to look complicated.
Change 3364089 on 2017/03/24 by Matt.Kuhlenschmidt
Fix CIS
Change 3364381 on 2017/03/24 by JeanMichel.Dignard
UV Packing optim
- Use horizontal segments instead of checking texel by texel to fit source chart in layout.
- Skip a couple of rasterize by flipping either the X texels or the Y texels when possible.
- Keep the best chart raster so that we don't need to reraster when adding the chart to the layout.
- Added a lightmap UV version in StaticMesh so that we don't invalidate the lighting cache. Only use the new lightmap UV generation when going through UStaticMesh::Build which invalidates the lighting.
Change 3364587 on 2017/03/24 by Arciel.Rekman
Fix ordered comparison warning from clang 4.0.
Change 3364596 on 2017/03/24 by Arciel.Rekman
Linux: fix editor being stuck (hack).
- Rebuilt hlslcc in Debug.
Change 3364863 on 2017/03/25 by Max.Chen
Sequencer: Fixed crash when deactivating a section in sequencer
#jira UE-39880
Change 3364864 on 2017/03/25 by Max.Chen
Sequencer: Integrating fix from licensee to ensure FVirtualTrackArea::HitTestSection checks the row of the section
Change 3364865 on 2017/03/25 by Max.Chen
Cine Camera: Default post process depth of field method to CircleDOF and use that setting in UpdateCameraLens.
#jira UE-40621
Change 3364866 on 2017/03/25 by Max.Chen
GitHub #3183: Conversion to base class is inaccessible.
Change 3364869 on 2017/03/25 by Max.Chen
Sequencer: Changed the time snapping interval in the toolbar ui so that it no longer additionally updates the sequencer setting. The setting is only used to initialize the time snapping interval of the level sequence. Added translate keys with ctrl and left-right arrows.
#jira UE-41009
#jira UE-41210
Change 3364870 on 2017/03/25 by Max.Chen
Sequencer: Added translate keys with ctrl and left-right arrows.
#jira UE-41210
Change 3364871 on 2017/03/25 by Max.Chen
Sequencer: Add level sequence actor customization to open sequencer from the details panel. For matinee parity.
#jira UE-41459
Change 3364879 on 2017/03/25 by Max.Chen
Sequencer: Duplicate shot should put the duplicate on the next available row, keeping the start/end times the same.
#jira UE-41289
Change 3364880 on 2017/03/25 by Max.Chen
Sequencer: Opening the API for MovieSceneAudio-related classes along with some minor functionality additions:
- Adding _API specifiers to MovieSceneAudioTrack, MovieSceneAudioSection, and FAudioTrackEditor so they can be subclassed in other modules.
- Made GetSoundDuration function in MovieSceneAudioTrack.cpp a member function so it's functionaliy could be reused by subclasses.
- Adding ability to specify delegates for OnQueueSubtitles, OnAudioFinished, and OnAudioPlaybackPercent in a MovieSceneAudioSection, and have them automatically assigned to any AudioComponents that are played by the MovieSceneAudioTemplate
Change 3364884 on 2017/03/25 by Max.Chen
Sequencer fbx import
- Removed the PostRotation compensation as it was setuped for 3ds max.
- On import, add a rotation to camera and light animation keys like we do on export.
- Merge the component local transform with the ActorNode transform when exporting only one component that isn't the root component in fbx since we're not creating child nodes in that case.
#jira UE-34692
Change 3364885 on 2017/03/25 by Max.Chen
Sequence Recorder: Fix crash when clearing properties to record.
#jira UE-41873
Change 3364886 on 2017/03/25 by Max.Chen
Sequencer: Add error when attempting to add a circularly dependent level sequence
#jira UE-22358
Change 3364890 on 2017/03/26 by Max.Chen
Sequencer: Added ability to specify a 'notify' function to property instance bindings
- When specified, the (parameterless) function will be called after a property is set
Change 3364891 on 2017/03/26 by Max.Chen
Sequencer: Various fixes to thumbnails
- Fixed alpha blending being used when presenting the full screen quad for thumbnails
Change 3364892 on 2017/03/26 by Max.Chen
Sequencer: PreRoll and PostRoll is now exposed at the section level, for all sections
- For the majority of sections this will be unimplemented, but it will allow for some tracks to set up their data ahead of time
Change 3364896 on 2017/03/26 by Max.Chen
Sequencer: Add segment flags to equality operator for movie scene evaluation segments
- This prevents them from being accumulated into adjacent segments of the same index and forced time, but differing flags
Change 3364897 on 2017/03/26 by Max.Chen
Sequencer: Fixed "Evaluate in preroll" and "Evaluate in Postroll" options
- Pre and postroll flags now come through on compiled segments, so the previous manual logic for sub sections is obsolete; we can just use the compiled segment data directly.
Change 3364898 on 2017/03/26 by Max.Chen
Sequencer: Moved track options to be accessible on all nodes, and operate on all selected tracks
Change 3364902 on 2017/03/26 by Max.Chen
Sequencer: Ensure evaluation flags are considered when compiling segments from external sequences
- This ensures that preroll regions in sub sequences are correctly evaluated when their parent section has preroll
- Changed high pass blending to always allow preroll
Change 3364903 on 2017/03/26 by Max.Chen
Engine: Moved proxy mesh transform update out of camera view computation code
- GetCameraView can happen as part of end of frame updates, which will assert if any changes of transform happen during its processing
Change 3364908 on 2017/03/26 by Max.Chen
Sequencer: Added visualization of pre and postroll on sections
Change 3364909 on 2017/03/26 by Max.Chen
Sequencer: Prevent MovieSceneCompiler from removing preroll segments
Change 3364910 on 2017/03/26 by Max.Chen
Sequencer: MediaPlayer PreRoll/PostRoll fix
- Handle PreRoll/PostRoll on sub scenes that have a start offset
Change 3364922 on 2017/03/26 by Max.Chen
Sequencer: Add check for valid property before dereferencing.
#jira UE-40951
Change 3364923 on 2017/03/26 by Max.Chen
Sequencer: Fix MovieScene preroll so that it seeks to the start correct frame before the preroll.
Change 3364924 on 2017/03/26 by Max.Chen
Sequencer - change default behavior for pre/post roll evaluation
- MovieSceneTracks are NOT evaluated by default
Change 3364925 on 2017/03/26 by Max.Chen
Sequencer: Shot track rows now consider pre and post roll when being compiled
Change 3364926 on 2017/03/26 by Max.Chen
Sequencer: Added the ability to define shared execution tokens, identifyable with a unique identifier, and sortable based on a sort order (<=0: before standard tokens, >0: after other tokens)
Change 3364927 on 2017/03/26 by Max.Chen
Sequencer: Added the ability to selectively restore state for specific anim type IDs for a given object
- This allows us to specifically restore one particular type of animation for a given object (ie, transform, skeletal animation control, or motion blur)
Change 3364928 on 2017/03/26 by Max.Chen
Sequencer: Fixed sub-sub tracks not being present in master sequences
- In order to correctly handle preroll in inner-inner sequences, we need to have access to those tracks when compiling intermediate sub sections. By caching off all the inner templates, we can have access to these tracks to check whether they want to be evaluated in pre/post roll in the master sequence
Change 3364937 on 2017/03/26 by Max.Chen
Sequencer: Update cine camera component debug focus plane on tick, rather than in GetCameraView
#jira UE-41332
Change 3364938 on 2017/03/26 by Max.Chen
Sequencer: Fix crash inserting a level sequence with an invalid shot.
#jira UE-41481
Change 3364940 on 2017/03/26 by Max.Chen
Sequencer: Made handling of pre and post roll more consistent between explicit section pre/post roll and pre/post roll inherited from an outer sub section
Change 3364942 on 2017/03/26 by Max.Chen
Movie Scene Capture: Move EDL generation to setup instead of close to ensure it gets written out when capturing as a separate process.
#jira UE-41703
Change 3364943 on 2017/03/26 by Max.Chen
Sequencer: Prevent capturing movies in editor while a PIE session is running
#jira UE-41399
Change 3364944 on 2017/03/26 by Max.Chen
CIS fixes
Change 3364951 on 2017/03/26 by Max.Chen
Sequencer: Fix autokey not setting a keyframe for slate color with specified color.
#jira UE-41645
Change 3364952 on 2017/03/26 by Max.Chen
Sequencer: Level sequence frame snapshots now take account of fixed-frame interval offsets, and overlapping shot sections on the same row
#jira UE-41684
Change 3364953 on 2017/03/26 by Max.Chen
Sequencer: Fix edl so that it doesn't write out when a shot is out of range. Also fixed not writing the EDL with the correct frame rate when exporting from the track. Reworked the cmx EDL so that its encoded in the same edit time space, including a blank slug at the beginning of the edit.
#jira UE-41925
Change 3364954 on 2017/03/26 by Max.Chen
Sequencer - Allow animating parameters on cascade effect components which aren't owned by an AEmitter.
Change 3364955 on 2017/03/26 by Max.Chen
Sequencer: Fixed sequencer anim instance not being used in the case where one was requested, but a different anim instance was already set
This fixes an issue when rendering in seaprate process, animations that were set up to use the sequencer instance would be controlled using montage animation instead.
Change 3364963 on 2017/03/26 by Max.Chen
Sequencer: Fix filtering to include child nodes.
#jira UE-42068
Change 3364964 on 2017/03/26 by Max.Chen
Sequencer: Enable UseCustomStartFrame and UseCustomEndFrame when rendering a single shot from the menu.
#jira UE-42021
Change 3364965 on 2017/03/26 by Max.Chen
Sequencer: Set the fade color in the track display
Change 3364966 on 2017/03/26 by Max.Chen
Sequencer: Show actor attached to label in attach section.
Change 3364967 on 2017/03/26 by Max.Chen
Sequencer: Fix static analysis warnings
Change 3364968 on 2017/03/26 by Max.Chen
Sequencer: Fix crash on converting to spawnable.
The previous implementation purported to allow null objects to set up spawnable defaults but it actually needed to compare the spawned object to the supported type. This new mechanism now allows the spawner to indicate that it accepts null objects and doesn't crash.
#jira UE-42069
Change 3364969 on 2017/03/26 by Max.Chen
Sequencer: Fixed crash caused by holding onto stale properties through a raw ptr
#jira UE-42072
Change 3364977 on 2017/03/26 by Max.Chen
Sequencer: Convert FLinearColor to FColor for fade.
#jira UE-41990
Change 3364978 on 2017/03/26 by Max.Chen
Sequencer: Limit GetAllSections to the sections that actually correspond to the track
#jira UE-42167
Change 3364979 on 2017/03/26 by Max.Chen
Sequencer: Filter root nodes too
#jira UE-42068
Change 3364980 on 2017/03/26 by Max.Chen
Sequencer: Filter relevant material parameters
#jira UE-40712
Change 3364982 on 2017/03/26 by Max.Chen
Sequencer: Remove audio range bounds which clamps to the section bounds (needed for evaluating in pre and post roll)
Change 3364983 on 2017/03/26 by Max.Chen
Sequencer: Add socket name to attach track section.
Change 3364984 on 2017/03/26 by Max.Chen
Sequencer: Fix sub track node deletion so that all the sub tracks aren't deleted, only the row being requested.
#jira UE-40955
Change 3364988 on 2017/03/26 by Max.Chen
Sequencer: Invalidate expired objects when blueprints are compiled. Fix actor references now handles sections that need to have their guids updated (ie. attach tracks).
Change 3364994 on 2017/03/26 by Max.Chen
Sequencer: Audio waveforms now show peak samples with smoothed RMS in the center
- Audio row heights are now also resizable by dragging on the bottom end of the track lane in the track area view
Change 3364995 on 2017/03/26 by Max.Chen
UMG: Fix crash on undo
#jira UE-42210
Change 3365000 on 2017/03/26 by Max.Chen
Sequencer: Fix crash from GetCurrentValue.
Change 3365001 on 2017/03/26 by Max.Chen
Sequencer: Split "Snap to the Dragged Key" option into two options, pressed key and dragged key.
#jira UE-42382
Change 3365002 on 2017/03/26 by Max.Chen
Sequencer: Downgraded check to ensure for FMovieSceneEvalTemplateBase::GetScriptStructImpl()
Change 3365003 on 2017/03/26 by Max.Chen
Sequencer: Fixed section template script struct
- Because the cpp is not parsed by UHT, the empty template had its parent struct, rather than its own
- We now just return null, and handle empty segments correctly in the segment remapper as part of the track compilation
Change 3365013 on 2017/03/26 by Max.Chen
Sequencer: Added data validation on compiled template loads, and extra guards against misuse of movie scene types
Change 3365014 on 2017/03/26 by Max.Chen
Sequencer: Sequencer now re-evaluates when starting PIE or Simulate
- This can be disabled by disabling "Bind Sequencer to PIE" and "Bind Sequencer to Simulate" in PIE advanced settings
Change 3365015 on 2017/03/26 by Max.Chen
Sequencer: Fix edl files so that they don't write out empty range shots
Change 3365017 on 2017/03/26 by Max.Chen
Sequencer: Set max tick rate when in game.
#jira UE-41078
Change 3365018 on 2017/03/26 by Max.Chen
Sequencer: When finishing a scrub, playback status is now correctly set to stopped rather than stepping
- This fixes a hack that was previously in place from the old PostTickRenderFixup that caused it to run that step after scrubbing bad finished. This is no longer necessary, and actually breaks clicking to set the scrub position, as it now means that we step across the entire range between the previous and current time.
Change 3365022 on 2017/03/26 by Max.Chen
Sequencer: Insert shot now creates a shot at the current time and puts it on the next available row.
#jira UE-41480, UE-27699
Change 3365023 on 2017/03/26 by Max.Chen
Sequencer: Add loop selection range. If there is no selection range, loop mode is restricted to loop or no loop.
#jira UE-42285
Change 3365029 on 2017/03/26 by Max.Chen
Sequencer: Add hotkeys to set the selection range to the next and previous shot (page up, page down). Also, added hotkey to set the playback range to all the shots (end)
Change 3365030 on 2017/03/26 by Max.Chen
Sequencer: Fix particle system restore state so that it gets the proper initial active state of the particle system.
#jira UE-42861, UE-42859
Change 3365031 on 2017/03/26 by Max.Chen
Sequencer: Snap time when changing time snapping intervals.
#jira UE-42590
Change 3365032 on 2017/03/26 by Max.Chen
Sequencer: Add When Finished state to sections. By default, sections now restore state.
#jira UE-41991, UE-31569
Change 3365033 on 2017/03/26 by Max.Chen
#jira UE-42028 "DialogueWave playback calls OnQueueSubtitles multiple times"
Only queue subtitles once per wave instance playback
Change 3365041 on 2017/03/26 by Max.Chen
Sequencer: Subscene hierarchical bias
Tracks can now be prioritized based on their subscene hierarhical bias value. Higher bias values take precedence.
#jira UE-42078
Change 3365042 on 2017/03/26 by Max.Chen
Sequencer: Generic paste menu for master (root) tracks.
Change 3365043 on 2017/03/26 by Max.Chen
Sequencer: Hierarchical bias for level visibility track
#jira UE-43024
Change 3365044 on 2017/03/26 by Max.Chen
Sequencer: Prevent throttling on editing keys/sections.
Change 3365045 on 2017/03/26 by Max.Chen
Sequencer: Set sequencer audio components bIsUISound to false so that they don't continue playing when the game is paused.
#jira UE-39391
Change 3365046 on 2017/03/26 by Max.Chen
Sequencer: Add missing BindLevelEditorCommands()
Change 3365049 on 2017/03/26 by Max.Chen
Sequencer: Set tick prerequites for spawnables when they are spawned.
#jira UE-43009
Change 3365050 on 2017/03/26 by Max.Chen
Sequencer: Jump to Start and End of playback shortcuts.
Rewind renamed to Jump to Start. Shortcut - up arrow.
Jump to End Shortcut - ctrl up arrow.
#jira UE-43224
Change 3365051 on 2017/03/26 by Max.Chen
Sequencer: Add last range to playback
Change 3365057 on 2017/03/26 by Max.Chen
Sequencer: Fix master sequence subscene generation times.
Change 3365058 on 2017/03/26 by Max.Chen
Sequencer: Fix paste so that it doesn't paste both onto object nodes and master tracks.
Change 3365059 on 2017/03/26 by Max.Chen
Sequencer: Fix crash pasting audio track.
Change 3365060 on 2017/03/26 by Max.Chen
Sequencer: Cache player fade state so that restore state will return the values to the pre animated state.
#jira UE-43313
Change 3365061 on 2017/03/26 by Max.Chen
Sequencer: Filter hidden functions. This fixes a bug where the field of view property for a cinematic camera appears to be animatable. It should be hidden just like it is in the property editor.
#jira UE-41461
Change 3365065 on 2017/03/26 by Max.Chen
Sequencer: Support component hierarchies when drawing animation paths
#jira UE-39500
Change 3365066 on 2017/03/26 by Max.Chen
Sequencer: Refine pause behaviour in sequencer to always evaluate the next frame
- This ensures that we get a full frame's worth of evaluation so that the paused frame is of a good quality (and avoids us evaluating a tiny range)
Change 3365075 on 2017/03/26 by Max.Chen
Sequencer: Fix add shot not setting next row.
Change 3365076 on 2017/03/26 by Max.Chen
Sequencer: Export MovieSceneTrackEditor
#jira UE-41641
Change 3365472 on 2017/03/27 by Yannick.Lange
VR Editor landscape. Back out changelist 3356071 with new proper fixes.
CL 3356071 introduced another bug and it wasn't correct because of removing FLandscapeToolInteractorPosition. This changelist fixes the same and additional bugs for VREditor Landscape mode.
- Fix when sculpting/painting the position wouldn't update.
- Fix inverted action for brushes while holding down shift or modifier on motioncontroller.
- Fix VREditor Landscape Texture Painting does not paint continuously
- Fix having to press once on the landscape to see the visuals for landscape editing.
- Removed Interactor parameter from BeginTool.
#jira UE-42780, UE-42779
Change 3365497 on 2017/03/27 by Matt.Kuhlenschmidt
Fix texture importing when an FBX file incorrectly reports absolute path as relative. First we try absolute, then we try fbx reported relative, then we try relative to parent FBX file.
Change 3365498 on 2017/03/27 by Matt.Kuhlenschmidt
Fix attempting to load a package in FBX scene import when the import path is empty. This greatly reduces FBX scene import time
Change 3365504 on 2017/03/27 by Yannick.Lange
VR Editor landscape fix ensure in when starting to paint/sculpt. Mousemove on tool should only be called when the tool is actually active, not when hovering.
Change 3365551 on 2017/03/27 by Matt.Kuhlenschmidt
PR #3425: Added Scrollbar customization to SComboBox (Contributed by Altrue)
#jira UE-43338
Change 3365580 on 2017/03/27 by Matt.Kuhlenschmidt
PR #3409: Add support for per-Category filtering in Output Log (Contributed by thagberg)
Change 3365672 on 2017/03/27 by Andrew.Rodham
Sequencer: Preanimated state producers can now produce null tokens
- Doing so implies no preanimated state should be saved
Change 3365791 on 2017/03/27 by Andrew.Rodham
Sequencer: Added Material Parameter Collection track
Change 3365806 on 2017/03/27 by Max.Chen
Sequencer: Add option to instance sub sequences.
#jira UE-43307
Change 3365822 on 2017/03/27 by Matt.Kuhlenschmidt
Subdue the output log font color a bit
Change 3365846 on 2017/03/27 by Jamie.Dale
Added package redirection on load/find
Change 3365852 on 2017/03/27 by Jamie.Dale
Adding a way to mark a package as no longer missing
Change 3365896 on 2017/03/27 by Jamie.Dale
Adding GlobalNotification to Slate
This is the guts of the GlobalEditorNotification, so it can be used by code that doesn't link to UnrealEd.
Change 3365900 on 2017/03/27 by Jamie.Dale
Prevent the default cooked sandbox from trying to read non-cooked assets
Change 3366550 on 2017/03/27 by Max.Chen
Sequencer: Fix case
Change 3367301 on 2017/03/28 by Andrew.Rodham
Tests: Added test actor with a variety of properties for testing purposes
Change 3367303 on 2017/03/28 by Andrew.Rodham
Tests: Enabled ActorSequenceEditor plugin in EngineTest project
Change 3367304 on 2017/03/28 by Andrew.Rodham
Tests: Added several functional testing maps for sequencer
- SequencerTest_Properties - tests animating various property types
- SequencerTest_Events - tests basic event triggering functionality (including additional event receivers and event ordering)
- SequencerTest_BindingOverrides - tests overriding possessable and spawnable bindings, along with bindings in sub sequences
- SequencerTest_ActorSequence - tests basic actor sequence functionality
Change 3367465 on 2017/03/28 by Max.Chen
Sequencer: Set Bind Sequencer to PIE off by default, Bind Sequencer to Simulate remains on by default.
Change 3367515 on 2017/03/28 by Matt.Kuhlenschmidt
Guard against visual studio accessor crash
#jira UE-43368
Change 3368118 on 2017/03/28 by Alexis.Matte
Fix the staticmesh conversion from 4.13. There was a error in the LOD loop we where not remapping the LOD 0.
#jira UE-42731
Change 3368485 on 2017/03/28 by Alex.Delesky
#jira UE-42207 - Updated SVN Binaries for MacOSX 64-bit:
- Subversion 1.9.4 -> 1.9.5
- OpenSSL 1.0.2h -> 1.0.2k
- BerkeleyDB 5.3.15 -> 6.2.23
- Java 8u101 -> 8u121
- Sqlite 3.13.0 -> 3.17.0
- Serf 1.3.8 -> 1.3.9
- Swig 3.0.10 -> 3.0.12
- ZLib 1.2.9 -> 1.2.11
Change 3368495 on 2017/03/28 by Alex.Delesky
#jira UE-42207 - Updated SVN Binaries for Windows 64-bit:
- Subversion 1.9.4 -> 1.9.5
- OpenSSL 1.0.2h -> 1.0.2k
- BerkeleyDB 5.3.15 -> 6.2.23
- Java 8u101 -> 8u121
- Sqlite 3.13.0 -> 3.17.0
- Serf 1.3.8 -> 1.3.9
- Swig 3.0.10 -> 3.0.12
- ZLib 1.2.9 -> 1.2.11
Change 3368501 on 2017/03/28 by Alex.Delesky
#jira UE-42207 - SVN Build instructions for Windows and Mac 64-bit libraries, and license files for Mac libraries
Change 3368782 on 2017/03/28 by Nick.Darnell
UMG - Improving some logging for fast widget creation.
Change 3368826 on 2017/03/28 by Nick.Darnell
Slate - Slate Application now maintains seperate tracking for each pointer being utilized for drag drop, so now multiple fingers on multiple widgets can now simultaneously be attempting a drag, however once one of them becomes successful, we clear all state of all other tracking since only one Drag Drop operation is possible at a time.
Slate - bFoldTick is now removed from the codebase, we haven't supported the other (non-folded) code path for awhile, so there was no point in maintaining the switch.
Slate - Users have noticed issues where the cursor does not appear when changing visibility (through toggling the way the cursor appears). This was rooted in how the OS requested cursor changes, WM_SETCURSOR on Windows only asks for new cursors when the mouse moves, but often cursors change just because mouse capture changes. So now the path has been centralized in Slate Tick to only handle the cursor changes in one place, and several places that need to refresh the cursor state, now set a flag to handle it on next tick.
#jira UE-40486
Change 3368917 on 2017/03/28 by Arciel.Rekman
Linux: allow building with clang 4.0.
Change 3369074 on 2017/03/28 by Nick.Darnell
UMG - Fixing some spelling on the hardware cursor tip.
UMG - Changed some checks to ensure now that users can input the wrong data from the editor. Adding some clamping to the editor interface so that users are not tempted to enter incorrect hotspot ranges for their cursors.
#jira UE-43419
#jira UE-43425
Change 3369137 on 2017/03/28 by Max.Chen
Sequencer: Add given master track sets the outer to the movie scene.
Change 3369360 on 2017/03/29 by Andrew.Rodham
Sequencer: Reconciled 3349194 and 3365041 with animphys merge
Change 3369410 on 2017/03/29 by Alexis.Matte
Fix the select filename in the FileDialog "Desktop window platform"
#jira UE-43319
Change 3369475 on 2017/03/29 by Nick.Darnell
PR #3413: UE-37710: Proper scaling of WebBrowserViewport (Contributed by projectgheist)
Modified - you can't use the clip rect to decide on how large you should be.
#jira UE-37710
Change 3369775 on 2017/03/29 by Max.Chen
ControlRig: Fix crash on exit.
#jira UE-43411
Change 3370466 on 2017/03/29 by Nick.Darnell
AsyncLoading - Adding USoundBase to the set of CDOs that have a particular fixed boot order.
StreamableManager - Only showing the duplicate load error in debug builds, it's not a real error.
#jira UE-43409
Change 3370570 on 2017/03/29 by Nick.Darnell
Slate - Fixing a bug with ZOrder being discarded on the SOverlay Slot.
#jira UE-43431
Change 3370644 on 2017/03/29 by Andrew.Rodham
Temporarily disabling sequencer functional test "Event Position"
Change 3370713 on 2017/03/29 by Nick.Darnell
PR #3399: UE-42831: Anchor text ignores scale (Contributed by projectgheist)
#jira UE-43156
#jira UE-42831
Change 3371243 on 2017/03/30 by Arciel.Rekman
Linux: scale OS allocation pool to match memory size.
- Number of distinct VMAs (contiguous virtual memory areas, i.e. mappings done via mmap()) is rather low (~64k)
and we can run out of VMAs earlier than we will run into available memory. Larger pool makes this less likely.
Change 3371262 on 2017/03/30 by Arciel.Rekman
Linux: fix custom present.
- PR #3383 contributed by yaakuro.
Change 3371301 on 2017/03/30 by Arciel.Rekman
Linux: fix copying to a non-existent directory during Setup.
Change 3371307 on 2017/03/30 by Andrew.Rodham
Editor: Added "Resave All" functionality to content browser folders
Change 3371364 on 2017/03/30 by Andrew.Rodham
Sequencer: Level streaming improvements
- Tick prerequisites are now set up when any object binding is resolved, not at the start of the sequence. This unifies code between spawnables and possessables, and allows tick prerequisites to still be set up when levels are streamed in
- Actor references are no longer resolved when a PIEInstance is specified on the package, and it cannot be fixed up to a different ptr than the original. This stops us resolving actors from one world into another.
- Fixed level visibility request getting cleared when the cumulative total was 0 (it should only do this if there are no requests left)
#jira UE-43225
Change 3371365 on 2017/03/30 by Andrew.Rodham
Tests: Sequencer level streaming tests
Change 3371493 on 2017/03/30 by Nick.Darnell
PR #3408: UE-19980: Added FCanExecuteAction to prevent keyboard shortcut. (Contributed by projectgheist)
Change 3371524 on 2017/03/30 by Nick.Darnell
PR #2938: Minor UMG code fixups (Contributed by projectgheist), accepted most of the changes.
Change 3371545 on 2017/03/30 by Nick.Darnell
UMG - Fixing some minor issues with WidgetComponents not properly limiting input depending on what is supported with reguard to hardware input.
Change 3371576 on 2017/03/30 by Matt.Kuhlenschmidt
PR #3433: Fix for the Standalone D3D Slate Shader using the wrong value for the. (Contributed by megasjay)
Change 3371590 on 2017/03/30 by Nick.Darnell
UMG - Fixing widget alignment in the viewport when using the widget component with screen space, with an aspect ratio lock on the player's camera. The widgets should now show up in the right locations.
Change 3371625 on 2017/03/30 by Alexis.Matte
Fix the merge tool material id assignment
#jira UE-43246
Change 3371666 on 2017/03/30 by Nick.Darnell
UMG - Reducing logging, don't need to tell everyone all the time we're using the fast widget path.
Change 3371687 on 2017/03/30 by Arciel.Rekman
Linux: switch to new managed filehandles.
Change 3371778 on 2017/03/30 by Matt.Kuhlenschmidt
Fixed the animation to play property on skeletal meshes being too small to read anything
#jira UE-43327
Change 3372709 on 2017/03/30 by Matt.Kuhlenschmidt
Made slate loading widget / movie play back more thread safe by eliminating Slate applicaiton or the main window from being ticked directly on another thread. We now have a separate virtual window for ticking and painting the loading screen widgets in isolation
Change 3372757 on 2017/03/30 by Nick.Darnell
Paragon - Fixing cases where people were using PostLoad() where really it should have done when the widget was constructed or created. This is a side effect of the FastWidget creation path 'PostLoad()' is not called on newly constructed widgets, though it did before because part of duplicating the WidgetTree, required serialization, which would have called it.
Change 3372777 on 2017/03/30 by Nick.Darnell
Fixing fast widget template cooking so that it does the same logic as Initialize did, centralizing the code to find the first widgetblueprintclass.
Change 3372949 on 2017/03/30 by Nick.Darnell
UMG - Fixing some cooking crashes for the super class.
Change 3373139 on 2017/03/30 by Jeff.Farris
Added TimingPolicy option to WidgetComponent, so widgets can optionally tick in game time rather than real time.
(Copy of CL 3279699 from Robo Recall to Dev-Editor)
Change 3373235 on 2017/03/30 by Nick.Darnell
Fixing a cooking issue, accidentally removed code that was properly loading some needed assets.
Change 3373266 on 2017/03/30 by Matt.Kuhlenschmidt
Made GetMoviePlayer thread safe. Simply accessing GetMoviePlayer is safe now as is checking IsLoadingFinished. However, most of the functions on movie player are only safe from the game thread!
Change 3374026 on 2017/03/31 by Andrew.Rodham
Sequencer: Moved evaluation group registration to IMovieSceneModule
#jira UE-43420
Change 3374060 on 2017/03/31 by Yannick.Lange
VR Editor: Collision on motion controllers in simulate.
Change 3374185 on 2017/03/31 by Nick.Darnell
Attempting to fix the build.
Change 3374232 on 2017/03/31 by Max.Chen
Sequencer: Fix audio not playing in editor
#jira UE-43514
Change 3374322 on 2017/03/31 by Nick.Darnell
UMG - SafeZone widget now has comments, and useful tips. Using the debugging console commands now trigger the broadcast that will cause controls like the SSafeZone widget to resample the display metrics to learn the new safezone ratio.
Change 3374424 on 2017/03/31 by Max.Chen
Updated test content so that the door animation is now set to "Keep State" for the When Finished property.
#jira UE-43519
Change 3374447 on 2017/03/31 by Max.Chen
Sequencer: Notify streaming system prior to camera cuts
By default, this does nothing. Users will need to enable the preroll section of camera cuts for the streaming system to activate prior to cutting to cameras.
#jira UE-42406
Change 3374571 on 2017/03/31 by Andrew.Rodham
Sequencer: Unified global and object-bound pre animated state, added InitializeObjectForAnimation method to state producers
Change 3374578 on 2017/03/31 by Andrew.Rodham
Sequencer: Added unit tests for pre-animated state
Change 3374592 on 2017/03/31 by Max.Chen
Color Customization: Set curve color names.
#jira UE-43405
Change 3374596 on 2017/03/31 by Andrew.Rodham
Corrected documentation comment
Change 3374671 on 2017/03/31 by Matt.Kuhlenschmidt
Fix movie scene audio track not compiling outside of editor
Change 3374689 on 2017/03/31 by Matt.Kuhlenschmidt
Remove the slate thread masquerading as the game thread in IsInGameThread
Change 3374730 on 2017/03/31 by Max.Chen
Sequencer: Add check for null loaded level.
Change 3374732 on 2017/03/31 by Max.Chen
Sequencer: Remove null tracks on postload.
Change 3374737 on 2017/03/31 by tim.gautier
- Updated UMG_Optimization: Adjusted Variable names to resolve compile errors due to Widget Components and Variables sharing names (cannot be done with new compile improvements)
- Set Level Blueprint for TM-UMG back to AllPalettes
Change 3374987 on 2017/03/31 by Nick.Darnell
UMG - Introducing a way to inform the widgets more information about the designer. There's now a DesignerChanged event sent to all design time widgets letting them know things like the current screen size and DPI scale.
UMG - The SafeZone widget will now show the correct safe zone amount if you use the safezone command line options, which are now documented in the comment for the USafeZone class.
Change 3375599 on 2017/03/31 by Max.Chen
Cine Camera: Update camera debug plane when property changes, rather rely soley on tick. This fixes a bug where sliding the value on the details panel doesn't update the debug plane in the viewport simultaneously.
#jira UE-43543
Change 3375601 on 2017/03/31 by Arciel.Rekman
Linux: switch to v9 cross-toolchain.
Change 3375856 on 2017/04/01 by Andrew.Rodham
Sequencer: Fixed 'formal parameter with requested alignment of 16 won't be aligned'
Change 3375870 on 2017/04/01 by Andrew.Rodham
Sequencer: Fixed explicit template instantiation ocurring before the complete definition of type's members
- This resulted such members not being instantiated (and hence exported) when compiled with clang
Change 3376114 on 2017/04/02 by Arciel.Rekman
Linux: make source code accessor aware of clang 3.9 and 4.0.
Change 3376138 on 2017/04/02 by Arciel.Rekman
Linux: add clang to fedora deps (UE-42123).
- PR #3273 submitted by cpyarger.
Change 3376159 on 2017/04/02 by Arciel.Rekman
Linux: some support for building on Debian Sid or Stretch (UE-35841).
- Basd on PR #2790 by haimat.
Change 3376163 on 2017/04/02 by Arciel.Rekman
Linux: install latest clang on Arch (UE-42341).
- This undoes PR #1905.
- PR #2897 by SiebenCorgie.
- PR #3302 by awesomeness872.
- PR #3341 by patrickelectric.
Change 3376167 on 2017/04/02 by Arciel.Rekman
Add FreeBSD mem info (courtesy support for the out of tree build) (UE-42994).
- PR #3378 by mdcasey.
Change 3376168 on 2017/04/02 by Arciel.Rekman
Linux: fixed VHACD Makefile on a case sensitive fs (UE-42905).
- PR #3381 by slonopotamus.
Change 3376177 on 2017/04/02 by Arciel.Rekman
SlateDlg: case-insensitive comparison of filter extensions (UE-39477).
- PR #3019 by aknarts.
Change 3376178 on 2017/04/02 by Arciel.Rekman
WebRTC: only x86_64 version exists for Linux.
Change 3376245 on 2017/04/03 by Andrew.Rodham
Sequencer: Re-enabled event order test
Change 3376339 on 2017/04/03 by Matt.Kuhlenschmidt
Fix crash during loading movie playback on DX12 due to not ever cleaning up old resources
#jira UE-27026
Change 3376481 on 2017/04/03 by Alex.Delesky
#jira UE-43495 - TMaps will now support customized key properties correctly.
Change 3376741 on 2017/04/03 by Matt.Kuhlenschmidt
Fix crash flushing font cache when loading a movie. This is no longer save on the slate movie thread
#jira UE-43567
Change 3376763 on 2017/04/03 by Shaun.Kime
Material Reroute nodes do not work for Texture Object Parameters as they return a base output type. Modified logic to now support this node type.
#jira UE-43521
Change 3376836 on 2017/04/03 by Jamie.Dale
Fixed text format history being clobbered by reference collection
#jira UE-37513
Change 3376852 on 2017/04/03 by Nick.Darnell
Paragon - Found a case where a user had marked a BindWidget property as Transient which prevents serializing the property binding now for widget fast mode.
#jira UE-43564
Change 3377207 on 2017/04/03 by Jamie.Dale
Desktop platform directory pickers are expected to return absolute paths
File pickers return relative paths though, and we should make this consistent at some point.
#jira UE-43588
Change 3377214 on 2017/04/03 by Matt.Kuhlenschmidt
Fix movie player shutdown crash in non-editor builds
#jira UE-43577
Change 3377299 on 2017/04/03 by Michael.Dupuis
#jira UE-43586 : properties should be non transactional
#jira UE-43559
Change 3378333 on 2017/04/04 by Michael.Dupuis
#jira UE-43585
#jira UE-43586
Revert back to purple color
Change 3378633 on 2017/04/04 by Matt.Kuhlenschmidt
Resaved this asset to avoid zero engine version warnings
Change 3378958 on 2017/04/04 by Nick.Darnell
Automation - Fixing the race condition to finish compiling shaders on screenshots for UI.
[CL 3379345 by Matt Kuhlenschmidt 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 2937390 on 2016/04/07 by Cody.Albert
#jira UE-29211
Fixed slider to properly bubble unhandled OnKeyDown events
Change 2939672 on 2016/04/11 by Richard.TalbotWatkin
Made a change to how file check out notifications work. Now the dirty package state is processed at the end of every tick, meaning that packages which are dirtied and then cleaned again are not processed. This fixes an issue where a number of child blueprints were flagged as needing checkout when a parent blueprint was compiled. This also allows multiple packages which are dirtied at the same time to be treated as one transaction.
#jira UE-29193 - "Files need check-out" prompt spams Blueprint users
Change 2939686 on 2016/04/11 by Richard.TalbotWatkin
A number of further improvements to mesh vertex color painting:
* Lower LODs are now automatically fixed up for instances which were created in a previous bugged version of the engine.
* Since lower LODs cannot currently have their vertex colors edited, their vertex colors are always derived from LOD0.
* Fixed a bug when building lower LODs so that vertices in neighboring octree nodes are considered when looking for the nearest vertex from LOD0 which corresponds.
* Fixed issue where static meshes with imported LODs would not have the lower LODs' override colors set when "Copy instance vertex colors to source mesh" was used (static meshes with generated LODs were always getting correct override colors).
#jira UE-28563 - Incorrectly displayed LOD VertexColor until paint mode is selected
Change 2939906 on 2016/04/11 by Nick.Darnell
Automation - Adding several enhancements to the automation framework and improving the UI.
* Tests in the UI now have a link to the source and line where they orginate.
* There's now a general purpose latent lambda command you can use to run arbitrary code latently.
* Added Inlined AddCommand for regular and networked commands to the base automation class, to avoid the use of the macro, which prevents breakpoints from working in lambda code.
* Front end now has better column displays offering more room to the test name
* Changed several events to the automation controller to multicast delegates so that many could hook them.
* The UI now refreshes the selection after tests finish so that the output log updates.
Change 2939908 on 2016/04/11 by Nick.Darnell
Automation - The editor import/export tests are now a complex test and actually sperate out all the tests that can be run, some trickiness was required on the filenames so that they didn't expand into more child tests in the UI. (replacing .'s with _'s)
Change 2940028 on 2016/04/11 by Nick.Darnell
Automation - Removing the search box from the toolbar. It's now inlined above the test tree. Tweaking the padding to make it look more other windows and make everything not look so squished. Recursive expansion now works on tests.
Change 2940066 on 2016/04/11 by Nick.Darnell
Automation - Moving the filter group dropdown out of the toolbar and onto the line with the search box above the treeview - additional tweaks to it.
Change 2940092 on 2016/04/11 by Jamie.Dale
PR #2248: Datatable select next row (Contributed by FineRedMist)
Change 2940093 on 2016/04/11 by Jamie.Dale
PR #2248: Datatable select next row (Contributed by FineRedMist)
Change 2940157 on 2016/04/11 by Jamie.Dale
Fixing FTextTest due to some changes made to how currency is formatted
Change 2940694 on 2016/04/12 by Richard.TalbotWatkin
Fixed issue where vertex override colors were not being propagated correctly for generated lower LODs.
#jira UE-29360 - Override Colors not propagated correctly to generated lower LODs
Change 2942379 on 2016/04/13 by Richard.TalbotWatkin
Fixed issue where entering PIE while selecting an actor in Mesh Paint mode could lead to a MeshPaintStaticMeshAdapter holding onto an invalid pointer to an old mesh component, and causing a crash upon leaving the mode. This can happen because, when loading a new streaming level, the proxy actor can be selected when starting PIE, which will subsequently be added to the tool's internal lists. This needs to be added as a GC reference so that it can be NULLed when forcibly destroyed.
#jira UE-29345 - Crash occurs exiting the editor after enabling mesh paint mode and PIEing
Change 2942947 on 2016/04/13 by Richard.TalbotWatkin
Fixed crash when pasting a material function call node from one project to another in which it is not defined.
#jira UE-27087 - Crash when pasting MaterialFunctionCall expressions into the material editor between projects
Change 2943452 on 2016/04/14 by Richard.TalbotWatkin
Updated F4 debug key binding to match what's in ShowFlags.cpp
PR #2197 (contributed by mfortin-bhvr)
Change 2943824 on 2016/04/14 by Alexis.Matte
#jira UE-29090
Make sure we cannot open the color picker when a property is edit const
Change 2943841 on 2016/04/14 by Alexis.Matte
#jira UE-28924
tooltip was add for every hierarchy import option
Change 2943927 on 2016/04/14 by Alexis.Matte
#jira UE-29423
Add Obj support for scene importer
Github PR #2272
Change 2943967 on 2016/04/14 by Richard.TalbotWatkin
Added relevant fields from FBodyInstance to the FoliageType customizations.
#jira UE-20138 - FoliageType has a FBodyInstance but only shows Collision Presets and not other FBodyInstance properties
Change 2948397 on 2016/04/19 by Andrew.Rodham
Moved FSlateIcon definition to SlateCore
It was previously declared as SLATE_API, despite its header residing inside SlateCore. Reviewed by Jamie Dale.
Change 2948805 on 2016/04/19 by Andrew.Rodham
Editor: Deprecated FName UEdGraphNode::GetPaletteIcon(FLinearColor&); in favor of FSlateIcon UEdGraphNode::GetIconAndTint(FLinearColor&); to allow for icons in external style sets to be used.
- Previously, all icons were assumed to reside within FEditorStyle, which is not the case and would create broken icons in the graph editor. All relevant code has been updated to use FSlateIcon structures instead of a simple name.
- This change required a significant overhaul to FClassIconFinder to support FSlateIcons. To keep the API clean, FSlateIconFinder now deals with FSlateIcon class icon finding operations, and FClassIconFinder for the most part just adds actor specific logic.
#jira UE-26502
Change 2950658 on 2016/04/20 by Alexis.Matte
#jira UE-24333
Skinxx workflow, we now output an error if there is mix of material with skinxx and some with no skinxx suffix
Change 2950663 on 2016/04/20 by Alexis.Matte
#jira UE-29582
When exporting to fbx we have to export each material instance as one fbx material
Change 2951240 on 2016/04/21 by Alexis.Matte
#jira UE-28473
Make sure light are render properly after importing a fbx scene
Change 2951421 on 2016/04/21 by Alexis.Matte
#jira UE-29773
fbx skeletalmesh import now support mesh hierarchy
Change 2955873 on 2016/04/26 by Richard.TalbotWatkin
PR #2225: Fix working package directory from the launch profiles (Contributed by projectgheist)
Change 2955965 on 2016/04/26 by Nick.Darnell
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 2956717 on 2016/04/26 by Andrew.Rodham
Editor: World Outliner now correctly calls ProcessEditDelete on editor modes that have asked to process delete operations
#jira UE-26968
Change 2956822 on 2016/04/26 by Andrew.Rodham
Editor: Fixed actors not being removed from the scene outliner when they are added and removed on the same frame
#jira UE-7777
Change 2956931 on 2016/04/26 by Nick.Darnell
New Module - UATHelper - Moving the UAT launching code from the MainFrame module into a reusable module other modules can trigger.
Change 2956932 on 2016/04/26 by Nick.Darnell
Plugins - Now allowing you to package a plugin from the plugin browsing view. Still work in progress.
Change 2957164 on 2016/04/26 by Nick.Darnell
Hot Reload - Fixing hot reload, it no longer creates a temporary copy of the module manager. Making the copy constructor private on the module manager to prevent this in the future.
Change 2957165 on 2016/04/26 by Nick.Darnell
Fixing the Editor Mode plugin sample, it no longer provides a bad starting example for where to create your widgets.
#jira UE-28456
Change 2957510 on 2016/04/27 by Nick.Darnell
PR #2198: Git Plugin implement the Sync operation to update local files using the git pull --rebase command (Contributed by SRombauts)
#jira UE-28763
Change 2957511 on 2016/04/27 by Andrew.Rodham
Editor: Make favorites button on details panel non-focusable
- This was preventing users being able to tab between value fields on the details panel
Change 2957610 on 2016/04/27 by Nick.Darnell
PR #1836: Git plugin: make initial commit when initializing new project (Contributed by SRombauts)
#jira UE-24190
Change 2957667 on 2016/04/27 by Jamie.Dale
Fixed crash that could happen in FTextLayout::GetLineViewIndexForTextLocation if passed a bad location
#jira OR-18634
Change 2958035 on 2016/04/27 by Nick.Darnell
Fixing the DesignerRebuild flag detection so that we can just refresh the slate widget without recreating the preview UObject, which causes the destruction of the details panel, and the slate widget recreation was the only part that was required.
Change 2958272 on 2016/04/27 by Jamie.Dale
Added FAssetData::GetTagValue to handle getting asset tag values in a type-correct way
This allows type-conversion using LexicalConversion, and also has specializations for FString, FText, and FName.
#jira UE-12096
Change 2958348 on 2016/04/27 by Jamie.Dale
PR #2282: Slate font shutdown order fix (Contributed by FineRedMist)
Change 2958352 on 2016/04/27 by Jamie.Dale
Fixed the subtitle manager updating the wrong list of subtitles
#jira UE-29511
Change 2958390 on 2016/04/27 by Jamie.Dale
Removed some old placement-new style array insertions
Change 2959360 on 2016/04/28 by Richard.TalbotWatkin
Fixed potential crash when mesh painting actors whose geometry adapters are no longer registered.
#jira UE-29615 - [CrashReport] UE4Editor_MeshPaint!FEdModeMeshPaint::DoPaint() [meshpaintedmode.cpp:1127]
Change 2959724 on 2016/04/28 by Cody.Albert
Merging hardware survey gating logic from 4.10
#jira UE-28666
Change 2959807 on 2016/04/28 by Cody.Albert
Removed deprecated function call
#jira UE-28666
Change 2959894 on 2016/04/28 by Cody.Albert
Fix for scroll offset being clamped by content size, not scroll max
#jira UE-20676
Change 2960048 on 2016/04/28 by Jamie.Dale
Added FAssetData::GetTagValueRef to go along with FAssetData::GetTagValue
#jira UE-12096
Change 2960782 on 2016/04/29 by Jamie.Dale
Updating code to use the new FText aware asset registry tag functions
#jira UE-12096
Change 2960885 on 2016/04/29 by Jamie.Dale
Updating code to use the new FText aware asset registry tag functions
#jira UE-12096
Change 2961170 on 2016/04/29 by Jamie.Dale
Updating code to use the new FText aware asset registry tag functions
#jira UE-12096
Change 2961171 on 2016/04/29 by Jamie.Dale
Updating code to use the new FText aware asset registry tag functions
#jira UE-12096
Change 2961173 on 2016/04/29 by Jamie.Dale
Removed some inline duplication on the specialized template functions
#jira UE-12096
Change 2963124 on 2016/05/02 by Jamie.Dale
FExternalDragOperation can now contain both text and file data at the same time
This better mirrors what the OS level drag-and-drop operations are capable of, and some applications will actually give you both bits of data at the same time.
#jira UE-26585
Change 2963175 on 2016/05/02 by Jamie.Dale
Updated some font editor tooltips to be more descriptive
#jira UE-17429
Change 2963290 on 2016/05/02 by Jamie.Dale
The Localise UAT command can now be run with a null localisation provider
Change 2963305 on 2016/05/02 by Jamie.Dale
Fixed minor typo
Change 2963402 on 2016/05/02 by Jamie.Dale
Cleaned up all the current localization key conflicts and warnings from gathering Engine code
#jira UE-25833
Change 2963415 on 2016/05/02 by Jamie.Dale
Rephrased a message that could generate a CIS warning
#jira UE-25833
Change 2964184 on 2016/05/03 by Jamie.Dale
Fixed duplicate "Font" entry in asset picker menu
This was caused by PropertyCustomizationHelpers::GetNewAssetFactoriesForClasses using CanCreateNew rather than ShouldShowInNewMenu, as UFont has two factories, but one is supposed to be hidden from the UI.
We also now make sure the factories are sorted by display name before being shown in the UI.
#jira UE-24903
Change 2966108 on 2016/05/04 by Nick.Darnell
Engine - Rearranging the order of ELoadingPhase's enums so that they match the loading order of modules.
Change 2966113 on 2016/05/04 by Nick.Darnell
[Engine Loop Change] UEngine now defines a Start() function, that subclasses can use to start game related things after initialization of the engine. This is done so that after the Init() call on UEngine, we can then perform a module load for the ELoadingPhase::PostEngineInit phase of loading, then inform the UEngine that it's time to start the game. Therefore, UGameEngine now tells the GameInstance to Start during this phase now.
Change 2966121 on 2016/05/04 by Jamie.Dale
Config writing improvements when dealing with property values
This updates FConfigFile::ShouldExportQuotedString to make sure that a property value containing any characters that FParse::LineExtended will consume when parsing back in the config file (such as { and }, or a trailing \) cause the string to be quoted.
This also adds FConfigFile::GenerateExportedPropertyLine to generate the INI key->value lines in a consistent and correctly escaped way, and makes sure that everything that writes out lines to a config file uses it.
FConfigCacheIni::SetString and FConfigCacheIni::SetText have been updated to update the value even if it only differs by case.
UObject::SaveConfig and UObject::LoadConfig have had some code whitespace fix-up (from a bad merge).
Change 2966122 on 2016/05/04 by Jamie.Dale
Added a setting to control dialogue wave audio filenames
Change 2966481 on 2016/05/04 by Jamie.Dale
PR #2336: BUGFIX: Selection of objects in the Content browser from WorldSettings (Contributed by projectgheist)
Change 2966887 on 2016/05/04 by Jamie.Dale
PR #2336: BUGFIX: Selection of objects in the Content browser from WorldSettings (Contributed by projectgheist)
Change 2967488 on 2016/05/05 by Ben.Marsh
Changes to support packaging plugins from the editor.
* UBT now has an option to explicitly disable hot-reloading in any circumstances.
* When running with -module arguments for a monolithic target, UBT will no longer try to relink the executable in source builds (so it's possible to compile plugin libs outside of an installed engine build without having already built UE4Game).
* When packaging, a temporary host project is always generated in the output directory to avoid invalidating intermediates in the source directory.
* An empty Config\FilterPlugin.ini file is written out with instructions on how to list additional files to package if it is not already present.
Change 2967947 on 2016/05/05 by Nick.Darnell
PR #2358: Properly display Mip Level Count and Format for UTexture2DDynamic Textures (Contributed by Allegorithmic)
#jira UE-30371
Change 2968333 on 2016/05/05 by Jamie.Dale
Fixed MultiLine not working with arrays of string or text properties
- The detail customizations for FString and FText properties now read the meta-data off the correct property.
- The UDS editor now lets you set the "MultiLine" meta-data on arrays of FString and FText properties.
- Fixed changing the "MultiLine" flag on a UDS property not rebuilding the default value editor.
- Fixed the default values panel in the UDS editor having a title area.
#jira UE-30392
Change 2968999 on 2016/05/06 by Jamie.Dale
Fixed infinite loop in the editor if a directory that is being watched is deleted
#jira UE-30172
Change 2969105 on 2016/05/06 by Richard.TalbotWatkin
Fixed issue where opening a submenu while the parent menu had a text box focused would lead to a crash. The graph node comment text widget now only dismisses all menus if the text commit info implies that it was committed by some user action.
#jira UE-29086 - Crash When Typing a Node Comment and Hovering Over the Alignment Option
Change 2969440 on 2016/05/06 by Jamie.Dale
Significant performance improvements when pasting a large amount of text
#jira UE-19712
Change 2969619 on 2016/05/06 by Andrew.Rodham
Auto-reimport is now disabled inside an editor running in unattended mode
Change 2969621 on 2016/05/06 by Jamie.Dale
Added the ability to override the subtitle used on a dialogue wave
This is useful for effort sounds, plus some other cases, such as characters speaking in a foreign language not known to the player.
#jira UETOOL-795
Change 2970588 on 2016/05/09 by Chris.Wood
Fix typo in operator expression in UEndUserSettings::SetSendAnonymousUsageDataToEpic()
[UE-26958] - GitHub 2056 : Fixing typo in the operator
#2056
Change 2971151 on 2016/05/09 by Chris.Wood
Logging ensure fails as errors. Automated tests with ensure fails will be unsuccessful.
[UE-19579] - If an ensure() fails within an automated test, the test can still show a positive result.
[UE-26575] - GitHub 2030 : Add error-severity message to log on ensure.
PR #2030
Change 2971267 on 2016/05/09 by Alexis.Matte
Wrong parameter when calling GetImportOptions
#jira UE-30299
Change 2972073 on 2016/05/10 by Richard.TalbotWatkin
Fixed UModel methods which make surfaces as modified.
#jira UE-28831 - Unable to undo material placement on BSP
Change 2972329 on 2016/05/10 by Nick.Darnell
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 2972887 on 2016/05/10 by Alexis.Matte
#jira UE-30167
We now import the geometric transform also when we uncheck the absolute transform in the vertex.
Change 2973664 on 2016/05/11 by Nick.Darnell
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 2973717 on 2016/05/11 by Nick.Darnell
Fixing compiler issues from main merge.
#jira UE-30590
Change 2973846 on 2016/05/11 by Jamie.Dale
Exposed FConfigValue::ExpandValue and added FConfigValue::CollapseValue
These are both static and can be used to expand or collapse the macros used in our config files (mostly when dealing with paths), in code that has to deal with the config system, but isn't internal to the config system (mostly things that deal with default configs outside of UObjects).
The old non-static version of FConfigValue::ExpandValue is now FConfigValue::ExpandValueInternal, which just calls FConfigValue::ExpandValue on SavedValue and ExpandedValue.
This also changes some code that was using FString.Replace to use FString.ReplaceInline. This reduces allocations, and also allows us to avoid another string comparison to see whether the strings are identical (as ReplaceInline returns the number of replacements that were made).
Change 2973847 on 2016/05/11 by Jamie.Dale
Changing the loading phase in the localization dashboard now writes to the default config
#jira UE-30482
Change 2973866 on 2016/05/11 by Jamie.Dale
Deprecated some functions that were taking an unused position.
These unused parameters caused confusion and lead to UE-30276. The old versions have been deprecated, and new versions without those parameters have been added. Existing code has been updated to call the non-deprecated version.
- FViewportFrame::ResizeFrame
- FSceneViewport::ResizeFrame
- FSceneViewport::ResizeViewport
[CL 2973886 by Nick Darnell in Main branch]
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2898120 on 2016/03/07 by Chris.Babcock
Disable NvTimerQuery on Nexus 9 before Android 6.0 to fix slow frame updates
#jira UE-28013
#ue4
#android
Change 2898539 on 2016/03/08 by Matthew.Griffin
Merging //UE4/Dev-Build to //UE4/Release-4.11
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2898788 on 2016/03/08 by Keith.Judge
Latest DX12.x integration from Microsoft. Brings XB1 up to PC level of functionality and improved perf.
#jira UEPLAT-325
Change 2898836 on 2016/03/08 by Taizyd.Korambayil
#jira UE-27990 Reimported River_Basin_02 Mesh with Adjacency Buffer
Change 2898897 on 2016/03/08 by Sean.Gribbin
#Jira UE-26550
Adding name to credits of Match 3
Change 2898938 on 2016/03/08 by Taizyd.Korambayil
#jira UE-26284 Fixed Up Some Materials and BP errors
Change 2898967 on 2016/03/08 by Benjamin.Hyder
Updating Qa_Materials map
#jira UE-24473
Change 2899032 on 2016/03/08 by Zachary.Wilson
Fixing broken assets in QA-LightsStationary and eliminating log errors. Fixing mispelling and player start height in QA-LightsStationary.
#jira UE-24473
Change 2899244 on 2016/03/08 by Peter.Sauerbrei
addition of launch images for iPad Pro
#jira UE-24793
Change 2899335 on 2016/03/08 by Richard.Hinckley
#jira UE-27356
Fixing code for VR headsets so that the camera starts inside the vehicle if the user has an active HMD. Found that the C++ templates never had HMD support, so mirroring the BP templates for that functionality. Works in my testing, but a proper QA pass should be performed.
Change 2899402 on 2016/03/08 by Michael.Schoell
Macro instance nodes now have a hard dependency to any object class or structs their pins reference.
Expanded UK2Node_MacroInstance::HasExternalDependencies to iterate over all pins and add their struct or object's class.
#jira UE-27795 - Split Pins on a referenced Macro Library will crash the editor on restart
Change 2899424 on 2016/03/08 by Dmitry.Rekman
Fix CrossCompilerTool on Linux (UE-28056).
#jira UE-28056
Change 2899445 on 2016/03/08 by Dmitry.Rekman
Fix CrossCompilerTool invocation in debug scripts.
#jira UE-28056
Change 2899488 on 2016/03/08 by Ryan.Vance
#jira UE-28000
We can't test how many views are in the view family when initializing a view. There's no guaruntee that the family is setup yet. We'll need to move this test to the calling code.
Change 2899546 on 2016/03/08 by Zachary.Wilson
Updating QA-PostProcessing to match the 4.12 Main version of the map.
#jira UE-24473
Change 2899553 on 2016/03/08 by Michael.Schoell
Reinstancer will no longer queue BPs to be saved when compiling skeleton class dependencies and will no longer process all queued BPs to save when it is complete.
#jira UE-27509 - Save on compile set to always causes a crash on compile
#jira UE-27856 - "Always" Save on Compile does not save the Blueprint
Change 2899558 on 2016/03/08 by Benjamin.Hyder
building Lighting for QA-Materials
#jira UE-24473
Change 2899597 on 2016/03/08 by Chris.Babcock
Change reporting level of audio buffer decompression type logging
#jira UE-28058
#ue4
#android
Change 2899704 on 2016/03/08 by Benjamin.Hyder
Updating Qa-Materials map
#Jira UE-24473
Change 2899736 on 2016/03/08 by Benjamin.Hyder
Updating TM-LPV map
#Jira UE-24473
Change 2899810 on 2016/03/08 by Lauren.Ridge
#jira UE-27995 UE-27987
Final UM3 UI Tweaks, + bug fix
Change 2899876 on 2016/03/08 by Peter.Sauerbrei
[CL 2913181 by Matthew Griffin in Main branch]
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2716841 on 2015/10/05 by Mike.Beach
(WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool).
#codereview Maciej.Mroz
Change 2719089 on 2015/10/07 by Maciej.Mroz
ToValidCPPIdentifierChars handles propertly '?' char.
#codereview Dan.Oconnor
Change 2719361 on 2015/10/07 by Maciej.Mroz
Generated native code for AnimBPGC - some preliminary changes.
Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface.
Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass"
The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation.
#codereview Lina.Halper, Thomas.Sarkanen
Change 2719383 on 2015/10/07 by Maciej.Mroz
Debug-only code removed
Change 2720528 on 2015/10/07 by Dan.Oconnor
Fix for determinsitc cooking of async tasks and load asset nodes
#codereview Mike.Beach, Maciej.Mroz
Change 2721273 on 2015/10/08 by Maciej.Mroz
Blueprint Compiler Cpp Backend
- Anim Blueprints can be converted
- Various fixes/improvements
Change 2721310 on 2015/10/08 by Maciej.Mroz
refactor (cl#2719361) - no "auto" keyword
Change 2721727 on 2015/10/08 by Mike.Beach
(WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes.
- Refactored the conversion manifest (using a map over an array)
- Centralized destination paths into a helper struct (for the manifest)
- Generating an Editor module that automatically hooks into the cook process when enabled
- Loading and applying native replacments for the cook
Change 2723276 on 2015/10/09 by Michael.Schoell
Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint.
#jira UE-16695 - Editor freezes then crashes while attempting to save during PIE
#jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736
Change 2724345 on 2015/10/11 by Ben.Cosh
Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display.
#UEBP-21 - Profiling data capture and storage
#UEBP-13 - Performance capture landing page
#Branch UE4
#Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine
Change 2724613 on 2015/10/12 by Ben.Cosh
Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed.
#Branch UE4
#Proj BlueprintProfiler
#info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated.
Change 2724723 on 2015/10/12 by Maciej.Mroz
Constructor of a dynamic class creates CDO.
#codereview Robert.Manuszewski
Change 2725108 on 2015/10/12 by Mike.Beach
[UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others.
Change 2726358 on 2015/10/13 by Maciej.Mroz
UDataTable is properly saved even if its RowStruct is null.
https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html
Change 2727395 on 2015/10/13 by Mike.Beach
(WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance.
* Using stubs for replacements (rather than loading dynamic replacement).
* Giving the cook commandlet more control (so a conversion could be ran directly).
* Now logging replacements by old object path (to account for UPackage replacement queries).
* Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz).
#codereview Maciej.Mroz
Change 2727484 on 2015/10/13 by Mike.Beach
[UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate.
Change 2727527 on 2015/10/13 by Mike.Beach
Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening.
Change 2727702 on 2015/10/13 by Dan.Oconnor
Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events)
Change 2727968 on 2015/10/14 by Maciej.Mroz
Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in ConstructorHelpers::FClassFinder from being obsolete.
FindOrLoadClass behaves now like FindOrLoadObject.
#codereview Robert.Manuszewski, Nick.Whiting
Change 2728139 on 2015/10/14 by Phillip.Kavan
Added null check for Macro metadata return to stop attempts to access null pointer when retrieving the macro's title.
#jira UE-20717 - Compiling a Blueprint that references a deleted Macro from a Custom Macro Library will crash the editor
[CL 2680816 by Michael Schoell in Main branch]