Moved the parsing of the enumeration form and underlying type to the pre-parser so they can be accessed during the parse phase.
Fixed "warning as errors" return code.
Removed the SimplePropertyTypeDispatch since it was only used the the version that supported containers.
#rb self
#rnx
#preflight 60af9c85cd591d0001bc9a6e
[CL 16483831 by Tim Smith in ue5-main branch]
- Up to CL8320930 from DevOnline and 8311605 Merge Down from Main
- skipped some Fortnite content/plugins/code where it tried to reintegrate files that had been moved pending investigation
#rb none
[CL 8321295 by Josh Markiewicz in Main branch]
- Brings over the necessary engine changes for embedding UE4 mobile as a dylib/so in native mobile app
- Various changes for facial animation, screen recording, others
- ARKit and ARCore plugins were removed, as deemed "not ready"
#rb many people
#ROBOMERGE-OWNER: josh.adams
#ROBOMERGE-AUTHOR: josh.adams
#ROBOMERGE-SOURCE: CL 5201138 via CL 5203024
[CL 5226277 by Josh Adams in Main branch]
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3805828 by Gil.Gribb
UE4 - Fixed a bug in the lock free stalling task queue and adjusted a comment. The code is not current used, so this is not actually change the way the code works.
Change 3806784 by Ben.Marsh
UAT: Remove code to compile UBT when using UE4Build. It should already be compiled as a dependency of UAT.
Change 3807549 by Graeme.Thornton
Add a cook timer around VerifyCanCookPackage. A licensee reports this taking a lot of time so it'll be good to account for it.
Change 3807727 by Graeme.Thornton
Unhide the text asset format experimental editor option
Change 3807746 by Josh.Engebretson
Remove WER from iOS platform
Change 3807928 by Robert.Manuszewski
When async loading, GC Clusters will be created after packages have been processed to avoid situations where some of the objects that are being added to a cluster haven't been fully loaded yet
Change 3808221 by Steve.Robb
GitHub #4307 - Made GetModulePtr() thread safe by not using GetModule()
^ I'm not convinced by how much thread-safer this is really, but it's tidier anyway.
Change 3809233 by Graeme.Thornton
TBA: Misc changes to text asset commandlet
- Rename mode to "loadsave"
- Add -outputFormat option which can be assigned "text" or "binary"
- When saving binary, use a differentiated filename so that source assets aren't overwritten
Change 3809518 by Ben.Marsh
Remove the outdated UnrealSync automation script.
Change 3809643 by Steve.Robb
GitHub #4277 : fix bug; FMath::FormatIntToHumanReadable 3rd comma and negative value
#jira UE-53037
Change 3809862 by Steve.Robb
GitHub #3342 : [FRotator.h] Fix to DecompressAxisFromByte to be more efficient and reflect its intent accurately
#jira UE-42593
Change 3811190 by Graeme.Thornton
Add support for writing specific log channels to their own files
Change 3811197 by Graeme.Thornton
Minor updates to output formatting and timing for the text asset commandlet
Change 3811257 by Robert.Manuszewski
Cluster creation will now be time-sliced
Change 3811565 by Steve.Robb
Define out non-monolithic module functions.
Change 3812561 by Steve.Robb
GitHub #3886 : Enable Brace-Initialization for Declaring Variables
Incorrect semi-colon search removed after discussion with author.
Test added.
#jira UE-48242
Change 3812864 by Steve.Robb
Removal of some unproven code which was supposed to fix hot reloading BP class functions in plugins.
See: https://udn.unrealengine.com/questions/376978/aitask-blueprint-nodes-disappear-when-their-module.html
#jira UE-53089
Change 3820358 by Ben.Marsh
PR #4358: Incredibuild use ShowAgent by default (Contributed by projectgheist)
Change 3822594 by Ben.Marsh
UAT: Improvements to log file handling.
- Always create log files in the final location, rather than writing to a temp directory and copying in later.
- Now supports -Verbose and -VeryVerbose for increasing log verbosity, rather than -Verbose=XXX.
- Keep a backlog of log output before the log system is initialized, and flush it to the log file once it is.
- Allow buildmachines to specify the uebp_FinalLogFolder environment variable, which is used to form paths for display. When build machines copy log files elsewhere after UAT finishes (eg. a network share), this allows error messages to display the right location.
Change 3823695 by Ben.Marsh
UGS: Fix issue where precompiled binaries would not be shown as available for a change until scrolling the last submitted code change into the buffer (other symptoms, like de-focussing the main window would cause it to go back to an unavailable state, since the changes buffer was shrunk).
Now always queries changes up to the last change for which zipped binaries are available.
Change 3823845 by Ben.Marsh
UBT: Exclude C# projects for unsupported platforms when generating project files.
Change 3824180 by Ben.Marsh
UGS: Add an option to show changes by build machines, and move the "only show reviewed" option in there too (Options > Show Changes).
#jira
Change 3825777 by Steve.Robb
Fix to return value of StringToBytes.
Change 3825810 by Ben.Marsh
UBT: Reduce length of include paths for MSVC toolchain.
Change 3825822 by Robert.Manuszewski
Optimized PIE lazy pointer fixup. Should be up to 8x faster now.
Change 3826734 by Ben.Marsh
Remove code to disable TextureFormatAndroid on Linux. It seems to be an editor dependency.
Change 3827730 by Steve.Robb
Try to avoid decltype(auto) if it's not supported.
See: https://udn.unrealengine.com/questions/395644/build-417-with-c11-on-linux-ttuple-errors.html
Change 3827745 by Steve.Robb
Initializer list support for TMap.
Change 3827770 by Steve.Robb
GitHub #4399 : Added a CONSTEXPR qualifiers to FVariant::GetType()
#jira UE-53813
Change 3829189 by Ben.Marsh
UBT: Now always writes a minimal log file. By default, just contains the regular console output and any reasons why actions are outdated and needed to be executed. UAT directs child UBT instances to output logs into its own log folder, so that build machines can save them off.
Change 3830444 by Steve.Robb
BuildVersion and ModuleManifest moved to Core, and parsing of these files reimplemented to avoid a JSON library.
This should be revisited when Core has its own JSON library.
Change 3830718 by Ben.Marsh
Fix incorrect group name being returned by FStatNameAndInfo::GetGroupName() for stat groups.
The editor populates the viewport stats list by calling this for every registered stat and stat group (via FLevelViewportCommands::HandleNewStatGroup). The menu entry attempts to show the stat name with STAT_XXX stripped from the start as the menu item label, with the free-form text description as a tooltip.
For stat groups, the it would previously just return the stat group name as "Groups" (due to the raw naming convention of "//Groups//STATGROUP_Foo//..."). Since this didn't match the expected naming convention in FLevelViewportCommands::HandleNewStat (ie. STAT_XXX or STATGROUP_XXX), it would fail to add it.
When the first actual stat belonging to that group is added, it would add a menu entry for the group based on that, but the stat description no longer makes sense as a tooltip for the group. As a result, all the editor tooltips were junk.
#jira UE-53845
Change 3831064 by Ben.Marsh
Fix log file contention when spawning UBT recursively.
Change 3832654 by Ben.Marsh
UGS: Fix error panel not being selected when opened, and weird alignment/color issues on it.
Change 3832680 by Ben.Marsh
UGS: Fix failing to detect workspace if synced to a different stream. Seems to be a regression caused by recent P4D upgrade.
Change 3832695 by Ben.Marsh
UGS: Invert the options in the 'Show Changes' submenu for simplicity.
Change 3833528 by Ben.Marsh
UAT: Script to rewrite source files with public include paths relative to the 'Public' folder. Usage is: RebasePublicIncludePaths -UpdateDir=<Dir> [-Project=<Dir>] [-Write].
Change 3833543 by Ben.Marsh
UBT: Allow targets to opt-out of having public include paths added for every dependent module. This reduces the command line length when building a target, which has recently become a problem with larger games (due to Microsoft's compiler embedding the command line into each object file, with a maximum length of 64kb). All engine modules are compiled with this enabled; games may opt into it by setting bLegacyPublicIncludePaths = false; from their .target.cs, as may individual modules.
Change 3834354 by Robert.Manuszewski
Archetype pointer will now be cached to avoid locking the object tables when acquiring its info. It should also be faster this way regardless of any locks.
#jira UE-52035
Change 3834400 by Robert.Manuszewski
Fixing crash on exit caused by cached archetypes not being cleaned up before static exit cleanup.
#jira UE-52035
Change 3834947 by Steve.Robb
USE_FORMAT_STRING_TYPE_CHECKING removed from FMsg::Logf and FMsg::Logf_Internal.
Change 3835004 by Ben.Marsh
Fix code that relies on dubious behavior of requiring referenced "include path only" modules having their _API macros set to be empty, even if the module is actually implemented in a separate DLL.
Change 3835340 by Ben.Marsh
Fix errors making installed build from directories with spaces in the name.
Change 3835972 by Ben.Marsh
UBT: Improved diagnostic message for targets which don't need a version file.
Change 3836019 by Ben.Marsh
UBT: Fix warnings caused by defining linkage macros for third party libraries.
Change 3836269 by Ben.Marsh
Fix message box larger than the screen height being created when a large number of modules are incompatible on startup.
Change 3836543 by Ben.Marsh
Enable SoundMod plugin on Linux, since it's already supported through the editor.
Change 3836546 by Ben.Marsh
PR #4412: fix type mismatch (Contributed by nakapon)
Change 3836805 by Ben.Marsh
Fix commandlet to compile marketplace plugins.
Change 3836829 by Ben.Marsh
UBT: Fix ability to precompile plugins from installed engine builds.
Change 3837036 by Ben.Marsh
UBT: Write the previous and new contents of intermediate files to the log if they change. Makes it easier to debug unexpected rebuilds.
Change 3837037 by Ben.Marsh
UBT: Fix engine modules having inconsistent definitions depending on whether modules are only referenced for their include paths vs being linked into a binary (due to different _API macro).
Change 3837040 by Ben.Marsh
UBT: Remove code that initializes members in ModuleRules and TargetRules objects before the constructor is run. This is no longer necessary, now that the backwards-compatible default constructors have been removed.
Change 3837247 by Ben.Marsh
UBT: Remove UELinkerFixups module, now that plugins and precompiled modules do not require hacks to force initialization (since they're linked in as object files).
Encryption and signing keys are now set via macros expanded from the IMPLEMENT_PRIMARY_GAME_MODULE macro, via project-specific macros added in the TargetRules constructor.
Change 3837262 by Ben.Marsh
UBT: Set whether a module is an engine module or not via a default value for the rules assembly. All non-program engine and enterprise modules are created with this flag set to true; program targets and modules are now created from a different assembly that sets it to false. This removes hacks from UEBuildModule needed to adjust behavior for different module types based on the directory containing the module.
Also add a bUseBackwardsCompatibleDefaults flag to the TargetRules class, also initialized to a default value from a setting passed to the RulesAssembly constructor. This controls whether modules created for the target should be configured to allow breaking changes to default settings, and is set to false for all engine targets, and true for all project targets.
Change 3837343 by Ben.Marsh
UBT: Remove the OverrideExecutableFileExtension target property. Change the only current use for this (the MayaLiveLinkPlugin target) to use a post build step to copy the file instead.
Change 3837356 by Ben.Marsh
Fix invalid character encodings.
Change 3837727 by Graeme.Thornton
UnrealPak: KeyGenerator: Only generate prime table when required, not all the time
Change 3837823 by Ben.Marsh
UBT: Output warnings and errors when compiling module rules assembly in a way that allows them to be double-clicked in the Visual Studio output window.
Change 3837831 by Graeme.Thornton
UBT: When parsing crypto settings, always load legacy data first, then allow the new system to override it. Provides the same key backwards compatibility that the editor settings class gives
Change 3837857 by Robert.Manuszewski
PR #4404: Make FGCArrayPool singleton global instead of per-CU (Contributed by mhutch)
Change 3837943 by Robert.Manuszewski
PR #4405: Fix FGarbageCollectionTracer (Contributed by mhutch)
Change 3838451 by Ben.Marsh
UBT: Fix exceptions thrown on a background thread while caching C++ includes not being caught and logged correctly. Now captures exceptions and re-throws on the main thread.
#jira UE-53996
Change 3839519 by Ben.Marsh
UBT: Simplify configuring bPrecompile and bUsePrecompile settings for modules. Each rules assembly can now be configured as installed, which defaults the module rules it creates to use precompiled data.
Change 3843790 by Graeme.Thornton
UnrealPak: Log the size of all encrypted data
Change 3844258 by Ben.Marsh
Fix plugin compile failure when created via new plugin wizard. Passing -plugin on the command line is unnecessary, and is now reserved for packaging external plugins for the marketplace.
Also extend the length of time that the error toast stays visible, and don't delete the plugin on failure.
#jira UE-54157
Change 3845796 by Ben.Marsh
Workaround for slow performance of String.EndsWith() on Mono.
Change 3845823 by Ben.Marsh
Fix case sensitive matching of platform names in -TargetPlatform=X argument to BuildCookRun.
#jira UE-54123
Change 3845901 by Arciel.Rekman
Linux: fix crash due to lambda lifetime issues (UE-54040).
- The lambda goes out of scope in FBufferVisualizationMenuCommands::CreateVisualizationCommands, crashing the editor if compiled with a recent clang (5.0+).
(Edigrating 3819174 to Dev-Core)
Change 3846439 by Ben.Marsh
Revert CL 3822742 to always call Process.WaitForExit(). The Android target platform module in the editor spawns ADB.EXE, which inherits the editor's stdout/stderr handles and forks itself. Process.WaitForExit() waits for EOF on those pipes, which never occurs because the forked process never terminates.
Proper fix is probably to have the engine explicitly duplicate stdout/stderr handles for new pipes to output process, but too risky before copying up to Main.
Change 3816608 by Ben.Marsh
UBT: Use DirectoryReference objects for all include paths.
Change 3816954 by Ben.Marsh
UBT: Remove bIncludeDependentLibrariesInLibrary option. This is not widely supported by platform toolchains, and is not used anywhere.
Change 3816986 by Ben.Marsh
UBT: Remove UEBuildBinaryConfig; UEBuildBinary objects are now just created directly.
Change 3816991 by Ben.Marsh
UBT: Deprecate PlatformSpecificDynamicallyLoadedModules. We no longer have any special behavior for these modules.
Change 3823090 by Ben.Marsh
UAT: Improve logging for child UAT instances.
- Calling RunUAT now requires an identifier for prefixing into the parent log, which is also used to determine the name of the log folder.
- Stdout is no longer written to its own output file, since it's written to the parent stdout, the parent log file, and the child log file anyway.
- Log folders for child UAT instances are left intact, rather than being copied to the parent folder. The derived names for the copied names were confusing and hard to read.
- Output from UAT is no longer returned as a string. It should not be parsed anyway (but may be huge!). ProcessResult now supports running without capturing output.
Change 3826082 by Ben.Marsh
UBT: Add a check to make sure that all modules that are precompiled are correctly marked to enable it, even if they are part of the build target.
Change 3827025 by Ben.Marsh
UBT: Move the compile output directory into a property on the module, and explicitly pass it to the toolchain when compiling.
Change 3829927 by James.Hopkin
Made HTTP interface const correct
Change 3833533 by Ben.Marsh
Rewrite engine source files to base include paths relative to the "Public" directory. This allows reducing the number of public include paths that have to be added for engine modules.
Change 3835826 by Ben.Marsh
UBT: Precompiled targets now generate a separate manifest for each precompiled module, rather than adding object files to a library. This fixes issues where object files from static libraries would not be linked into a target if a symbol in them was not referenced.
Change 3835969 by Ben.Marsh
UBT: Fix cases where text is being written directly to the console rather than via logging functions.
Change 3837777 by Steve.Robb
Format string type checking added to FOutputDevice::Logf.
Fixes for those.
Change 3838569 by Steve.Robb
Algo moved up a folder.
[CL 3847482 by Ben Marsh in Main branch]
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3550452 by Ben.Marsh
UAT: Improve readability of error message when an editor commandlet fails with an error code.
Change 3551179 by Ben.Marsh
Add methods for reading text files into an array of strings.
Change 3551260 by Ben.Marsh
Core: Change FFileHelper routines to use enum classes for flags.
Change 3555697 by Gil.Gribb
Fixed a rare crash when the asset registry scanner found old cooked files with package level compression.
#jira UE-47668
Change 3556464 by Ben.Marsh
UGS: If working in a virtual stream, use the name of the first non-virtual ancestor for writing version files.
Change 3557630 by Ben.Marsh
Allow the network version to be set via Build.version if it's not overriden from Version.h.
Change 3561357 by Gil.Gribb
Fixed crashes related to loading old unversioned files in the editor.
#jira UE-47806
Change 3565711 by Graeme.Thornton
PR #3839: Make non-encoding specific Base64 functions accessible (Contributed by stfx)
Change 3565864 by Robert.Manuszewski
Temp fix for a race condition with the async loading thread enabled - caching the linker in case it gets removed (but not deleted) from super class object.
Change 3569022 by Ben.Marsh
PR #3849: Update gitignore (Contributed by mhutch)
Change 3569113 by Ben.Marsh
Fix Japanese errors not displaying correctly in the cook output log.
#jira UE-47746
Change 3569486 by Ben.Marsh
UGS: Always sync the Enterprise folder if the selected .uproject file has the "Enterprise" flag set.
Change 3570483 by Graeme.Thornton
Minor C# cleanups. Removing some redundant "using" calls which also cause dotnetcore compile errors
Change 3570513 by Robert.Manuszewski
Fix for a race condition with async loading thread enabled.
Change 3570664 by Ben.Marsh
UBT: Use P/Invoke to determine number of physical processors on Windows rather than using WMI. Starting up WMIC adds 2.5 seconds to build times, and is not compatible with .NET core.
Change 3570708 by Robert.Manuszewski
Added ENABLE_GC_OBJECT_CHECKS macro to be able to quickly toggle UObject pointer checks in shipping builds when the garbage collector is running.
Change 3571592 by Ben.Marsh
UBT: Allow running with -installed without creating [InstalledPlatforms] entries in BaseEngine.ini. If there is no HasInstalledPlatformInfo=true setting, assume that all platforms are still available.
Change 3572215 by Graeme.Thornton
UBT
- Remove some unnecessary using directives
- Point SN-DBS code at the new Utils.GetPhysicalProcessorCount call, rather than trying to calculate it itself
Change 3572437 by Robert.Manuszewski
Game-specific fix for lazy object pointer issues in one of the test levels. The previous fix had to be partially reverted due to side-effects.
#jira UE-44996
Change 3572480 by Robert.Manuszewski
MaterialInstanceCollections will no longer be added to GC clusters to prevent materials staying around in memory for too long
Change 3573547 by Ben.Marsh
Add support for displaying log timestamps in local time. Set LogTimes=Local in *Engine.ini, or pass -LocalLogTimes on the command line.
Change 3574562 by Robert.Manuszewski
PR #3847: Add GC callbacks for script integrations (Contributed by mhutch)
Change 3575017 by Ben.Marsh
Move some functions related to generating window resolutions out of Core (FParse::Resolution, GenerateConvenientWindowedResolutions). Also remove a few headers from shared PCHs prior to splitting application functionality out of Core.
Change 3575689 by Ben.Marsh
Add a fixed URL for opening the API documentation, so it works correctly in "internal" and "perforce" builds.
Change 3575934 by Steve.Robb
Fix for nested preprocessor definitions.
Change 3575961 by Steve.Robb
Fix for nested zeros.
Change 3576297 by Robert.Manuszewski
Material resources will now be discarded in PostLoad (Game Thread) instead of in Serialize (potentially Async Loading Thread) so that shader deregistration doesn't assert when done from a different thread than the game thread.
#jira FORT-38977
Change 3576366 by Ben.Marsh
Add shim functions to allow redirecting FPlatformMisc::ClipboardCopy()/ClipboardPaste() to FPlatformApplicationMisc::ClipboardCopy()/ClipboardPaste() while they are deprecated.
Change 3578290 by Graeme.Thornton
Changes to Ionic zip library to allow building on dot net core
Change 3578291 by Graeme.Thornton
Ionic zip library binaries built for .NET Core
Change 3578354 by Graeme.Thornton
Added FBase64::GetDecodedDataSize() to determine the size of bytes of a decoded base64 string
Change 3578674 by Robert.Manuszewski
After loading packages flush linker cache on uncooked platforms to free precache memory
Change 3579068 by Steve.Robb
Fix for CLASS_Intrinsic getting stomped.
Fix to EClassFlags so that they are visible in the debugger.
Re-added mysteriously-removed comments.
Change 3579228 by Steve.Robb
BOM removed.
Change 3579297 by Ben.Marsh
Fix exception if a plugin lists the same module twice.
#jira UE-48232
Change 3579898 by Robert.Manuszewski
When creating GC clusters and asserting due to objects still being pending load, the object name and cluster name will now be logged with the assert.
Change 3579983 by Robert.Manuszewski
More fixes for freeing linker cache memory in the editor.
Change 3580012 by Graeme.Thornton
Remove redundant copy of FileReference.cs
Change 3580408 by Ben.Marsh
Validate that arguments passed to the checkf macro are valid sprintf types, and fix up a few places which are currently incorrect.
Change 3582104 by Graeme.Thornton
Added a dynamic compilation path that uses the latest roslyn apis. Currently only used by the .NET Core path.
Change 3582131 by Graeme.Thornton
#define out some PerformanceCounter calls that don't exist in .NET Core. They're only used by mono-specific calls anyway.
Change 3582645 by Ben.Marsh
PR #3879: fix bug when creating a new VS2017 C++ project (Contributed by mnannola)
#jira UE-48192
Change 3583955 by Robert.Manuszewski
Support for EDL cooked packages in the editor
Change 3584035 by Graeme.Thornton
Split RunExternalExecutable into RunExternaNativelExecutable and RunExternalDotNETExecutable. When running under .NET Core, externally launched DotNET utilities must be launched via the 'dotnet' proxy to work correctly.
Change 3584177 by Robert.Manuszewski
Removed unused member variable (FArchiveAsync2::bKeepRestOfFilePrecached)
Change 3584315 by Ben.Marsh
Move Android JNI accessor functions into separate header, to decouple it from the FAndroidApplication class.
Change 3584370 by Ben.Marsh
Move hooks which allow platforms to load any modules into the FPlatformApplicationMisc classes.
Change 3584498 by Ben.Marsh
Move functions for getting and setting the hardware window pointer onto the appropriate platform window classes.
Change 3585003 by Steve.Robb
Fix for TChunkedArray ranged-for iteration.
#jira UE-48297
Change 3585235 by Ben.Marsh
Remove LogEngine extern from Core; use the platform log channels instead.
Change 3585942 by Ben.Marsh
Move MessageBoxExt() implementation into application layer for platforms that require it.
Change 3587071 by Ben.Marsh
Move Linux's UngrabAllInput() function into a callback, so DebugBreak still works without SDL.
Change 3587161 by Ben.Marsh
Remove headers which will be stripped out of the Core module from Core.h and PlatformIncludes.h.
Change 3587579 by Steve.Robb
Fix for Children list not being rebuilt after hot reload.
Change 3587584 by Graeme.Thornton
Logging improvements for pak signature check failures
- Added "PakCorrupt" console command which corrupts the master signature table
- Added some extra log information about which block failed
- Re-hash the master signature table and to make sure that it hasn't changed since startup
- Moved the ensure around so that some extra logging messages can make it out before the ensure is hit
- Added PAK_SIGNATURE_CHECK_FAILS_ARE_FATAL to IPlatformFilePak.h so we have a single place to make signature check failures fatal again
Change 3587586 by Graeme.Thornton
Changes to make UBT build and run on .NET Core
- Added *_DNC csproj files for DotNETUtilities and UnrealBuildTool projects which contain the .NET Core build setups
- VCSharpProjectFile can no be asked for the CsProjectInfo for a particular configuration, which is cached for future use
- After loading VCSharpProjectFiles, .NET Core based projects will be excluded unless generating VSCode projects
Change 3587953 by Steve.Robb
Allow arbitrary UENUM initializers for enumerators.
Editor-only data UENUM support.
Enumerators named MAX are now treated as the UENUM's maximum, and will not cause a MAX+1 value to be generated.
#jira UE-46274
Change 3589827 by Graeme.Thornton
More fixes for VSCode project generation and for UBT running on .NET Core
- Use a different file extension for rules assemblies when build on .NET Core, so they never get used by their counterparts
- UEConsoleTraceListener supports stdout/stderror constructor parameter and outputs to the appropriate channel
- Added documentation for UEConsoleTraceListener
- All platforms .NET project compilation tasks/launch configs now use "dotnet" and not the normal batch files
- Restored the default UBT log verbosity to "Log" rather than "VeryVeryVerbose"
- Renamed assemblies for .NETCore versions of DotNETUtilities and UnrealBuildTool so they don't conflict with the output of the existing .NET Desktop Framework stuff
Change 3589868 by Graeme.Thornton
Separate .NET Core projects for UBT and DotNETCommon out into their own directories so that their intermediates don't overlap with the standard .NET builds, causing failures.
UBT registers ONLY .NET Core C# projects when generating VSCode solutions, and ONLY standard C# projects in all other cases
Change 3589919 by Robert.Manuszewski
Fixing crash when cooking textures that have already been cooked for EDL (support for cooked content in the editor)
Change 3589940 by Graeme.Thornton
Force UBT to think it's running on mono when actually running on .NET Core. Disables a lot of windows specific code paths.
Change 3590078 by Graeme.Thornton
Fully disable automatic assembly info generation in .NET Core projects
Change 3590534 by Robert.Manuszewski
Marking UObject as intrinsic clas to fix a crash on UFE startup.
Change 3591498 by Gil.Gribb
UE4 - Fixed several edge cases in the low level async loading code, especially around cancellation. Also PakFileTest is a console command which can be used to stress test pak file loading.
Change 3591605 by Gil.Gribb
UE4 - Follow up to fixing several edge cases in the low level async loading code.
Change 3592577 by Graeme.Thornton
.NET Core C# projects now reference source files explicitly, to stop it accidentally compiling various intermediates
Change 3592684 by Steve.Robb
Fix for EObjectFlags being passed as the wrong argument to csgCopyBrush.
Change 3592710 by Steve.Robb
Fix for invalid casts in ListProps command.
Some name changes in command output.
Change 3592715 by Ben.Marsh
Move Windows event log code into cpp file, and expose it to other modules even if it's not enabled by default.
Change 3592767 by Gil.Gribb
UE4 - Changed the logic so that engine UObjects boot before anything else. The engine classes are known to be cycle-free, so we will get them done before moving onto game modules.
Change 3592770 by Gil.Gribb
UE4 - Fixed a race condition with async read completion in the prescence of cancels.
Change 3593090 by Steve.Robb
Better error message when there two clashing type names are found.
Change 3593697 by Steve.Robb
VisitTupleElements function, which calls a functor for each element in the tuple.
Change 3595206 by Ben.Marsh
Include additional diagnostics for missing imports when a module load fails.
Change 3596140 by Graeme.Thornton
Batch file for running MSBuild
Change 3596267 by Steve.Robb
Thread safety fix to FPaths::GetProjectFilePath().
Change 3596271 by Robert.Manuszewski
Added code to verify compression flags in package file summary to avoid cases where corrupt packages are crashing the editor
#jira UE-47535
Change 3596283 by Steve.Robb
Redundant casts removed from UHT.
Change 3596303 by Ben.Marsh
EC: Improve parsing of Android Clang errors and warnings, which are formatted as MSVC diagnostics to allow go-to-line clicking in the Output Window.
Change 3596337 by Ben.Marsh
UBT: Format messages about incorrect headers in a way that makes them clickable from Visual Studio.
Change 3596367 by Steve.Robb
Iterator checks in ranged-for on TMap, TSet and TSparseArray.
Change 3596410 by Gil.Gribb
UE4 - Improved some error messages on runtime failures in the EDL.
Change 3596532 by Ben.Marsh
UnrealVS: Fix setting command line to empty not affecting property sheet. Also remove support for VS2013.
#jira UE-48119
Change 3596631 by Steve.Robb
Tool which takes a .map file and a .objmap file (from UBT) and creates a report which shows the size of all the symbols contributed by the source code per-folder.
Change 3596807 by Ben.Marsh
Improve Intellisense when generated headers are missing or out of date (eg. line numbers changed, etc...). These errors seem to be masked by VAX, but are present when using the default Visual Studio Intellisense.
* UCLASS macro is defined to empty when __INTELLISENSE__ is defined. Previous macro was preventing any following class declaration being parsed correctly if generated code was out of date, causing squiggles over all class methods/variables.
* Insert a semicolon after each expanded GENERATED_BODY macro, so that if it parses incorrectly, the compiler can still continue parsing the next declaration.
Change 3596957 by Steve.Robb
UBT can be used to write out an .objsrcmap file for use with the MapFileParser.
Renaming of ObjMap to ObjSrcMap in MapFileParser.
Change 3597213 by Ben.Marsh
Remove AutoReporter. We don't support this any more.
Change 3597558 by Ben.Marsh
UGS: Allow adding custom actions to the context menu for right clicking on a changelist. Actions are specified in the project's UnrealEngine.ini file, with the following syntax:
+ContextMenu=(Label="This is the menu item", Execute="foo.exe", Arguments="bar")
The standard set of variables for custom tools is expanded in each parameter (eg. $(ProjectDir), $(EditorConfig), etc...), plus the $(Change) variable.
Change 3597982 by Ben.Marsh
Add an option to allow overriding the local DDC path from the editor (under Editor Preferences > Global > Local Derived Data Cache).
#jira UE-47173
Change 3598045 by Ben.Marsh
UGS: Add variables for stream and client name, and the ability to escape any variables for URIs using the syntax $(VariableName:URI).
Change 3599214 by Ben.Marsh
Avoid string duplication when comparing extensions.
Change 3600038 by Steve.Robb
Fix for maps being modified during iteration in cache compaction.
Change 3600136 by Steve.Robb
GitHub #3538 : Fixed a bug with the handling of 'TMap' key/value types in the UnrealHeaderTool
Change 3600214 by Steve.Robb
More accurate error message when unsupported template parameters are provided in a TSet property.
Change 3600232 by Ben.Marsh
UBT: Force UHT to run again if the .build.cs file for a module has changed.
#jira UE-46119
Change 3600246 by Steve.Robb
GitHub #3045 : allow multiple interface definition in a file
Change 3600645 by Ben.Marsh
Convert QAGame to Include-What-You-Use.
Change 3600897 by Ben.Marsh
Fix invalid path (multiple slashes) in LibCurl.build.cs. Causes exception when scanning for includes.
Change 3601558 by Graeme.Thornton
Simple first pass VSCode editor integration plugin
Change 3601658 by Graeme.Thornton
Enable intellisense generation for VS Code project files and setup include paths properly
Change 3601762 by Ben.Marsh
UBT: Add support for adaptive non-unity builds when working from a Git repository.
The ISourceFileWorkingSet interface is now used to query files belonging to the working set, and has separate implementations for Perforce (PerforceSourceFileWorkingSet) and Git (GitSourceFileWorkingSet). The Git implementation is used if a .git directory is found in the directory containing the Engine folder, the directory containing the project file, or the parent directory of the project file, and spawns a "git status" process in the background to determine which files are untracked or staged.
Several new settings are supported in BuildConfiguration.xml to allow modifying default behavior:
<SourceFileWorkingSet>
<Provider>Default</Provider> <!-- May be None, Default, Git or Perforce -->
<RepositoryPath></RepositoryPath> <!-- Specifies the path to the repository, relative to the directory containing the Engine folder. If not set, tries to find a .git directory in the locations listed above. -->
<GitPath>git</GitPath> <!-- Specifies the path to the Git executable. Defaults to "git", which assumes that it will be on the PATH -->
</SourceFileWorkingSet>
Change 3604032 by Graeme.Thornton
First attempt at automatically detecting the existance and location of visual studio code in the source code accessor module. Only works for windows.
Change 3604038 by Graeme.Thornton
Added FSourceCodeNavigation::GetSelectedSourceCodeIDE() which returns the name of the selected source code accessor.
Replaced all usages of FSourceCodeNavigation::GetSuggestedSourceCodeIDE() with GetSelectedSourceCodeIDE(), where the message is referring to the opening or editing of code.
Change 3604106 by Steve.Robb
GitHub #3561 : UE-44950: Don't see all caps struct constructor as macro
Change 3604192 by Steve.Robb
GitHub #3911 : Improving ToUpper/ToLower efficiency
Change 3604273 by Graeme.Thornton
IWYU build fixes when malloc profiler is enabled
Change 3605457 by Ben.Marsh
Fix race for intiialization of ThreadID variable on FRunnableThreadWin, and restore a previous check that was working around it.
Change 3606720 by James.Hopkin
Dave Ratti's fix to character base recursion protection code - was missing a GetOwner call, instead attempting to cast a component to a pawn.
Change 3606807 by Graeme.Thornton
Disabled optimizations around FShooterStyle::Create(), which was crashing in Win64 shipping game builds due to some known compiler issue. Same variety of fix as BenZ did in CL 3567741.
Change 3607026 by James.Hopkin
Fixed incorrect ABrush cast - was attempting to cast a UModel to ABrush, which can never succeed
Change 3607142 by Graeme.Thornton
UBT - Minor refactor of BackgroundProcess shutdown in SourceFileWorkingSet. Check whether the process has already exited before trying to kill it during Dispose.
Change 3607146 by Ben.Marsh
UGS: Fix exception due to formatting string when Perforce throws an error.
Change 3607147 by Steve.Robb
Efficiency fix for integer properties, which were causing a property mismatch and thus a tag lookup every time.
Float and double conversion support added to int properties.
NAME_DoubleProperty added.
Fix for converting enum class enumerators > 255 to int properties.
Change 3607516 by Ben.Marsh
PR #3935: Fix DECLARE_DELEGATE_NineParams, DECLARE_MULTICAST_DELEGATE_NineParams. (Contributed by enginevividgames)
Change 3610421 by Ben.Marsh
UAT: Move help for RebuildLightMapsCommand into attributes, so they display when running with -help.
Change 3610657 by Ben.Marsh
UAT: Unify initialization of command environment for build machines and local execution. Always derive parameters which aren't manually set via environment variables.
Change 3611000 by Ben.Marsh
UAT: Remove the -ForceLocal command line option. Settings are now determined automatically, independently of the -Buildmachine argument.
Change 3612471 by Ben.Marsh
UBT: Move FastJSON into DotNETUtilities.
Change 3613479 by Ben.Marsh
UBT: Remove the bIsCodeProject flag from UProjectInfo. This was only really being used to determine which projects to generate an IDE project for, so it is now checked in the project file generator.
Change 3613910 by Ben.Marsh
UBT: Remove unnecessary code to guess a project from the target name; doesn't work due to init order, actual project is determined later.
Change 3614075 by Ben.Marsh
UBT: Remove hacks for testing project file attributes by name.
Change 3614090 by Ben.Marsh
UBT: Remove global lookup of project by name. Projects should be explicitly specified by path when necessary.
Change 3614488 by Ben.Marsh
UBT: Prevent annoying (but handled) exception when constructing SQLiteModuleSupport objects with -precompile enabled.
Change 3614490 by Ben.Marsh
UBT: Simplify generation of arguments for building intellisense; determine the platform/configuration to build from the project file generation code, rather than inside the target itself.
Change 3614962 by Ben.Marsh
UBT: Move the VS2017 strict conformance mode (/permissive-) behind a command line option (-Strict), and disable it by default. Building with this mode is not guaranteed to work correctly without updated Windows headers.
Change 3615416 by Ben.Marsh
EC: Include an icon showing the overall status of a build in the grid view.
Change 3615713 by Ben.Marsh
UBT: Delete any files in output directories which match output files in other directories. Allows automatically deleting build products which are moved into another folder.
#jira UE-48987
Change 3616652 by Ben.Marsh
Plugins: Fix incorrect dialog when binaries for a plugin are missing. Should only prompt to disable if starting a content-only project.
#jira UE-49007
Change 3616680 by Ben.Marsh
Add the CodeAPI-HTML.tgz file into the installed engine build.
Change 3616767 by Ben.Marsh
Plugins: Tweak error message if the FModuleManager::IsUpToDate() function returns false for a plugin module; the module may be missing, not just incompatible.
Change 3616864 by Ben.Marsh
Cap the length of the temporary package name during save, to prevent excessively long filenames going over the limit once a GUID is appended.
#jira UE-48711
Change 3619964 by Ben.Marsh
UnrealVS: Fix single file compile for foreign projects, where the command line contains $(SolutionDir) and $(ProjectName) variables.
Change 3548930 by Ben.Marsh
UBT: Remove UEBuildModuleCSDLL; there is no codepath that still supports creating them. Remove the remaining UEBuildModule/UEBuildModuleCPP abstraction.
Change 3558056 by Ben.Marsh
Deprecate FString::Trim() and FString::TrimTrailing(), and replace them with separate versions to mutate (TrimStartInline(), TrimEndInline()) or return by copy (TrimStart(), TrimEnd()). Also add a functions to trim whitespace from both ends of a string (TrimStartAndEnd(), TrimStartAndEndInline()).
Change 3563309 by Graeme.Thornton
Moved some common C# classes into the DotNETCommon assembly
Change 3570283 by Graeme.Thornton
Move some code out of RPCUtility and into DotNETCommon, removing the dependency between the two projects
Added UEConsoleTraceListener to replace ConsoleTraceListener, which doesn't exist in DotNetCore
Change 3572811 by Ben.Marsh
UBT: Add -enableasan / -enabletsan command line options and bEnableAddressSanitizer / bEnableThreadSanitizer settings in BuildConfiguration.xml (and remove environment variables).
Change 3573397 by Ben.Marsh
UBT: Create a <ExeName>.version file for every target built by UBT, in the same JSON format as Engine/Build/Build.version. This allows monolithic targets to read a version number at runtime, unlike when it's embedded in a modules file, and allows creating versioned client executables that will work with versioned servers when syncing through UGS.
Change 3575659 by Ben.Marsh
Remove CHM API documentation.
Change 3582103 by Graeme.Thornton
Simple ResX writer implemetation that the xbox deloyment code can use instead of the one from the windows forms assembly, which isn't supported on .NET Core
Removed reference to System.Windows.Form from UBT.
Change 3584113 by Ben.Marsh
Move key-mapping functionality into the InputCore module.
Change 3584278 by Ben.Marsh
Move FPlatformMisc::RequestMinimize() into FPlatformApplicationMisc.
Change 3584453 by Ben.Marsh
Move functionality for querying device display density to FApplicationMisc, due to dependence on application-level functionality on mobile platforms.
Change 3585301 by Ben.Marsh
Move PlatformPostInit() into an FPlatformApplicationMisc function.
Change 3587050 by Ben.Marsh
Move IsThisApplicationForeground() into FPlatformApplicationMisc.
Change 3587059 by Ben.Marsh
Move RequiresVirtualKeyboard() into FPlatformApplicationMisc.
Change 3587119 by Ben.Marsh
Move GetAbsoluteLogFilename() into FPlatformMisc.
Change 3587800 by Steve.Robb
Fixes to container visualizers for types whose pointer type isn't simply Type*.
Change 3588393 by Ben.Marsh
Move platform output devices into their own headers.
Change 3588868 by Ben.Marsh
Move creation of console, error and warning output devices int PlatformApplicationMisc.
Change 3589879 by Graeme.Thornton
All automation projects now have a reference to DotNETUtilities
Fixed a build error in the WEX automation library
Change 3590034 by Ben.Marsh
Move functionality related to windowing and input out of the Core module and into an ApplicationCore module, so it is possible to build utilities with Core without adding dependencies on XInput (Windows), SDL (Linux), and OpenGL (Mac).
Change 3593754 by Steve.Robb
Fix for tuple debugger visualization.
Change 3597208 by Ben.Marsh
Move CrashReporter out of a public folder; it's not in a form that is usable by subscribers and licensees.
Change 3600163 by Ben.Marsh
UBT: Simplify how targets are cleaned. Delete all intermediate folders for a platform/configuration, and delete any build products matching the UE4 naming convention for that target, rather than relying on the current build configuration or list of previous build products. This will ensure that build products which are no longer being generated will also be cleaned.
#jira UE-46725
Change 3604279 by Graeme.Thornton
Move pre/post garbage collection delegates into accessor functions so they can be used by globally constructed objects
Change 3606685 by James.Hopkin
Removed redundant 'Cast's (casting to either the same type or a base).
In SClassViewer, replaced cast with TAssetPtr::operator* call to get the wrapped UClass.
Also removed redundant 'IsA's from AnimationRetargetContent::AddRemappedAsset in EditorAnimUtils.cpp.
Change 3610950 by Ben.Marsh
UAT: Simplify logic for detecting Perforce settings, using environment variables if they are set, otherwise falling back to detecting them. Removes special cases for build machines, and makes it simpler to set up UAT commands on builders outside Epic.
Change 3610991 by Ben.Marsh
UAT: Use the correct P4 settings to detect settings if only some parameters are specified on the command line.
Change 3612342 by Ben.Marsh
UBT: Change JsonObject.Read() to take a FileReference parameter.
Change 3612362 by Ben.Marsh
UBT: Remove some more cases of paths being passed as strings rather than using FileReference objects.
Change 3619128 by Ben.Marsh
Include builder warnings and errors in the notification emails for automated tests, otherwise it's difficult to track down non-test failures.
[CL 3620189 by Ben Marsh in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3421703 on 2017/05/03 by Ben.Marsh
Surround invalid character message in quotes, so it's clear when a space is listed.
#jira UE-44606
Change 3422644 on 2017/05/04 by Steve.Robb
Ranged-for support for TChunkedArray.
Change 3422754 on 2017/05/04 by Steve.Robb
IAsyncReadFileHandle made non-copyable to prevent accidental wrong stat calculation.
Change 3422758 on 2017/05/04 by Steve.Robb
Misc readability/standards improvements in stats code.
Change 3427955 on 2017/05/08 by Steve.Robb
Version fix for IOS optimization pragmas, copied from equivalent Mac code.
Change 3428017 on 2017/05/08 by Steve.Robb
Unused property types removed.
Change 3428641 on 2017/05/08 by Ben.Marsh
UAT: Remove failed attempt to separate out BuildCookRun into separate commands, which have since rotted.
Change 3430407 on 2017/05/09 by Ben.Marsh
UBT: Define UE_4_X_OR_LATER macros for every UE4 version greater than 4.17 (eg. UE_4_17_OR_LATER, etc...).
Change 3430682 on 2017/05/09 by Gil.Gribb
UE4 - Added a fatal error for asking for very large alignments from MallocBinned2 and also return the true size of the memory block in GetAllocationSize().
Change 3430685 on 2017/05/09 by Gil.Gribb
UE4 - Fixed a bug with the windows async IO stuff related to an unsafe pointer cast to LPDWORD from int64*.
Change 3430756 on 2017/05/09 by Ben.Marsh
UBT: Switch some receipt stuff to use FileReference/DirectoryReference objects rather than raw paths.
Change 3431157 on 2017/05/09 by Ben.Marsh
UBT: Store absolute paths when receipts are in memory; only insert pseudo-variables for $(EngineDir) and $(ProjectDir) when saved to disk.
Change 3432334 on 2017/05/10 by Graeme.Thornton
Include project name in the UBT error message which appears when a plugin is missing
Change 3432481 on 2017/05/10 by Gil.Gribb
UE4 - Fixed code to detect cycles in parallel tick sorting.
Change 3432485 on 2017/05/10 by Steve.Robb
Simplified templating around bitfield offset calculation.
Change 3432608 on 2017/05/10 by Steve.Robb
'bool == byte' static_assert restored after being removed in CL# 3432485.
Change 3432767 on 2017/05/10 by Ben.Marsh
UBT: Fix exception when a missing plugin is encountered if the target does not have a project.
Change 3433031 on 2017/05/10 by Ben.Marsh
UAT: Add classes to allow safer manipulation of paths within the staging directory (StagedFileReference, StagedDirectoryReference), and convert staging code over to using those and their regular filesystem counterparts (FileReference/DirectoryReference). Lots of cleanup and refactoring of staging code.
Change 3433049 on 2017/05/10 by Ben.Marsh
Add more diagnostic information to asserts in TStaticIndirectArrayThreadSafeRead, to try and shed light on what sort of corrupted data is being passed in from the cooker.
#jira UE-44336
Change 3433097 on 2017/05/10 by Steve.Robb
Value initialization fix for MakeUnique<T[]>().
Change 3433972 on 2017/05/10 by Daniel.Lamb
Stop unrealpak from crashing if generating a patch with more pak files then the original game.
Change 3434124 on 2017/05/10 by Ben.Marsh
UAT: Remove hacky bUseWebSocketNetDriver option.
Change 3434824 on 2017/05/11 by Gil.Gribb
UE4 - Printed an error instead of asserting when there are missing native classes.
Change 3434916 on 2017/05/11 by Ben.Marsh
UAT: Separate the list of files to be staged into a separate class.
Change 3435427 on 2017/05/11 by Gil.Gribb
UE4 - Fixed attempts to load compiled in packages, which produces warnings and is slow.
Change 3436240 on 2017/05/11 by Ben.Marsh
UAT: Add a command to search for restricted folders under a given base directory.
Change 3438068 on 2017/05/12 by James.Fox
Checking in Phase 1 of the Dev-Core test map for repro purposes. UE-44996 #rb none
Change 3438855 on 2017/05/15 by Robert.Manuszewski
When verbose cluster logging is enabled and new object is added to an already existing cluster, the cluster will be dumped to log.
Change 3438929 on 2017/05/15 by Robert.Manuszewski
Merging CL # 3436939 using Dev-Core_To_Dev-LoadTimes:
Fix for potential crashes caused by levels staying in memory through material references.
Change 3439021 on 2017/05/15 by Ben.Marsh
PR #3566: fix non-ascii characters in help command HTML converted to "?" (Contributed by kayama-shift)
Change 3439079 on 2017/05/15 by Ben.Marsh
PR #2832: Implement missing MessageBox (Contributed by projectgheist)
Change 3439258 on 2017/05/15 by Ben.Marsh
Highlight lines containing the strings "Error:" or "Warning:" in the output log, so that diagnostics from child processes are highlighted appropriately. The build system already relies similar logic for scraping diagnostics from logs, so it should be safe and predictable to check for messages in this way.
#jira UE-43673
Change 3439358 on 2017/05/15 by Ben.Marsh
UBT: Fix Visual Studio solution referencing the incorrect platform for existing C# project ("Any CPU" instead of "AnyCPU"). Was causing prompt to save the solution the first time it is opened.
Change 3439665 on 2017/05/15 by Ben.Marsh
UAT: Remove DeployPakInternalLowerCaseFilenames(). No platforms require this to be true.
Change 3440735 on 2017/05/16 by Robert.Manuszewski
UBT compile fix after the last merge
Change 3440889 on 2017/05/16 by Ben.Marsh
EC: Fix regex for matching path to source files included in error messages from the Linux toolchain.
Change 3442776 on 2017/05/17 by Steve.Robb
Platform fix for FPaths::IsSamePath.
Change 3445411 on 2017/05/17 by Ben.Marsh
UBT: Fix typo in makefile diagnostic string.
Change 3446070 on 2017/05/18 by Steve.Robb
Fix to array sizes in generated UFunction code, which should now handle editor-only functions.
Change 3446091 on 2017/05/18 by Steve.Robb
Another array size fix for generated code.
Change 3446605 on 2017/05/18 by Steve.Robb
BuildConfiguration option for static analysis.
Change 3448601 on 2017/05/19 by Richard.Fawcett
Change FWindowsPlatformProcess::ApplicationSettingsDir() so that it no longer returns a path with a mixture of "\" and "/" characters, and only contains "/" characters.
This makes it consistent with other related functions like FWindowsPlatformProcess::UserSettingsDir().
Change 3449026 on 2017/05/19 by Ben.Marsh
Fix whitespace in template file.
Change 3449697 on 2017/05/19 by James.Fox
Checking in Phase 2 of Dev-Core test map for QAGame
Also enabled Blueprint and Actor clustering by default in QAGame for more thorough GC testing.
Change 3451352 on 2017/05/22 by Steve.Robb
UFunction flags are now viewable in the debugger.
Change 3451355 on 2017/05/22 by Steve.Robb
ARRAY_COUNT fix for zero-sized arrays in Clang.
Change 3451379 on 2017/05/22 by Steve.Robb
C++14 operator delete overloads with size, for consistency.
Change 3451398 on 2017/05/22 by Graeme.Thornton
Add AES and RSA encryption keys to the list of config fields that get stripped from ini files when staging
When creating a pak file, do a filtered copy of all ini files to a temp directory so that all confidential fields can be stripped. Equivalent behaviour to staging a loose file distribution
Change 3451476 on 2017/05/22 by Ben.Marsh
Compile shipping builds for WEX and Ocean, and post telemetry for the resulting executable size.
Change 3451478 on 2017/05/22 by Graeme.Thornton
PR #3197: Improved log message formatting (Contributed by projectgheist)
Change 3451868 on 2017/05/22 by Steve.Robb
Static log category moved out of header.
ENUM_CLASS_FLAGS macro used instead of explicit operators.
Change 3452319 on 2017/05/22 by Ben.Marsh
UBT: Add a new "package" build product type, which can be used for APK files on Android and Stub files on iOS. Treating these files as executables is causing the measured executable size to be incorrect.
Change 3452607 on 2017/05/22 by Ben.Marsh
UBT: Filter out folders for other platforms when searching for headers to pass to UHT.
Change 3453600 on 2017/05/23 by Graeme.Thornton
PR #3226 - Updated some code comments to better describe the usage of the log category definition macros
Change 3453616 on 2017/05/23 by Steve.Robb
Error reported instead of a crash when there's a space between UCLASS or UINTERFACE and the open parenthesis.
Change 3453714 on 2017/05/23 by Ben.Marsh
Build: Add some Visual Studio 2017 test compiles to the build system.
Change 3453795 on 2017/05/23 by Ben.Marsh
UBT: Fix parsing of command line attributes that have a specific value assigned. We should never have an '=' suffix for such arguments.
Change 3454606 on 2017/05/23 by Ben.Marsh
UAT: Make sure log filenames are unique by creating a 0-byte file in its place.
Change 3454709 on 2017/05/23 by Ben.Marsh
UBT: Enable the /permissive- option for stricter standards compliance on Visual Studio 2017. Currently have /Zc:strictStrings disabled due to violations in Windows headers; all UE4 instances have been fixed up.
Change 3456445 on 2017/05/24 by Graeme.Thornton
MemoryProfiler2 - Add mprof filename into title bar after opening
Change 3457129 on 2017/05/24 by Ben.Marsh
Fix comment for FVector::Normalize().
#jira UE-45369
#rnx
Change 3457228 on 2017/05/24 by Ben.Marsh
Do not allow forward-declaring Rect structs. They are not public, and it conflicts with third party libraries.
#rnx
Change 3458357 on 2017/05/24 by Ben.Marsh
Fix name resolution issue with /permissive- in VS2017.
Change 3458812 on 2017/05/25 by Robert.Manuszewski
PR #2407: Fix LoadLibrary error with Microsoft Group Policy CWDIllegalinDllSearch mode 1 or 2 (Contributed by bozaro)
Change 3458894 on 2017/05/25 by Robert.Manuszewski
PR #2096: Fix argument parsing in DiffAssets Comandlet (Contributed by cgrebeld)
Change 3461205 on 2017/05/26 by Robert.Manuszewski
Fixed parameter parsing so that arguments are not parsed if not preceeded by a whitespace (for example "-Log" was parsed in "TM-Log")
#jira UE-33790
Change 3464714 on 2017/05/30 by Robert.Manuszewski
Fixing potential deadlock caused by a race condition when using FMallocVerifyProxy with FMallocBinned
Change 3465310 on 2017/05/30 by Ben.Marsh
UBT: Enable bAdaptiveUnityDisablesOptimizations by default.
Change 3465346 on 2017/05/30 by Ben.Marsh
UBT: Require Update 3 to be installed when compiling using VS2015.
Change 3465389 on 2017/05/30 by Ben.Marsh
UBT: Fix support for RTTI when creating PCHs and shared PCHs.
Change 3466084 on 2017/05/30 by Ben.Marsh
Fix compiling plain C files, where it would incorrectly use a C++ PCH.
Change 3467018 on 2017/05/31 by Robert.Manuszewski
Async loading code will now properly handle cases when the requested package could not be created.
Change 3467113 on 2017/05/31 by Ben.Marsh
UGS: When opening a solution in Visual Studio, always start the process in the solution's directory.
Change 3467508 on 2017/05/31 by Ben.Marsh
Add a function to fix a long package name so it matches the case of a file on disk. Fixes deterministic cooking issues when on-disk case changes.
Change 3467510 on 2017/05/31 by Ben.Marsh
Fix deterministic cooking issue caused by LODGroup only being initialized in the CDO if it's serialized, causing inconsistent delta serialization for instances.
Change 3467967 on 2017/05/31 by Ben.Marsh
Always allow UAT to compile on non-Windows platforms, even if a debugger is present, since MSVC is the only one that will load C# PDBs.
Change 3468544 on 2017/05/31 by Ben.Marsh
UBT: Add a more helpful message when a module is being compiled with implicit PCHs, but a source file is not configured correctly.
Change 3469241 on 2017/06/01 by Ben.Marsh
UBT: Fix single-file compile causing a different UHT manifest to be generated, potentially excluding hidden dependencies.
Change 3471709 on 2017/06/02 by Daniel.Lamb
Rebuild lighting commandlet now rebuilds reflections also instead of trashing them.
#test None
Change 3471719 on 2017/06/02 by Daniel.Lamb
Fixed crash in cooker while trying to cook for multiple platforms
#test Launch on shootergame windows + ps4
#jira UE-45356
Change 3472261 on 2017/06/02 by Ben.Marsh
CRP: Clear out MDD logs whenever we clear out CRP logs.
Change 3473169 on 2017/06/05 by Graeme.Thornton
PR #3622: Log category code cleanup (Contributed by projectgheist)
Change 3473176 on 2017/06/05 by Graeme.Thornton
PR #3622: Log category code cleanup (Contributed by projectgheist) (Part II)
- Missed some files from my previous checkin
Change 3473597 on 2017/06/05 by Ben.Marsh
UnrealVS: Fix massive slowdown on startup caused by searching the directory tree under the solution for *.uproject files (including intermediate folders, etc...). Now reads *.uprojectdirs files and only checks the listed directories within. Measured it taking > 30s to run before, now takes < 0.1s.
Change 3473722 on 2017/06/05 by Steve.Robb
GitHub #3444: UE-42521: Added missing macro's for TMap and TSet
PREPROCESSOR_COMMA_SEPARATED added as a better solution for the hacky comma separator solution in the PR.
Change 3475073 on 2017/06/06 by Steve.Robb
Fix for TPromise's move assignment operator return value.
Change 3475331 on 2017/06/06 by Ben.Marsh
UAT: Fix invalid paths being generated when stripping encryption settings from config files.
* In cases where INI files were in a subfolder of the Config folder (eg. Config\Localization), it was not stripping the separating slash, resulting in files being written to the root directory of the current drive.
* Paths under the config folder are not guaranteed to be unique.
Change 3475453 on 2017/06/06 by Ben.Marsh
UBT: Add an error if a plugin lists a non-plugin module as belonging to it.
#jira UE-45178
Change 3475668 on 2017/06/06 by Ben.Marsh
Add a message showing when we begin creating the asset registry, since it can take a long time.
#jira UE-41675
Change 3475747 on 2017/06/06 by Steve.Robb
Replicated from CL# 3332960:
Force a gather on hot reload, so we don't use stale state from the makefile.
#jira UE-42205
Change 3475897 on 2017/06/06 by Ben.Marsh
PR #3655: Improved behavior for Automation.IsBuildMachine (Contributed by projectgheist)
Change 3477432 on 2017/06/07 by Robert.Manuszewski
Removed AsyncIOBandwidthLimit as it was no longer being used by anything.
Change 3478582 on 2017/06/07 by Ben.Marsh
UBT: Allow setting the UE_ENGINE_DIRECTORY macro for any monolithic builds, to fix being able to debug cooked foreign projects in the binary release.
Change 3480035 on 2017/06/08 by Gil.Gribb
UE4 - Fixed async loading from pak files < 64k.
Change 3484348 on 2017/06/12 by Robert.Manuszewski
Removed private_subobject macro which was a temporary measure to make all subobjects private without breaking game code.
Change 3484863 on 2017/06/12 by Steve.Robb
Fix for TSparseArray::operator= corrupting non-POD objects.
InCopy.ArrayMax cached in a local instead of being read each time.
Const-correctness fix for element copy construction.
SrcData and DestData names flipped as they were the wrong way around.
Source: https://udn.unrealengine.com/questions/374840/possible-bug-in-tsparsearray-assignment-operator.html
Change 3485003 on 2017/06/12 by Ben.Marsh
UGS: Add support for multiple tabs. Each tab can monitor changes in a separate workspace, and scheduled syncs will run for all open tabs.
Change 3485063 on 2017/06/12 by Ben.Marsh
UGS: Fix a null reference exception when right clicking on the notification icon during startup.
Change 3485104 on 2017/06/12 by Ben.Marsh
PR #2084: [UAT] Command-line parameter to override branch name (Contributed by nbjk667)
Change 3485112 on 2017/06/12 by Steve.Robb
TSetElement generic constructor protected from becoming a copy constructor.
Redundant #include removed from AreTypesEqual.h.
Source: https://udn.unrealengine.com/questions/374840/possible-bug-in-tsparsearray-assignment-operator.html
Change 3485452 on 2017/06/12 by Ben.Marsh
UnrealVS: Fix command line not being updated for C# projects. IVsBuildPropertyStorage.SetPropertyValue does not seem to update properties that are cached in memory.
#jira UE-45716
Change 3486182 on 2017/06/12 by Ben.Marsh
UGS: Include option to selet tab names in the options menu.
Change 3486189 on 2017/06/12 by Ben.Marsh
UGS: Fix browse button from context menu always opening a new tab.
Change 3486636 on 2017/06/13 by Steve.Robb
FStatMessagesArray iteration changed to use ranged-for instead of indexing.
Change 3486688 on 2017/06/13 by Steve.Robb
Fix for CDO pointer replacement in non-UObject properties during hot reload.
#jira UE-38146
Change 3486704 on 2017/06/13 by Ben.Marsh
UGS: Fix exception when closing the last open tab.
Change 3486707 on 2017/06/13 by Ben.Marsh
UGS: Fix exception on load if UGS was closed with no projects open.
Change 3486715 on 2017/06/13 by Ben.Marsh
UGS: Change tabs to show the project file by default.
Change 3486718 on 2017/06/13 by Ben.Marsh
UGS: Only allow one workspace to sync at a time.
Change 3486880 on 2017/06/13 by Ben.Marsh
UGS: Show the sync progress of each tab via the underline on the tab button.
Change 3486912 on 2017/06/13 by Ben.Marsh
UGS: Include the open project and recent project list as separate top-level menu items.
Change 3486914 on 2017/06/13 by Ben.Marsh
UGS: Update version to 1.101.
Change 3487092 on 2017/06/13 by Ben.Marsh
UGS: Fix crash on startup if log window is minimized.
Change 3487099 on 2017/06/13 by Ben.Marsh
UGS: Update version to 1.102
Change 3487198 on 2017/06/13 by Ben.Marsh
Remove debug code.
Change 3487285 on 2017/06/13 by Ben.Marsh
Restore Remap() function that was accidentally removed in merge.
Change 3487769 on 2017/06/13 by Ben.Marsh
Disable the promoted flag when using the SyncProject command on Mac; doing so prevents UE4Game being compiled when packaging blueprint projects.
#jira UE-45995
Change 3487915 on 2017/06/13 by Ben.Marsh
UAT: Fix exception due to collection being modified while packaging for Linux.
#jira UE-46013
Change 3487972 on 2017/06/13 by Ben.Marsh
UAT: Always allow staged files to overwrite previously staged files. New iOS code relies on old behavior to overwrite engine icons and metadata with game copies.
#jira UE-46014
Change 3487991 on 2017/06/13 by Ben.Marsh
UAT: Ensure that the directory exists before trying to create a placeholder log filename.
#jira UE-46015
Change 3489062 on 2017/06/14 by Robert.Manuszewski
Removed FPackageFileSummary's AdditionalPackagesToCook as it was not used by anything. This should reduce the package header size considerably for levels with many streaming sublevels.
#jira UE-45563
Change 3489063 on 2017/06/14 by Robert.Manuszewski
Increasing the maximum package summary size to handle levels with multiple streaming sublevels.
#jira UE-45563
Change 3491552 on 2017/06/15 by Ben.Marsh
Handle failures to load *MeshReduction modules.
[CL 3492074 by Ben Marsh 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 3284872 on 2017/02/03 by Graeme.Thornton
Seperate pak cache granularity from pak signing chunk size
Change 3285765 on 2017/02/03 by Graeme.Thornton
Fix stats warnings because each slate new loading screen thread has the same stat name, but is assigned to a different thread
#jira UE-41478
Change 3286913 on 2017/02/04 by Ben.Marsh
IncludeTool: Merging fixes.
* Don't remove existing forward declarations unless explicitly instructed to do so. Files are optimized with these declarations in place, so removing them can cause output files to fail to build. It can be a useful separate step though, so expose it as a command-line option instead.
* Add a specific option for which files should be output by the tool. Any files which are excluded from this list are treated specially when generating output files, so as to prevent them from causing files to be omitted from other files that include them. Also add an option to force this mode for all headers, for use when testing formatting/include path generation.
Change 3287100 on 2017/02/05 by Ben.Marsh
UBT: Move platform settings into platform-specific TargetRules objects.
Change 3287106 on 2017/02/05 by Ben.Marsh
Merge UEBuildPlatformContext into UEBuildPlatform. Now that targets can have platform-specific settings, there is no need to separate a platform class which contains target-specific information.
Change 3287398 on 2017/02/06 by Steve.Robb
Fix for UHT failing when -WarningsAsErrors and -Verbose are specified together.
Change 3287399 on 2017/02/06 by Steve.Robb
Log verbosities made more readable in the debugger.
Change 3287410 on 2017/02/06 by Steve.Robb
Fix for TStructOpsTypeTraits where WithCopy gives a different result between specializing the traits and not providing WithCopy and not specializing the traits at all.
#fyi marc.audy
Change 3288020 on 2017/02/06 by Ben.Marsh
Prevent forward declaration of the ITextData class. We need to include the header for the debugger visualizers to work correctly.
Change 3291817 on 2017/02/08 by Steve.Robb
New EBlueprintCompileReinstancerFlags used to construct FBlueprintCompileReinstancer, instead of lots of bools.
Change 3292090 on 2017/02/08 by Graeme.Thornton
Crash fix - don't update font engine services if it was never created
#jira UE-33953
Change 3292993 on 2017/02/08 by Ben.Marsh
Add an option to disable force-including PCHs for files in the non-unity working set. (bAdaptiveUnityDisablesPCH)
Change 3293231 on 2017/02/08 by Ben.Marsh
BuildGraph: Allow overriding the changelist that a badge should be displayed for (with the Change="" attribute on the Badge declaration in XML), so the code changelist can be used if necessary. Also link to the failed step if only one has failed.
Change 3294213 on 2017/02/09 by Ben.Marsh
EC: Allow setting a property on frequent CI jobs that allows us to exclude it from job searches for generating the dashboard. Filtering on the client side is causing dashboard pages to be almost empty.
Change 3294753 on 2017/02/09 by Ben.Zeigler
#jira UE-41151 Fix UObjectLibrary::RemoveObject to remove from the correct array, and add comment mentioning that the dynamic use of Object Library is semi-deprecated
Change 3296070 on 2017/02/09 by Ben.Zeigler
Explicitly turn off Copy for a struct that has a linked list internally. I think turning Copy on by default for all non POD Types is pretty risky and is likely to crash for other games. In this case it was being copied for network replication, and it didn't have one defined so the default C++ one copied the linked list and crashed on destruction.
Change 3296420 on 2017/02/10 by Graeme.Thornton
Remove remaining references to AES_KEY, instead using the encryption key delegates to access the key where needed
Refactored encryption and signing key access in unrealpak to make it easier to use
Change 3296609 on 2017/02/10 by Ben.Marsh
BuildGraph: Fix error running the <Copy> task with an empty "From" argument.
* FileSystemReference.IsUnderDirectory() was not correctly handling cases where the directory was a root directory (and has to end in a path separator)
* FilePattern.AsDirectoryReference() with an empty token would append a path separator to an empty string, resulting in it referencing the root directory rather than the given base directory.
Change 3297440 on 2017/02/10 by Ben.Marsh
UBT: Move the FileFilter class into UnrealBuildTool.
Change 3297725 on 2017/02/10 by Ben.Zeigler
#jira UE-39199 Fix issue with enum value redirects using the wrong short or long name, it now fully supports both.
Clean up a lot of confusingly named and broken functions on UEnum:
#jira UE-41348 Deprecate FindEnumIndex, GetEnum, GetEnumName, replace with GetIndexByName, GetNameByIndex, and GetNameStringByIndex and clean up warnings
#jira UE-38187 Deprecate GetDisplayNameText and GetEnumText, replaced both with GetDisplayNameTextAtIndex which is now callable outside the editor and has a better comment
Deprecate FindEnumRedirects and replace with GetIndexByNameString. Fix code to not check the redirects array 5 times per enum lookup
Fix GetValueAsString to actually act on a value, not an index. This matches common usage and the function's name
While fixing deprecation warnings on internal games, fixed dozens of cases where it was using Index functions when it should have been using Value functions
Delete some now redundant enum editor code and pipe everything through UEnum
Change 3297979 on 2017/02/10 by Ben.Zeigler
Fix issues parsing Enums that are literally the string "None", which is allowed but leads to some odd behavior
Change 3298299 on 2017/02/10 by Steve.Robb
TTuple improvements:
- equality comparable
- serializable
- in the correct folder
2-tuples are specialized to be syntactically compatible with both TPair and TTuple.
TPair is now an alias for a 2-tuple and is no longer bound to TPairInitializer.
#fyi robert.manuszewski,ben.marsh
Change 3298460 on 2017/02/11 by Ben.Marsh
UGS: Set the correct result from running custom tasks.
Change 3298462 on 2017/02/11 by Ben.Marsh
UBT: Fix some deprecated messages that have the wrong release version, and add a better message for how ModuleRules constructors need to be updated.
Change 3299447 on 2017/02/13 by Graeme.Thornton
Fix AES and pak signing key embedding for content only projects
- Force temp target when any keys are specified by project config
Change 3299649 on 2017/02/13 by Steve.Robb
PLATFORM_HAS_DEFAULTED_OPERATORS fixed.
Other obsolete compiler switches removed.
Change 3299787 on 2017/02/13 by Steve.Robb
IsAbstract() for testing if a reflected native type contains pure virtual functions. Needed for BP nativization.
#fyi robert.manuszewski
Change 3300576 on 2017/02/13 by Ben.Marsh
EC: Add support for starting builds on any agent type. Mapping from agent types to resource pools is stored in an EC property sheet (/Generated/<Stream>/AgentTypes), allowing EC procedures to map it to a resource pool from a parameter.
Change 3300600 on 2017/02/13 by Ben.Marsh
EC: Add the -ClearHistory argument to UAT run to export BuildGraph settings, to allow running on incremental workspaces.
Change 3300624 on 2017/02/13 by Ben.Marsh
Switch incremental builds for all streams to start up on the incremental agent.
Change 3302134 on 2017/02/14 by Steve.Robb
UnrealCodeAnalyzer removed.
#fyi ben.marsh,robert.manuszewski
Change 3302639 on 2017/02/14 by Ben.Zeigler
Fix crash cooking odin with default command line
#jira UE-41952 Delete StealthTeleport map that crashes on load, and update default cook list that gets used if nothing specified
Change 3303002 on 2017/02/14 by Ben.Zeigler
#jira UE-41061 Fix it so editor only filtering on savepackage is uniformly applied regardless of if it's at package or object level
#jira UE-41880 Rewrite editor/client/server only filtering logic in SavePackage to fix various bugs. It now does all of the filtering up front, and won't process any filtered objects for imports or exports
Rename NotForEditorGame to NotAlwaysLoadedForEditorGame and improve comments, this flag says that the asset should be loaded EVEN IF it is editor only, it does not affect loading for normal objects
Change the non-map cook flags to RF_Public instead of RF_Standalone. Blueprint classes aren't RF_Standalone so were only being cooked before due to an accident of the dependency checker
Change it so anything with a Transient outer is marked transient at save time. These objects would not save out properly anyway
Fix it so -cooksinglepackage works properly again and excludes localization and startup packages
Tested with Fortnite and Odin, Odin works but with lots of warnings with nativization on which I need to investigate
Change 3303084 on 2017/02/14 by Ben.Zeigler
Attempt to get Nativization and EDL working without warnings
Change 3305153 on 2017/02/15 by Ben.Zeigler
Fix Fortnite and Orion cook, I don't understand why this passed my local testing
Fix the CDO subobject finder to actually return things instead of doing nothing, and fix a shadow variable warning
Change 3305959 on 2017/02/16 by Gil.Gribb
UE4 - Tweaked out the EDL loader for the switch with benefits to all platforms.
Change 3306159 on 2017/02/16 by Ben.Marsh
Fix path to target binaries when building non-monolithic in a unique build environment.
Change 3306584 on 2017/02/16 by Steve.Robb
UEnum internal functions renamed from Index to Value.
GetValueAsString_Internal() parameter now takes an int64, as is expected for enum values.
#fyi ben.zeigler
Change 3307836 on 2017/02/16 by Ben.Zeigler
#jira UE-42055 Load very old redirects in cooked builds. Matinee has no way of resaving redirects, so as long as matinee exists we need to keep them around forever, or fix matinee manually
Fixes lighting in Infiltrator demo
Change 3307929 on 2017/02/16 by Ben.Zeigler
#jira UE-42055 Second half of matinee redirector fix
Change 3308840 on 2017/02/17 by Matthew.Griffin
Reimplementing CL#3305808 from 4.15
Changed QA label build process so that it only allows version with 3 components (we always add the .0 for initial releases)
Change 3309115 on 2017/02/17 by Ben.Marsh
Windows: Fix the GetModulesDirectory() function always returning the engine binaries directory. It's possible to build non-monolithic targets which output all engine binaries to the game binaries directory - a requirement to being able to set game-specific defines or build settings, because we don't want shared engine binaries to be tainted with them. The module manager needs to be able to operate early on, before many of the game settings have been initialized, so just return the directory containing the Core module instead.
Change 3309120 on 2017/02/17 by Ben.Marsh
Fix support for creating modular builds which don't use the shared build environment.
Change 3309125 on 2017/02/17 by Ben.Marsh
Require that -CookDir arguments are specified separately on the command line. '+' is a valid path character (and common in build versions), so we shouldn't treat it as an argument separator.
Change 3309128 on 2017/02/17 by Ben.Marsh
Fix UnrealPak failures when enumerating all files from a source directory, if that directory happens to contain spaces.
Change 3309131 on 2017/02/17 by Ben.Marsh
Fix list of discovered assets being cleared by second call to FindFilesRecursive() when building DDC. Disable the -cookdir parameter again.
Change 3309140 on 2017/02/17 by Ben.Marsh
UAT: Fix exception moving a file from one location to another if the target directory does not exist.
Change 3309212 on 2017/02/17 by Ben.Marsh
Fixes/improvements for mod editor and code mods:
* A separate top-level project is generated for each code mod in the Visual Studio solution.
* Plugin descriptors now have a flag to identify themselves as mod as opposed to a regular game plugin, which prevents project plugins from getting their own VS project. New mods created with the mod editor will have this set by default, as do the three existing sample mods.
* Cleaning and building code mods will never modify engine binaries. Presence of the Engine/Build/InstalledProjectBuild.txt file is used to indicate running in this environment. This flag also disables options to edit metadata for non-mod plugins in installed builds.
* Plugin browser now includes a separate category for mods.
* Mod editor now behaves as an "installed" program by default, and will use the user's home folder for storing settings.
Change 3309231 on 2017/02/17 by Steve.Robb
Fix for Ar << bSomeBool where Ar is a derived class which overrides an operator<<.
#jira UE-42052
Change 3309248 on 2017/02/17 by Ben.Marsh
Add support for hot-reloading game plugin modules from Visual Studio, as long as their module returns IsGameModule() = true.
Change 3309257 on 2017/02/17 by Ben.Marsh
Prevent game binaries from being renamed for hot reload when working with installed projects.
Change 3309355 on 2017/02/17 by Steven.Hutton
Changes to make the website compatible with the new database changes.
Change 3309371 on 2017/02/17 by Ben.Marsh
Fix exception on shutdown when running asset registry with threads disabled.
#jira UE-41951
Change 3309389 on 2017/02/17 by Ben.Zeigler
#jira UE-42051 Fix ensure and crash when loading a null asset ID via the LoadAsset BP node
Change 3309570 on 2017/02/17 by Gil.Gribb
UE4 - Switch load time performace tweaks, plus abstracted the IO tracker and handle manager for other platforms and applied it to the PS4.
Change 3310039 on 2017/02/17 by Ben.Marsh
BuildGraph: Prevent exception when trying to delete a file that does not exist.
Change 3311484 on 2017/02/20 by Chris.Wood
CrashReportProcess crash add retry logic improvements (CRP v1.2.16)
Change 3311600 on 2017/02/20 by Matthew.Griffin
Updated StripSymbols functions so that all platforms can deal with the source and target file being the same
Change 3311675 on 2017/02/20 by Steve.Robb
FNativeClassHeaderGenerator::CurrentSourceFile stack replaced with C++ stack.
Change 3311893 on 2017/02/20 by Ben.Marsh
UGS: Add support for notifying users if CIS steps fail for content changes. Badges which test content should be listed in the [Notifications] section of the project-specific INI file, through +ContentBadges= lines.
Change 3313966 on 2017/02/21 by Ben.Marsh
Fix EC parsing of error messages output by the editor in the form "LogXYZ:Error:". Greedy optional subexpression in regex was matching everything until a space, so terminate a colon too.
Change 3314398 on 2017/02/21 by Ben.Zeigler
#jira UE-42212 Fix shutdown of AnimGraph module to be safer
[CL 3315211 by Ben Marsh in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3209340 on 2016/11/23 by Ben.Marsh
Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.
Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.
* Every header now includes everything it needs to compile.
* There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
* There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
* Every .cpp file includes its matching .h file first.
* This helps validate that each header is including everything it needs to compile.
* No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
* You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
* There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
* No engine code explicitly includes a precompiled header any more.
* We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
* PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.
Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.
[CL 3209342 by Ben Marsh in Main branch]
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1
Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x).
Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1
Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory.
Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core
Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning.
Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core
Further Realloc savings when realigning within a block.
Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core
New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up.
Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core
Sort UHT modules by type to improve iteration times in conjunction with makefiles.
Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core
UHT error messages about missing GENERATED_BODY() macros updated to represent intended use.
Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core
Module types split into Game and Engine runtime versions.
Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1
StaticLoadObject will now respect LOAD_NoRedirects flag.
Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore
#UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443
Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core
Removal of stats from MallocBinned2, to be readded later.
Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core
Clarification of some bucket hashing terminology.
Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core
Fix for a missing root build path on game modules.
Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core
Move FMalloc verification into a proxy object.
Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core
Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix).
Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core
Simplification of MemSizeToPoolTable indexing.
Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core
Assert fixed.
AllocateBlockFromPool's return value made debuggable.
Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core
UHT now returns an error code on a warning when -warningsaserrors is specified.
Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core
WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241.
Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core
GitHub #1938 - wrong Max value of enum is used during net serialization
Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1
Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps.
Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core
Generalized large pool allocations.
More redundancy removed.
Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB
Added UserActivity property to crash description in CRP and CR website.
[OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter
DB column added to db-09 by ColinR matching this change.
Published to server on Jan 18th 2016
Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB
Added Linux to normal callstack parsing code on CR website
[UE-25527] - Linux CrashReporter is missing information
Published to server on Jan 19th 2016
Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal
Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result.
Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()"
- (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued)
Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB
CrashReportWebsite - fix exception thrown when parsing certain callstack formats
Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1
Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance.
Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1
[CL 2845588 by Robert Manuszewski in Main branch]
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2817214 on 2016/01/06 by mason.seay
Adjusted Walkable Slope Override for mesh
#jira UE-24473
Change 2817384 on 2016/01/06 by Michael.Schoell
Crash fix when selecting a variable node for a variable that is not owned by a Blueprint.
#jira UE-24958 - Crash when getting the sequence player in level blueprint
Change 2817438 on 2016/01/06 by Max.Chen
Sequencer: Add option to specify position of material name from the movie scene capture interface. For example, MovieCapture_{material}_{width}x{height}.{frame} will create files like this: MovieCapture_FinalImage_1920x1080.0010.exr
#rb Andrew.Rodham
#jira UE-24926
Change 2817459 on 2016/01/06 by Marc.Audy
PR #1679: Move MinRespawnDelay to virtual method AController::GetMinRespawnDelay() (Contributed by bozaro)
#jira UE-22309
Change 2817472 on 2016/01/06 by Ben.Marsh
Always run UHT in unattended mode from UBT; we don't want it opening any dialogs. Match3 is currently missing a plugin, and it's causing builds to time out.
Change 2817473 on 2016/01/06 by Marc.Audy
PR #1644: Improve "SpawnActor failed because the spawned actor IsPendingKill" error message (Contributed by slonopotamus)
#jira UE-21911
Change 2817533 on 2016/01/06 by Lauren.Ridge
Fixing Match3 not compiling in Debug (removed two checks on TileLibrary)
#jira UE-25004
Change 2817625 on 2016/01/06 by Taizyd.Korambayil
#jira UE-19659 Reimported Template Animations with Proper Skeletons
Change 2817647 on 2016/01/06 by Lukasz.Furman
replaced ensure during initialization of blackboard based behavior tree task with log warning
#ue4
#jira UE-24448
#rb Mieszko.Zielinski
Change 2817648 on 2016/01/06 by Lukasz.Furman
fixed broken rendering component of navmesh actor after delete-undo operation
#ue4
#jira UE-24446
#rb Mieszko.Zielinski
Change 2817688 on 2016/01/06 by Taizyd.Korambayil
#jira UE-22347 Fixed Message Warnings on Startup
Change 2817815 on 2016/01/06 by Jamie.Dale
Multiple fixes when editing right-to-left text
- Text is now shaped over the entire line to allow rich-text and selected text to be shaped correctly across block boundaries.
- Text layout highlights are now able to correctly handle bi-directional and right-to-left text.
- Text picking can now handle bi-directional and right-to-left text.
- Text picking can now pick the individual characters that make up a ligature glyph.
- The caret now draws on the logical (rather than visual) side of the glyph (to handle right-to-left text).
- Glyph clusters (multiple glyphs produced from a single character) are now treated as a single logical glyph.
- Optimized some of the FShapedGlyphSequence to allow an early out once they've found and processed the start and end glyphs.
#jira UE-25013
Change 2817828 on 2016/01/06 by Nick.Darnell
Editor - Fixing the OpenLauncher call to be take a structure to allow us to customize it more, and to properly handle the silent command the way we're planning to handle it in the launcher.
#jira UE-24563
Change 2818052 on 2016/01/06 by Nick.Darnell
Editor - Adding another application check for the launcher to catch the current app name on mac.
#jira UE-24563
Change 2818149 on 2016/01/06 by Taizyd.Korambayil
#jira UE-19097 Adjusted FirstPerson Pawn, so that Camera doesnt clip the Arm Mesh
Change 2818360 on 2016/01/06 by Chris.Babcock
Fix reading from ini sections not cached after build system changes for 4.11
#jira UE-25027
#ue4
#android
Change 2818369 on 2016/01/06 by Ryan.Vance
#jira UE-24976
Adding tessellation support to instanced stereo
Change 2818999 on 2016/01/07 by Robert.Manuszewski
UHT will no longer try to load game-only plugins.
#jira UE-25032
- Changed module type RuntimeNoProgram to RuntimeAndProgram so that bu default Runtime plugin modules won't be loaded by programs
- Added better error message when UHT's PreInit fails
Change 2819064 on 2016/01/07 by Richard.Hinckley
#jira UE-24694
Fixing array usage in 4.11 stream.
Change 2819067 on 2016/01/07 by Ori.Cohen
When editor tries to spawn a physics asset we automatically load the needed skeletal mesh
#rb Matt.K
#JIRA UE-24165
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2799478 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1
Added Dev Stream custom versions.
- Each stream now has its own custom version
- Developers working in a stream should only modify their respective version
Change 2789867 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1
UnrealHeaderTool plugins no longer need to be a separate plugin and don't require UnrealHeaderTool source code changes to work.
- Merged ScriptGeneratorPlugin with ScriptPlugin
- Introduced the concept of UHT plugin support for plugins so that UHT's source files don't need to be modified to make it work with external plugins
- Added RuntimeNoProgram module type (module that can be used at runtime but not by program targets).
- Fixed logic with project file path setting in the engine. It will no longer try to crate a full path from an already rooted path.
Change 2796114 on 2015/12/09 by Steve.Robb@Dev-Core
TEnumRange - enabled ranged-based for iteration over enum values.
Change 2789843 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2
More thorough way of verifying GC cluster assumptions.
Change 2794221 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2
Don't merge GC clusters by default
Change 2797824 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1
Added the option to load all symbols for stack walking in non-monolithic builds.
Change 2790539 on 2015/12/04 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec
Stats/Profiler - Better handling for live connection, using the same path as file profiles, added FStatsLoadedState to separate runtime stats state from the loaded one
Change 2794183 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1
Always reset events when returning them to pool.
Change 2794406 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2
Fixing -unversioned flag being completely ignored when cooking
Change 2794563 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2
Making sure string referenced assets don't get cooked if referenced by editor-only properties.
Change 2795124 on 2015/12/08 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec
Profiler - Fixed bad data in min/max/avg inclusive times, added min/max/avg num calls, fixed event graph tooltip not displaying correct values
Change 2796208 on 2015/12/09 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec
Profiler - Remove support for multiple instances in the profiler (game thread is always visible, a few crash fixes, cleaned code a bit)
Change 2797658 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1
Allocation verification helpers. Helps with tracking down memory stomps, freeing the same pointers multiple times.
Change 2797699 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1
Fix incorrect asset loading in Cooked game data (by bozaro)
PR #1844
Change 2798173 on 2015/12/10 by Steve.Robb@Dev-Core
Migration of Fortnite to use engine's TEnumRange.
Change 2798217 on 2015/12/10 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec
PR #1331
[Core] Added a stomp allocator that allows finding memory overruns, underruns, and read/write after free. (Contributed by Pablo Zurita)
Change 2799605 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1
Fixing a crash when cancelling async loading caused by detaching linker from objects that had RF_NeedLoad flag set.
Change 2799849 on 2015/12/11 by Steve.Robb@Dev-Core
Migration of Ocean to use engine's TEnumRange.
Change 2803144 on 2015/12/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1
Changed export tagging archive to also serialize class default objects using the normal Serialize path so that it can collect all custom versions used by exports.
Change 2803206 on 2015/12/15 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec
#jira UE-24177
Audit ôshippingö defines in engine
Change 2804868 on 2015/12/16 by Steve.Robb@Dev-Core
Removal of stats from MallocBinned2, to be readded later.
#lockdown Nick.Penwarden
[CL 2805158 by Robert Manuszewski in Main branch]
#proj UE4
#branch UE4
#summary Changed UBT and UHT exit codes to inform about compilation result. The editor is reading exit code of UBT process and changes output message informing if this is a failure due to header changes.
#codereview Robert.Manuszewski
[CL 2044928 by Jaroslaw Palczynski in Main branch]