Files
UnrealEngineUWP/Engine/Source/Programs/AutomationTool/AutomationUtils/DeploymentContext.cs

1121 lines
39 KiB
C#
Raw Normal View History

// Copyright Epic Games, Inc. All Rights Reserved.
using System;
using System.Collections.Generic;
using System.IO;
using System.Threading;
using System.Reflection;
using AutomationTool;
using UnrealBuildTool;
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3494741 by Steve.Robb Generated code size savings. #jira UE-43048 Change 3495484 by Steve.Robb Fix for generated indices of static arrays when saving configs. Change 3497926 by Robert.Manuszewski Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything. Change 3498077 by Robert.Manuszewski Only use the recursion guard in async loading code when the event driven loader is enabled. Change 3498112 by Ben.Marsh UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own. Change 3500239 by Robert.Manuszewski Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes. Change 3500395 by Steve.Robb Extra codegen savings when not in hot reload. Change 3501004 by Steve.Robb EObjectFlags now have constexpr operators. Change 3502079 by Ben.Marsh UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary. Change 3502527 by Steve.Robb Fix for zero-sized array compile error in generated code when all functions are editor-only. Change 3502542 by Ben.Marsh UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead. Change 3502868 by Steve.Robb Workaround for inefficient generated code with stateless lambdas on Clang. Change 3503550 by Steve.Robb Another generated code lambda optimization. Change 3503582 by Ben.Marsh BuildGraph: Add support for nullable parameter types. Change 3504424 by Steve.Robb New AllOf, AnyOf and NoneOf algorithms. Change 3504712 by Ben.Marsh UAT: Less spammy log and error output from UAT. * Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception). * Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information. * AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log) * Name of the calling function is not included in console output by default, but still included in the log. Change 3504808 by Ben.Marsh UAT: Suppress P4 output when running a recursive instance of UAT. Change 3505044 by Steve.Robb Code generation improved for TCppClassType code. Change 3505485 by Ben.Marsh Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module. Change 3505699 by Ben.Marsh Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins. Change 3506055 by Ben.Marsh UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output. Change 3507745 by Robert.Manuszewski Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses). Change 3507911 by Ben.Marsh Plugins: Minor changes to plugin descriptors. * Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors. * Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from. Change 3508669 by Ben.Marsh EC: Parse multi-line messages from UBT and UAT. Change 3508691 by Ben.Marsh Fix double-spacing of cook stats. Change 3509245 by Steve.Robb UHT makefiles removed. Flag audit removed. Change 3509275 by Steve.Robb Fix for mismatched stat categories in AudioMixer. #jira UE-46129 Change 3509289 by Robert.Manuszewski Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably. Change 3509294 by Robert.Manuszewski UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it. Change 3509312 by Steve.Robb GitHub# 3679: Add TArray constructor that takes a raw pointer and a count Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too. #jira UE-46136 Change 3509396 by Steve.Robb GitHub# 3676: Fix TUnion operator<< compile error #jira UE-46099 Change 3509633 by Steve.Robb Fix for line numbers on multiline macros. Change 3509938 by Gil.Gribb UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading. Change 3510593 by Daniel.Lamb Fixed up unsoilicited files getting populated with files which aren't finished being created yet. #test None Change 3510594 by Daniel.Lamb Fixed up temp files directory for patching. Thanks David Yerkess @ Milestone #review@Ben.Marsh Change 3511628 by Ben.Marsh PR #3707: Fixed UBT stack size (Contributed by gildor2) Change 3511808 by Ben.Marsh Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git) #jira UE-46540 Change 3512017 by Ben.Marsh Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface. Change 3513935 by Steve.Robb Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477. Change 3514142 by Steve.Robb MemoryProfiler2 added to generated solution. Change 3516463 by Ben.Marsh Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user. Change 3517860 by Ben.Marsh PR #3727: FString Dereference Fixes (Contributed by jovisgCL) Change 3517967 by Ben.Marsh Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line. Change 3518070 by Steve.Robb Disable Binned2 stats in shipping non-editor builds. Change 3520079 by Steve.Robb Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions. #jira UE-24034 Change 3520080 by Robert.Manuszewski Made max package summary size to be configurable with ini setting Change 3520083 by Steve.Robb Force a GC after hot reload to clean up reinstanced objects which may still tick. #jira UE-40421 Change 3520480 by Robert.Manuszewski Improved assert message when the initial package read request was too small. Change 3520590 by Graeme.Thornton SignedArchiveReader optimizations - Loads more stats - Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader - Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time - Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries Change 3521023 by Graeme.Thornton Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing Change 3521787 by Ben.Marsh PR #3736: Small static code analysis fixes (Contributed by jovisgCL) Change 3521789 by Ben.Marsh PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar) Change 3524721 by Ben.Marsh Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core. Change 3524741 by Ben.Marsh Move PumpMessages() into FPlatformApplicationMisc. Change 3525399 by Ben.Marsh UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment. Change 3525743 by Ben.Marsh UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds. Change 3525746 by Ben.Marsh EC: Include the clobber option on new workspaces, to allow overriding version files when syncing. Change 3526453 by Ben.Marsh UGS: Do not generate project files when syncing precompiled binaries. Change 3527045 by Ben.Marsh Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting. Change 3527420 by Ben.Marsh UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing). Config files are now read from: Engine/Programs/UnrealGameSync/UnrealGameSync.ini Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini If a project is selected: <ProjectDir>/Build/UnrealGameSync.ini <ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini If the .uprojectdirs file is selected: Engine/Programs/UnrealGameSync/DefaultProject.ini Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini Change 3528063 by Ben.Marsh Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse. Change 3528415 by Ben.Marsh UAT: Remove \r characters from the end of multiline log messages. Change 3528427 by Ben.Marsh EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent. Change 3528485 by Ben.Marsh EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places. Change 3528505 by Steve.Robb PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL) #jira UE-46819 Change 3528772 by Robert.Manuszewski Enabling actor and blueprint clustering in ShooterGame Change 3528786 by Robert.Manuszewski PR #3760: Fix typo (Contributed by jesseyeh) Change 3528792 by Steve.Robb PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL) #jira UE-46962 Change 3528941 by Robert.Manuszewski Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object. #jira UE-44996 Change 3530241 by Ben.Marsh UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value. Change 3531377 by Ben.Marsh Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it. This has several advantages over the per-module platform whitelist/blacklist: * Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore. * References to dependent plugins from platform-specific plugins can now be eliminated. * Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly). * The editor can load any plugins without having to whitelist supported editor host platforms. UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime. Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary. Change 3531502 by Jin.Zhang Add support for GPUCrash #rb Change 3531664 by Ben.Marsh UBT: Change output format from C# JSON writer to match output by the engine. Change 3531848 by Ben.Marsh UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable. Change 3531869 by Ben.Marsh UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field. Change 3532474 by Ben.Marsh UBT: Use the same mechanism as UAT for logging exceptions. Change 3532734 by Graeme.Thornton Initial VSCode Support - Tasks generated for building all game/engine/program targets - Debugging support for targets on Win64 Change 3532789 by Steve.Robb FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap. Set_Add and Map_Add no longer have a return value. FScriptSet::Find and FScriptMap::Find functions are now FindIndex. FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash. Change 3532845 by Steve.Robb Obsolete UHT settings deleted. Change 3532875 by Graeme.Thornton VSCode - Add debug targets for different target configurations - Choose between VS debugger (windows) and GDB (mac/linux) Change 3532906 by Graeme.Thornton VSCode - Point all builds directly at UBT rather than the batch files - Adjust mac build tasks to run through mono Change 3532924 by Ben.Marsh UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root. Change 3535234 by Graeme.Thornton VSCode - Pass intellisense system a list of paths to use for header resolution Change 3535247 by Graeme.Thornton UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation Change 3535376 by Graeme.Thornton VSCode - Added build jobs for C# projects - Linked launch tasks to relevant build task Change 3537083 by Ben.Marsh EC: Change P4 swarm links to start at the changelist for a build. Change 3537368 by Graeme.Thornton Fix for crash in FSignedArchiveReader when multithreading is disabled Change 3537550 by Graeme.Thornton Fixed a crash in the taskgraph when running single threaded Change 3537922 by Steve.Robb Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT. Change 3539691 by Graeme.Thornton VSCode - Various updates to get PC and Mac C++ projects building and debugging. - Some other changes to C# setup to allow compilation. Debugging doesn't work. Change 3539775 by Ben.Marsh Plugins: Various fixes to settings for enabling plugins. * Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled). * Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed. * Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them. Change 3540788 by Ben.Marsh UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile). Example usage: public class UnrealPakTarget : TargetRules { public UnrealPakTarget(TargetInfo Target) : base(Target) { Type = TargetType.Program; LinkType = TargetLinkType.Monolithic; LaunchModuleName = "UnrealPak"; if(HostPlatform == UnrealTargetPlatform.Win64) { PreBuildSteps.Add("echo Before building:"); PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); PostBuildSteps.Add("echo After building!"); PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); } } } Change 3541664 by Graeme.Thornton VSCode - Add problemMatcher tag to cpp build targets Change 3541732 by Graeme.Thornton VSCode - Change UBT command line switch to "-vscode" for simplicity Change 3541967 by Graeme.Thornton VSCode - Fixes for Mac/Linux build steps Change 3541968 by Ben.Marsh CRP: Pass through the EnabledPlugins element in crash context XML files. #jira UE-46912 Change 3542519 by Ben.Marsh UBT: Add chain of references to error messages when configuring plugins. Change 3542523 by Ben.Marsh UBT: Add more useful error message when attempt to parse a JSON object fails. Change 3542658 by Ben.Marsh UBT: Include a chain of references when reporting errors instantiating modules. Change 3543432 by Ben.Marsh Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set. Change 3543436 by Ben.Marsh UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails. Change 3543536 by Ben.Marsh UBT: Downgrade message about redundant plugin references to a warning. Change 3543871 by Gil.Gribb UE4 - Fixed a critical crash bug with non-EDL loading from pak files. Change 3543924 by Robert.Manuszewski Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes. +Small optimization to token stream generation code. Change 3544469 by Jin.Zhang Crashes page displays the list of plugins from the crash context #rb Change 3544608 by Steve.Robb Fix for nativized generated code. #jira UE-47452 Change 3544612 by Ben.Marsh Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages(). #jira UE-47449 Change 3545954 by Gil.Gribb Fixed a critical crash bug relating to a race condition in async package summary reading. Change 3545968 by Ben.Marsh UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same. #jira UE-47419 Change 3545976 by Ben.Marsh EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch. Change 3546185 by Ben.Marsh Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped. Change 3547084 by Gil.Gribb Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms. Change 3547968 by Gil.Gribb Fixed critical race which potentially could cause a crash in the pak precacher. Change 3504722 by Ben.Marsh BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run. For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as: ERROR: Unable to write to foo.txt while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" /> at Engine\Build\InstalledEngineBuild.xml(91) (see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace) Change 3512255 by Ben.Marsh Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated. Change 3512332 by Ben.Marsh Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4. Change 3512393 by Ben.Marsh Rename FPaths::GameLogDir() to FPaths::ProjectLogDir(). Change 3513452 by Ben.Marsh Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project. Change 3516262 by Ben.Marsh Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor. * Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod. * The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders). Change 3517565 by Ben.Marsh Remove fixed engine version numbers from OSS plugins. Change 3518005 by Ben.Marsh UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false. Change 3518054 by Ben.Marsh UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard. Change 3524496 by Ben.Marsh Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core. Change 3524641 by Ben.Marsh Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc. Change 3528723 by Steve.Robb MoveTemp now static asserts if passed a const reference or rvalue. MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious. Fixes to violations of these new rules. Change 3528876 by Ben.Marsh Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste. Change 3529073 by Ben.Marsh Add script to package ShooterGame for any platforms. Change 3531493 by Ben.Marsh Update platform-specific plugins to declare the target platforms they support. Change 3531611 by Ben.Marsh UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates. Change 3531868 by Ben.Marsh Resaving project descriptors to remove invalid fields. Change 3531983 by Ben.Marsh UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders. * Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer. * Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type) * Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo")) * An error is output if any restricted folder names other than the output platform are in the staged output. Change 3540315 by Ben.Marsh UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers. Change 3542410 by Ben.Marsh UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already. Change 3543018 by Ben.Marsh UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions. Change 3544371 by Steve.Robb Fixes to TSet_Add and TMap_Add BPs. #jira UE-47441 [CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
using System.Linq;
using EpicGames.Core;
public struct StageTarget
{
public TargetReceipt Receipt;
public bool RequireFilesExist;
}
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3494741 by Steve.Robb Generated code size savings. #jira UE-43048 Change 3495484 by Steve.Robb Fix for generated indices of static arrays when saving configs. Change 3497926 by Robert.Manuszewski Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything. Change 3498077 by Robert.Manuszewski Only use the recursion guard in async loading code when the event driven loader is enabled. Change 3498112 by Ben.Marsh UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own. Change 3500239 by Robert.Manuszewski Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes. Change 3500395 by Steve.Robb Extra codegen savings when not in hot reload. Change 3501004 by Steve.Robb EObjectFlags now have constexpr operators. Change 3502079 by Ben.Marsh UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary. Change 3502527 by Steve.Robb Fix for zero-sized array compile error in generated code when all functions are editor-only. Change 3502542 by Ben.Marsh UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead. Change 3502868 by Steve.Robb Workaround for inefficient generated code with stateless lambdas on Clang. Change 3503550 by Steve.Robb Another generated code lambda optimization. Change 3503582 by Ben.Marsh BuildGraph: Add support for nullable parameter types. Change 3504424 by Steve.Robb New AllOf, AnyOf and NoneOf algorithms. Change 3504712 by Ben.Marsh UAT: Less spammy log and error output from UAT. * Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception). * Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information. * AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log) * Name of the calling function is not included in console output by default, but still included in the log. Change 3504808 by Ben.Marsh UAT: Suppress P4 output when running a recursive instance of UAT. Change 3505044 by Steve.Robb Code generation improved for TCppClassType code. Change 3505485 by Ben.Marsh Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module. Change 3505699 by Ben.Marsh Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins. Change 3506055 by Ben.Marsh UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output. Change 3507745 by Robert.Manuszewski Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses). Change 3507911 by Ben.Marsh Plugins: Minor changes to plugin descriptors. * Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors. * Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from. Change 3508669 by Ben.Marsh EC: Parse multi-line messages from UBT and UAT. Change 3508691 by Ben.Marsh Fix double-spacing of cook stats. Change 3509245 by Steve.Robb UHT makefiles removed. Flag audit removed. Change 3509275 by Steve.Robb Fix for mismatched stat categories in AudioMixer. #jira UE-46129 Change 3509289 by Robert.Manuszewski Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably. Change 3509294 by Robert.Manuszewski UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it. Change 3509312 by Steve.Robb GitHub# 3679: Add TArray constructor that takes a raw pointer and a count Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too. #jira UE-46136 Change 3509396 by Steve.Robb GitHub# 3676: Fix TUnion operator<< compile error #jira UE-46099 Change 3509633 by Steve.Robb Fix for line numbers on multiline macros. Change 3509938 by Gil.Gribb UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading. Change 3510593 by Daniel.Lamb Fixed up unsoilicited files getting populated with files which aren't finished being created yet. #test None Change 3510594 by Daniel.Lamb Fixed up temp files directory for patching. Thanks David Yerkess @ Milestone #review@Ben.Marsh Change 3511628 by Ben.Marsh PR #3707: Fixed UBT stack size (Contributed by gildor2) Change 3511808 by Ben.Marsh Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git) #jira UE-46540 Change 3512017 by Ben.Marsh Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface. Change 3513935 by Steve.Robb Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477. Change 3514142 by Steve.Robb MemoryProfiler2 added to generated solution. Change 3516463 by Ben.Marsh Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user. Change 3517860 by Ben.Marsh PR #3727: FString Dereference Fixes (Contributed by jovisgCL) Change 3517967 by Ben.Marsh Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line. Change 3518070 by Steve.Robb Disable Binned2 stats in shipping non-editor builds. Change 3520079 by Steve.Robb Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions. #jira UE-24034 Change 3520080 by Robert.Manuszewski Made max package summary size to be configurable with ini setting Change 3520083 by Steve.Robb Force a GC after hot reload to clean up reinstanced objects which may still tick. #jira UE-40421 Change 3520480 by Robert.Manuszewski Improved assert message when the initial package read request was too small. Change 3520590 by Graeme.Thornton SignedArchiveReader optimizations - Loads more stats - Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader - Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time - Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries Change 3521023 by Graeme.Thornton Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing Change 3521787 by Ben.Marsh PR #3736: Small static code analysis fixes (Contributed by jovisgCL) Change 3521789 by Ben.Marsh PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar) Change 3524721 by Ben.Marsh Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core. Change 3524741 by Ben.Marsh Move PumpMessages() into FPlatformApplicationMisc. Change 3525399 by Ben.Marsh UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment. Change 3525743 by Ben.Marsh UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds. Change 3525746 by Ben.Marsh EC: Include the clobber option on new workspaces, to allow overriding version files when syncing. Change 3526453 by Ben.Marsh UGS: Do not generate project files when syncing precompiled binaries. Change 3527045 by Ben.Marsh Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting. Change 3527420 by Ben.Marsh UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing). Config files are now read from: Engine/Programs/UnrealGameSync/UnrealGameSync.ini Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini If a project is selected: <ProjectDir>/Build/UnrealGameSync.ini <ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini If the .uprojectdirs file is selected: Engine/Programs/UnrealGameSync/DefaultProject.ini Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini Change 3528063 by Ben.Marsh Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse. Change 3528415 by Ben.Marsh UAT: Remove \r characters from the end of multiline log messages. Change 3528427 by Ben.Marsh EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent. Change 3528485 by Ben.Marsh EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places. Change 3528505 by Steve.Robb PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL) #jira UE-46819 Change 3528772 by Robert.Manuszewski Enabling actor and blueprint clustering in ShooterGame Change 3528786 by Robert.Manuszewski PR #3760: Fix typo (Contributed by jesseyeh) Change 3528792 by Steve.Robb PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL) #jira UE-46962 Change 3528941 by Robert.Manuszewski Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object. #jira UE-44996 Change 3530241 by Ben.Marsh UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value. Change 3531377 by Ben.Marsh Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it. This has several advantages over the per-module platform whitelist/blacklist: * Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore. * References to dependent plugins from platform-specific plugins can now be eliminated. * Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly). * The editor can load any plugins without having to whitelist supported editor host platforms. UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime. Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary. Change 3531502 by Jin.Zhang Add support for GPUCrash #rb Change 3531664 by Ben.Marsh UBT: Change output format from C# JSON writer to match output by the engine. Change 3531848 by Ben.Marsh UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable. Change 3531869 by Ben.Marsh UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field. Change 3532474 by Ben.Marsh UBT: Use the same mechanism as UAT for logging exceptions. Change 3532734 by Graeme.Thornton Initial VSCode Support - Tasks generated for building all game/engine/program targets - Debugging support for targets on Win64 Change 3532789 by Steve.Robb FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap. Set_Add and Map_Add no longer have a return value. FScriptSet::Find and FScriptMap::Find functions are now FindIndex. FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash. Change 3532845 by Steve.Robb Obsolete UHT settings deleted. Change 3532875 by Graeme.Thornton VSCode - Add debug targets for different target configurations - Choose between VS debugger (windows) and GDB (mac/linux) Change 3532906 by Graeme.Thornton VSCode - Point all builds directly at UBT rather than the batch files - Adjust mac build tasks to run through mono Change 3532924 by Ben.Marsh UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root. Change 3535234 by Graeme.Thornton VSCode - Pass intellisense system a list of paths to use for header resolution Change 3535247 by Graeme.Thornton UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation Change 3535376 by Graeme.Thornton VSCode - Added build jobs for C# projects - Linked launch tasks to relevant build task Change 3537083 by Ben.Marsh EC: Change P4 swarm links to start at the changelist for a build. Change 3537368 by Graeme.Thornton Fix for crash in FSignedArchiveReader when multithreading is disabled Change 3537550 by Graeme.Thornton Fixed a crash in the taskgraph when running single threaded Change 3537922 by Steve.Robb Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT. Change 3539691 by Graeme.Thornton VSCode - Various updates to get PC and Mac C++ projects building and debugging. - Some other changes to C# setup to allow compilation. Debugging doesn't work. Change 3539775 by Ben.Marsh Plugins: Various fixes to settings for enabling plugins. * Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled). * Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed. * Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them. Change 3540788 by Ben.Marsh UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile). Example usage: public class UnrealPakTarget : TargetRules { public UnrealPakTarget(TargetInfo Target) : base(Target) { Type = TargetType.Program; LinkType = TargetLinkType.Monolithic; LaunchModuleName = "UnrealPak"; if(HostPlatform == UnrealTargetPlatform.Win64) { PreBuildSteps.Add("echo Before building:"); PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); PostBuildSteps.Add("echo After building!"); PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); } } } Change 3541664 by Graeme.Thornton VSCode - Add problemMatcher tag to cpp build targets Change 3541732 by Graeme.Thornton VSCode - Change UBT command line switch to "-vscode" for simplicity Change 3541967 by Graeme.Thornton VSCode - Fixes for Mac/Linux build steps Change 3541968 by Ben.Marsh CRP: Pass through the EnabledPlugins element in crash context XML files. #jira UE-46912 Change 3542519 by Ben.Marsh UBT: Add chain of references to error messages when configuring plugins. Change 3542523 by Ben.Marsh UBT: Add more useful error message when attempt to parse a JSON object fails. Change 3542658 by Ben.Marsh UBT: Include a chain of references when reporting errors instantiating modules. Change 3543432 by Ben.Marsh Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set. Change 3543436 by Ben.Marsh UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails. Change 3543536 by Ben.Marsh UBT: Downgrade message about redundant plugin references to a warning. Change 3543871 by Gil.Gribb UE4 - Fixed a critical crash bug with non-EDL loading from pak files. Change 3543924 by Robert.Manuszewski Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes. +Small optimization to token stream generation code. Change 3544469 by Jin.Zhang Crashes page displays the list of plugins from the crash context #rb Change 3544608 by Steve.Robb Fix for nativized generated code. #jira UE-47452 Change 3544612 by Ben.Marsh Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages(). #jira UE-47449 Change 3545954 by Gil.Gribb Fixed a critical crash bug relating to a race condition in async package summary reading. Change 3545968 by Ben.Marsh UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same. #jira UE-47419 Change 3545976 by Ben.Marsh EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch. Change 3546185 by Ben.Marsh Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped. Change 3547084 by Gil.Gribb Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms. Change 3547968 by Gil.Gribb Fixed critical race which potentially could cause a crash in the pak precacher. Change 3504722 by Ben.Marsh BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run. For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as: ERROR: Unable to write to foo.txt while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" /> at Engine\Build\InstalledEngineBuild.xml(91) (see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace) Change 3512255 by Ben.Marsh Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated. Change 3512332 by Ben.Marsh Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4. Change 3512393 by Ben.Marsh Rename FPaths::GameLogDir() to FPaths::ProjectLogDir(). Change 3513452 by Ben.Marsh Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project. Change 3516262 by Ben.Marsh Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor. * Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod. * The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders). Change 3517565 by Ben.Marsh Remove fixed engine version numbers from OSS plugins. Change 3518005 by Ben.Marsh UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false. Change 3518054 by Ben.Marsh UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard. Change 3524496 by Ben.Marsh Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core. Change 3524641 by Ben.Marsh Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc. Change 3528723 by Steve.Robb MoveTemp now static asserts if passed a const reference or rvalue. MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious. Fixes to violations of these new rules. Change 3528876 by Ben.Marsh Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste. Change 3529073 by Ben.Marsh Add script to package ShooterGame for any platforms. Change 3531493 by Ben.Marsh Update platform-specific plugins to declare the target platforms they support. Change 3531611 by Ben.Marsh UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates. Change 3531868 by Ben.Marsh Resaving project descriptors to remove invalid fields. Change 3531983 by Ben.Marsh UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders. * Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer. * Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type) * Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo")) * An error is output if any restricted folder names other than the output platform are in the staged output. Change 3540315 by Ben.Marsh UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers. Change 3542410 by Ben.Marsh UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already. Change 3543018 by Ben.Marsh UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions. Change 3544371 by Steve.Robb Fixes to TSet_Add and TMap_Add BPs. #jira UE-47441 [CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
/// <summary>
/// Controls which directories are searched when staging files
/// </summary>
public enum StageFilesSearch
{
/// <summary>
/// Only search the top directory
/// </summary>
TopDirectoryOnly,
/// <summary>
/// Search the entire directory tree
/// </summary>
AllDirectories,
}
/// <summary>
/// Contains the set of files to be staged
/// </summary>
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
public class FilesToStage
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3494741 by Steve.Robb Generated code size savings. #jira UE-43048 Change 3495484 by Steve.Robb Fix for generated indices of static arrays when saving configs. Change 3497926 by Robert.Manuszewski Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything. Change 3498077 by Robert.Manuszewski Only use the recursion guard in async loading code when the event driven loader is enabled. Change 3498112 by Ben.Marsh UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own. Change 3500239 by Robert.Manuszewski Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes. Change 3500395 by Steve.Robb Extra codegen savings when not in hot reload. Change 3501004 by Steve.Robb EObjectFlags now have constexpr operators. Change 3502079 by Ben.Marsh UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary. Change 3502527 by Steve.Robb Fix for zero-sized array compile error in generated code when all functions are editor-only. Change 3502542 by Ben.Marsh UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead. Change 3502868 by Steve.Robb Workaround for inefficient generated code with stateless lambdas on Clang. Change 3503550 by Steve.Robb Another generated code lambda optimization. Change 3503582 by Ben.Marsh BuildGraph: Add support for nullable parameter types. Change 3504424 by Steve.Robb New AllOf, AnyOf and NoneOf algorithms. Change 3504712 by Ben.Marsh UAT: Less spammy log and error output from UAT. * Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception). * Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information. * AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log) * Name of the calling function is not included in console output by default, but still included in the log. Change 3504808 by Ben.Marsh UAT: Suppress P4 output when running a recursive instance of UAT. Change 3505044 by Steve.Robb Code generation improved for TCppClassType code. Change 3505485 by Ben.Marsh Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module. Change 3505699 by Ben.Marsh Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins. Change 3506055 by Ben.Marsh UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output. Change 3507745 by Robert.Manuszewski Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses). Change 3507911 by Ben.Marsh Plugins: Minor changes to plugin descriptors. * Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors. * Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from. Change 3508669 by Ben.Marsh EC: Parse multi-line messages from UBT and UAT. Change 3508691 by Ben.Marsh Fix double-spacing of cook stats. Change 3509245 by Steve.Robb UHT makefiles removed. Flag audit removed. Change 3509275 by Steve.Robb Fix for mismatched stat categories in AudioMixer. #jira UE-46129 Change 3509289 by Robert.Manuszewski Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably. Change 3509294 by Robert.Manuszewski UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it. Change 3509312 by Steve.Robb GitHub# 3679: Add TArray constructor that takes a raw pointer and a count Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too. #jira UE-46136 Change 3509396 by Steve.Robb GitHub# 3676: Fix TUnion operator<< compile error #jira UE-46099 Change 3509633 by Steve.Robb Fix for line numbers on multiline macros. Change 3509938 by Gil.Gribb UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading. Change 3510593 by Daniel.Lamb Fixed up unsoilicited files getting populated with files which aren't finished being created yet. #test None Change 3510594 by Daniel.Lamb Fixed up temp files directory for patching. Thanks David Yerkess @ Milestone #review@Ben.Marsh Change 3511628 by Ben.Marsh PR #3707: Fixed UBT stack size (Contributed by gildor2) Change 3511808 by Ben.Marsh Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git) #jira UE-46540 Change 3512017 by Ben.Marsh Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface. Change 3513935 by Steve.Robb Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477. Change 3514142 by Steve.Robb MemoryProfiler2 added to generated solution. Change 3516463 by Ben.Marsh Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user. Change 3517860 by Ben.Marsh PR #3727: FString Dereference Fixes (Contributed by jovisgCL) Change 3517967 by Ben.Marsh Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line. Change 3518070 by Steve.Robb Disable Binned2 stats in shipping non-editor builds. Change 3520079 by Steve.Robb Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions. #jira UE-24034 Change 3520080 by Robert.Manuszewski Made max package summary size to be configurable with ini setting Change 3520083 by Steve.Robb Force a GC after hot reload to clean up reinstanced objects which may still tick. #jira UE-40421 Change 3520480 by Robert.Manuszewski Improved assert message when the initial package read request was too small. Change 3520590 by Graeme.Thornton SignedArchiveReader optimizations - Loads more stats - Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader - Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time - Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries Change 3521023 by Graeme.Thornton Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing Change 3521787 by Ben.Marsh PR #3736: Small static code analysis fixes (Contributed by jovisgCL) Change 3521789 by Ben.Marsh PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar) Change 3524721 by Ben.Marsh Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core. Change 3524741 by Ben.Marsh Move PumpMessages() into FPlatformApplicationMisc. Change 3525399 by Ben.Marsh UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment. Change 3525743 by Ben.Marsh UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds. Change 3525746 by Ben.Marsh EC: Include the clobber option on new workspaces, to allow overriding version files when syncing. Change 3526453 by Ben.Marsh UGS: Do not generate project files when syncing precompiled binaries. Change 3527045 by Ben.Marsh Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting. Change 3527420 by Ben.Marsh UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing). Config files are now read from: Engine/Programs/UnrealGameSync/UnrealGameSync.ini Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini If a project is selected: <ProjectDir>/Build/UnrealGameSync.ini <ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini If the .uprojectdirs file is selected: Engine/Programs/UnrealGameSync/DefaultProject.ini Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini Change 3528063 by Ben.Marsh Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse. Change 3528415 by Ben.Marsh UAT: Remove \r characters from the end of multiline log messages. Change 3528427 by Ben.Marsh EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent. Change 3528485 by Ben.Marsh EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places. Change 3528505 by Steve.Robb PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL) #jira UE-46819 Change 3528772 by Robert.Manuszewski Enabling actor and blueprint clustering in ShooterGame Change 3528786 by Robert.Manuszewski PR #3760: Fix typo (Contributed by jesseyeh) Change 3528792 by Steve.Robb PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL) #jira UE-46962 Change 3528941 by Robert.Manuszewski Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object. #jira UE-44996 Change 3530241 by Ben.Marsh UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value. Change 3531377 by Ben.Marsh Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it. This has several advantages over the per-module platform whitelist/blacklist: * Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore. * References to dependent plugins from platform-specific plugins can now be eliminated. * Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly). * The editor can load any plugins without having to whitelist supported editor host platforms. UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime. Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary. Change 3531502 by Jin.Zhang Add support for GPUCrash #rb Change 3531664 by Ben.Marsh UBT: Change output format from C# JSON writer to match output by the engine. Change 3531848 by Ben.Marsh UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable. Change 3531869 by Ben.Marsh UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field. Change 3532474 by Ben.Marsh UBT: Use the same mechanism as UAT for logging exceptions. Change 3532734 by Graeme.Thornton Initial VSCode Support - Tasks generated for building all game/engine/program targets - Debugging support for targets on Win64 Change 3532789 by Steve.Robb FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap. Set_Add and Map_Add no longer have a return value. FScriptSet::Find and FScriptMap::Find functions are now FindIndex. FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash. Change 3532845 by Steve.Robb Obsolete UHT settings deleted. Change 3532875 by Graeme.Thornton VSCode - Add debug targets for different target configurations - Choose between VS debugger (windows) and GDB (mac/linux) Change 3532906 by Graeme.Thornton VSCode - Point all builds directly at UBT rather than the batch files - Adjust mac build tasks to run through mono Change 3532924 by Ben.Marsh UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root. Change 3535234 by Graeme.Thornton VSCode - Pass intellisense system a list of paths to use for header resolution Change 3535247 by Graeme.Thornton UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation Change 3535376 by Graeme.Thornton VSCode - Added build jobs for C# projects - Linked launch tasks to relevant build task Change 3537083 by Ben.Marsh EC: Change P4 swarm links to start at the changelist for a build. Change 3537368 by Graeme.Thornton Fix for crash in FSignedArchiveReader when multithreading is disabled Change 3537550 by Graeme.Thornton Fixed a crash in the taskgraph when running single threaded Change 3537922 by Steve.Robb Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT. Change 3539691 by Graeme.Thornton VSCode - Various updates to get PC and Mac C++ projects building and debugging. - Some other changes to C# setup to allow compilation. Debugging doesn't work. Change 3539775 by Ben.Marsh Plugins: Various fixes to settings for enabling plugins. * Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled). * Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed. * Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them. Change 3540788 by Ben.Marsh UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile). Example usage: public class UnrealPakTarget : TargetRules { public UnrealPakTarget(TargetInfo Target) : base(Target) { Type = TargetType.Program; LinkType = TargetLinkType.Monolithic; LaunchModuleName = "UnrealPak"; if(HostPlatform == UnrealTargetPlatform.Win64) { PreBuildSteps.Add("echo Before building:"); PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); PostBuildSteps.Add("echo After building!"); PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); } } } Change 3541664 by Graeme.Thornton VSCode - Add problemMatcher tag to cpp build targets Change 3541732 by Graeme.Thornton VSCode - Change UBT command line switch to "-vscode" for simplicity Change 3541967 by Graeme.Thornton VSCode - Fixes for Mac/Linux build steps Change 3541968 by Ben.Marsh CRP: Pass through the EnabledPlugins element in crash context XML files. #jira UE-46912 Change 3542519 by Ben.Marsh UBT: Add chain of references to error messages when configuring plugins. Change 3542523 by Ben.Marsh UBT: Add more useful error message when attempt to parse a JSON object fails. Change 3542658 by Ben.Marsh UBT: Include a chain of references when reporting errors instantiating modules. Change 3543432 by Ben.Marsh Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set. Change 3543436 by Ben.Marsh UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails. Change 3543536 by Ben.Marsh UBT: Downgrade message about redundant plugin references to a warning. Change 3543871 by Gil.Gribb UE4 - Fixed a critical crash bug with non-EDL loading from pak files. Change 3543924 by Robert.Manuszewski Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes. +Small optimization to token stream generation code. Change 3544469 by Jin.Zhang Crashes page displays the list of plugins from the crash context #rb Change 3544608 by Steve.Robb Fix for nativized generated code. #jira UE-47452 Change 3544612 by Ben.Marsh Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages(). #jira UE-47449 Change 3545954 by Gil.Gribb Fixed a critical crash bug relating to a race condition in async package summary reading. Change 3545968 by Ben.Marsh UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same. #jira UE-47419 Change 3545976 by Ben.Marsh EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch. Change 3546185 by Ben.Marsh Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped. Change 3547084 by Gil.Gribb Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms. Change 3547968 by Gil.Gribb Fixed critical race which potentially could cause a crash in the pak precacher. Change 3504722 by Ben.Marsh BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run. For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as: ERROR: Unable to write to foo.txt while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" /> at Engine\Build\InstalledEngineBuild.xml(91) (see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace) Change 3512255 by Ben.Marsh Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated. Change 3512332 by Ben.Marsh Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4. Change 3512393 by Ben.Marsh Rename FPaths::GameLogDir() to FPaths::ProjectLogDir(). Change 3513452 by Ben.Marsh Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project. Change 3516262 by Ben.Marsh Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor. * Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod. * The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders). Change 3517565 by Ben.Marsh Remove fixed engine version numbers from OSS plugins. Change 3518005 by Ben.Marsh UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false. Change 3518054 by Ben.Marsh UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard. Change 3524496 by Ben.Marsh Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core. Change 3524641 by Ben.Marsh Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc. Change 3528723 by Steve.Robb MoveTemp now static asserts if passed a const reference or rvalue. MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious. Fixes to violations of these new rules. Change 3528876 by Ben.Marsh Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste. Change 3529073 by Ben.Marsh Add script to package ShooterGame for any platforms. Change 3531493 by Ben.Marsh Update platform-specific plugins to declare the target platforms they support. Change 3531611 by Ben.Marsh UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates. Change 3531868 by Ben.Marsh Resaving project descriptors to remove invalid fields. Change 3531983 by Ben.Marsh UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders. * Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer. * Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type) * Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo")) * An error is output if any restricted folder names other than the output platform are in the staged output. Change 3540315 by Ben.Marsh UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers. Change 3542410 by Ben.Marsh UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already. Change 3543018 by Ben.Marsh UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions. Change 3544371 by Steve.Robb Fixes to TSet_Add and TMap_Add BPs. #jira UE-47441 [CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
/// <summary>
/// After staging, this is a map from staged file to source file. These file are content, and can go into a pak file.
/// </summary>
public Dictionary<StagedFileReference, FileReference> UFSFiles = new Dictionary<StagedFileReference, FileReference>();
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
/// <summary>
/// After staging, this is a map from staged file to source file. These file are binaries, etc and can't go into a pak file.
/// </summary>
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3494741 by Steve.Robb Generated code size savings. #jira UE-43048 Change 3495484 by Steve.Robb Fix for generated indices of static arrays when saving configs. Change 3497926 by Robert.Manuszewski Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything. Change 3498077 by Robert.Manuszewski Only use the recursion guard in async loading code when the event driven loader is enabled. Change 3498112 by Ben.Marsh UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own. Change 3500239 by Robert.Manuszewski Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes. Change 3500395 by Steve.Robb Extra codegen savings when not in hot reload. Change 3501004 by Steve.Robb EObjectFlags now have constexpr operators. Change 3502079 by Ben.Marsh UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary. Change 3502527 by Steve.Robb Fix for zero-sized array compile error in generated code when all functions are editor-only. Change 3502542 by Ben.Marsh UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead. Change 3502868 by Steve.Robb Workaround for inefficient generated code with stateless lambdas on Clang. Change 3503550 by Steve.Robb Another generated code lambda optimization. Change 3503582 by Ben.Marsh BuildGraph: Add support for nullable parameter types. Change 3504424 by Steve.Robb New AllOf, AnyOf and NoneOf algorithms. Change 3504712 by Ben.Marsh UAT: Less spammy log and error output from UAT. * Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception). * Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information. * AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log) * Name of the calling function is not included in console output by default, but still included in the log. Change 3504808 by Ben.Marsh UAT: Suppress P4 output when running a recursive instance of UAT. Change 3505044 by Steve.Robb Code generation improved for TCppClassType code. Change 3505485 by Ben.Marsh Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module. Change 3505699 by Ben.Marsh Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins. Change 3506055 by Ben.Marsh UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output. Change 3507745 by Robert.Manuszewski Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses). Change 3507911 by Ben.Marsh Plugins: Minor changes to plugin descriptors. * Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors. * Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from. Change 3508669 by Ben.Marsh EC: Parse multi-line messages from UBT and UAT. Change 3508691 by Ben.Marsh Fix double-spacing of cook stats. Change 3509245 by Steve.Robb UHT makefiles removed. Flag audit removed. Change 3509275 by Steve.Robb Fix for mismatched stat categories in AudioMixer. #jira UE-46129 Change 3509289 by Robert.Manuszewski Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably. Change 3509294 by Robert.Manuszewski UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it. Change 3509312 by Steve.Robb GitHub# 3679: Add TArray constructor that takes a raw pointer and a count Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too. #jira UE-46136 Change 3509396 by Steve.Robb GitHub# 3676: Fix TUnion operator<< compile error #jira UE-46099 Change 3509633 by Steve.Robb Fix for line numbers on multiline macros. Change 3509938 by Gil.Gribb UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading. Change 3510593 by Daniel.Lamb Fixed up unsoilicited files getting populated with files which aren't finished being created yet. #test None Change 3510594 by Daniel.Lamb Fixed up temp files directory for patching. Thanks David Yerkess @ Milestone #review@Ben.Marsh Change 3511628 by Ben.Marsh PR #3707: Fixed UBT stack size (Contributed by gildor2) Change 3511808 by Ben.Marsh Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git) #jira UE-46540 Change 3512017 by Ben.Marsh Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface. Change 3513935 by Steve.Robb Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477. Change 3514142 by Steve.Robb MemoryProfiler2 added to generated solution. Change 3516463 by Ben.Marsh Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user. Change 3517860 by Ben.Marsh PR #3727: FString Dereference Fixes (Contributed by jovisgCL) Change 3517967 by Ben.Marsh Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line. Change 3518070 by Steve.Robb Disable Binned2 stats in shipping non-editor builds. Change 3520079 by Steve.Robb Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions. #jira UE-24034 Change 3520080 by Robert.Manuszewski Made max package summary size to be configurable with ini setting Change 3520083 by Steve.Robb Force a GC after hot reload to clean up reinstanced objects which may still tick. #jira UE-40421 Change 3520480 by Robert.Manuszewski Improved assert message when the initial package read request was too small. Change 3520590 by Graeme.Thornton SignedArchiveReader optimizations - Loads more stats - Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader - Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time - Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries Change 3521023 by Graeme.Thornton Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing Change 3521787 by Ben.Marsh PR #3736: Small static code analysis fixes (Contributed by jovisgCL) Change 3521789 by Ben.Marsh PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar) Change 3524721 by Ben.Marsh Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core. Change 3524741 by Ben.Marsh Move PumpMessages() into FPlatformApplicationMisc. Change 3525399 by Ben.Marsh UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment. Change 3525743 by Ben.Marsh UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds. Change 3525746 by Ben.Marsh EC: Include the clobber option on new workspaces, to allow overriding version files when syncing. Change 3526453 by Ben.Marsh UGS: Do not generate project files when syncing precompiled binaries. Change 3527045 by Ben.Marsh Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting. Change 3527420 by Ben.Marsh UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing). Config files are now read from: Engine/Programs/UnrealGameSync/UnrealGameSync.ini Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini If a project is selected: <ProjectDir>/Build/UnrealGameSync.ini <ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini If the .uprojectdirs file is selected: Engine/Programs/UnrealGameSync/DefaultProject.ini Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini Change 3528063 by Ben.Marsh Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse. Change 3528415 by Ben.Marsh UAT: Remove \r characters from the end of multiline log messages. Change 3528427 by Ben.Marsh EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent. Change 3528485 by Ben.Marsh EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places. Change 3528505 by Steve.Robb PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL) #jira UE-46819 Change 3528772 by Robert.Manuszewski Enabling actor and blueprint clustering in ShooterGame Change 3528786 by Robert.Manuszewski PR #3760: Fix typo (Contributed by jesseyeh) Change 3528792 by Steve.Robb PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL) #jira UE-46962 Change 3528941 by Robert.Manuszewski Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object. #jira UE-44996 Change 3530241 by Ben.Marsh UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value. Change 3531377 by Ben.Marsh Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it. This has several advantages over the per-module platform whitelist/blacklist: * Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore. * References to dependent plugins from platform-specific plugins can now be eliminated. * Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly). * The editor can load any plugins without having to whitelist supported editor host platforms. UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime. Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary. Change 3531502 by Jin.Zhang Add support for GPUCrash #rb Change 3531664 by Ben.Marsh UBT: Change output format from C# JSON writer to match output by the engine. Change 3531848 by Ben.Marsh UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable. Change 3531869 by Ben.Marsh UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field. Change 3532474 by Ben.Marsh UBT: Use the same mechanism as UAT for logging exceptions. Change 3532734 by Graeme.Thornton Initial VSCode Support - Tasks generated for building all game/engine/program targets - Debugging support for targets on Win64 Change 3532789 by Steve.Robb FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap. Set_Add and Map_Add no longer have a return value. FScriptSet::Find and FScriptMap::Find functions are now FindIndex. FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash. Change 3532845 by Steve.Robb Obsolete UHT settings deleted. Change 3532875 by Graeme.Thornton VSCode - Add debug targets for different target configurations - Choose between VS debugger (windows) and GDB (mac/linux) Change 3532906 by Graeme.Thornton VSCode - Point all builds directly at UBT rather than the batch files - Adjust mac build tasks to run through mono Change 3532924 by Ben.Marsh UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root. Change 3535234 by Graeme.Thornton VSCode - Pass intellisense system a list of paths to use for header resolution Change 3535247 by Graeme.Thornton UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation Change 3535376 by Graeme.Thornton VSCode - Added build jobs for C# projects - Linked launch tasks to relevant build task Change 3537083 by Ben.Marsh EC: Change P4 swarm links to start at the changelist for a build. Change 3537368 by Graeme.Thornton Fix for crash in FSignedArchiveReader when multithreading is disabled Change 3537550 by Graeme.Thornton Fixed a crash in the taskgraph when running single threaded Change 3537922 by Steve.Robb Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT. Change 3539691 by Graeme.Thornton VSCode - Various updates to get PC and Mac C++ projects building and debugging. - Some other changes to C# setup to allow compilation. Debugging doesn't work. Change 3539775 by Ben.Marsh Plugins: Various fixes to settings for enabling plugins. * Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled). * Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed. * Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them. Change 3540788 by Ben.Marsh UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile). Example usage: public class UnrealPakTarget : TargetRules { public UnrealPakTarget(TargetInfo Target) : base(Target) { Type = TargetType.Program; LinkType = TargetLinkType.Monolithic; LaunchModuleName = "UnrealPak"; if(HostPlatform == UnrealTargetPlatform.Win64) { PreBuildSteps.Add("echo Before building:"); PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); PostBuildSteps.Add("echo After building!"); PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); } } } Change 3541664 by Graeme.Thornton VSCode - Add problemMatcher tag to cpp build targets Change 3541732 by Graeme.Thornton VSCode - Change UBT command line switch to "-vscode" for simplicity Change 3541967 by Graeme.Thornton VSCode - Fixes for Mac/Linux build steps Change 3541968 by Ben.Marsh CRP: Pass through the EnabledPlugins element in crash context XML files. #jira UE-46912 Change 3542519 by Ben.Marsh UBT: Add chain of references to error messages when configuring plugins. Change 3542523 by Ben.Marsh UBT: Add more useful error message when attempt to parse a JSON object fails. Change 3542658 by Ben.Marsh UBT: Include a chain of references when reporting errors instantiating modules. Change 3543432 by Ben.Marsh Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set. Change 3543436 by Ben.Marsh UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails. Change 3543536 by Ben.Marsh UBT: Downgrade message about redundant plugin references to a warning. Change 3543871 by Gil.Gribb UE4 - Fixed a critical crash bug with non-EDL loading from pak files. Change 3543924 by Robert.Manuszewski Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes. +Small optimization to token stream generation code. Change 3544469 by Jin.Zhang Crashes page displays the list of plugins from the crash context #rb Change 3544608 by Steve.Robb Fix for nativized generated code. #jira UE-47452 Change 3544612 by Ben.Marsh Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages(). #jira UE-47449 Change 3545954 by Gil.Gribb Fixed a critical crash bug relating to a race condition in async package summary reading. Change 3545968 by Ben.Marsh UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same. #jira UE-47419 Change 3545976 by Ben.Marsh EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch. Change 3546185 by Ben.Marsh Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped. Change 3547084 by Gil.Gribb Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms. Change 3547968 by Gil.Gribb Fixed critical race which potentially could cause a crash in the pak precacher. Change 3504722 by Ben.Marsh BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run. For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as: ERROR: Unable to write to foo.txt while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" /> at Engine\Build\InstalledEngineBuild.xml(91) (see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace) Change 3512255 by Ben.Marsh Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated. Change 3512332 by Ben.Marsh Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4. Change 3512393 by Ben.Marsh Rename FPaths::GameLogDir() to FPaths::ProjectLogDir(). Change 3513452 by Ben.Marsh Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project. Change 3516262 by Ben.Marsh Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor. * Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod. * The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders). Change 3517565 by Ben.Marsh Remove fixed engine version numbers from OSS plugins. Change 3518005 by Ben.Marsh UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false. Change 3518054 by Ben.Marsh UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard. Change 3524496 by Ben.Marsh Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core. Change 3524641 by Ben.Marsh Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc. Change 3528723 by Steve.Robb MoveTemp now static asserts if passed a const reference or rvalue. MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious. Fixes to violations of these new rules. Change 3528876 by Ben.Marsh Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste. Change 3529073 by Ben.Marsh Add script to package ShooterGame for any platforms. Change 3531493 by Ben.Marsh Update platform-specific plugins to declare the target platforms they support. Change 3531611 by Ben.Marsh UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates. Change 3531868 by Ben.Marsh Resaving project descriptors to remove invalid fields. Change 3531983 by Ben.Marsh UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders. * Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer. * Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type) * Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo")) * An error is output if any restricted folder names other than the output platform are in the staged output. Change 3540315 by Ben.Marsh UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers. Change 3542410 by Ben.Marsh UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already. Change 3543018 by Ben.Marsh UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions. Change 3544371 by Steve.Robb Fixes to TSet_Add and TMap_Add BPs. #jira UE-47441 [CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
public Dictionary<StagedFileReference, FileReference> NonUFSFiles = new Dictionary<StagedFileReference, FileReference>();
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
/// <summary>
/// After staging, this is a map from staged file to source file. These file are for debugging, and should not go into a pak file.
/// </summary>
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3494741 by Steve.Robb Generated code size savings. #jira UE-43048 Change 3495484 by Steve.Robb Fix for generated indices of static arrays when saving configs. Change 3497926 by Robert.Manuszewski Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything. Change 3498077 by Robert.Manuszewski Only use the recursion guard in async loading code when the event driven loader is enabled. Change 3498112 by Ben.Marsh UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own. Change 3500239 by Robert.Manuszewski Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes. Change 3500395 by Steve.Robb Extra codegen savings when not in hot reload. Change 3501004 by Steve.Robb EObjectFlags now have constexpr operators. Change 3502079 by Ben.Marsh UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary. Change 3502527 by Steve.Robb Fix for zero-sized array compile error in generated code when all functions are editor-only. Change 3502542 by Ben.Marsh UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead. Change 3502868 by Steve.Robb Workaround for inefficient generated code with stateless lambdas on Clang. Change 3503550 by Steve.Robb Another generated code lambda optimization. Change 3503582 by Ben.Marsh BuildGraph: Add support for nullable parameter types. Change 3504424 by Steve.Robb New AllOf, AnyOf and NoneOf algorithms. Change 3504712 by Ben.Marsh UAT: Less spammy log and error output from UAT. * Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception). * Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information. * AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log) * Name of the calling function is not included in console output by default, but still included in the log. Change 3504808 by Ben.Marsh UAT: Suppress P4 output when running a recursive instance of UAT. Change 3505044 by Steve.Robb Code generation improved for TCppClassType code. Change 3505485 by Ben.Marsh Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module. Change 3505699 by Ben.Marsh Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins. Change 3506055 by Ben.Marsh UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output. Change 3507745 by Robert.Manuszewski Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses). Change 3507911 by Ben.Marsh Plugins: Minor changes to plugin descriptors. * Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors. * Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from. Change 3508669 by Ben.Marsh EC: Parse multi-line messages from UBT and UAT. Change 3508691 by Ben.Marsh Fix double-spacing of cook stats. Change 3509245 by Steve.Robb UHT makefiles removed. Flag audit removed. Change 3509275 by Steve.Robb Fix for mismatched stat categories in AudioMixer. #jira UE-46129 Change 3509289 by Robert.Manuszewski Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably. Change 3509294 by Robert.Manuszewski UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it. Change 3509312 by Steve.Robb GitHub# 3679: Add TArray constructor that takes a raw pointer and a count Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too. #jira UE-46136 Change 3509396 by Steve.Robb GitHub# 3676: Fix TUnion operator<< compile error #jira UE-46099 Change 3509633 by Steve.Robb Fix for line numbers on multiline macros. Change 3509938 by Gil.Gribb UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading. Change 3510593 by Daniel.Lamb Fixed up unsoilicited files getting populated with files which aren't finished being created yet. #test None Change 3510594 by Daniel.Lamb Fixed up temp files directory for patching. Thanks David Yerkess @ Milestone #review@Ben.Marsh Change 3511628 by Ben.Marsh PR #3707: Fixed UBT stack size (Contributed by gildor2) Change 3511808 by Ben.Marsh Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git) #jira UE-46540 Change 3512017 by Ben.Marsh Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface. Change 3513935 by Steve.Robb Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477. Change 3514142 by Steve.Robb MemoryProfiler2 added to generated solution. Change 3516463 by Ben.Marsh Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user. Change 3517860 by Ben.Marsh PR #3727: FString Dereference Fixes (Contributed by jovisgCL) Change 3517967 by Ben.Marsh Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line. Change 3518070 by Steve.Robb Disable Binned2 stats in shipping non-editor builds. Change 3520079 by Steve.Robb Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions. #jira UE-24034 Change 3520080 by Robert.Manuszewski Made max package summary size to be configurable with ini setting Change 3520083 by Steve.Robb Force a GC after hot reload to clean up reinstanced objects which may still tick. #jira UE-40421 Change 3520480 by Robert.Manuszewski Improved assert message when the initial package read request was too small. Change 3520590 by Graeme.Thornton SignedArchiveReader optimizations - Loads more stats - Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader - Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time - Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries Change 3521023 by Graeme.Thornton Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing Change 3521787 by Ben.Marsh PR #3736: Small static code analysis fixes (Contributed by jovisgCL) Change 3521789 by Ben.Marsh PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar) Change 3524721 by Ben.Marsh Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core. Change 3524741 by Ben.Marsh Move PumpMessages() into FPlatformApplicationMisc. Change 3525399 by Ben.Marsh UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment. Change 3525743 by Ben.Marsh UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds. Change 3525746 by Ben.Marsh EC: Include the clobber option on new workspaces, to allow overriding version files when syncing. Change 3526453 by Ben.Marsh UGS: Do not generate project files when syncing precompiled binaries. Change 3527045 by Ben.Marsh Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting. Change 3527420 by Ben.Marsh UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing). Config files are now read from: Engine/Programs/UnrealGameSync/UnrealGameSync.ini Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini If a project is selected: <ProjectDir>/Build/UnrealGameSync.ini <ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini If the .uprojectdirs file is selected: Engine/Programs/UnrealGameSync/DefaultProject.ini Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini Change 3528063 by Ben.Marsh Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse. Change 3528415 by Ben.Marsh UAT: Remove \r characters from the end of multiline log messages. Change 3528427 by Ben.Marsh EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent. Change 3528485 by Ben.Marsh EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places. Change 3528505 by Steve.Robb PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL) #jira UE-46819 Change 3528772 by Robert.Manuszewski Enabling actor and blueprint clustering in ShooterGame Change 3528786 by Robert.Manuszewski PR #3760: Fix typo (Contributed by jesseyeh) Change 3528792 by Steve.Robb PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL) #jira UE-46962 Change 3528941 by Robert.Manuszewski Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object. #jira UE-44996 Change 3530241 by Ben.Marsh UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value. Change 3531377 by Ben.Marsh Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it. This has several advantages over the per-module platform whitelist/blacklist: * Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore. * References to dependent plugins from platform-specific plugins can now be eliminated. * Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly). * The editor can load any plugins without having to whitelist supported editor host platforms. UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime. Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary. Change 3531502 by Jin.Zhang Add support for GPUCrash #rb Change 3531664 by Ben.Marsh UBT: Change output format from C# JSON writer to match output by the engine. Change 3531848 by Ben.Marsh UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable. Change 3531869 by Ben.Marsh UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field. Change 3532474 by Ben.Marsh UBT: Use the same mechanism as UAT for logging exceptions. Change 3532734 by Graeme.Thornton Initial VSCode Support - Tasks generated for building all game/engine/program targets - Debugging support for targets on Win64 Change 3532789 by Steve.Robb FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap. Set_Add and Map_Add no longer have a return value. FScriptSet::Find and FScriptMap::Find functions are now FindIndex. FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash. Change 3532845 by Steve.Robb Obsolete UHT settings deleted. Change 3532875 by Graeme.Thornton VSCode - Add debug targets for different target configurations - Choose between VS debugger (windows) and GDB (mac/linux) Change 3532906 by Graeme.Thornton VSCode - Point all builds directly at UBT rather than the batch files - Adjust mac build tasks to run through mono Change 3532924 by Ben.Marsh UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root. Change 3535234 by Graeme.Thornton VSCode - Pass intellisense system a list of paths to use for header resolution Change 3535247 by Graeme.Thornton UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation Change 3535376 by Graeme.Thornton VSCode - Added build jobs for C# projects - Linked launch tasks to relevant build task Change 3537083 by Ben.Marsh EC: Change P4 swarm links to start at the changelist for a build. Change 3537368 by Graeme.Thornton Fix for crash in FSignedArchiveReader when multithreading is disabled Change 3537550 by Graeme.Thornton Fixed a crash in the taskgraph when running single threaded Change 3537922 by Steve.Robb Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT. Change 3539691 by Graeme.Thornton VSCode - Various updates to get PC and Mac C++ projects building and debugging. - Some other changes to C# setup to allow compilation. Debugging doesn't work. Change 3539775 by Ben.Marsh Plugins: Various fixes to settings for enabling plugins. * Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled). * Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed. * Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them. Change 3540788 by Ben.Marsh UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile). Example usage: public class UnrealPakTarget : TargetRules { public UnrealPakTarget(TargetInfo Target) : base(Target) { Type = TargetType.Program; LinkType = TargetLinkType.Monolithic; LaunchModuleName = "UnrealPak"; if(HostPlatform == UnrealTargetPlatform.Win64) { PreBuildSteps.Add("echo Before building:"); PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); PostBuildSteps.Add("echo After building!"); PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); } } } Change 3541664 by Graeme.Thornton VSCode - Add problemMatcher tag to cpp build targets Change 3541732 by Graeme.Thornton VSCode - Change UBT command line switch to "-vscode" for simplicity Change 3541967 by Graeme.Thornton VSCode - Fixes for Mac/Linux build steps Change 3541968 by Ben.Marsh CRP: Pass through the EnabledPlugins element in crash context XML files. #jira UE-46912 Change 3542519 by Ben.Marsh UBT: Add chain of references to error messages when configuring plugins. Change 3542523 by Ben.Marsh UBT: Add more useful error message when attempt to parse a JSON object fails. Change 3542658 by Ben.Marsh UBT: Include a chain of references when reporting errors instantiating modules. Change 3543432 by Ben.Marsh Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set. Change 3543436 by Ben.Marsh UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails. Change 3543536 by Ben.Marsh UBT: Downgrade message about redundant plugin references to a warning. Change 3543871 by Gil.Gribb UE4 - Fixed a critical crash bug with non-EDL loading from pak files. Change 3543924 by Robert.Manuszewski Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes. +Small optimization to token stream generation code. Change 3544469 by Jin.Zhang Crashes page displays the list of plugins from the crash context #rb Change 3544608 by Steve.Robb Fix for nativized generated code. #jira UE-47452 Change 3544612 by Ben.Marsh Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages(). #jira UE-47449 Change 3545954 by Gil.Gribb Fixed a critical crash bug relating to a race condition in async package summary reading. Change 3545968 by Ben.Marsh UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same. #jira UE-47419 Change 3545976 by Ben.Marsh EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch. Change 3546185 by Ben.Marsh Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped. Change 3547084 by Gil.Gribb Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms. Change 3547968 by Gil.Gribb Fixed critical race which potentially could cause a crash in the pak precacher. Change 3504722 by Ben.Marsh BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run. For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as: ERROR: Unable to write to foo.txt while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" /> at Engine\Build\InstalledEngineBuild.xml(91) (see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace) Change 3512255 by Ben.Marsh Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated. Change 3512332 by Ben.Marsh Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4. Change 3512393 by Ben.Marsh Rename FPaths::GameLogDir() to FPaths::ProjectLogDir(). Change 3513452 by Ben.Marsh Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project. Change 3516262 by Ben.Marsh Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor. * Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod. * The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders). Change 3517565 by Ben.Marsh Remove fixed engine version numbers from OSS plugins. Change 3518005 by Ben.Marsh UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false. Change 3518054 by Ben.Marsh UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard. Change 3524496 by Ben.Marsh Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core. Change 3524641 by Ben.Marsh Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc. Change 3528723 by Steve.Robb MoveTemp now static asserts if passed a const reference or rvalue. MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious. Fixes to violations of these new rules. Change 3528876 by Ben.Marsh Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste. Change 3529073 by Ben.Marsh Add script to package ShooterGame for any platforms. Change 3531493 by Ben.Marsh Update platform-specific plugins to declare the target platforms they support. Change 3531611 by Ben.Marsh UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates. Change 3531868 by Ben.Marsh Resaving project descriptors to remove invalid fields. Change 3531983 by Ben.Marsh UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders. * Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer. * Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type) * Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo")) * An error is output if any restricted folder names other than the output platform are in the staged output. Change 3540315 by Ben.Marsh UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers. Change 3542410 by Ben.Marsh UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already. Change 3543018 by Ben.Marsh UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions. Change 3544371 by Steve.Robb Fixes to TSet_Add and TMap_Add BPs. #jira UE-47441 [CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
public Dictionary<StagedFileReference, FileReference> NonUFSDebugFiles = new Dictionary<StagedFileReference, FileReference>();
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
/// <summary>
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3494741 by Steve.Robb Generated code size savings. #jira UE-43048 Change 3495484 by Steve.Robb Fix for generated indices of static arrays when saving configs. Change 3497926 by Robert.Manuszewski Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything. Change 3498077 by Robert.Manuszewski Only use the recursion guard in async loading code when the event driven loader is enabled. Change 3498112 by Ben.Marsh UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own. Change 3500239 by Robert.Manuszewski Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes. Change 3500395 by Steve.Robb Extra codegen savings when not in hot reload. Change 3501004 by Steve.Robb EObjectFlags now have constexpr operators. Change 3502079 by Ben.Marsh UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary. Change 3502527 by Steve.Robb Fix for zero-sized array compile error in generated code when all functions are editor-only. Change 3502542 by Ben.Marsh UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead. Change 3502868 by Steve.Robb Workaround for inefficient generated code with stateless lambdas on Clang. Change 3503550 by Steve.Robb Another generated code lambda optimization. Change 3503582 by Ben.Marsh BuildGraph: Add support for nullable parameter types. Change 3504424 by Steve.Robb New AllOf, AnyOf and NoneOf algorithms. Change 3504712 by Ben.Marsh UAT: Less spammy log and error output from UAT. * Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception). * Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information. * AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log) * Name of the calling function is not included in console output by default, but still included in the log. Change 3504808 by Ben.Marsh UAT: Suppress P4 output when running a recursive instance of UAT. Change 3505044 by Steve.Robb Code generation improved for TCppClassType code. Change 3505485 by Ben.Marsh Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module. Change 3505699 by Ben.Marsh Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins. Change 3506055 by Ben.Marsh UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output. Change 3507745 by Robert.Manuszewski Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses). Change 3507911 by Ben.Marsh Plugins: Minor changes to plugin descriptors. * Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors. * Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from. Change 3508669 by Ben.Marsh EC: Parse multi-line messages from UBT and UAT. Change 3508691 by Ben.Marsh Fix double-spacing of cook stats. Change 3509245 by Steve.Robb UHT makefiles removed. Flag audit removed. Change 3509275 by Steve.Robb Fix for mismatched stat categories in AudioMixer. #jira UE-46129 Change 3509289 by Robert.Manuszewski Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably. Change 3509294 by Robert.Manuszewski UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it. Change 3509312 by Steve.Robb GitHub# 3679: Add TArray constructor that takes a raw pointer and a count Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too. #jira UE-46136 Change 3509396 by Steve.Robb GitHub# 3676: Fix TUnion operator<< compile error #jira UE-46099 Change 3509633 by Steve.Robb Fix for line numbers on multiline macros. Change 3509938 by Gil.Gribb UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading. Change 3510593 by Daniel.Lamb Fixed up unsoilicited files getting populated with files which aren't finished being created yet. #test None Change 3510594 by Daniel.Lamb Fixed up temp files directory for patching. Thanks David Yerkess @ Milestone #review@Ben.Marsh Change 3511628 by Ben.Marsh PR #3707: Fixed UBT stack size (Contributed by gildor2) Change 3511808 by Ben.Marsh Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git) #jira UE-46540 Change 3512017 by Ben.Marsh Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface. Change 3513935 by Steve.Robb Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477. Change 3514142 by Steve.Robb MemoryProfiler2 added to generated solution. Change 3516463 by Ben.Marsh Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user. Change 3517860 by Ben.Marsh PR #3727: FString Dereference Fixes (Contributed by jovisgCL) Change 3517967 by Ben.Marsh Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line. Change 3518070 by Steve.Robb Disable Binned2 stats in shipping non-editor builds. Change 3520079 by Steve.Robb Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions. #jira UE-24034 Change 3520080 by Robert.Manuszewski Made max package summary size to be configurable with ini setting Change 3520083 by Steve.Robb Force a GC after hot reload to clean up reinstanced objects which may still tick. #jira UE-40421 Change 3520480 by Robert.Manuszewski Improved assert message when the initial package read request was too small. Change 3520590 by Graeme.Thornton SignedArchiveReader optimizations - Loads more stats - Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader - Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time - Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries Change 3521023 by Graeme.Thornton Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing Change 3521787 by Ben.Marsh PR #3736: Small static code analysis fixes (Contributed by jovisgCL) Change 3521789 by Ben.Marsh PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar) Change 3524721 by Ben.Marsh Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core. Change 3524741 by Ben.Marsh Move PumpMessages() into FPlatformApplicationMisc. Change 3525399 by Ben.Marsh UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment. Change 3525743 by Ben.Marsh UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds. Change 3525746 by Ben.Marsh EC: Include the clobber option on new workspaces, to allow overriding version files when syncing. Change 3526453 by Ben.Marsh UGS: Do not generate project files when syncing precompiled binaries. Change 3527045 by Ben.Marsh Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting. Change 3527420 by Ben.Marsh UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing). Config files are now read from: Engine/Programs/UnrealGameSync/UnrealGameSync.ini Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini If a project is selected: <ProjectDir>/Build/UnrealGameSync.ini <ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini If the .uprojectdirs file is selected: Engine/Programs/UnrealGameSync/DefaultProject.ini Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini Change 3528063 by Ben.Marsh Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse. Change 3528415 by Ben.Marsh UAT: Remove \r characters from the end of multiline log messages. Change 3528427 by Ben.Marsh EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent. Change 3528485 by Ben.Marsh EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places. Change 3528505 by Steve.Robb PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL) #jira UE-46819 Change 3528772 by Robert.Manuszewski Enabling actor and blueprint clustering in ShooterGame Change 3528786 by Robert.Manuszewski PR #3760: Fix typo (Contributed by jesseyeh) Change 3528792 by Steve.Robb PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL) #jira UE-46962 Change 3528941 by Robert.Manuszewski Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object. #jira UE-44996 Change 3530241 by Ben.Marsh UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value. Change 3531377 by Ben.Marsh Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it. This has several advantages over the per-module platform whitelist/blacklist: * Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore. * References to dependent plugins from platform-specific plugins can now be eliminated. * Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly). * The editor can load any plugins without having to whitelist supported editor host platforms. UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime. Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary. Change 3531502 by Jin.Zhang Add support for GPUCrash #rb Change 3531664 by Ben.Marsh UBT: Change output format from C# JSON writer to match output by the engine. Change 3531848 by Ben.Marsh UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable. Change 3531869 by Ben.Marsh UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field. Change 3532474 by Ben.Marsh UBT: Use the same mechanism as UAT for logging exceptions. Change 3532734 by Graeme.Thornton Initial VSCode Support - Tasks generated for building all game/engine/program targets - Debugging support for targets on Win64 Change 3532789 by Steve.Robb FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap. Set_Add and Map_Add no longer have a return value. FScriptSet::Find and FScriptMap::Find functions are now FindIndex. FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash. Change 3532845 by Steve.Robb Obsolete UHT settings deleted. Change 3532875 by Graeme.Thornton VSCode - Add debug targets for different target configurations - Choose between VS debugger (windows) and GDB (mac/linux) Change 3532906 by Graeme.Thornton VSCode - Point all builds directly at UBT rather than the batch files - Adjust mac build tasks to run through mono Change 3532924 by Ben.Marsh UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root. Change 3535234 by Graeme.Thornton VSCode - Pass intellisense system a list of paths to use for header resolution Change 3535247 by Graeme.Thornton UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation Change 3535376 by Graeme.Thornton VSCode - Added build jobs for C# projects - Linked launch tasks to relevant build task Change 3537083 by Ben.Marsh EC: Change P4 swarm links to start at the changelist for a build. Change 3537368 by Graeme.Thornton Fix for crash in FSignedArchiveReader when multithreading is disabled Change 3537550 by Graeme.Thornton Fixed a crash in the taskgraph when running single threaded Change 3537922 by Steve.Robb Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT. Change 3539691 by Graeme.Thornton VSCode - Various updates to get PC and Mac C++ projects building and debugging. - Some other changes to C# setup to allow compilation. Debugging doesn't work. Change 3539775 by Ben.Marsh Plugins: Various fixes to settings for enabling plugins. * Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled). * Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed. * Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them. Change 3540788 by Ben.Marsh UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile). Example usage: public class UnrealPakTarget : TargetRules { public UnrealPakTarget(TargetInfo Target) : base(Target) { Type = TargetType.Program; LinkType = TargetLinkType.Monolithic; LaunchModuleName = "UnrealPak"; if(HostPlatform == UnrealTargetPlatform.Win64) { PreBuildSteps.Add("echo Before building:"); PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); PostBuildSteps.Add("echo After building!"); PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); } } } Change 3541664 by Graeme.Thornton VSCode - Add problemMatcher tag to cpp build targets Change 3541732 by Graeme.Thornton VSCode - Change UBT command line switch to "-vscode" for simplicity Change 3541967 by Graeme.Thornton VSCode - Fixes for Mac/Linux build steps Change 3541968 by Ben.Marsh CRP: Pass through the EnabledPlugins element in crash context XML files. #jira UE-46912 Change 3542519 by Ben.Marsh UBT: Add chain of references to error messages when configuring plugins. Change 3542523 by Ben.Marsh UBT: Add more useful error message when attempt to parse a JSON object fails. Change 3542658 by Ben.Marsh UBT: Include a chain of references when reporting errors instantiating modules. Change 3543432 by Ben.Marsh Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set. Change 3543436 by Ben.Marsh UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails. Change 3543536 by Ben.Marsh UBT: Downgrade message about redundant plugin references to a warning. Change 3543871 by Gil.Gribb UE4 - Fixed a critical crash bug with non-EDL loading from pak files. Change 3543924 by Robert.Manuszewski Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes. +Small optimization to token stream generation code. Change 3544469 by Jin.Zhang Crashes page displays the list of plugins from the crash context #rb Change 3544608 by Steve.Robb Fix for nativized generated code. #jira UE-47452 Change 3544612 by Ben.Marsh Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages(). #jira UE-47449 Change 3545954 by Gil.Gribb Fixed a critical crash bug relating to a race condition in async package summary reading. Change 3545968 by Ben.Marsh UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same. #jira UE-47419 Change 3545976 by Ben.Marsh EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch. Change 3546185 by Ben.Marsh Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped. Change 3547084 by Gil.Gribb Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms. Change 3547968 by Gil.Gribb Fixed critical race which potentially could cause a crash in the pak precacher. Change 3504722 by Ben.Marsh BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run. For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as: ERROR: Unable to write to foo.txt while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" /> at Engine\Build\InstalledEngineBuild.xml(91) (see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace) Change 3512255 by Ben.Marsh Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated. Change 3512332 by Ben.Marsh Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4. Change 3512393 by Ben.Marsh Rename FPaths::GameLogDir() to FPaths::ProjectLogDir(). Change 3513452 by Ben.Marsh Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project. Change 3516262 by Ben.Marsh Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor. * Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod. * The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders). Change 3517565 by Ben.Marsh Remove fixed engine version numbers from OSS plugins. Change 3518005 by Ben.Marsh UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false. Change 3518054 by Ben.Marsh UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard. Change 3524496 by Ben.Marsh Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core. Change 3524641 by Ben.Marsh Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc. Change 3528723 by Steve.Robb MoveTemp now static asserts if passed a const reference or rvalue. MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious. Fixes to violations of these new rules. Change 3528876 by Ben.Marsh Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste. Change 3529073 by Ben.Marsh Add script to package ShooterGame for any platforms. Change 3531493 by Ben.Marsh Update platform-specific plugins to declare the target platforms they support. Change 3531611 by Ben.Marsh UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates. Change 3531868 by Ben.Marsh Resaving project descriptors to remove invalid fields. Change 3531983 by Ben.Marsh UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders. * Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer. * Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type) * Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo")) * An error is output if any restricted folder names other than the output platform are in the staged output. Change 3540315 by Ben.Marsh UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers. Change 3542410 by Ben.Marsh UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already. Change 3543018 by Ben.Marsh UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions. Change 3544371 by Steve.Robb Fixes to TSet_Add and TMap_Add BPs. #jira UE-47441 [CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
/// After staging, this is a map from staged file to source file. These files are system files, and should not be renamed or remapped.
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
/// </summary>
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3494741 by Steve.Robb Generated code size savings. #jira UE-43048 Change 3495484 by Steve.Robb Fix for generated indices of static arrays when saving configs. Change 3497926 by Robert.Manuszewski Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything. Change 3498077 by Robert.Manuszewski Only use the recursion guard in async loading code when the event driven loader is enabled. Change 3498112 by Ben.Marsh UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own. Change 3500239 by Robert.Manuszewski Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes. Change 3500395 by Steve.Robb Extra codegen savings when not in hot reload. Change 3501004 by Steve.Robb EObjectFlags now have constexpr operators. Change 3502079 by Ben.Marsh UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary. Change 3502527 by Steve.Robb Fix for zero-sized array compile error in generated code when all functions are editor-only. Change 3502542 by Ben.Marsh UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead. Change 3502868 by Steve.Robb Workaround for inefficient generated code with stateless lambdas on Clang. Change 3503550 by Steve.Robb Another generated code lambda optimization. Change 3503582 by Ben.Marsh BuildGraph: Add support for nullable parameter types. Change 3504424 by Steve.Robb New AllOf, AnyOf and NoneOf algorithms. Change 3504712 by Ben.Marsh UAT: Less spammy log and error output from UAT. * Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception). * Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information. * AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log) * Name of the calling function is not included in console output by default, but still included in the log. Change 3504808 by Ben.Marsh UAT: Suppress P4 output when running a recursive instance of UAT. Change 3505044 by Steve.Robb Code generation improved for TCppClassType code. Change 3505485 by Ben.Marsh Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module. Change 3505699 by Ben.Marsh Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins. Change 3506055 by Ben.Marsh UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output. Change 3507745 by Robert.Manuszewski Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses). Change 3507911 by Ben.Marsh Plugins: Minor changes to plugin descriptors. * Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors. * Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from. Change 3508669 by Ben.Marsh EC: Parse multi-line messages from UBT and UAT. Change 3508691 by Ben.Marsh Fix double-spacing of cook stats. Change 3509245 by Steve.Robb UHT makefiles removed. Flag audit removed. Change 3509275 by Steve.Robb Fix for mismatched stat categories in AudioMixer. #jira UE-46129 Change 3509289 by Robert.Manuszewski Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably. Change 3509294 by Robert.Manuszewski UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it. Change 3509312 by Steve.Robb GitHub# 3679: Add TArray constructor that takes a raw pointer and a count Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too. #jira UE-46136 Change 3509396 by Steve.Robb GitHub# 3676: Fix TUnion operator<< compile error #jira UE-46099 Change 3509633 by Steve.Robb Fix for line numbers on multiline macros. Change 3509938 by Gil.Gribb UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading. Change 3510593 by Daniel.Lamb Fixed up unsoilicited files getting populated with files which aren't finished being created yet. #test None Change 3510594 by Daniel.Lamb Fixed up temp files directory for patching. Thanks David Yerkess @ Milestone #review@Ben.Marsh Change 3511628 by Ben.Marsh PR #3707: Fixed UBT stack size (Contributed by gildor2) Change 3511808 by Ben.Marsh Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git) #jira UE-46540 Change 3512017 by Ben.Marsh Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface. Change 3513935 by Steve.Robb Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477. Change 3514142 by Steve.Robb MemoryProfiler2 added to generated solution. Change 3516463 by Ben.Marsh Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user. Change 3517860 by Ben.Marsh PR #3727: FString Dereference Fixes (Contributed by jovisgCL) Change 3517967 by Ben.Marsh Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line. Change 3518070 by Steve.Robb Disable Binned2 stats in shipping non-editor builds. Change 3520079 by Steve.Robb Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions. #jira UE-24034 Change 3520080 by Robert.Manuszewski Made max package summary size to be configurable with ini setting Change 3520083 by Steve.Robb Force a GC after hot reload to clean up reinstanced objects which may still tick. #jira UE-40421 Change 3520480 by Robert.Manuszewski Improved assert message when the initial package read request was too small. Change 3520590 by Graeme.Thornton SignedArchiveReader optimizations - Loads more stats - Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader - Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time - Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries Change 3521023 by Graeme.Thornton Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing Change 3521787 by Ben.Marsh PR #3736: Small static code analysis fixes (Contributed by jovisgCL) Change 3521789 by Ben.Marsh PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar) Change 3524721 by Ben.Marsh Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core. Change 3524741 by Ben.Marsh Move PumpMessages() into FPlatformApplicationMisc. Change 3525399 by Ben.Marsh UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment. Change 3525743 by Ben.Marsh UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds. Change 3525746 by Ben.Marsh EC: Include the clobber option on new workspaces, to allow overriding version files when syncing. Change 3526453 by Ben.Marsh UGS: Do not generate project files when syncing precompiled binaries. Change 3527045 by Ben.Marsh Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting. Change 3527420 by Ben.Marsh UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing). Config files are now read from: Engine/Programs/UnrealGameSync/UnrealGameSync.ini Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini If a project is selected: <ProjectDir>/Build/UnrealGameSync.ini <ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini If the .uprojectdirs file is selected: Engine/Programs/UnrealGameSync/DefaultProject.ini Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini Change 3528063 by Ben.Marsh Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse. Change 3528415 by Ben.Marsh UAT: Remove \r characters from the end of multiline log messages. Change 3528427 by Ben.Marsh EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent. Change 3528485 by Ben.Marsh EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places. Change 3528505 by Steve.Robb PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL) #jira UE-46819 Change 3528772 by Robert.Manuszewski Enabling actor and blueprint clustering in ShooterGame Change 3528786 by Robert.Manuszewski PR #3760: Fix typo (Contributed by jesseyeh) Change 3528792 by Steve.Robb PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL) #jira UE-46962 Change 3528941 by Robert.Manuszewski Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object. #jira UE-44996 Change 3530241 by Ben.Marsh UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value. Change 3531377 by Ben.Marsh Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it. This has several advantages over the per-module platform whitelist/blacklist: * Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore. * References to dependent plugins from platform-specific plugins can now be eliminated. * Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly). * The editor can load any plugins without having to whitelist supported editor host platforms. UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime. Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary. Change 3531502 by Jin.Zhang Add support for GPUCrash #rb Change 3531664 by Ben.Marsh UBT: Change output format from C# JSON writer to match output by the engine. Change 3531848 by Ben.Marsh UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable. Change 3531869 by Ben.Marsh UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field. Change 3532474 by Ben.Marsh UBT: Use the same mechanism as UAT for logging exceptions. Change 3532734 by Graeme.Thornton Initial VSCode Support - Tasks generated for building all game/engine/program targets - Debugging support for targets on Win64 Change 3532789 by Steve.Robb FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap. Set_Add and Map_Add no longer have a return value. FScriptSet::Find and FScriptMap::Find functions are now FindIndex. FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash. Change 3532845 by Steve.Robb Obsolete UHT settings deleted. Change 3532875 by Graeme.Thornton VSCode - Add debug targets for different target configurations - Choose between VS debugger (windows) and GDB (mac/linux) Change 3532906 by Graeme.Thornton VSCode - Point all builds directly at UBT rather than the batch files - Adjust mac build tasks to run through mono Change 3532924 by Ben.Marsh UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root. Change 3535234 by Graeme.Thornton VSCode - Pass intellisense system a list of paths to use for header resolution Change 3535247 by Graeme.Thornton UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation Change 3535376 by Graeme.Thornton VSCode - Added build jobs for C# projects - Linked launch tasks to relevant build task Change 3537083 by Ben.Marsh EC: Change P4 swarm links to start at the changelist for a build. Change 3537368 by Graeme.Thornton Fix for crash in FSignedArchiveReader when multithreading is disabled Change 3537550 by Graeme.Thornton Fixed a crash in the taskgraph when running single threaded Change 3537922 by Steve.Robb Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT. Change 3539691 by Graeme.Thornton VSCode - Various updates to get PC and Mac C++ projects building and debugging. - Some other changes to C# setup to allow compilation. Debugging doesn't work. Change 3539775 by Ben.Marsh Plugins: Various fixes to settings for enabling plugins. * Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled). * Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed. * Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them. Change 3540788 by Ben.Marsh UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile). Example usage: public class UnrealPakTarget : TargetRules { public UnrealPakTarget(TargetInfo Target) : base(Target) { Type = TargetType.Program; LinkType = TargetLinkType.Monolithic; LaunchModuleName = "UnrealPak"; if(HostPlatform == UnrealTargetPlatform.Win64) { PreBuildSteps.Add("echo Before building:"); PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); PostBuildSteps.Add("echo After building!"); PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); } } } Change 3541664 by Graeme.Thornton VSCode - Add problemMatcher tag to cpp build targets Change 3541732 by Graeme.Thornton VSCode - Change UBT command line switch to "-vscode" for simplicity Change 3541967 by Graeme.Thornton VSCode - Fixes for Mac/Linux build steps Change 3541968 by Ben.Marsh CRP: Pass through the EnabledPlugins element in crash context XML files. #jira UE-46912 Change 3542519 by Ben.Marsh UBT: Add chain of references to error messages when configuring plugins. Change 3542523 by Ben.Marsh UBT: Add more useful error message when attempt to parse a JSON object fails. Change 3542658 by Ben.Marsh UBT: Include a chain of references when reporting errors instantiating modules. Change 3543432 by Ben.Marsh Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set. Change 3543436 by Ben.Marsh UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails. Change 3543536 by Ben.Marsh UBT: Downgrade message about redundant plugin references to a warning. Change 3543871 by Gil.Gribb UE4 - Fixed a critical crash bug with non-EDL loading from pak files. Change 3543924 by Robert.Manuszewski Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes. +Small optimization to token stream generation code. Change 3544469 by Jin.Zhang Crashes page displays the list of plugins from the crash context #rb Change 3544608 by Steve.Robb Fix for nativized generated code. #jira UE-47452 Change 3544612 by Ben.Marsh Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages(). #jira UE-47449 Change 3545954 by Gil.Gribb Fixed a critical crash bug relating to a race condition in async package summary reading. Change 3545968 by Ben.Marsh UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same. #jira UE-47419 Change 3545976 by Ben.Marsh EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch. Change 3546185 by Ben.Marsh Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped. Change 3547084 by Gil.Gribb Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms. Change 3547968 by Gil.Gribb Fixed critical race which potentially could cause a crash in the pak precacher. Change 3504722 by Ben.Marsh BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run. For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as: ERROR: Unable to write to foo.txt while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" /> at Engine\Build\InstalledEngineBuild.xml(91) (see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace) Change 3512255 by Ben.Marsh Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated. Change 3512332 by Ben.Marsh Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4. Change 3512393 by Ben.Marsh Rename FPaths::GameLogDir() to FPaths::ProjectLogDir(). Change 3513452 by Ben.Marsh Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project. Change 3516262 by Ben.Marsh Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor. * Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod. * The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders). Change 3517565 by Ben.Marsh Remove fixed engine version numbers from OSS plugins. Change 3518005 by Ben.Marsh UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false. Change 3518054 by Ben.Marsh UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard. Change 3524496 by Ben.Marsh Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core. Change 3524641 by Ben.Marsh Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc. Change 3528723 by Steve.Robb MoveTemp now static asserts if passed a const reference or rvalue. MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious. Fixes to violations of these new rules. Change 3528876 by Ben.Marsh Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste. Change 3529073 by Ben.Marsh Add script to package ShooterGame for any platforms. Change 3531493 by Ben.Marsh Update platform-specific plugins to declare the target platforms they support. Change 3531611 by Ben.Marsh UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates. Change 3531868 by Ben.Marsh Resaving project descriptors to remove invalid fields. Change 3531983 by Ben.Marsh UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders. * Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer. * Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type) * Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo")) * An error is output if any restricted folder names other than the output platform are in the staged output. Change 3540315 by Ben.Marsh UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers. Change 3542410 by Ben.Marsh UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already. Change 3543018 by Ben.Marsh UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions. Change 3544371 by Steve.Robb Fixes to TSet_Add and TMap_Add BPs. #jira UE-47441 [CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
public Dictionary<StagedFileReference, FileReference> NonUFSSystemFiles = new Dictionary<StagedFileReference, FileReference>();
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
/// <summary>
/// Adds a file to be staged as the given type
/// </summary>
/// <param name="FileType">The type of file to be staged</param>
/// <param name="StagedFile">The staged file location</param>
/// <param name="InputFile">The input file</param>
public void Add(StagedFileType FileType, StagedFileReference StagedFile, FileReference InputFile)
{
if (FileType == StagedFileType.UFS)
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3494741 by Steve.Robb Generated code size savings. #jira UE-43048 Change 3495484 by Steve.Robb Fix for generated indices of static arrays when saving configs. Change 3497926 by Robert.Manuszewski Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything. Change 3498077 by Robert.Manuszewski Only use the recursion guard in async loading code when the event driven loader is enabled. Change 3498112 by Ben.Marsh UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own. Change 3500239 by Robert.Manuszewski Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes. Change 3500395 by Steve.Robb Extra codegen savings when not in hot reload. Change 3501004 by Steve.Robb EObjectFlags now have constexpr operators. Change 3502079 by Ben.Marsh UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary. Change 3502527 by Steve.Robb Fix for zero-sized array compile error in generated code when all functions are editor-only. Change 3502542 by Ben.Marsh UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead. Change 3502868 by Steve.Robb Workaround for inefficient generated code with stateless lambdas on Clang. Change 3503550 by Steve.Robb Another generated code lambda optimization. Change 3503582 by Ben.Marsh BuildGraph: Add support for nullable parameter types. Change 3504424 by Steve.Robb New AllOf, AnyOf and NoneOf algorithms. Change 3504712 by Ben.Marsh UAT: Less spammy log and error output from UAT. * Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception). * Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information. * AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log) * Name of the calling function is not included in console output by default, but still included in the log. Change 3504808 by Ben.Marsh UAT: Suppress P4 output when running a recursive instance of UAT. Change 3505044 by Steve.Robb Code generation improved for TCppClassType code. Change 3505485 by Ben.Marsh Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module. Change 3505699 by Ben.Marsh Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins. Change 3506055 by Ben.Marsh UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output. Change 3507745 by Robert.Manuszewski Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses). Change 3507911 by Ben.Marsh Plugins: Minor changes to plugin descriptors. * Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors. * Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from. Change 3508669 by Ben.Marsh EC: Parse multi-line messages from UBT and UAT. Change 3508691 by Ben.Marsh Fix double-spacing of cook stats. Change 3509245 by Steve.Robb UHT makefiles removed. Flag audit removed. Change 3509275 by Steve.Robb Fix for mismatched stat categories in AudioMixer. #jira UE-46129 Change 3509289 by Robert.Manuszewski Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably. Change 3509294 by Robert.Manuszewski UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it. Change 3509312 by Steve.Robb GitHub# 3679: Add TArray constructor that takes a raw pointer and a count Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too. #jira UE-46136 Change 3509396 by Steve.Robb GitHub# 3676: Fix TUnion operator<< compile error #jira UE-46099 Change 3509633 by Steve.Robb Fix for line numbers on multiline macros. Change 3509938 by Gil.Gribb UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading. Change 3510593 by Daniel.Lamb Fixed up unsoilicited files getting populated with files which aren't finished being created yet. #test None Change 3510594 by Daniel.Lamb Fixed up temp files directory for patching. Thanks David Yerkess @ Milestone #review@Ben.Marsh Change 3511628 by Ben.Marsh PR #3707: Fixed UBT stack size (Contributed by gildor2) Change 3511808 by Ben.Marsh Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git) #jira UE-46540 Change 3512017 by Ben.Marsh Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface. Change 3513935 by Steve.Robb Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477. Change 3514142 by Steve.Robb MemoryProfiler2 added to generated solution. Change 3516463 by Ben.Marsh Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user. Change 3517860 by Ben.Marsh PR #3727: FString Dereference Fixes (Contributed by jovisgCL) Change 3517967 by Ben.Marsh Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line. Change 3518070 by Steve.Robb Disable Binned2 stats in shipping non-editor builds. Change 3520079 by Steve.Robb Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions. #jira UE-24034 Change 3520080 by Robert.Manuszewski Made max package summary size to be configurable with ini setting Change 3520083 by Steve.Robb Force a GC after hot reload to clean up reinstanced objects which may still tick. #jira UE-40421 Change 3520480 by Robert.Manuszewski Improved assert message when the initial package read request was too small. Change 3520590 by Graeme.Thornton SignedArchiveReader optimizations - Loads more stats - Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader - Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time - Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries Change 3521023 by Graeme.Thornton Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing Change 3521787 by Ben.Marsh PR #3736: Small static code analysis fixes (Contributed by jovisgCL) Change 3521789 by Ben.Marsh PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar) Change 3524721 by Ben.Marsh Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core. Change 3524741 by Ben.Marsh Move PumpMessages() into FPlatformApplicationMisc. Change 3525399 by Ben.Marsh UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment. Change 3525743 by Ben.Marsh UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds. Change 3525746 by Ben.Marsh EC: Include the clobber option on new workspaces, to allow overriding version files when syncing. Change 3526453 by Ben.Marsh UGS: Do not generate project files when syncing precompiled binaries. Change 3527045 by Ben.Marsh Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting. Change 3527420 by Ben.Marsh UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing). Config files are now read from: Engine/Programs/UnrealGameSync/UnrealGameSync.ini Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini If a project is selected: <ProjectDir>/Build/UnrealGameSync.ini <ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini If the .uprojectdirs file is selected: Engine/Programs/UnrealGameSync/DefaultProject.ini Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini Change 3528063 by Ben.Marsh Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse. Change 3528415 by Ben.Marsh UAT: Remove \r characters from the end of multiline log messages. Change 3528427 by Ben.Marsh EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent. Change 3528485 by Ben.Marsh EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places. Change 3528505 by Steve.Robb PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL) #jira UE-46819 Change 3528772 by Robert.Manuszewski Enabling actor and blueprint clustering in ShooterGame Change 3528786 by Robert.Manuszewski PR #3760: Fix typo (Contributed by jesseyeh) Change 3528792 by Steve.Robb PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL) #jira UE-46962 Change 3528941 by Robert.Manuszewski Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object. #jira UE-44996 Change 3530241 by Ben.Marsh UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value. Change 3531377 by Ben.Marsh Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it. This has several advantages over the per-module platform whitelist/blacklist: * Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore. * References to dependent plugins from platform-specific plugins can now be eliminated. * Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly). * The editor can load any plugins without having to whitelist supported editor host platforms. UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime. Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary. Change 3531502 by Jin.Zhang Add support for GPUCrash #rb Change 3531664 by Ben.Marsh UBT: Change output format from C# JSON writer to match output by the engine. Change 3531848 by Ben.Marsh UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable. Change 3531869 by Ben.Marsh UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field. Change 3532474 by Ben.Marsh UBT: Use the same mechanism as UAT for logging exceptions. Change 3532734 by Graeme.Thornton Initial VSCode Support - Tasks generated for building all game/engine/program targets - Debugging support for targets on Win64 Change 3532789 by Steve.Robb FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap. Set_Add and Map_Add no longer have a return value. FScriptSet::Find and FScriptMap::Find functions are now FindIndex. FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash. Change 3532845 by Steve.Robb Obsolete UHT settings deleted. Change 3532875 by Graeme.Thornton VSCode - Add debug targets for different target configurations - Choose between VS debugger (windows) and GDB (mac/linux) Change 3532906 by Graeme.Thornton VSCode - Point all builds directly at UBT rather than the batch files - Adjust mac build tasks to run through mono Change 3532924 by Ben.Marsh UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root. Change 3535234 by Graeme.Thornton VSCode - Pass intellisense system a list of paths to use for header resolution Change 3535247 by Graeme.Thornton UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation Change 3535376 by Graeme.Thornton VSCode - Added build jobs for C# projects - Linked launch tasks to relevant build task Change 3537083 by Ben.Marsh EC: Change P4 swarm links to start at the changelist for a build. Change 3537368 by Graeme.Thornton Fix for crash in FSignedArchiveReader when multithreading is disabled Change 3537550 by Graeme.Thornton Fixed a crash in the taskgraph when running single threaded Change 3537922 by Steve.Robb Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT. Change 3539691 by Graeme.Thornton VSCode - Various updates to get PC and Mac C++ projects building and debugging. - Some other changes to C# setup to allow compilation. Debugging doesn't work. Change 3539775 by Ben.Marsh Plugins: Various fixes to settings for enabling plugins. * Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled). * Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed. * Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them. Change 3540788 by Ben.Marsh UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile). Example usage: public class UnrealPakTarget : TargetRules { public UnrealPakTarget(TargetInfo Target) : base(Target) { Type = TargetType.Program; LinkType = TargetLinkType.Monolithic; LaunchModuleName = "UnrealPak"; if(HostPlatform == UnrealTargetPlatform.Win64) { PreBuildSteps.Add("echo Before building:"); PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); PostBuildSteps.Add("echo After building!"); PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); } } } Change 3541664 by Graeme.Thornton VSCode - Add problemMatcher tag to cpp build targets Change 3541732 by Graeme.Thornton VSCode - Change UBT command line switch to "-vscode" for simplicity Change 3541967 by Graeme.Thornton VSCode - Fixes for Mac/Linux build steps Change 3541968 by Ben.Marsh CRP: Pass through the EnabledPlugins element in crash context XML files. #jira UE-46912 Change 3542519 by Ben.Marsh UBT: Add chain of references to error messages when configuring plugins. Change 3542523 by Ben.Marsh UBT: Add more useful error message when attempt to parse a JSON object fails. Change 3542658 by Ben.Marsh UBT: Include a chain of references when reporting errors instantiating modules. Change 3543432 by Ben.Marsh Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set. Change 3543436 by Ben.Marsh UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails. Change 3543536 by Ben.Marsh UBT: Downgrade message about redundant plugin references to a warning. Change 3543871 by Gil.Gribb UE4 - Fixed a critical crash bug with non-EDL loading from pak files. Change 3543924 by Robert.Manuszewski Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes. +Small optimization to token stream generation code. Change 3544469 by Jin.Zhang Crashes page displays the list of plugins from the crash context #rb Change 3544608 by Steve.Robb Fix for nativized generated code. #jira UE-47452 Change 3544612 by Ben.Marsh Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages(). #jira UE-47449 Change 3545954 by Gil.Gribb Fixed a critical crash bug relating to a race condition in async package summary reading. Change 3545968 by Ben.Marsh UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same. #jira UE-47419 Change 3545976 by Ben.Marsh EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch. Change 3546185 by Ben.Marsh Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped. Change 3547084 by Gil.Gribb Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms. Change 3547968 by Gil.Gribb Fixed critical race which potentially could cause a crash in the pak precacher. Change 3504722 by Ben.Marsh BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run. For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as: ERROR: Unable to write to foo.txt while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" /> at Engine\Build\InstalledEngineBuild.xml(91) (see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace) Change 3512255 by Ben.Marsh Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated. Change 3512332 by Ben.Marsh Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4. Change 3512393 by Ben.Marsh Rename FPaths::GameLogDir() to FPaths::ProjectLogDir(). Change 3513452 by Ben.Marsh Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project. Change 3516262 by Ben.Marsh Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor. * Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod. * The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders). Change 3517565 by Ben.Marsh Remove fixed engine version numbers from OSS plugins. Change 3518005 by Ben.Marsh UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false. Change 3518054 by Ben.Marsh UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard. Change 3524496 by Ben.Marsh Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core. Change 3524641 by Ben.Marsh Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc. Change 3528723 by Steve.Robb MoveTemp now static asserts if passed a const reference or rvalue. MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious. Fixes to violations of these new rules. Change 3528876 by Ben.Marsh Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste. Change 3529073 by Ben.Marsh Add script to package ShooterGame for any platforms. Change 3531493 by Ben.Marsh Update platform-specific plugins to declare the target platforms they support. Change 3531611 by Ben.Marsh UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates. Change 3531868 by Ben.Marsh Resaving project descriptors to remove invalid fields. Change 3531983 by Ben.Marsh UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders. * Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer. * Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type) * Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo")) * An error is output if any restricted folder names other than the output platform are in the staged output. Change 3540315 by Ben.Marsh UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers. Change 3542410 by Ben.Marsh UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already. Change 3543018 by Ben.Marsh UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions. Change 3544371 by Steve.Robb Fixes to TSet_Add and TMap_Add BPs. #jira UE-47441 [CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
AddToDictionary(UFSFiles, StagedFile, InputFile);
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
}
else if (FileType == StagedFileType.NonUFS)
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3494741 by Steve.Robb Generated code size savings. #jira UE-43048 Change 3495484 by Steve.Robb Fix for generated indices of static arrays when saving configs. Change 3497926 by Robert.Manuszewski Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything. Change 3498077 by Robert.Manuszewski Only use the recursion guard in async loading code when the event driven loader is enabled. Change 3498112 by Ben.Marsh UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own. Change 3500239 by Robert.Manuszewski Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes. Change 3500395 by Steve.Robb Extra codegen savings when not in hot reload. Change 3501004 by Steve.Robb EObjectFlags now have constexpr operators. Change 3502079 by Ben.Marsh UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary. Change 3502527 by Steve.Robb Fix for zero-sized array compile error in generated code when all functions are editor-only. Change 3502542 by Ben.Marsh UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead. Change 3502868 by Steve.Robb Workaround for inefficient generated code with stateless lambdas on Clang. Change 3503550 by Steve.Robb Another generated code lambda optimization. Change 3503582 by Ben.Marsh BuildGraph: Add support for nullable parameter types. Change 3504424 by Steve.Robb New AllOf, AnyOf and NoneOf algorithms. Change 3504712 by Ben.Marsh UAT: Less spammy log and error output from UAT. * Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception). * Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information. * AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log) * Name of the calling function is not included in console output by default, but still included in the log. Change 3504808 by Ben.Marsh UAT: Suppress P4 output when running a recursive instance of UAT. Change 3505044 by Steve.Robb Code generation improved for TCppClassType code. Change 3505485 by Ben.Marsh Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module. Change 3505699 by Ben.Marsh Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins. Change 3506055 by Ben.Marsh UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output. Change 3507745 by Robert.Manuszewski Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses). Change 3507911 by Ben.Marsh Plugins: Minor changes to plugin descriptors. * Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors. * Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from. Change 3508669 by Ben.Marsh EC: Parse multi-line messages from UBT and UAT. Change 3508691 by Ben.Marsh Fix double-spacing of cook stats. Change 3509245 by Steve.Robb UHT makefiles removed. Flag audit removed. Change 3509275 by Steve.Robb Fix for mismatched stat categories in AudioMixer. #jira UE-46129 Change 3509289 by Robert.Manuszewski Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably. Change 3509294 by Robert.Manuszewski UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it. Change 3509312 by Steve.Robb GitHub# 3679: Add TArray constructor that takes a raw pointer and a count Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too. #jira UE-46136 Change 3509396 by Steve.Robb GitHub# 3676: Fix TUnion operator<< compile error #jira UE-46099 Change 3509633 by Steve.Robb Fix for line numbers on multiline macros. Change 3509938 by Gil.Gribb UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading. Change 3510593 by Daniel.Lamb Fixed up unsoilicited files getting populated with files which aren't finished being created yet. #test None Change 3510594 by Daniel.Lamb Fixed up temp files directory for patching. Thanks David Yerkess @ Milestone #review@Ben.Marsh Change 3511628 by Ben.Marsh PR #3707: Fixed UBT stack size (Contributed by gildor2) Change 3511808 by Ben.Marsh Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git) #jira UE-46540 Change 3512017 by Ben.Marsh Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface. Change 3513935 by Steve.Robb Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477. Change 3514142 by Steve.Robb MemoryProfiler2 added to generated solution. Change 3516463 by Ben.Marsh Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user. Change 3517860 by Ben.Marsh PR #3727: FString Dereference Fixes (Contributed by jovisgCL) Change 3517967 by Ben.Marsh Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line. Change 3518070 by Steve.Robb Disable Binned2 stats in shipping non-editor builds. Change 3520079 by Steve.Robb Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions. #jira UE-24034 Change 3520080 by Robert.Manuszewski Made max package summary size to be configurable with ini setting Change 3520083 by Steve.Robb Force a GC after hot reload to clean up reinstanced objects which may still tick. #jira UE-40421 Change 3520480 by Robert.Manuszewski Improved assert message when the initial package read request was too small. Change 3520590 by Graeme.Thornton SignedArchiveReader optimizations - Loads more stats - Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader - Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time - Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries Change 3521023 by Graeme.Thornton Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing Change 3521787 by Ben.Marsh PR #3736: Small static code analysis fixes (Contributed by jovisgCL) Change 3521789 by Ben.Marsh PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar) Change 3524721 by Ben.Marsh Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core. Change 3524741 by Ben.Marsh Move PumpMessages() into FPlatformApplicationMisc. Change 3525399 by Ben.Marsh UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment. Change 3525743 by Ben.Marsh UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds. Change 3525746 by Ben.Marsh EC: Include the clobber option on new workspaces, to allow overriding version files when syncing. Change 3526453 by Ben.Marsh UGS: Do not generate project files when syncing precompiled binaries. Change 3527045 by Ben.Marsh Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting. Change 3527420 by Ben.Marsh UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing). Config files are now read from: Engine/Programs/UnrealGameSync/UnrealGameSync.ini Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini If a project is selected: <ProjectDir>/Build/UnrealGameSync.ini <ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini If the .uprojectdirs file is selected: Engine/Programs/UnrealGameSync/DefaultProject.ini Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini Change 3528063 by Ben.Marsh Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse. Change 3528415 by Ben.Marsh UAT: Remove \r characters from the end of multiline log messages. Change 3528427 by Ben.Marsh EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent. Change 3528485 by Ben.Marsh EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places. Change 3528505 by Steve.Robb PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL) #jira UE-46819 Change 3528772 by Robert.Manuszewski Enabling actor and blueprint clustering in ShooterGame Change 3528786 by Robert.Manuszewski PR #3760: Fix typo (Contributed by jesseyeh) Change 3528792 by Steve.Robb PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL) #jira UE-46962 Change 3528941 by Robert.Manuszewski Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object. #jira UE-44996 Change 3530241 by Ben.Marsh UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value. Change 3531377 by Ben.Marsh Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it. This has several advantages over the per-module platform whitelist/blacklist: * Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore. * References to dependent plugins from platform-specific plugins can now be eliminated. * Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly). * The editor can load any plugins without having to whitelist supported editor host platforms. UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime. Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary. Change 3531502 by Jin.Zhang Add support for GPUCrash #rb Change 3531664 by Ben.Marsh UBT: Change output format from C# JSON writer to match output by the engine. Change 3531848 by Ben.Marsh UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable. Change 3531869 by Ben.Marsh UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field. Change 3532474 by Ben.Marsh UBT: Use the same mechanism as UAT for logging exceptions. Change 3532734 by Graeme.Thornton Initial VSCode Support - Tasks generated for building all game/engine/program targets - Debugging support for targets on Win64 Change 3532789 by Steve.Robb FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap. Set_Add and Map_Add no longer have a return value. FScriptSet::Find and FScriptMap::Find functions are now FindIndex. FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash. Change 3532845 by Steve.Robb Obsolete UHT settings deleted. Change 3532875 by Graeme.Thornton VSCode - Add debug targets for different target configurations - Choose between VS debugger (windows) and GDB (mac/linux) Change 3532906 by Graeme.Thornton VSCode - Point all builds directly at UBT rather than the batch files - Adjust mac build tasks to run through mono Change 3532924 by Ben.Marsh UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root. Change 3535234 by Graeme.Thornton VSCode - Pass intellisense system a list of paths to use for header resolution Change 3535247 by Graeme.Thornton UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation Change 3535376 by Graeme.Thornton VSCode - Added build jobs for C# projects - Linked launch tasks to relevant build task Change 3537083 by Ben.Marsh EC: Change P4 swarm links to start at the changelist for a build. Change 3537368 by Graeme.Thornton Fix for crash in FSignedArchiveReader when multithreading is disabled Change 3537550 by Graeme.Thornton Fixed a crash in the taskgraph when running single threaded Change 3537922 by Steve.Robb Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT. Change 3539691 by Graeme.Thornton VSCode - Various updates to get PC and Mac C++ projects building and debugging. - Some other changes to C# setup to allow compilation. Debugging doesn't work. Change 3539775 by Ben.Marsh Plugins: Various fixes to settings for enabling plugins. * Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled). * Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed. * Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them. Change 3540788 by Ben.Marsh UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile). Example usage: public class UnrealPakTarget : TargetRules { public UnrealPakTarget(TargetInfo Target) : base(Target) { Type = TargetType.Program; LinkType = TargetLinkType.Monolithic; LaunchModuleName = "UnrealPak"; if(HostPlatform == UnrealTargetPlatform.Win64) { PreBuildSteps.Add("echo Before building:"); PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); PostBuildSteps.Add("echo After building!"); PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); } } } Change 3541664 by Graeme.Thornton VSCode - Add problemMatcher tag to cpp build targets Change 3541732 by Graeme.Thornton VSCode - Change UBT command line switch to "-vscode" for simplicity Change 3541967 by Graeme.Thornton VSCode - Fixes for Mac/Linux build steps Change 3541968 by Ben.Marsh CRP: Pass through the EnabledPlugins element in crash context XML files. #jira UE-46912 Change 3542519 by Ben.Marsh UBT: Add chain of references to error messages when configuring plugins. Change 3542523 by Ben.Marsh UBT: Add more useful error message when attempt to parse a JSON object fails. Change 3542658 by Ben.Marsh UBT: Include a chain of references when reporting errors instantiating modules. Change 3543432 by Ben.Marsh Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set. Change 3543436 by Ben.Marsh UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails. Change 3543536 by Ben.Marsh UBT: Downgrade message about redundant plugin references to a warning. Change 3543871 by Gil.Gribb UE4 - Fixed a critical crash bug with non-EDL loading from pak files. Change 3543924 by Robert.Manuszewski Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes. +Small optimization to token stream generation code. Change 3544469 by Jin.Zhang Crashes page displays the list of plugins from the crash context #rb Change 3544608 by Steve.Robb Fix for nativized generated code. #jira UE-47452 Change 3544612 by Ben.Marsh Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages(). #jira UE-47449 Change 3545954 by Gil.Gribb Fixed a critical crash bug relating to a race condition in async package summary reading. Change 3545968 by Ben.Marsh UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same. #jira UE-47419 Change 3545976 by Ben.Marsh EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch. Change 3546185 by Ben.Marsh Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped. Change 3547084 by Gil.Gribb Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms. Change 3547968 by Gil.Gribb Fixed critical race which potentially could cause a crash in the pak precacher. Change 3504722 by Ben.Marsh BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run. For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as: ERROR: Unable to write to foo.txt while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" /> at Engine\Build\InstalledEngineBuild.xml(91) (see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace) Change 3512255 by Ben.Marsh Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated. Change 3512332 by Ben.Marsh Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4. Change 3512393 by Ben.Marsh Rename FPaths::GameLogDir() to FPaths::ProjectLogDir(). Change 3513452 by Ben.Marsh Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project. Change 3516262 by Ben.Marsh Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor. * Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod. * The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders). Change 3517565 by Ben.Marsh Remove fixed engine version numbers from OSS plugins. Change 3518005 by Ben.Marsh UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false. Change 3518054 by Ben.Marsh UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard. Change 3524496 by Ben.Marsh Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core. Change 3524641 by Ben.Marsh Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc. Change 3528723 by Steve.Robb MoveTemp now static asserts if passed a const reference or rvalue. MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious. Fixes to violations of these new rules. Change 3528876 by Ben.Marsh Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste. Change 3529073 by Ben.Marsh Add script to package ShooterGame for any platforms. Change 3531493 by Ben.Marsh Update platform-specific plugins to declare the target platforms they support. Change 3531611 by Ben.Marsh UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates. Change 3531868 by Ben.Marsh Resaving project descriptors to remove invalid fields. Change 3531983 by Ben.Marsh UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders. * Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer. * Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type) * Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo")) * An error is output if any restricted folder names other than the output platform are in the staged output. Change 3540315 by Ben.Marsh UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers. Change 3542410 by Ben.Marsh UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already. Change 3543018 by Ben.Marsh UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions. Change 3544371 by Steve.Robb Fixes to TSet_Add and TMap_Add BPs. #jira UE-47441 [CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
AddToDictionary(NonUFSFiles, StagedFile, InputFile);
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
}
else if (FileType == StagedFileType.DebugNonUFS)
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3494741 by Steve.Robb Generated code size savings. #jira UE-43048 Change 3495484 by Steve.Robb Fix for generated indices of static arrays when saving configs. Change 3497926 by Robert.Manuszewski Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything. Change 3498077 by Robert.Manuszewski Only use the recursion guard in async loading code when the event driven loader is enabled. Change 3498112 by Ben.Marsh UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own. Change 3500239 by Robert.Manuszewski Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes. Change 3500395 by Steve.Robb Extra codegen savings when not in hot reload. Change 3501004 by Steve.Robb EObjectFlags now have constexpr operators. Change 3502079 by Ben.Marsh UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary. Change 3502527 by Steve.Robb Fix for zero-sized array compile error in generated code when all functions are editor-only. Change 3502542 by Ben.Marsh UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead. Change 3502868 by Steve.Robb Workaround for inefficient generated code with stateless lambdas on Clang. Change 3503550 by Steve.Robb Another generated code lambda optimization. Change 3503582 by Ben.Marsh BuildGraph: Add support for nullable parameter types. Change 3504424 by Steve.Robb New AllOf, AnyOf and NoneOf algorithms. Change 3504712 by Ben.Marsh UAT: Less spammy log and error output from UAT. * Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception). * Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information. * AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log) * Name of the calling function is not included in console output by default, but still included in the log. Change 3504808 by Ben.Marsh UAT: Suppress P4 output when running a recursive instance of UAT. Change 3505044 by Steve.Robb Code generation improved for TCppClassType code. Change 3505485 by Ben.Marsh Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module. Change 3505699 by Ben.Marsh Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins. Change 3506055 by Ben.Marsh UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output. Change 3507745 by Robert.Manuszewski Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses). Change 3507911 by Ben.Marsh Plugins: Minor changes to plugin descriptors. * Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors. * Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from. Change 3508669 by Ben.Marsh EC: Parse multi-line messages from UBT and UAT. Change 3508691 by Ben.Marsh Fix double-spacing of cook stats. Change 3509245 by Steve.Robb UHT makefiles removed. Flag audit removed. Change 3509275 by Steve.Robb Fix for mismatched stat categories in AudioMixer. #jira UE-46129 Change 3509289 by Robert.Manuszewski Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably. Change 3509294 by Robert.Manuszewski UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it. Change 3509312 by Steve.Robb GitHub# 3679: Add TArray constructor that takes a raw pointer and a count Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too. #jira UE-46136 Change 3509396 by Steve.Robb GitHub# 3676: Fix TUnion operator<< compile error #jira UE-46099 Change 3509633 by Steve.Robb Fix for line numbers on multiline macros. Change 3509938 by Gil.Gribb UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading. Change 3510593 by Daniel.Lamb Fixed up unsoilicited files getting populated with files which aren't finished being created yet. #test None Change 3510594 by Daniel.Lamb Fixed up temp files directory for patching. Thanks David Yerkess @ Milestone #review@Ben.Marsh Change 3511628 by Ben.Marsh PR #3707: Fixed UBT stack size (Contributed by gildor2) Change 3511808 by Ben.Marsh Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git) #jira UE-46540 Change 3512017 by Ben.Marsh Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface. Change 3513935 by Steve.Robb Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477. Change 3514142 by Steve.Robb MemoryProfiler2 added to generated solution. Change 3516463 by Ben.Marsh Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user. Change 3517860 by Ben.Marsh PR #3727: FString Dereference Fixes (Contributed by jovisgCL) Change 3517967 by Ben.Marsh Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line. Change 3518070 by Steve.Robb Disable Binned2 stats in shipping non-editor builds. Change 3520079 by Steve.Robb Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions. #jira UE-24034 Change 3520080 by Robert.Manuszewski Made max package summary size to be configurable with ini setting Change 3520083 by Steve.Robb Force a GC after hot reload to clean up reinstanced objects which may still tick. #jira UE-40421 Change 3520480 by Robert.Manuszewski Improved assert message when the initial package read request was too small. Change 3520590 by Graeme.Thornton SignedArchiveReader optimizations - Loads more stats - Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader - Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time - Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries Change 3521023 by Graeme.Thornton Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing Change 3521787 by Ben.Marsh PR #3736: Small static code analysis fixes (Contributed by jovisgCL) Change 3521789 by Ben.Marsh PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar) Change 3524721 by Ben.Marsh Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core. Change 3524741 by Ben.Marsh Move PumpMessages() into FPlatformApplicationMisc. Change 3525399 by Ben.Marsh UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment. Change 3525743 by Ben.Marsh UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds. Change 3525746 by Ben.Marsh EC: Include the clobber option on new workspaces, to allow overriding version files when syncing. Change 3526453 by Ben.Marsh UGS: Do not generate project files when syncing precompiled binaries. Change 3527045 by Ben.Marsh Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting. Change 3527420 by Ben.Marsh UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing). Config files are now read from: Engine/Programs/UnrealGameSync/UnrealGameSync.ini Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini If a project is selected: <ProjectDir>/Build/UnrealGameSync.ini <ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini If the .uprojectdirs file is selected: Engine/Programs/UnrealGameSync/DefaultProject.ini Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini Change 3528063 by Ben.Marsh Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse. Change 3528415 by Ben.Marsh UAT: Remove \r characters from the end of multiline log messages. Change 3528427 by Ben.Marsh EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent. Change 3528485 by Ben.Marsh EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places. Change 3528505 by Steve.Robb PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL) #jira UE-46819 Change 3528772 by Robert.Manuszewski Enabling actor and blueprint clustering in ShooterGame Change 3528786 by Robert.Manuszewski PR #3760: Fix typo (Contributed by jesseyeh) Change 3528792 by Steve.Robb PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL) #jira UE-46962 Change 3528941 by Robert.Manuszewski Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object. #jira UE-44996 Change 3530241 by Ben.Marsh UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value. Change 3531377 by Ben.Marsh Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it. This has several advantages over the per-module platform whitelist/blacklist: * Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore. * References to dependent plugins from platform-specific plugins can now be eliminated. * Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly). * The editor can load any plugins without having to whitelist supported editor host platforms. UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime. Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary. Change 3531502 by Jin.Zhang Add support for GPUCrash #rb Change 3531664 by Ben.Marsh UBT: Change output format from C# JSON writer to match output by the engine. Change 3531848 by Ben.Marsh UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable. Change 3531869 by Ben.Marsh UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field. Change 3532474 by Ben.Marsh UBT: Use the same mechanism as UAT for logging exceptions. Change 3532734 by Graeme.Thornton Initial VSCode Support - Tasks generated for building all game/engine/program targets - Debugging support for targets on Win64 Change 3532789 by Steve.Robb FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap. Set_Add and Map_Add no longer have a return value. FScriptSet::Find and FScriptMap::Find functions are now FindIndex. FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash. Change 3532845 by Steve.Robb Obsolete UHT settings deleted. Change 3532875 by Graeme.Thornton VSCode - Add debug targets for different target configurations - Choose between VS debugger (windows) and GDB (mac/linux) Change 3532906 by Graeme.Thornton VSCode - Point all builds directly at UBT rather than the batch files - Adjust mac build tasks to run through mono Change 3532924 by Ben.Marsh UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root. Change 3535234 by Graeme.Thornton VSCode - Pass intellisense system a list of paths to use for header resolution Change 3535247 by Graeme.Thornton UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation Change 3535376 by Graeme.Thornton VSCode - Added build jobs for C# projects - Linked launch tasks to relevant build task Change 3537083 by Ben.Marsh EC: Change P4 swarm links to start at the changelist for a build. Change 3537368 by Graeme.Thornton Fix for crash in FSignedArchiveReader when multithreading is disabled Change 3537550 by Graeme.Thornton Fixed a crash in the taskgraph when running single threaded Change 3537922 by Steve.Robb Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT. Change 3539691 by Graeme.Thornton VSCode - Various updates to get PC and Mac C++ projects building and debugging. - Some other changes to C# setup to allow compilation. Debugging doesn't work. Change 3539775 by Ben.Marsh Plugins: Various fixes to settings for enabling plugins. * Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled). * Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed. * Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them. Change 3540788 by Ben.Marsh UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile). Example usage: public class UnrealPakTarget : TargetRules { public UnrealPakTarget(TargetInfo Target) : base(Target) { Type = TargetType.Program; LinkType = TargetLinkType.Monolithic; LaunchModuleName = "UnrealPak"; if(HostPlatform == UnrealTargetPlatform.Win64) { PreBuildSteps.Add("echo Before building:"); PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); PostBuildSteps.Add("echo After building!"); PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); } } } Change 3541664 by Graeme.Thornton VSCode - Add problemMatcher tag to cpp build targets Change 3541732 by Graeme.Thornton VSCode - Change UBT command line switch to "-vscode" for simplicity Change 3541967 by Graeme.Thornton VSCode - Fixes for Mac/Linux build steps Change 3541968 by Ben.Marsh CRP: Pass through the EnabledPlugins element in crash context XML files. #jira UE-46912 Change 3542519 by Ben.Marsh UBT: Add chain of references to error messages when configuring plugins. Change 3542523 by Ben.Marsh UBT: Add more useful error message when attempt to parse a JSON object fails. Change 3542658 by Ben.Marsh UBT: Include a chain of references when reporting errors instantiating modules. Change 3543432 by Ben.Marsh Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set. Change 3543436 by Ben.Marsh UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails. Change 3543536 by Ben.Marsh UBT: Downgrade message about redundant plugin references to a warning. Change 3543871 by Gil.Gribb UE4 - Fixed a critical crash bug with non-EDL loading from pak files. Change 3543924 by Robert.Manuszewski Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes. +Small optimization to token stream generation code. Change 3544469 by Jin.Zhang Crashes page displays the list of plugins from the crash context #rb Change 3544608 by Steve.Robb Fix for nativized generated code. #jira UE-47452 Change 3544612 by Ben.Marsh Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages(). #jira UE-47449 Change 3545954 by Gil.Gribb Fixed a critical crash bug relating to a race condition in async package summary reading. Change 3545968 by Ben.Marsh UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same. #jira UE-47419 Change 3545976 by Ben.Marsh EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch. Change 3546185 by Ben.Marsh Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped. Change 3547084 by Gil.Gribb Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms. Change 3547968 by Gil.Gribb Fixed critical race which potentially could cause a crash in the pak precacher. Change 3504722 by Ben.Marsh BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run. For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as: ERROR: Unable to write to foo.txt while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" /> at Engine\Build\InstalledEngineBuild.xml(91) (see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace) Change 3512255 by Ben.Marsh Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated. Change 3512332 by Ben.Marsh Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4. Change 3512393 by Ben.Marsh Rename FPaths::GameLogDir() to FPaths::ProjectLogDir(). Change 3513452 by Ben.Marsh Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project. Change 3516262 by Ben.Marsh Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor. * Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod. * The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders). Change 3517565 by Ben.Marsh Remove fixed engine version numbers from OSS plugins. Change 3518005 by Ben.Marsh UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false. Change 3518054 by Ben.Marsh UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard. Change 3524496 by Ben.Marsh Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core. Change 3524641 by Ben.Marsh Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc. Change 3528723 by Steve.Robb MoveTemp now static asserts if passed a const reference or rvalue. MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious. Fixes to violations of these new rules. Change 3528876 by Ben.Marsh Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste. Change 3529073 by Ben.Marsh Add script to package ShooterGame for any platforms. Change 3531493 by Ben.Marsh Update platform-specific plugins to declare the target platforms they support. Change 3531611 by Ben.Marsh UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates. Change 3531868 by Ben.Marsh Resaving project descriptors to remove invalid fields. Change 3531983 by Ben.Marsh UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders. * Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer. * Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type) * Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo")) * An error is output if any restricted folder names other than the output platform are in the staged output. Change 3540315 by Ben.Marsh UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers. Change 3542410 by Ben.Marsh UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already. Change 3543018 by Ben.Marsh UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions. Change 3544371 by Steve.Robb Fixes to TSet_Add and TMap_Add BPs. #jira UE-47441 [CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
AddToDictionary(NonUFSDebugFiles, StagedFile, InputFile);
}
else if(FileType == StagedFileType.SystemNonUFS)
{
AddToDictionary(NonUFSSystemFiles, StagedFile, InputFile);
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
}
}
/// <summary>
/// Adds a file to be staged to the given dictionary
/// </summary>
/// <param name="FilesToStage">Dictionary of files to be staged</param>
/// <param name="StagedFile">The staged file location</param>
/// <param name="InputFile">The input file</param>
private void AddToDictionary(Dictionary<StagedFileReference, FileReference> FilesToStage, StagedFileReference StagedFile, FileReference InputFile)
{
FilesToStage[StagedFile] = InputFile;
}
}
public class PackageStoreManifest
{
public class ZenServerInfo
{
public string HostName { get; set; }
public int Port { get; set; }
public string ProjectId { get; set; }
public string OplogId { get; set; }
}
public class FileInfo
{
public string Path { get; set; }
}
public string FullPath { get; set; }
public ZenServerInfo ZenServer { get; set; }
public IList<FileInfo> Files { get; set; }
}
public class DeploymentContext //: ProjectParams
{
/// <summary>
/// Full path to the .uproject file
/// </summary>
public FileReference RawProjectPath;
/// <summary>
/// true if we should stage crash reporter
/// </summary>
public bool bStageCrashReporter;
/// <summary>
/// CookPlatform, where to get the cooked data from and use for sandboxes
/// </summary>
public string CookPlatform;
/// <summary>
/// FinalCookPlatform, directory to stage and archive the final result to
/// </summary>
public string FinalCookPlatform;
/// <summary>
/// Source platform to get the cooked data from
/// </summary>
public Platform CookSourcePlatform;
/// <summary>
/// Target platform used for sandboxes and stage directory names
/// </summary>
public Platform StageTargetPlatform;
/// <summary>
/// Configurations to stage. Used to determine which ThirdParty configurations to copy.
/// </summary>
public List<UnrealTargetConfiguration> StageTargetConfigurations;
/// <summary>
/// Receipts for the build targets that should be staged.
/// </summary>
public List<StageTarget> StageTargets;
/// <summary>
/// Extra subdirectory to load config files out of, for making multiple types of builds with the same platform
/// </summary>
public string CustomConfig;
/// <summary>
/// This is the root directory that contains the engine: d:\a\UE\
/// </summary>
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
public DirectoryReference LocalRoot;
/// <summary>
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
/// This is the directory that contains the engine.
/// </summary>
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
public DirectoryReference EngineRoot;
/// <summary>
/// The directory that contains the project: d:\a\UE\ShooterGame
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
/// </summary>
public DirectoryReference ProjectRoot;
/// <summary>
/// The directory that contains the DLC being processed (or null for non-DLC)
/// </summary>
public DirectoryReference DLCRoot;
/// <summary>
/// raw name used for platform subdirectories Win32
/// </summary>
public string PlatformDir;
/// <summary>
/// Directory to put all of the files in: d:\stagedir\Windows
/// </summary>
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
public DirectoryReference StageDirectory;
/// <summary>
/// Directory to put all of the debug files in: d:\stagedir\Windows
/// </summary>
public DirectoryReference DebugStageDirectory;
/// <summary>
/// Directory to put all of the optional (ie editor only) files in: d:\stagedir\Windows
/// </summary>
public DirectoryReference OptionalFileStageDirectory = null;
/// <summary>
/// Directory to read all of the optional (ie editor only) files from (written earlier with OptionalFileStageDirectory)
/// </summary>
public DirectoryReference OptionalFileInputDirectory = null;
/// <summary>
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
/// Directory name for staged projects
/// </summary>
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
public StagedDirectoryReference RelativeProjectRootForStage;
/// <summary>
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
/// This is what you use to test the engine which uproject you want. Many cases.
/// </summary>
public string ProjectArgForCommandLines;
/// <summary>
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
/// The directory containing the cooked data to be staged. This may be different to the target platform, eg. when creating cooked data for dedicated servers.
/// </summary>
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
public DirectoryReference CookSourceRuntimeRootDir;
/// <summary>
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
/// This is the root that we are going to run from. This will be the stage directory if we're staging, or the input directory if not.
/// </summary>
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
public DirectoryReference RuntimeRootDir;
/// <summary>
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
/// This is the project root that we are going to run from. Many cases.
/// </summary>
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
public DirectoryReference RuntimeProjectRootDir;
/// <summary>
/// The directory containing the metadata from the cooker
/// </summary>
public DirectoryReference MetadataDir;
/// <summary>
/// The directory containing the cooker generated data for this platform
/// </summary>
public DirectoryReference PlatformCookDir;
/// <summary>
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
/// List of executables we are going to stage
/// </summary>
public List<string> StageExecutables;
/// <summary>
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
/// Probably going away, used to construct ProjectArgForCommandLines in the case that we are running staged
/// </summary>
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
public const string UProjectCommandLineArgInternalRoot = "../../../";
/// <summary>
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
/// Probably going away, used to construct the pak file list
/// </summary>
public string PakFileInternalRoot = "../../../";
/// <summary>
/// Cooked package store manifest if available
/// </summary>
public PackageStoreManifest PackageStoreManifest;
/// <summary>
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
/// List of files to be staged
/// </summary>
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
public FilesToStage FilesToStage = new FilesToStage();
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 4034418) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3851142 by Robert.Manuszewski When BP clustering is enabled, make sure to add the template to the BP cluster when replacing it. Change 3853797 by Ben.Marsh BuildGraph: Add a <Trace> element, which allows logging messages after the string is parsed (as opposed to the Log task, which logs them at runtime). Useful for debugging macro expansion, etc... Also add a -showdiagnostics parameter, to have diagnostic messages output even when running with the -listonly option. Change 3857540 by Graeme.Thornton Properly process the uexp file for a umap asset when generating a pak patch. Stop those uexp files being included in the patch even when they haven't changed Change 3860062 by Steve.Robb Fix for FString::Reset()'s buffer not being an empty null-terminated string (affects FString::ParseIntoArray, for example). Change 3860138 by Steve.Robb Fix for FString::ParseIntoArray() for when string memory has been allocated but has no characters. Change 3860273 by Steve.Robb Tidy up of FHotReloadClassReinstancer::FCDOWriter to not do stuff in constructors. Change 3863203 by Steve.Robb Crash fix for UObjects whose constructors are defined as = default;, which would re-null the UObject state (ClassPrivate, OuterPrivate etc.). See: https://udn.unrealengine.com/questions/412930/crash-due-to-default-constructor.html Change 3864588 by Graeme.Thornton Crypto Keys Improvements - Removed UAT command line params for encryption. Centrally configured by the editor settings now. - UAT staging now creates a small json file containing the keys and settings used for encryption and signing and stores it in the build metadata - Minor refactoring of UAT encryption processing to use the new cryptokeys json file - UnrealPak can be told to get its encryption settings from a json crypto file with the "-CryptoKeys=<filename>" - UnrealPak can now accept a "PatchCryptoKeys=<filename" parameter which gives it a filename to a cryptokeys json file that it can use to unpack the patch reference paks Change 3864691 by Robert.Manuszewski Don't add objects that are in root set to GC clusters to prevent them from keeping the clusters alive forever. Change 3864744 by Robert.Manuszewski Added the ability to get the actual filename of the log file FOutputDeviceFile writes to. Change 3864816 by Graeme.Thornton TBA: Minor formatting improvements to textasset commandlet Change 3868939 by Graeme.Thornton TBA: If -outputPath isn't supplied to TextAsset commandlet, output converted files to the {ProjectSaved}/TextAssets directory Change 3869031 by Graeme.Thornton TBA: Changed timing logs in TextAsset commandlet to be Display so we can see them in the EC log Change 3871802 by Steve.Robb Class cast flags and property flags are now visible in the debugger. Change 3871863 by Robert.Manuszewski Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage. Change 3874413 by Steve.Robb Algo::MinElement and Algo::MaxElement, for finding the minimum and maximum element in a range, and *By versions which take projections. TRangePointerType moved to its own file and used in Algo::MinElement and Algo::MaxElement. Change 3874457 by Ben.Marsh When spawning child processes, only allow them to inherit the writable ends of the stderr and stdout pipe. Fixes an issue related to AutomationTool hanging when the editor closes after running automation tests. The editor launches ADB.EXE (Android Debug Bridge) on editor startup, which forks itself to initialize a server. Even though the child process has its own stdout and stderr pipes, it also inherits the pipes for the editor. When run from C#, as we do for automation tests, Process.WaitForExit() waits for all pipes to be closed before returning. This can't happen if the forked ADB instance still has a reference to the editor's pipes. Change 3876435 by Robert.Manuszewski Don't add root set objects to level actor container to prevent situations where clusters are kept alive forever Change 3878762 by Robert.Manuszewski Fixing potential LinkerLoad leak when a package that still has a linker associated with it is being destroyed. Change 3878850 by Robert.Manuszewski SerializePreloadDependencies will now serialize raw data into the array instead of serializing one element at a time to speed up serialization performance. Change 3881331 by Graeme.Thornton TBA: SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter Change 3886983 by Ben.Marsh UGS: Fix notification window not expanding to fit long captions. Change 3887006 by Ben.Marsh UGS: Change modal dialog to regular window style to avoid weird alignment issues under Windows 10. Change 3887500 by Ben.Marsh UGS: Add support for grouping build badges by a prefix. Badges such as "Foo:Bar1", "Foo:Bar2" will be grouped together (with "Foo:" stripped from the displayed badge names). Also add a separate column showing the type of each change, rather than including it in the CIS column, and change badges to a more angular Windows 10 style. Change 3887513 by Ben.Marsh UGS: Fix badge text drawing outside the clipping bounds. Change 3888010 by Josh.Engebretson Fix UVS logging to UnrealVersionSelector/Saved/Logs and instead use project's log path #jira none Change 3888418 by Ben.Marsh UGS: Add a cache for computed badge layout information. Improves responsiveness when redrawing. Change 3889457 by Steve.Robb GitHub #4457 : Display abbreviations properly when converting FNames to display string #jira UE-54611 Change 3889547 by Ben.Marsh UGS: Add an extensible method for adding arbitrary badges to the right of the "description" column, by running a regular expression over the changelist description. Epic uses a "#tag" style annotations in changelist descriptions and Perforce triggers to verify them. "#jira" is used to link a changelist to an issue tracked in Jira, for example. A matcher to add a badge next to every changelist with a #jira tag, and link to the corresponding issue in Jira, could be set up with an addition to the project's Build/UnrealGameSync.ini file like this: [Badges] +DescriptionBadges=(Pattern="(?i)#\\s*jira\\s*:?\\s+([A-Za-z]+-[0-9]+)", Name="$1", Group="Jira", Color="#c0c0c0", HoverColor="#e0e0e0", Url="https://jira.it.epicgames.net/browse/$1") The "Pattern" attribute specifies the regex to match, and may capture portions of the matched text to be substituted later. "Label" specifies the label to appear on the badge. "Group" specifies an arbitrary identifier used to group related badges together rather than separating them with whitespace. "Color" and "HoverColor" specify hex RGB colors for the badges. "Url" specifies the path to open with a C# Process.Open call if the badge is clicked. Change 3889726 by Ben.Marsh UGS: Fix description badges that don't have any associated URL. Change 3889995 by Ben.Marsh UGS: Fix issue where popup menus can create top level windows in the taskbar. Seemlingly caused by capturing mouse before the window has been activated - removed capture code, and replaced with handling of OnMouseLeave() event instead. Change 3890007 by Ben.Marsh UGS: Add a caption underneath the project logo which shows the current stream, to make it more obvious. Change 3890057 by Ben.Marsh UGS: Fix repainting glitch when resizing window; bounds for status panel lines was not being reset correctly. Change 3891069 by Robert.Manuszewski Fixing a crash in MallocBinned2 when running with malloc profiler enabled. Change 3891084 by Steve.Robb Back out changelist 3881331 because it's causing cook errors. Change 3891100 by Ben.Marsh UGS: Add support for a per-branch "message of the day"-style feature. Messages can be specified in a project's config file in Perforce (eg. <ProjectDir>/Build/UnrealGameSync.ini) as follows: [//UE4/Main/Samples/Games/ShooterGame.uproject] Message=:alert: Lockdown for fixes is **5pm on Friday**. Only fixes for the 2.0 release should be submitted to this branch. [34 issues](https://jira.it.epicgames.net) are remaining as of 2/15. A limited subset of Markdown is supported: [web links](http://www.google.com), *italic*, _italic_, **bold**, __bold__. Icons will be supported through :icon: syntax; the only icon currently available is :alert: Change 3891346 by Steve.Robb TSharedPtr::operator bool, and some usage of it. Change 3891787 by Steve.Robb Fix for buffer overflow in FDebug::LogFormattedMessageWithCallstack(). Change 3892379 by Ben.Marsh UGS: Fix notification window containing the group fix for each build type. Change 3892400 by Ben.Marsh UGS: Shrink the size of the alert panel. Change 3892496 by Ben.Marsh UGS: Dim badges for changes which aren't eligable for syncing. Change 3893932 by Steve.Robb Re-removal of SetShouldHandleAsWeakRef, which was originally removed in CL# 3437205. Change 3895872 by Ben.Marsh UGS: Show the stream name in tab labels by default. Change 3896366 by Ben.Marsh UGS: Automatically resize columns when the main window is resized, and allow specifying desired column widths for projects that have a large number of CIS badges. Columns are now resized proportionally, clamped to a minimum size. Columns will automatically expand up to a desired maximum size, though can be explicitly resized larger if necessary. Columns will not be resized if they are already larger than the window can show, or smaller than the window has space to show. Change 3896367 by Ben.Marsh UGS: UI tweaks - change and time columns are now centered, "Unknown" badge is displayed until a change's type has been determined, increase height of status panel. Change 3896425 by Ben.Marsh UGS: Speculative fix for race condition on clients displaying "under investigation" state. If the DB event is received before a change where an investigation is cancelled is polled from Perforce, we will exclude the resolve event from the list of active investigations. Change 3896461 by Ben.Marsh UGS: Add an option to allow setting a tint color to be applied to the status panel, to allow identifying streams more easily. To use, add a setting similar to the following to a project's Build/UnrealGameSync.ini file: [//UE4/Main/Samples/Games/ShooterGame/ShooterGame.uproject] StatusPanelColor=#dcdcf0 Change 3899530 by Ben.Marsh Add unified syntax for overriding branch specific settings. Checks branch settings first, then [Default] section. Change 3901164 by Ben.Marsh UGS: Add a class to store all the resources for the status panel. Change 3901165 by Graeme.Thornton TBA: Attempt #2 at submitting the text asset saving code. SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter. Minimal amount of structured archive serialization functions added to allow this data to be written Change 3901301 by Ben.Marsh UGS: Add support for reading the latest version of the project config file from Perforce. Some settings should be read depending on the CL you are synced to (eg. build steps), whereas others (MOTD, branch status) should always use the latest version. Will read the local version if checked out, to allow testing local changes. Change 3902454 by Ben.Marsh UGS: Fix logo not being redrawn in the correct position when starting to sync. Change 3903416 by Ben.Marsh UGS: Group badges explicitly through INI file rather than by expecting name to contain ':'. Change 3904154 by Josh.Engebretson Adding Breakpad to ThirdParty sources (Git Commit: 49907e1c3457570f56d959ae26dec6c3a5edd417 https://chromium.googlesource.com/breakpad/breakpad) #jira UE-55442 Change 3904648 by Ben.Marsh UGS: Remove files from the workspace that are excluded by the sync filter. The user's config file stores a hash of the last sync filter. During syncing, if this hash doesn not match the previous value, we enumerate all the files in the #have list and remove anything masked out by the filter. #jira UE-47335 Change 3905442 by Steve.Robb Change of the ConvertFromType() multi-bool return value to a more descriptive enum. Some return values here do not make sense - this is because the existing logic is being preserved and will be fixed in a separate change. Change 3905629 by Ben.Marsh UGS: Fix race condition between two child processes starting on different threads, and inheriting the other's intended stdout/stderr pipes. This prevents pipes being closed when one of the child processes shuts down, and causes waits on the read ends of those pipes to continue indefinitely. Change 3906447 by Steve.Robb Rename EConvertFromTypeResult enumerators. Change 3906574 by Steve.Robb Crash fix for container conversion failure during tagged property import. Change 3909255 by Daniel.Lamb Fixed issue with DLCpackaging crashing on windows #jira UE-42880 #test EngineTest windows Change 3909270 by Steve.Robb Seek instead of skipping bad properties byte-by-byte. Change 3909324 by Steve.Robb Use switch statement instead of repeated if/else. Change 3909525 by Ben.Marsh UGS: Use the StudioEditor target when syncing content-only Enterprise projects. Change 3911754 by Daniel.Lamb Fix for building pak patches. #jira UE-55340 Change 3911942 by Robert.Manuszewski Fixing an ensure when MediaPlayer is being constructed from any thread other than the main one. Change 3913067 by Ben.Marsh UGS: Allow workspace sync filter categories to re-enable categories that are disabled by the global filter. Change 3913209 by Ben.Marsh UGS: Fix incorrect target name when compiling Enterprise projects. Change 3917358 by Steve.Robb Fix for GetLen(FString). Change 3919610 by Ben.Marsh Put data for CrashReportClient in a PAK file of its own (under Engine/Programs/CrashReportClient/Content/Paks/CrashReportClient.pak). There are a large number of small files required for it to run with loose files, which takes a lot of space on disk (due to cluster sizes), and is unweildy to move around. CrashReporter UFS files are tracked in a separate dictionary to regular UFS files to allow construction of the additional PAK file. Change 3921002 by Ben.Marsh UGS: Add option for syncing all projects in a branch. Off by default. Also add support for masking in additional paths to be synced (eg. one or two extra projects). Change 3921008 by Ben.Marsh UGS: Prevent pause waiting for mutual exclusivity when syncing precompiled binaries. We don't need to generate project files or build, so there's no need to wait in line. Change 3921906 by Steve.Robb New interpolation functions for quaternions. https://udn.unrealengine.com/questions/419028/quaternion-interp-to-functions.html Change 3921978 by Graeme.Thornton TBA: Make "Loader" member of FLinkerLoad private to prevent use outside of FLinkerLoad. This archive could be something unexpected if the linker is for a text asset package, so we need to stop people accessing it. Change 3924520 by Graeme.Thornton UnrealPak: Improve encryption summary log messages Change 3924522 by Graeme.Thornton UAT: Add *Encryption.ini to the list of auto-blacklisted config filenames Change 3924604 by Graeme.Thornton UnrealPak: If encryption keys are parsed and fail the encrypt/decrypt test, throw a fatal error. The exectutable will have those same keys embedded so there is no point allowing the paks to be created with broken keys. Change 3924638 by Graeme.Thornton Crypto: Improvements to parsing of old fashioned encryption.ini settings: - AES keys that are too long or short (need to be 32 bytes) will now emit a warning when being parsed, and be truncated or expanded before adding to the crypto settings. - Signing keys will emit an error when they are too long (>64bytes) - Unrealpak will still assert when invalid settings are passed via the other mechanisms (command line or -encryptionini mode). Settings via the crypto json file should now be sanitized and not cause issues #jira UE-55080 Change 3924747 by Steve.Robb Fix for degrees. Change 3925459 by Chad.Garyet Adding check to not to attempt to delete autosdk workspace if it doesn't already exist. Change 3926703 by Ben.Marsh BuildGraph: Include the path to the XML file when displaying an XML parse error. Change 3926917 by Ben.Marsh UBT: Allow overriding the name of the UE4 solution on a branch-specific basis. Useful for switching between multiple UE4 workspaces. Also add support to the editor and UGS for opening the correct solution (determined via a text file saved to Engine/Intermediate/ProjectFiles). Set the solution name using an entry in BuildConfiguration.xml as follows: <ProjectFileGenerator> <MasterProjectName>UE4_Main</MasterProjectName> </ProjectFileGenerator> Change 3927683 by Graeme.Thornton UAT: When building with chunk installs enabled, don't generate the master manifest from each pak creation thread. Just do it once after all pak files have been created. Avoids intermittent crash with multiple threads trying to write the same json file. Change 3928111 by Ben.Marsh UBT: Add an option <bMasterProjectNameFromFolder> which allows setting the solution name based on the folder that it's in. Change 3928926 by Ben.Marsh BuildGraph: Add support for enumerating content copied by the <CsCompile> task. Also add support for invoking methods on string properties. Change 3931041 by Graeme.Thornton TBA: Add option to textasset commandlet to also include engine content in a resave Change 3931043 by Graeme.Thornton TBA: Redirect some more FArchive members in FArchiveProxy Change 3931913 by Ben.Marsh UGS: Do not create a modal dialog if a scheduled sync is unable to run because the editor is open, and do not run the editor after a scheduled sync. #jira UE-47368 Change 3932419 by Ben.Marsh UGS: Allow selecting which projects to sync on schedule. Any projects not already opened at the time the schedule is triggered will be opened first. #jira UE-33541 Change 3932483 by Ben.Marsh PR #3949: UnrealGameSync: Add environment path field to custom BuildStep (Contributed by frankie-dipietro-epic) Change 3932624 by Ben.Marsh UGS: Add an error dialog when trying to clean the workspace before closing the editor. #jira UE-42308 Change 3932679 by Ben.Marsh UGS: Add the date/time to the end of the sync log. #jira UE-33540 Change 3932705 by Ben.Marsh UGS: Prompt to close the editor before allowing the user to enter a changelist to sync to, when syncing to a specific changelist. #jira UE-53182 Change 3933318 by Ben.Marsh UGS: Detect more programs running before allowing a sync to start, show a dialog listing them, and add an option to ignore if necessary. #jira UE-33535, UE-53914 Change 3933840 by Graeme.Thornton TBA: When loading assets, only use structured archive adapters for exports when loading text files. Change 3936040 by Ben.Marsh UGS: Rewrite application lifecycle to fix issues with scheduled syncs on background windows not activating, and window jumping to the front after auto-update. Now uses a custom application context to allow creating separate 'main' windows (first the "opening projects" form, then the regular form), and does not require any forms to be shown in order to be updating in the background. #jira UE-52870 Change 3940230 by Robert.Manuszewski Fixes for FilenameToLongPackageName crashes when runnign commandlets Change 3940240 by Graeme.Thornton Automated cycling of encryption and signing keys Change 3940243 by Graeme.Thornton UAT: CryptoKeys automation script Change 3940321 by Ben.Marsh UGS: Add a "Bisect" mode for regressing bugs between a certain range of changes. To use, select a range of changes by holding down the shift key or individual changes by holidng the control key, then right click and select "Bisect these changes". Individual changes in the list can be marked as "Bisect: Pass" or "Bisect: Fail" from the context menu, and syncing will find the next change in the center of the range. Change 3940538 by Ben.Marsh UBT: Always determine whether a project is a foreign project or not from the valid .uprojectdirs entries, rather than relying on the user passing -game on the command line. Change 3941285 by Gil.Gribb UE4 - Removed PRAGMA_DISABLE_OPTIMIZATION from PlatformFileCommon.h. It was an oversight. #jira none Change 3942404 by Graeme.Thornton Pak Signing: - Unify naming of pak precacher and signedarchivereader signature check functions to make it easier to search for them in crash reporter - Format the signedarchivereader output to match the pak precacher - When signedarchivereader detects a signature check, do the same master signature hash check that the pak precacher does to confirm that the .sig file contents haven't been corrupted since load. - Add PAK_SIGNATURE_CHECK_FAILS_ARE_FATAL guarded exit to signedarchivereader signature failure - Optimization for pakprecacher signature checks. Instead of locking the cached files mutex for every decoded signature, take a local copy in blocks of 16. Only re-lock if we need more. Grab the initial batch when setting up. In most cases, reduces the number of locks to 1 per signature check call. Change 3942825 by Ben.Marsh UAT: Allow passing -Project<N>=Foo.uproject arguments to the MegaXGE commandlet (eg. -Target1="ShooterGame Win64 Development" -Project1="D:\ShooterGame\ShooterGame.uproject") so it can be used from an installed engine build. Change 3942839 by Ben.Marsh UBT: Explicitly query the number of logical processors in the system, to fix Environment.ProcessorCount just returning the number available to the .NET framework. For machines with > 64 cores, processors in a different processor group will not be included in this number. Change 3943153 by Ben.Marsh Use the correct logical processor count in ParallelExecutor. Change 3943210 by Ben.Marsh UGS: Add an option to the editor arguments window that allows prompting before launching the editor. Change 3943329 by Ben.Marsh UGS: Tweak appearance of bisect mode; now shows slightly transparent version of pass/fail icons, and includes remaining CL range in status panel. Change 3944294 by Ben.Marsh UGS: Prompt for confirmation before removing any files from the workspace. Change 3945283 by Ben.Marsh UGS: Add support for project-specific connection settings, and detection of Perforce login tickets expiring. Change 3945325 by Ben.Marsh PR #4558: Changed incorrect obsolete message for ReceiptPropertyList in Modules.cs (Contributed by ryanjon2040) Change 3947359 by Graeme.Thornton TBA: Fixes to loading code to allow bulk data to get a pointer from its loader archive to an archive that it can load from at a later date. For binary archives, this is just a pointer back to the same archive, but for text assets it is a pointer to a "child reader" which maintains its own structured archive that is scoped to the current location in the file. Change 3947360 by Graeme.Thornton TBA: Added RoundTrip mode to text asset commandlet. Performs determinism tests in project assets to see whether they save deterministically to binary and text files, and also when they are ping-ponged between the two formats. Change 3949431 by Graeme.Thornton TBA: Refactored string escaping code in json output formatter FString serializer into a common function which is now used by FName and UObject path serialization too. Fixes some odd cases where an FName contained quotation marks Change 3950843 by Ben.Marsh UBT: Add a better error if an XML config file is corrupt. Change 3952504 by Steve.Robb GitHub #4545 : UE-55924: CaseSensitive token recognition #jira UE-55961 #jira UE-55924 Change 3952707 by Graeme.Thornton Make RandInit(...) log message verbose Change 3954694 by Ben.Marsh BuildGraph: Add support for user-defined macros, which can contain a list of buildgraph commands and be expanded within a node. Example script in Engine/Build/Graph/Examples/Macros.xml. To define a Macro, use the syntax: <Macro Name="MyTestMacro" Arguments="PrintFirstMessage;PrintSecondMessage" OptionalArguments="PrintThirdMessage"> <Log Message="First message" If="$(PrintFirstMessage)"/> <Log Message="Second message" If="$(PrintSecondMessage)"/> <Log Message="Third message" If="'$(PrintThirdMessage)' == 'true'"/> </Macro> To expand a macro, use the syntax: <Expand Name="MyTestMacro" PrintFirstMessage="true" PrintSecondMessage="true"/> An error will be thrown if any required arguments are missing. Optional arguments default to empty if not specified. Tasks within a macro are validated by the schema at the point of definition using the same rules as apply to a <Node> element, but properties are not evaluated until the macro is expanded. This allows macros to get and set properties in scope at the point that it is expanded. Local properties that are introduced within a macro do not otherwise leak to the scope that they are expanded. Change 3954695 by Ben.Marsh PR #4582: Fixed incorrect condition in StagedFileSystemReference.cs (Contributed by moadib) #jira UE-56283 Change 3954961 by Ben.Marsh UBT: Fix issues caused by toolchain assuming that the editor target will be the name of the project with an "Editor" suffix. This is not necessarily the case; the launcher will allow you to instantiate a project with any name, and it will not rename the target files. #jira UE-56040 Change 3955785 by Steve.Robb GitHub #4546 : Don't discard errors from zlib inflate #jira UE-55969 Change 3955940 by Steve.Robb Redundant and confusing macro check removed. Change 3956809 by Ben.Marsh Guard against project paths passed on the command line to UBT being treated as project names. Previous code used to just take the first, which would mask this problem. Change 3959590 by Steve.Robb Useless IsIntrinsic constant and COMPILED_IN_INTRINSIC macro removed. Change 3959864 by Robert.Manuszewski Increasing the size of permanent object pool to fix warnings in cooked ShooterGame #jira UE-56001 Change 3960956 by Steve.Robb New ToCStr function which generically gets a TCHAR* from a 'string-like' argument. Change 3963628 by Ben.Marsh UBT: Fix intellisense issues caused by _API macros being defined as DLLIMPORT (imported symbols cause an error if they are defined). Generate intellisense macros with the -Monolithic argument to work around it. Change 3964349 by Ben.Marsh Move support for reading .modules files into FModuleManager, and always use it in modular builds. Pathway which discovers modules by filename only is no longer supported for simplicity, and due to platform-specific version checks being unreliable on any platforms other than Windows. Change 3964821 by Ben.Marsh Use a custom tool for deleting directories on Windows, to handle paths longer than MAX_PATH correctly. Change 3965269 by Ben.Marsh Add more [RequiresUniqueBuildEnvironment] attributes to target settings that modify the global environment. Change 3966554 by James.Hopkin #core Removed redundant cast Change 3966558 by James.Hopkin #core Removed redundant casts and changed some MakeShareables to MakeShared #robomerge #fortnite Change 3966754 by Ben.Marsh Always use the compiled-in app name when looking for a module manifest. Fixes issues with XGEControlWorker.exe being a renamed copy of ShaderCompileWorker.exe. Change 3967397 by Ben.Marsh Fix "copy local" files not being included in build products enumerated from C# projects. Remove files with "Embed Interop Types" from the output list. Change 3967664 by Ben.Marsh Update UGS solution to use Visual Studio 2017. Change 3967838 by Ben.Marsh Couple of fixes to conform scripts. Change 3968767 by Ben.Marsh Compile the name of the module manifest into the executable via a define explicitly set by UBT, rather than guessing at runtime. Change 3968771 by Ben.Marsh Fix compiled-in engine path being subject to macro expansion. #jira UE-56504 Change 3968886 by Robert.Manuszewski Merging 3914301: Remove any references we had added to the GGCObjectReferencer during Init Change 3968978 by Steve.Robb FString->FName fixes for module names in HotReload. Change 3969019 by Steve.Robb Minor refactor of property skipping logic in SerializeTaggedProperties(). Change 3969041 by Steve.Robb Simplification of Build.version filename construction. Change 3969049 by Steve.Robb Always do rolling names when recompiling in editor, because an unloaded module may still actually by loaded-but-abandoned by the executable. This also removes HotReload's dependence on FModuleManager::GetCleanModuleFilename(). #jira UE-52405 Change 3969120 by Ben.Marsh Enable errors for using undefined identifiers in conditional expressions by default. Change 3969161 by Ben.Marsh Remove log line that should only be included in the log. Change 3969216 by Steve.Robb Dump a list of module names - rather than DLL filenames - when the editor detects modules which need recompiling. This removes the only remaining use of FModuleManager::GetCleanModuleFilename(), which is also now removed. #jira UE-52405 Change 3969346 by Steve.Robb Missed some bad FScript(Map/Set)Helper usage from CL# 3698969. Change 3969598 by Ben.Marsh Fix warning from VS2017. Change 3971101 by Graeme.Thornton TBA: Added RoundTrip mode to TextAsset commandlet which does a sequence of saves and checks for determinism. It will do 3 binary saves, 3 text saves, then 3 alternate binary->text saves. Change 3971407 by Ben.Marsh UBT: Fix exception when enumerating toolchains if the directory does not exist yet. Change 3971523 by Graeme.Thornton Make compressed block offsets in a pak file store offsets relative to the file header, rather than absolute. Reduces the amount of entropy when data changes in the pak file, making it play nicely with patching Change 3971613 by Ben.Marsh Fix Lightmass non-unity compile errors. Change 3971649 by Ben.Marsh Disable optimization around FTickerObjectBase constructor on Win32 due to ICE. Change 3971829 by Ben.Marsh Fix deprecated header warning from PVS Studio. Change 3972503 by Ben.Marsh Changes to build failure notifications: * Only people that submitted between builds with different error messages will be included on emails by default. * Email subject line will be different for each failing build step, but will include the CL of the first failing step. This will result in one thread for each build failure (a success email is sent with the same subject line). * Anyone that starts a build will be included on all failure emails. Change 3972732 by Ben.Marsh Changes to ensure notification messages are stable. Change 3972810 by Ben.Marsh Write debug information about the digest computed for a change, to assist with debugging it if it's not stable. Change 3973331 by Ben.Marsh Fix missing dependency on linker response file. Prevents target being relinked when build environment changes. Change 3973343 by Ben.Marsh PR #4612: Adding support for PVS-Studio settings file to PVS-Studio Unreal Build Tool toolchain. (Contributed by PaulEremeeff) Change 3973820 by Ben.Marsh Fix incorrect error message when unable to find Visual C++ install directory. Change 3974295 by Robert.Manuszewski Made sure that lazy object pointers are only fixed up for PIE in actual PIE worlds. Change 3975336 by Robert.Manuszewski CIS fix after the last merge from main Change 3976999 by Ben.Marsh Move the Windows stack size settings onto the WindowsTargetRules object, and add the [RequiresUniqueBuildEnvironment] attribute to ensure it's not overwritten incorrectly. This should cause CIS to better errors for compiling Odin editor. Change 3977934 by Ben.Marsh UBT: Allow setting additional compiler/linker arguments through properties on the TargetRules object. Change 3977953 by Ben.Marsh UBT: Enumerate all Visual Studio 2017 install locations using the Visual Studio Setup interop SDK. Multiple simultaneous Visual Studio installations are now supported, and using registry keys to determine installation directories has been deprecated. Allows choosing toolchains from preview versions as well as full versions. Change 3978544 by Ben.Marsh UBT: Include verbose timing information from compiler frontend if using VS2017 15.7 preview 2 or later. Change 3978780 by Ben.Marsh Add Visual C++ 2017 redist files to AppLocalDependencies, and update the prereq installer to include 2017 support DLLs. Change 3979313 by Ben.Marsh UBT: Add the EngineDirectory property to ModuleRules. Makes it easier to find paths to files under the engine folder. Change 3980499 by Ben.Marsh UBT: Automatically enable /DEBUG:FASTLINK if we're using the VS2017 15.7 toolchain or newer and not doing a formal build. This contains fixes for debugger OOM issues present in older versions. Change 3980890 by Ben.Marsh UBT: Update project file generator to support VS2017 solution options file; fixes C# projects being opened by default when generating new project files. Change 3981495 by Ben.Marsh Do not include embedded interop assemblies in the list of references required by a C# project; they are not required build products. #jira UE-54343 Change 3982157 by Ben.Marsh Only output a warning message if BuildConfiguration.xml schema validation fails; we may have settings that only apply to code in another branch. Change 3982239 by Ben.Marsh Update tooltip directing users to install Visual Studio 2017 instead of 2015. Change 3983395 by Graeme.Thornton Fix reference to BUILD_VERSION in BootstrapPackagedGame RC file Change 3983523 by Graeme.Thornton Backwards compatibility for pak files with compressed chunk offsets Change 3983769 by Ben.Marsh UAT: Allow using PDBCOPY.EXE installed as part of the Windows 10 SDK to strip symbols, and add a better message if it can't be found. Change 3984529 by Ben.Marsh BuildGraph: When run with the -Preprocess=... argument, no steps will be executed. Change 3984557 by Ben.Marsh BuildGraph: Return the updated patterns from FilePattern.CreateMapping(), so we can print accurate messages when displaying the source and target directories for a copy or move task. Change 3986520 by Ben.Marsh Remove hacks to uniquify response file name on Android and Linux. Change 3987166 by Steve.Robb Allow overloading of functions which take TFunctions or TFunctionRefs with mutually exclusive signatures. Change 3989061 by Graeme.Thornton TBA: Text asset loading/saving work - Start using FStructuredArchive flavours of UObject Serialize functions when loading and saving exports. - Only use FStructuredArchive interface for text assets, and for classes that have the CLASS_MatchingSerializers which tells us that the class can serialize to both FStructuredArchives and FArchives. - Add GetCacheableArchive to FArchive, which allows transient archives to return a pointer to another archive that will outlive it. Used by bulk data to get a pointer to an archive that can be held and used at a later time to lazy load things. For text assets where the bulk data might be held inside a base64 encoded FArchiveFromStructuredArchive block, we can't dynamically seek back to that location after the on-stack wrapper has been destroyed after the original serialize, so this will return null. For binary assets, we just return a pointer to the same binary archive which can be used freely. Change 3989109 by Graeme.Thornton TBA: TextAsset commandlet emits a warning when binary package determinism fails Change 3990823 by Ben.Marsh UGS: Allow project settings to specify a client path rather than a filesystem path. Not currently usable through UI. Change 3990832 by Ben.Marsh UGS: Make the schedule window resizable. Change 3991569 by Steve.Robb GitHub #4636 : Fixed typo in HeaderParser.cpp for "missed WithValidation keyword" error message Change 3991970 by Steve.Robb Fix for 4096 char limit on FParse::Value. Change 3992222 by Steve.Robb Advice added to the coding standard for using default member initializers. Change 3993675 by Ben.Marsh UGS: Add UI to allow creating new workspaces and selecting projects from existing workspaces that are not currently synced. Change 3994199 by Ben.Marsh UGS: Fix child processes being unable to spawn other child processes with the CREATE_BREAKAWAY_FROM_JOB flag, to add them to their own job objects. In Windows 7 or earlier job objects cannot be nested, so child processes have to create separate job objects and spawn processes with CREATE_BREAKAWAY_FROM_JOB to be able to add them. This fails unless parent process' job object was created with JOB_OBJECT_LIMIT_BREAKAWAY_OK. Discussed here: https://msdn.microsoft.com/en-us/library/windows/desktop/hh448388(v=vs.85).aspx Change 3994243 by Ben.Marsh UGS: Use the select stream dialog instead of displaying a drop list unless there's a stream filter specified. We have way too many streams for this to be useful in a menu unless it's filtered. Change 3994260 by Ben.Marsh UGS: Tweak the stream filter dialog to only use the previous selected node if the filter terms match. It may be a parent node of something that matches, even though it doesn't match itself. Change 3994350 by Ben.Marsh UGS: Automatically guess the correct root path for new workspaces based on the most common existing workspaces for the current user. Change 3995159 by Ben.Marsh UGS: Do not delete files which are outside the sync filter. People expect to be able to sync different projects within a stream without having to update sync filters. Indend to re-introduce this functionality through the manual 'clean workspace' operation. Change 3995169 by Ben.Marsh UGS: Show options as dimmed in the open project dialog, if the radio button for those controls is not checked. Automatically set the radio button if the focus is given to one of those controls. Change 3995228 by Ben.Marsh UGS: Update recently opened projects list when editing project for an existing tab. Change 3995312 by Ben.Marsh UGS: Stop showing all dialogs in the taskbar. Change 3995929 by Robert.Manuszewski Completely rewritten FReferenceChainSearch class used by 'obj refs' command. - 3+ times faster - Uses the same code as GC to track all the references down - Actually reports all reference chains properly - Less code that is more readable than the previous version Change 3995981 by Ben.Marsh UGS: Clean workspace window will now force-sync files that have been deleted or which are writable. Change 3996113 by Ben.Marsh UGS: Fix crash upgrading config files from older versions. Change 3997990 by Ben.Marsh UGS: Prevent error when syncing an empty workspace. Change 3998095 by Ben.Marsh UGS: Change logic for dealing with job objects: rather than creating breakaway jobs (requires co-operation with spawning process), always try to use nested job objects (requires Windows 8.1+). If it fails, ignore the error if we're already part of a job. Also forcibly terminate the process on dispose to handle cases where the job object wasn't created. Change 3998264 by Ben.Marsh UGS: Fix exception when switching projects in-place. Change 3998643 by Ben.Marsh Fix shared DDC not being used for installed engine builds. #jira UE-57631 Change 4000266 by Ben.Marsh UnrealPak: Add an option that allows rebuilding a set of PAK files with different settings. Usage is: UnrealPak [PakFile] -Repack [-Output=FileOrDirectory] [Options] The input pak file may be a single file or wildcard, and is overwritten unless the -Output parameter is specified. Change 4000293 by Ben.Marsh Add a compression flag that allows selecting compressor without using the default platform implementation. Change 4000315 by Ben.Marsh Add support for custom compressors implemented via modular features. Specify -compressor=<PathToDll> on the command line to UnrealPak to load a compressor from an external DLL. Change 4000610 by Ben.Marsh UnrealPak: Add a parameter for compression block size (-compressionblocksize=XXX). Accepts arguments with MB/KB suffixes, as well as byte counts. Change 4000627 by Ben.Marsh UBT: Include enabled plugin info in the UBT log. Change 4000793 by Ben.Marsh UBT: Remove some member variables from VCEnvironment that don't need to be stored. Change 4000909 by Ben.Marsh UBT: Add VS2017 installations to the list of paths checked for MSBuild installations. Change 4001923 by Ben.Marsh UBT: Allow any plugins which are enabled by default to be included in the enabled list, even if they don't have any modules for the current platform. This changes the build-time logic to match the runtime logic. At some point in the future we may add a separate SupportedHostPlatforms list to each plugin to do this explicitly, rather than guessing via the per-module whitelist. Change 4001927 by Ben.Marsh Fixes for compiling against the Windows 10 SDK. Change 4002439 by Robert.Manuszewski Added TDefaultReferenceCollector and FSimpleReferenceProcessorBase to extract common code for clients of TFastReferenceCollector Change 4003508 by Ben.Marsh UGS: Fix new workspaces not having the correct owner and host set. Change 4003622 by Ben.Marsh UGS: Add support for "skipped" as a build result. Change 4004049 by Robert.Manuszewski Significantly improved performance of Reference Chain Search for objects that are nested deep in the object hierarchy Change 4005077 by Ben.Marsh UGS: Update version number. Change 4005112 by Ben.Marsh UBT: Reduce number of times a target has to be constructed while generating project files. Change 4005513 by Ben.Marsh UBT: Reduce number of checks for directories existing when adding include paths to a module. Accounted for 40% of runtime time when generating project files. Change 4005516 by Ben.Marsh UBT: Add warnings whenever a module adds an include path or library path that doesn't exist Change 4006168 by Ben.Marsh CIS fixes. Change 4006236 by Ben.Marsh UGS: Populate the workspace name/root directory text box with the cue banner when focus moves to the control. Change 4006266 by Ben.Marsh UGS: Swap around the new workspace/existing file boxes on the open project dialog. Change 4006552 by Ben.Marsh If staging fails because a restricted folder name is found, include a list of them in the error message. Change 4007397 by Steve.Robb Comments added to make it clear that GetAllocatedSize() only counts direct allocations made by the container. Change 4007458 by Ben.Marsh UBT: Change RPC utility to abort early, rather than continue to try to build even though SSH init failed. Change 4009343 by Ben.Marsh UGS: Set the rmdir option on new workspaces by default. Change 4009501 by Ben.Marsh UBT: Add Windows include paths to the compiler command line, rather than setting through environment variables. This ensures that incremental builds work correctly when SDK versions change. Change 4009509 by Ben.Marsh UBT: Check in a non-versioned directory under the Windows 10 SDK for the resource compiler. Change 4010543 by Ben.Marsh Remove the "Device" and "Simulator" platform groups, because they're unused and overly generic for folder names. Also remove source code for the HTML5 simulator (which is no longer supported). Change 4010553 by Ben.Marsh UAT: Include platform groups in restricted folder names when staging. Change 4012030 by Ben.Marsh UGS: Increase the size of the main window, and set the current stream as the default when creating a new workspace. Change 4012204 by Chad.Garyet - Cleanup to get the POSTs returning 400s the same way the GETs would (now no longer returns the exception text) - Create directory for sqlite db if it doesn't exist #jira none Change 4014209 by Brandon.Schaefer New changes in breakpad dump_syms to allow for producing a symbol file for elf files on windows #review-3998840 @Arciel.Rekman, @Ben.Marsh, @Josh.Engebreston, @Anthony.Bills Change 4015606 by Brandon.Schaefer Missed a code project that needed updating for new Breakpad changes for Mac Change 4017795 by Robert.Manuszewski GC assumption verification should now be 3-4x faster. - Refactored Disregard For GC to use TFastReferenceCollector - Move both Disregard For GC and Cluster verification code to separate source files Change 4020381 by Ben.Marsh Add link to the new official doc page for UnrealGameSync. Change 4020665 by Ben.Marsh UBT: Prevent plugins being precompiled if they don't support the current target platform. Change 4021829 by Ben.Marsh Update message about downloading a new version of Visual Studio. Change 4022063 by Ben.Marsh UBT: Suppress toolchain output when generating project files. Change 4023248 by Ben.Marsh Install an unhandled exception filter to ensure we get crash reports from threads that are not spawned by the engine. At the moment, we only receive crashes that are routed through ReportCrash() via our structured exception handlers in WinMain() and FRunnableThreadWin::Run(). (Also fix an exception within the exception handler, if GError has not been created yet) Change 4025759 by Ben.Marsh Fix universal CRT include paths not being added to compile environment for VS2015. Change 4026002 by Ben.Marsh UBT: Check the old registry locations for the Windows SDK installation directory. Change 4026068 by Ben.Marsh UBT: Use the correct compiler version in the error message for not having the UCRT. Change 4026181 by Ben.Marsh Fix DebugGame editor configurations not enumerating modules correctly. #jira UE-58153 Change 4026285 by Ben.Marsh UBT: Add additional logging for enumerating Windows SDKs. Change 4026708 by Ben.Marsh UBT: Keep a separate list of installed Universal CRT versions to the list of Windows 10 SDK versions. It's possible to install C++ support without the Windows 10 SDK, which still includes UCRT files in Windows 10 SDK folders. Change 4029404 by Ben.Marsh Remove incorrect include paths to fix CIS warnings. Change 4031517 by Steve.Robb Fix for UHT errors not being clickable in the Message Log. #jira UE-58173 Change 4031544 by Ben.Marsh Fix errors building asset catalog for IOS due to modifying shared build environment. #jira UE-58240 Change 4032227 by Ben.Marsh BuildGraph: Print out a warning message when trying to submit without the -Submit argument in BuildGraph. Change 4032262 by Ben.Marsh BuildGraph: Remove the need to copy files to the staging directory in BuildEditorAndTools.xml. Change 4032288 by Ben.Marsh Remove UFE from the BuildEditorAndTools script. 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 3838569 by Steve.Robb Algo moved up a folder. Change 3848581 by Robert.Manuszewski Changing the UObjectArray to not be allocated up front but in 64K-FUObjectItem chunks. This is to fix strange OOM reports on editor startup where it's trying to allocate space for 1M+ FUObjectItems. #jira UE-49446 Change 3864743 by Steve.Robb Fix for buffer overrun when copying a context string. Fix for being unable to link to MallocLeakDetection. Fix to prefix for FMallocLeakDetection::ContextString. New MALLOCLEAK_SCOPED_CONTEXT macro to push/pop a context string. Overload for const TCHAR* added to FMallocLeakDetection::PushContext to save on redundant memory allocations. #jira UE-54612 Change 3865020 by Graeme.Thornton TBA: Changed FIELD_NAME macro to FIELD_NAME_TEXT so that FIELD_NAME can be used for non-literal name definitions Change 3869550 by Josh.Engebretson New SymGen and SymUpload tasks (ShooterGame usage example) Example C# symbolicator (using saved crash and data router formats) Updates for stack walking and crash runtime xml on Windows/Mac Change 3905453 by Steve.Robb USE_TUPLE_AUTO_RETURN_TYPES moved to PLATFORM_COMPILER_HAS_DECLTYPE_AUTO. Change 3910012 by Ben.Marsh UGS: Show an error window and allow setting default P4 server settings if syncing UGS fails. Change 3920044 by Graeme.Thornton TBA: Text asset loading * Added a structured archive layer to FLinkerLoad * Wrapped export loading in a ArchiveUObjectFromStructuredArchive * Updated TextAssetCommandlet to have a "loadtext" mode which will try to load every text asset in the project content * Changed text asset extensions to .utextasset and .utextmap. Couldn't go with the favourite .uasset.json because our various path functions (FPaths::GetCleanFilename etc.) will only strip one layer of extension, so leave a bogus filename. * Relaxed a few checks in structured archive where it was checking for field reentrance, which isn't a problem for loading. * Changed FArchiveFromStructuredArchive to not load all referenced objects at construction time. This introduced some changes to load order which don't work in the engine. Object names are resolved at the point that a reference to them is serialized from the main data block, same as with legacy archives. Change 3921587 by Steve.Robb Static asserts inside ensureMsgf() macros to prevent them being passed invalid arguments or non-literal formatting strings. Fixes for various misuses. #jira UE-55681 Change 3942873 by Ben.Marsh UBT: Allow link time code generation on any configurations where bAllowLTCG is set to true. Microsoft platforms were previously only allowing this option in shipping; the target can decide when to enable it or not. Change 3944629 by Graeme.Thornton Merging back a couple of fixes from Fortnite - Extra parenthesis around some calculations in the pakprecacher - Changed FChunkCacheWorker::DoSignatureCheck() back to ::CheckSignature() - Added documentation for build script crypto options Change 3945381 by Ben.Marsh Disable warning C4770 on Windows (partially validated enum 'xxx' used as index), which occurs when enabling LTCG. Can't find a reference online for this warning, but I suspect it's due to LTCG allowing the compiler to trace code paths where we don't validate that an enum is a known value. Change 3968969 by Steve.Robb Fixes to incorrect uses of FScriptMapHelper and FScriptSetHelper, which weren't accounting for gaps in the sparse array. Change 3969417 by Ben.Marsh Make Visual Studio 2017 the default compiler for UE4 projects, and add support using Visual C++ toolchains from an AutoSDKs. Also add support for selecting a specific toolchain version to use through the WindowsPlatform.CompilerVersion property, which can be configured via a Target.cs files or BuildConfiguration.xml (eg. <WindowsPlatform><CompilerVersion>14.13.26128</CompilerVersion></WindowsPlatform). As well as allowing a specific version number, you can always use the latest toolchain by setting it to "Latest". Change 3972443 by Ben.Marsh Change build scripts to allow running any steps on non-compile workspaces. Setup Dev-Core to just use a non-compile Win64 workspace for everything. Change 3977198 by Ben.Marsh Remove INI file override for editor stack size on Windows. This is rarely valid since editor targets share build products with other games by deafult. Fix to add linker response file as prerequisite exposed targets overriding this as a bug. Change 3979632 by Ben.Marsh Consolidate codepaths for embedding versioning information in the engine. Engine/Build/Build.version is now the authoritative place to read version information; Engine/Source/Runtime/Launch/Resources/Version.h no longer includes macros for the current branch and changelist. * Settings from Build.version are compiled into the (tiny) BuildSettings module via macros set in BuildSettings.build.cs, which is used to initialize version information inside the engine at runtime. * The IsPromotedBuild value is now set to zero by default (but set to 1 by the UpdateLocalVersion UAT command). * The -Licensee argument to the UpdateLocalVersion UAT command, and the IsLicenseeVersion setting for UnrealGameSync, is determined automatically by looking for the Engine/Build/NotForLicensees/EpicInternal.txt file. This path is not visible to licensees. Change 3981738 by Ben.Marsh Move utility classes for filtering files and matching wildcards into DotNETUtilities. Change 3983888 by Steve.Robb Warning C4868 disabled, about evaluation order of braced initializer lists. https://udn.unrealengine.com/questions/426081/help-with-error-c4868-braced-initializers.html Change 3984019 by Steve.Robb FString::Printf formatting argument checking added. Vararg support for FText::Format. All remaining usage fixed. Change 3985502 by Steve.Robb Change to TFunction debugger visualization to allow right-clicking on the [Lambda] and selecting 'Go To Source Code'. Change 3985999 by Graeme.Thornton TBA: Serialize function generation for FArchive and FStructuredArchive overloads on a UObject, using UHT. - Adds a restriction that UObject::Serialize() functions MUST be declared outside of any conditional compilation directives, except for WITH_EDITORONLY_DATA Change 3986461 by Ben.Marsh Fixup lots of platforms not adding response files as a prerequisite. This can cause incremental builds to fail if input files/compile arguments change, because the action graph does not know that the response file being updated invalidates the build artifacts. Change 3990081 by Ben.Marsh Remove custom output formatters for errors and warnings. These are not well supported by different executors, and cause fences between actions with the same formatter with external executors like XGE. Clang supports -fdiagnostics-format=msvc for all platforms, which should do a better job than our crude attempts at regexing errors (causing botched output in some cases). Change 3996714 by Chad.Garyet UGSRestAPI, conversion of UGS to use it. #jira none Change 4008287 by Ben.Marsh UBT: Change the engine to use the Windows 10 SDK by default. Also add support for switching between specific Windows SDK versions. The WindowsPlatform.WindowsSdkVersion property in the target rules can be used to select a desired version, which can also be configured by the <WindowsPlatform><WindowsSdkVersion>Foo</WindowsSdkVersion></WindowsPlatform> parameter in the BuildConfiguration.xml file. The version of Windows to target (ie. the WINVER macro) can be modified by setting WindowsPlatform.TargetWindowsVersion. The default is 0x0601 (Windows 7). Change 4008516 by Chad.Garyet - Adding support for both SQLite and MsSql - API now reads from only MsSql, but writes to both - Added support for POST to CIS for badges - PostBadgeStatus now writes out via API Url rather than a direct connection to the DB #jira none Change 4010296 by Chad.Garyet Moving SQLite db initilization into Application_Start. An exception thrown creating or seeding the db will unload the entire AppDomain and all pages will return a 404. #jira none Change 4024045 by Ben.Marsh Set the list of supported target platforms for OnlineSubsystemGameCircle. #jira UE-57887 Change 4031014 by Ben.Marsh UAT: Add a WhitelistDirectories list in DefaultEngine.ini, which allows specifying folders that can be staged despite having restricted folder names. [CL 4034515 by Ben Marsh in Main branch]
2018-04-26 14:11:04 -04:00
/// <summary>
/// Map of staged crash reporter file to source location
/// </summary>
public Dictionary<StagedFileReference, FileReference> CrashReporterUFSFiles = new Dictionary<StagedFileReference, FileReference>();
/// <summary>
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
/// List of files to be archived
/// </summary>
public Dictionary<string, string> ArchivedFiles = new Dictionary<string, string>();
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3494741 by Steve.Robb Generated code size savings. #jira UE-43048 Change 3495484 by Steve.Robb Fix for generated indices of static arrays when saving configs. Change 3497926 by Robert.Manuszewski Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything. Change 3498077 by Robert.Manuszewski Only use the recursion guard in async loading code when the event driven loader is enabled. Change 3498112 by Ben.Marsh UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own. Change 3500239 by Robert.Manuszewski Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes. Change 3500395 by Steve.Robb Extra codegen savings when not in hot reload. Change 3501004 by Steve.Robb EObjectFlags now have constexpr operators. Change 3502079 by Ben.Marsh UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary. Change 3502527 by Steve.Robb Fix for zero-sized array compile error in generated code when all functions are editor-only. Change 3502542 by Ben.Marsh UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead. Change 3502868 by Steve.Robb Workaround for inefficient generated code with stateless lambdas on Clang. Change 3503550 by Steve.Robb Another generated code lambda optimization. Change 3503582 by Ben.Marsh BuildGraph: Add support for nullable parameter types. Change 3504424 by Steve.Robb New AllOf, AnyOf and NoneOf algorithms. Change 3504712 by Ben.Marsh UAT: Less spammy log and error output from UAT. * Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception). * Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information. * AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log) * Name of the calling function is not included in console output by default, but still included in the log. Change 3504808 by Ben.Marsh UAT: Suppress P4 output when running a recursive instance of UAT. Change 3505044 by Steve.Robb Code generation improved for TCppClassType code. Change 3505485 by Ben.Marsh Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module. Change 3505699 by Ben.Marsh Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins. Change 3506055 by Ben.Marsh UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output. Change 3507745 by Robert.Manuszewski Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses). Change 3507911 by Ben.Marsh Plugins: Minor changes to plugin descriptors. * Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors. * Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from. Change 3508669 by Ben.Marsh EC: Parse multi-line messages from UBT and UAT. Change 3508691 by Ben.Marsh Fix double-spacing of cook stats. Change 3509245 by Steve.Robb UHT makefiles removed. Flag audit removed. Change 3509275 by Steve.Robb Fix for mismatched stat categories in AudioMixer. #jira UE-46129 Change 3509289 by Robert.Manuszewski Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably. Change 3509294 by Robert.Manuszewski UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it. Change 3509312 by Steve.Robb GitHub# 3679: Add TArray constructor that takes a raw pointer and a count Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too. #jira UE-46136 Change 3509396 by Steve.Robb GitHub# 3676: Fix TUnion operator<< compile error #jira UE-46099 Change 3509633 by Steve.Robb Fix for line numbers on multiline macros. Change 3509938 by Gil.Gribb UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading. Change 3510593 by Daniel.Lamb Fixed up unsoilicited files getting populated with files which aren't finished being created yet. #test None Change 3510594 by Daniel.Lamb Fixed up temp files directory for patching. Thanks David Yerkess @ Milestone #review@Ben.Marsh Change 3511628 by Ben.Marsh PR #3707: Fixed UBT stack size (Contributed by gildor2) Change 3511808 by Ben.Marsh Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git) #jira UE-46540 Change 3512017 by Ben.Marsh Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface. Change 3513935 by Steve.Robb Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477. Change 3514142 by Steve.Robb MemoryProfiler2 added to generated solution. Change 3516463 by Ben.Marsh Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user. Change 3517860 by Ben.Marsh PR #3727: FString Dereference Fixes (Contributed by jovisgCL) Change 3517967 by Ben.Marsh Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line. Change 3518070 by Steve.Robb Disable Binned2 stats in shipping non-editor builds. Change 3520079 by Steve.Robb Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions. #jira UE-24034 Change 3520080 by Robert.Manuszewski Made max package summary size to be configurable with ini setting Change 3520083 by Steve.Robb Force a GC after hot reload to clean up reinstanced objects which may still tick. #jira UE-40421 Change 3520480 by Robert.Manuszewski Improved assert message when the initial package read request was too small. Change 3520590 by Graeme.Thornton SignedArchiveReader optimizations - Loads more stats - Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader - Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time - Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries Change 3521023 by Graeme.Thornton Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing Change 3521787 by Ben.Marsh PR #3736: Small static code analysis fixes (Contributed by jovisgCL) Change 3521789 by Ben.Marsh PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar) Change 3524721 by Ben.Marsh Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core. Change 3524741 by Ben.Marsh Move PumpMessages() into FPlatformApplicationMisc. Change 3525399 by Ben.Marsh UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment. Change 3525743 by Ben.Marsh UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds. Change 3525746 by Ben.Marsh EC: Include the clobber option on new workspaces, to allow overriding version files when syncing. Change 3526453 by Ben.Marsh UGS: Do not generate project files when syncing precompiled binaries. Change 3527045 by Ben.Marsh Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting. Change 3527420 by Ben.Marsh UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing). Config files are now read from: Engine/Programs/UnrealGameSync/UnrealGameSync.ini Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini If a project is selected: <ProjectDir>/Build/UnrealGameSync.ini <ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini If the .uprojectdirs file is selected: Engine/Programs/UnrealGameSync/DefaultProject.ini Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini Change 3528063 by Ben.Marsh Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse. Change 3528415 by Ben.Marsh UAT: Remove \r characters from the end of multiline log messages. Change 3528427 by Ben.Marsh EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent. Change 3528485 by Ben.Marsh EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places. Change 3528505 by Steve.Robb PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL) #jira UE-46819 Change 3528772 by Robert.Manuszewski Enabling actor and blueprint clustering in ShooterGame Change 3528786 by Robert.Manuszewski PR #3760: Fix typo (Contributed by jesseyeh) Change 3528792 by Steve.Robb PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL) #jira UE-46962 Change 3528941 by Robert.Manuszewski Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object. #jira UE-44996 Change 3530241 by Ben.Marsh UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value. Change 3531377 by Ben.Marsh Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it. This has several advantages over the per-module platform whitelist/blacklist: * Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore. * References to dependent plugins from platform-specific plugins can now be eliminated. * Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly). * The editor can load any plugins without having to whitelist supported editor host platforms. UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime. Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary. Change 3531502 by Jin.Zhang Add support for GPUCrash #rb Change 3531664 by Ben.Marsh UBT: Change output format from C# JSON writer to match output by the engine. Change 3531848 by Ben.Marsh UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable. Change 3531869 by Ben.Marsh UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field. Change 3532474 by Ben.Marsh UBT: Use the same mechanism as UAT for logging exceptions. Change 3532734 by Graeme.Thornton Initial VSCode Support - Tasks generated for building all game/engine/program targets - Debugging support for targets on Win64 Change 3532789 by Steve.Robb FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap. Set_Add and Map_Add no longer have a return value. FScriptSet::Find and FScriptMap::Find functions are now FindIndex. FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash. Change 3532845 by Steve.Robb Obsolete UHT settings deleted. Change 3532875 by Graeme.Thornton VSCode - Add debug targets for different target configurations - Choose between VS debugger (windows) and GDB (mac/linux) Change 3532906 by Graeme.Thornton VSCode - Point all builds directly at UBT rather than the batch files - Adjust mac build tasks to run through mono Change 3532924 by Ben.Marsh UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root. Change 3535234 by Graeme.Thornton VSCode - Pass intellisense system a list of paths to use for header resolution Change 3535247 by Graeme.Thornton UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation Change 3535376 by Graeme.Thornton VSCode - Added build jobs for C# projects - Linked launch tasks to relevant build task Change 3537083 by Ben.Marsh EC: Change P4 swarm links to start at the changelist for a build. Change 3537368 by Graeme.Thornton Fix for crash in FSignedArchiveReader when multithreading is disabled Change 3537550 by Graeme.Thornton Fixed a crash in the taskgraph when running single threaded Change 3537922 by Steve.Robb Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT. Change 3539691 by Graeme.Thornton VSCode - Various updates to get PC and Mac C++ projects building and debugging. - Some other changes to C# setup to allow compilation. Debugging doesn't work. Change 3539775 by Ben.Marsh Plugins: Various fixes to settings for enabling plugins. * Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled). * Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed. * Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them. Change 3540788 by Ben.Marsh UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile). Example usage: public class UnrealPakTarget : TargetRules { public UnrealPakTarget(TargetInfo Target) : base(Target) { Type = TargetType.Program; LinkType = TargetLinkType.Monolithic; LaunchModuleName = "UnrealPak"; if(HostPlatform == UnrealTargetPlatform.Win64) { PreBuildSteps.Add("echo Before building:"); PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); PostBuildSteps.Add("echo After building!"); PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); } } } Change 3541664 by Graeme.Thornton VSCode - Add problemMatcher tag to cpp build targets Change 3541732 by Graeme.Thornton VSCode - Change UBT command line switch to "-vscode" for simplicity Change 3541967 by Graeme.Thornton VSCode - Fixes for Mac/Linux build steps Change 3541968 by Ben.Marsh CRP: Pass through the EnabledPlugins element in crash context XML files. #jira UE-46912 Change 3542519 by Ben.Marsh UBT: Add chain of references to error messages when configuring plugins. Change 3542523 by Ben.Marsh UBT: Add more useful error message when attempt to parse a JSON object fails. Change 3542658 by Ben.Marsh UBT: Include a chain of references when reporting errors instantiating modules. Change 3543432 by Ben.Marsh Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set. Change 3543436 by Ben.Marsh UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails. Change 3543536 by Ben.Marsh UBT: Downgrade message about redundant plugin references to a warning. Change 3543871 by Gil.Gribb UE4 - Fixed a critical crash bug with non-EDL loading from pak files. Change 3543924 by Robert.Manuszewski Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes. +Small optimization to token stream generation code. Change 3544469 by Jin.Zhang Crashes page displays the list of plugins from the crash context #rb Change 3544608 by Steve.Robb Fix for nativized generated code. #jira UE-47452 Change 3544612 by Ben.Marsh Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages(). #jira UE-47449 Change 3545954 by Gil.Gribb Fixed a critical crash bug relating to a race condition in async package summary reading. Change 3545968 by Ben.Marsh UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same. #jira UE-47419 Change 3545976 by Ben.Marsh EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch. Change 3546185 by Ben.Marsh Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped. Change 3547084 by Gil.Gribb Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms. Change 3547968 by Gil.Gribb Fixed critical race which potentially could cause a crash in the pak precacher. Change 3504722 by Ben.Marsh BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run. For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as: ERROR: Unable to write to foo.txt while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" /> at Engine\Build\InstalledEngineBuild.xml(91) (see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace) Change 3512255 by Ben.Marsh Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated. Change 3512332 by Ben.Marsh Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4. Change 3512393 by Ben.Marsh Rename FPaths::GameLogDir() to FPaths::ProjectLogDir(). Change 3513452 by Ben.Marsh Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project. Change 3516262 by Ben.Marsh Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor. * Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod. * The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders). Change 3517565 by Ben.Marsh Remove fixed engine version numbers from OSS plugins. Change 3518005 by Ben.Marsh UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false. Change 3518054 by Ben.Marsh UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard. Change 3524496 by Ben.Marsh Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core. Change 3524641 by Ben.Marsh Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc. Change 3528723 by Steve.Robb MoveTemp now static asserts if passed a const reference or rvalue. MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious. Fixes to violations of these new rules. Change 3528876 by Ben.Marsh Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste. Change 3529073 by Ben.Marsh Add script to package ShooterGame for any platforms. Change 3531493 by Ben.Marsh Update platform-specific plugins to declare the target platforms they support. Change 3531611 by Ben.Marsh UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates. Change 3531868 by Ben.Marsh Resaving project descriptors to remove invalid fields. Change 3531983 by Ben.Marsh UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders. * Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer. * Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type) * Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo")) * An error is output if any restricted folder names other than the output platform are in the staged output. Change 3540315 by Ben.Marsh UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers. Change 3542410 by Ben.Marsh UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already. Change 3543018 by Ben.Marsh UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions. Change 3544371 by Steve.Robb Fixes to TSet_Add and TMap_Add BPs. #jira UE-47441 [CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
/// <summary>
/// List of restricted folder names which are not permitted in staged build
/// </summary>
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 4285612) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3836829 by Ben.Marsh UBT: Fix ability to precompile plugins from installed engine builds. 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 4042043 by Steve.Robb GitHub #4705 : Added weak lambda's for delegates and multicast delegates. Change 4042056 by Robert.Manuszewski Optimized Mark Phase of GC by up to 10ms by making it run in parallel and removing a huge array presize which we didn't need. Change 4042104 by Robert.Manuszewski Set the minimum GC cluster size to 5 so that GC doesn't have to process micro clusters which are more expensive than processing individual objects + Exposed the minimum cluster size to ini and project settings as gc.MinGCClusterSize + Added the ability to sort clusters by name/object count/mutable object count/referenced clusters count when dumping them with gc.ListClusters command Change 4042377 by Robert.Manuszewski Reworked how GC and other threads (ALT specifically) interact - GC will now notify the ALT it wants to run and ALT will immediately try to finish its current work to allow that. Also the entire ALT tick is now protected against GC running at the same time to improve ALT stability. + added gc.ForceCollectGarbageEveryFrame console variable that triggers a forced GC every frame Change 4042427 by Robert.Manuszewski Changed FGCCSyncObject to use events when waiting for GC to finish so that it doesn't spin on non-game threads when GC is running Change 4042482 by Robert.Manuszewski Unhashing unreachable objects (ConditionalBeginDestroy) will now also be done incrementally, just like the purge phase of Garbage Collection Change 4042635 by Robert.Manuszewski Fix for a potential assert when incremental purge garbage is pending and something forces a full purge Change 4044092 by Steve.Robb Fix for forward declared CoreUObject weakobject types in delegates when building in Clang. Change 4044102 by Robert.Manuszewski Fix for a possible hang when worker threads are preventing GC from running and something is later trying to FlushAsyncLoading with the Async Loading Thread enabled Change 4044113 by Steve.Robb Another Clang fix. Change 4044160 by Robert.Manuszewski Disregard For GC pool will now be enabled by default in cooked builds Change 4044287 by Steve.Robb Typo fix. Change 4047723 by Graeme.Thornton TBA: Fixes for import/export name cache and object resolving Change 4048015 by Graeme.Thornton TBA: Weak/Soft/Lazy pointer serialization changes * Remove FWeakObjectPtr::Serialize, move it's logic into, and replace usages of with calls to, FArchiveUObject::SerializeWeakObjectPtr(). Ensures that something is always sent to the archive so that structured archives can be kept happy in the future. * Added Weak/Soft/Lazy pointer handling to the structured archive slot interface and all the formatters. Binary formatters just forward the call onto their inner and text archives store as a string path reference. * FArchiveUObjectFromStructuredArchive caches all these pointer types and stores indices in the binary block, same as with a UObject*. All pointers are then forwarded to the underlying formatter in one go on finalization. Change 4048021 by Steve.Robb Fix for binding an unbound TFunction to another TFunction with a different signature. Also all null pointers now count as unbindings, not just nullptr. TIsMemberPointer added. TIsATFunction and TIsATFunctionRef renamed to remove the 'A's. Change 4048544 by Robert.Manuszewski Fixing ConditionalBeginDestroy profiling after changes to incremental CBD. Change 4051028 by Graeme.Thornton TBA: ArchiveFromStructuredArchive adapter uses Inner to determine if it is outputting to text, and sets it's own ArIsTextFormat to false Change 4051056 by Graeme.Thornton TBA: High level tagged property / UObject base class text serialization - UObject serialize converted to structured archive - Properties written to text individually with text tags, and then binary adapted values - Only saves, doesn't load Change 4051111 by Graeme.Thornton TBA: Temporarily disable loading of text assets until tagged property serialization path is fixed up Change 4051154 by Graeme.Thornton TBA: Convert a few uobject serializers to structured archive format for example purposes Change 4051181 by Graeme.Thornton TBA: Added default structured archive implementation of SerializeItem to UProperty, which just calls the FArchive version on an FArchiveUObjectFromStructuredArchive adapter. Implemented structured archive SerializeItem for UArrayProperty Change 4051197 by Graeme.Thornton TBA: ObjectProperty text serialization Change 4051216 by Graeme.Thornton Restored a modified FWeakObjectPtr::Serialize function to keep backwards compatibility in code I don't have access to. Change 4051261 by Graeme.Thornton TBA: Convert UMetaData to structured archive Change 4051374 by Steve.Robb Incorrect assert removed. Change 4051562 by Robert.Manuszewski Adding stats for the new GC internal functions Change 4051614 by Graeme.Thornton TBA: Removed UProperty::SerializeItem(FArchive, ...) and replaced with UProperty::SerializeItem(FStructuredArchive::FSlot, ...). Fixed up most of them to work properly and added adapters in for any that were non-trivial. Change 4052512 by Graeme.Thornton TBA: Temporary workaround for softobjectptr and lazyobjectptr uproperties not serialization anything when they know the archive is a reference collector. They should always be serializing their pointers and letting the underlying archive itself ignore them. Change 4053917 by Robert.Manuszewski Clustered objects from clusters that are no longer reachable will now be marked as unreachable immediately when gathering unreachable objects Change 4053919 by Robert.Manuszewski Added the ability to disable incremental BeginDestroy in ini/project settings Change 4055518 by Daniel.Lamb Fixup for deterministic audio generation issue. Submitted on behalf of Rich.Whitehouse #jira nojira #test prefilght automated test. Change 4056854 by Graeme.Thornton TBA: Added a test asset to EngineTest which contains all the different property types and test cases. Change 4056858 by Graeme.Thornton TBA: Updated USetProperty to proper structured archive usage Change 4056872 by Graeme.Thornton TBA: Add map property field to test object Change 4056873 by Graeme.Thornton TBA: Convert UMapProperty to full structured archive Change 4056994 by Graeme.Thornton TBA: Converted FText over to structured archive. Implemented saving, but not loading. Change 4059728 by Ben.Marsh UBT: Add support for using adaptive non-unity builds when the engine and project are in separate repositories. Change 4059805 by Graeme.Thornton Fixed typo in text serialization. Fixes CIS automation test errors Change 4060007 by Graeme.Thornton TBA: FArchiveFromStructuredArchive will now access it's host slot lazily, i.e. only when a value is actually written to the archive. Change 4060092 by Stefan.Boberg Added optimized Windows console window output path to GenericConsoleOutput since this slowed down cooking considerably (2 minutes spent in wprintf alone for one large dataset) When stdout is attached to a console we use the WriteConsoleW function instead of wprintf since the latter is very slow especially in unbuffered mode which the engine currently configures for stdout (see setvbuf call in LaunchEngineLoop.cpp). At some point we should reconsider this buffering policy since it's likely to slow down other platforms as well but I wanted to do a safe change for now as I don't yet fully understand why the setvbuf call is there in the first place. Change 4060108 by Stefan.Boberg Introduced some additional target platform utilities to help with asset cook optimizations * We now assign each ITargetPlatform a zero-based ordinal value * Introduced FTargetPlatform and FTargetPlatformSet types to help store platform references and platform sets efficiently. These are not currently used in the engine but are designed to replace the existing ITargetPlatform/string/FName representations in the cooking data structures. Change 4060143 by Graeme.Thornton Undo //UE4/Dev-Core/Engine/Source/Runtime/... changelist 4060007 Needs some other changes that I haven't checked in yet... Change 4062432 by Ben.Marsh Fix error message when enumerating P4 changes. Change 4062648 by Ben.Marsh Add missing p4 integration action. Change 4063620 by Graeme.Thornton Integrated a fix from UDN where the engine would crash when trying to load a very small encrypted file (<16bytes) from a pak file, where the read address wasn't already aligned to the AES block size. (https://udn.unrealengine.com/questions/431989/crash-while-reading-a-very-small-file-in-encrypted.html) Change 4066963 by Robert.Manuszewski Fixing GC cluster verification code reporting false positives when a cluster is referencing another cluster through 'mutable' objects list. Change 4067133 by Robert.Manuszewski Changed log verbosity when reporting individual cases of GC cluster assumption violations as they are followed by an asser anyway and this way we get the chance to see all issues before we assert at the end of these checks. Change 4067443 by Steve.Robb FString can now be constructed from any char pointer type and length. Change 4068156 by Steve.Robb Fix necessary because of FString constructor change in CL# 4067443. Change 4070258 by Graeme.Thornton Fixes for VSCode Change 4070372 by Graeme.Thornton TBA: Script struct serialization to structured archives Change 4071913 by Ben.Marsh Move bulk of the code for UnrealPak into an engine developer module, so it can be used in the editor. Change 4071914 by Ben.Marsh Missing files. Change 4071937 by Ben.Marsh Missing header. Change 4072015 by Ben.Marsh Fixes for compiling PakFileUtilities as part of the editor. Change 4072826 by Steve.Robb TBitArray::Reserve() added. TBitArray::Add() overloaded to allow adding multiple bits. TSparseArray::Reserve() optimized to call the overloaded Add(). Change 4073271 by Daniel.Lamb Fixed add patch tier in project launcher passing the wrong commandline option to UAT. #test none Change 4074708 by James.Hopkin #core Removed redundant Casts Change 4074763 by Steve.Robb Fix for TSparseArray::Reserve() size. Change 4076063 by Ben.Marsh Add an "UnrealPak" commandlet with the same functionality as the standalone UnrealPak program. Invoke by running the editor with -run=UnrealPak and the standard UnrealPak commandline options. Change 4077064 by Robert.Manuszewski Fixing compile error in PakFileUtilities Change 4077144 by Graeme.Thornton TBA: TextAssetCommandlet improvements * Collect lists of broken assets during roundtrip tests and print a summary of packages that failed each phase at the end * After resaving as text, load the file back as a plain JSON hierarchy to ensure the output was valid Change 4077412 by Ben.Marsh Set the correct exit code for UnrealPak. Should return 0 on success, not 1. Change 4077760 by Graeme.Thornton TBA: Loading fixed for tagged property serialization Includes conversion of all UProperty::ConvertFromType() and SerializeFromMismatchedTag() functions to use structured archives Lazy initialization of FArchiveFromStructruredArchive when loading, to support the possibility of an adapter being create around an object property serialize call to its inner UStruct, which then decides not to do anything and return false. Stops the ArchiveFromStructuredArchive from consuming the slot and getting upset later on when we try to serialize normal tagged properties from it. Disabled lazy bulk data loading from text assets. Requires a bigger change to make it work. Added some debug checks to json input formatter which track the current value stack size when a new object is pushed onto the stack, and makes sure that the stack has returned to the same size when the object is popped. Catches cases where we unpack an array/stream to the value stack but then don't consume all the items. Change 4078800 by Ben.Marsh Change UAT to using the editor's UnrealPak commandlet rather than invoking the standalone UnrealPak executable. To improve performance when building several PAK files, also add a new -batch=<file> command which reads commands to execute in parallel from a text file. Change 4079745 by Graeme.Thornton TBA: Migrated a couple of UObject Serialize functions to FStructuredArchive (SoundCue / MaterialExpressions / Editor strip flags) Change 4079847 by Graeme.Thornton TBA: Add 'FindMismatchedSerializers' mode to text asset commandlet, which dumps out a list of all UClasses which don't have the CLASS_MatchedSerializers flag, meaning we can't guarantee the have Serialize functions for FArchive AND FStructuredArchive, therefore we can't use the new structured archive based serialize path. Should only ever be native instrinsic classes as UHT takes care of all other cases. Change 4079925 by Ben.Marsh Fix incorrect assignment when deriving name for chunked pak file. Change 4080214 by Ben.Marsh Move the ThreadPoolWorkQueue class into DotNETUtilities so it can be used by other projects. Change 4082394 by Graeme.Thornton CIS fix for variable shadowing warning Change 4082583 by Ben.Marsh Add a IBinarySerializable interface for types that support reading from a BinaryReader and writing to a BinaryWriter. Implementing IBinarySerializable implies a constructor taking a BinaryReader argument is available for deserializing. Change 4082652 by Ben.Marsh Fix FileReference.Directory not returning a directory with a trailing backslash for files in the root directory. Change 4082755 by Graeme.Thornton Fixed an erroneous usage of TUniquePtr<uint8>as a pointer to a uint8 array when creating pak files. Caused a crash when compression was enabled, and has probably surfaced because pak generation is now done by an editor commandlet rather than a standalone program. Change 4082756 by Graeme.Thornton Fixed some incorrect documentation for pakfile compressed chunk headers Change 4082883 by Graeme.Thornton Static analysis warning fix Change 4082912 by Ben.Marsh Move ExceptionUtils into DotNETUtilities. Change 4085291 by Graeme.Thornton TBA: In the Json output formatter, write float and double values out with enough precision for successful roundtripping. Added some debug only code which will immediately reconvert the string back to its original value and compare the the input Change 4085523 by Graeme.Thornton TBA: Remove only explicit usage of DECLARE_FSTRUCTUREDARCHIVE_SERIALIZER. Should only be used from UHT generated code. Change 4086037 by Robert.Manuszewski Fix for a potential race condition when two threads want to acquire GC lock Change 4088655 by Graeme.Thornton Pak creation now uses the bEnablePakSigning setting from the crypto config json file Change 4091474 by Steve.Robb Fix for TStaticBitArray::FindFirstSetBit() and TStaticBitArray::FindFirstClearBit(). Unused variables removed. Change 4093632 by Steve.Robb CIS fixes. Change 4093656 by Graeme.Thornton Build fix Change 4093744 by Ben.Marsh Allow per-chunk settings for whether to enable compression in UnrealPak. Change 4099712 by Gil.Gribb UE4 - Fixed rare case where insufficient space was preallocated for cooldown ticks. #jira UE-59686 Change 4099912 by Stefan.Boberg Cooking timer optimizations: - Replaced data structures for FScopeTimer and FHierarchicalTimerInfo. Previous implementation used FString for many things and caused *lots* of heap and string concatenation activity. Replaced with a compile-time node id (using __COUNTER__) and raw string literals. - Removed PERPACKAGE_TIMER support (was disabled by default and was difficult to test) - Made it possible to toggle OUTPUT_TIMING and ENABLE_COOK_STATS independently - Removed some extremely tight timers because the overhead from calling QPC significantly exceeded the measured code This change shaved some 15% off a clean cook of Fortnite WindowsClient (en) with fully populated local DDC Change 4100519 by Stefan.Boberg Quick fix for Linux build issue introduced in 4099927 Change 4105327 by Stefan.Boberg Cooker: Changed FHierarchicalTimerInfo so it uses a linked list for tracking child nodes, to be able to deal with any child count. Previously we assumed there would never be more than 9 children but it turns out there are cooker modes that need more. Fixes check when using -FullLoadAndSave to cook Change 4105448 by Stefan.Boberg - Fixed Linux build warning re: member initialization order - Also eliminated OUTPUT_HIERARCHYTIMERS/CLEAR_HIEARCHYTIMERS macros (plain functions are fine) - Moved finishing-up code for FullLoadAndSave() to TickCookOnTheSide() call site to improve timer output. Previously some of the scopes would not have been closed before printing and thus the output was misleading. Change 4109031 by Ben.Marsh Attribute-driven Perforce wrapper (old Epic Friday project). Offers a more complete implementation than the current P4 wrapper in UAT without requiring any platform-specific libraries. Uses the Python binary output for parsing. Change 4109588 by Ben.Marsh UBT: Add extension methods for serializing a nullable type to a BinaryReader/BinaryWriter. Change 4109595 by Ben.Marsh Missing project file for DotNETUtilities. Change 4110724 by Stefan.Boberg Removed annotation map locking in UObjectMarks, eliminating around one minute (~3.5%) from Fortnite cook time. The locking was redundant since the annotation maps are managed per thread anyway. Change 4111304 by Ben.Marsh UAT: Add support for setting a status message through the log class. Allows writing transient messages (eg. progress messages) which will be cleared out before writing other messages. Best used through the LogStatusScope class, which can set a status message for the duration of a using() block. As part of this change, the console no longer has to be added as a dedicated trace listener. Since we already special-case this listener when formatting log output, it's easier to just keep the implementation separate to the other trace listeners. Change 4112708 by Steve.Robb Fix for TBitArray::MaxBits in assignment. Change 4114133 by Stefan.Boberg Tweaked how low-level memory (LLM) tracker is implemented to reduce overheads. Previously FMemory functions would acquire the LLM singleton and call OnLowLevelFree/OnLowLevelAlloc etc which would check the bIsDisabled flag and early out if it was set. Due to how frequently these functions were called this ended up costing quite a bit. - This change makes the flag a static member variable instead of a member variable and therefore enables a simpler early-out to be implemented. - The singleton getter is also simplified to avoid hitting the threadsafe singleton construction path on every call. - The enable flag is no longer TAtomic - this also incurs extra overhead for no clear benefit Shaves approximately 3.5% (one minute) off a Fortnite cook test scenario (using -FullLoadAndSave) Change 4115010 by Robert.Manuszewski Fixing CIS Change 4115249 by Robert.Manuszewski Fixing async loading code asserts when exiting game very early due to an error #jira UE-56267 Change 4117091 by Ben.Marsh Prevent doubled-up lines when writing status updates with console log verbosity. Change 4117207 by Ben.Marsh UGS: Do not include executables in diagnostics zip file, and ignore "no such files" error when cleaning workspace. Change 4119175 by Ben.Marsh UGS: Fix crash writing version files when directory does not already exist. Change 4119987 by Ben.Marsh UGS: Show a dialog box while the launcher is updating executables from Perforce, which allows cancelling the operation if necessary. Allow setting the username on the settings window, and prompt for login credentials if necessary. Should prevent situations where users have to update settings from the command prompt. Holding down shift during launch now shows the settings dialog rather than an immediate prompt to launch the unstable version (unstable version is shown as a checkbox on this dialog). Change 4119991 by Ben.Marsh Update version number for UGS launcher to 1.13. Change 4121943 by Robert.Manuszewski Don't use FArchiveAsync2 for reading packages with non-async path in editor builds as its performance is worse than the standard archive's (saves about 1 minute when doing larger cooks and 7 seconds when loading into PIE) Change 4122592 by Steve.Robb GitHub #4762 : Improve wording and grammar of Math comments Also includes improved accuracy in FMath::ComputeBoundingSphereForCone(). Change 4122819 by Stefan.Boberg Don't call CreateDirectory redundantly when opening files for writing using FFileManagerGeneric::CreateFileWriter This change avoids calling IPlatformFile::CreateDirectoryTree if possible since this is a very expensive function especially for deep hierarchies as it performs directory creation from the root directory onwards instead of from the leaf downwards. That function should also be fixed but this change improves performance in the meantime. Change 4122872 by Stefan.Boberg CreateDirectoryTree now creates directories leaf-to-root instead of the other way around. This is much more efficient since we don't spend time on system API calls for directories which already exist. This accounted for a very large amount of CPU time in cooking as the full target file directory hierarchy would be "created" for every single output file. Change 4123109 by Stefan.Boberg - Disable overlapped I/O in editor / cooker. Synchronous I/O reduces the number of syscalls and Windows performs prefetching on our behalf anyway for sequential reads - Eliminated syscall which was issued for every write to update cached file size -- since we're the only writers to the file (file access allows read sharing at most) we can authoritatively update the file size on write completion Change 4123455 by Ben.Marsh PR #4775: New build param PCHMemoryAllocationFactor to set /Zm VS build param. (Contributed by lucaswall) Change 4124207 by Ben.Marsh UBT: Remove some unnecessary indirection for generated code paths. Change 4124217 by Ben.Marsh UBT: Remove another unused variable from UEBuildModuleCPP. Change 4124377 by Stefan.Boberg In IPlatformFile::DeleteDirectoryRecursively, attempt to delete file first and if it fails clear the readonly flag and try again Previously there was a call to clear the readonly flag for every deleted file and this is a waste of resources 99% of the time. The SetFileAttributes call accounted for a significant amount of time during cooker sandbox directory deletion Change 4125071 by Stefan.Boberg Some tweaks to FQueuedThreadPoolBase scheduling and memory management - Explicitly pass in false for TArray::RemoveAt(..., bool bAllowShrinking) argument to prevent memory reallocation when arrays are drained and inevitably repopulated shortly afterwards - Use a MRU strategy instead of LRU when picking a thread to wake up. The MRU thread is the most likely to have a 'hot' cache for the stack etc. Picking from the back of the array also happens to be cheaper since no memory movement is necessary when RemoveAt is called. (This was the strategy in place before CL2600362 which seems to have changed it unintentionally) - Release lock as soon as a thread has been chosen, before asking the worker thread to wake up and do the work Change 4126132 by Ben.Marsh UAT: Detect when stdout is redirected and prevent using backspace characters to move the cursor. Change 4126867 by Graeme.Thornton TBA: Fix tagged binary formatter Change 4127010 by Robert.Manuszewski AnimScriptInstances created at runtime will now also be added to the owning omponent's cluster to avoid GC issues. Change 4127932 by Ben.Marsh WorkspaceTool: Reduce unnecessary logging of status messages when console output is not redirected. Change 4129050 by Ben.Marsh UGS: Check for NET Framework 4.5 being installed before running the installer. Also fix warning trying to kill existing UGS instances before upgrade. Change 4129459 by Graeme.Thornton TBA: TextAssetCommandlet - When outputting converted assets to an output path, replicate the workspace relative path in the output directory Change 4129515 by Graeme.Thornton TBA: Add EnterRecord overload that allows outputting of available field names when loading. Change 4129517 by Graeme.Thornton TBA: Tagged properties are written out as named fields on the "Properties" record, rather than as a stream with a null tag at the end Change 4129518 by Graeme.Thornton TBA: Added a local const bool to allow easy hacking out of text asset loading support Change 4129558 by Graeme.Thornton TBA: Build fix for textasset-less configs Change 4129614 by Ben.Marsh UGS: Main window is now restored to normal size when activated by clicking on the tray icon. #jira UE-60490 Change 4129618 by Ben.Marsh UGS: Speculative fix for unreproduced exception accessing disposed window while shutting down. Change 4131936 by Robert.Manuszewski Removing some WIP code accidentally checked in with CL #4121943 Change 4133490 by Ben.Marsh UGS: Allow the $(Change) variable to be used in more places than just the context menu. #jira UE-60573 Change 4133550 by Ben.Marsh UGS: Setting for whether or not to use incremental builds is now exposed through the variable "$(UseIncrementalBuilds)" for use by custom build steps. #jira UE-60554 Change 4133681 by Ben.Marsh UGS: A per-project list of folders and extensions to be deleted by default when running the 'clean workspace' tool can now be specified through the <ProjectDir>/Build/UnrealGameSync.ini file. Settings may be specified for an individual branch (via a category with the depot path to the project) or for wherever the project is currently open (via the [Default] category). The SafeToDeleteFolders list specifies a substring that will be checked against folder paths. Anything containing this folder will be marked as safe for delete by default. The SafeToDeleteExtensions list specifies a list of extensions for files that can always be deleted. Example: [Default] +SafeToDeleteFolders=/MyGame/Test/ +SafeToDeleteFolders=/DataService/ +SafeToDeleteExtensions=.xx1 +SafeToDeleteExtensions=.xx2 #jira UE-60575 Change 4135449 by Ben.Marsh Fix allowing use of Job objects on Windows platforms (debug code submitted by mistake) Change 4135730 by Ben.Marsh UBT: Plugins can now be enabled and disabled from the .target.cs file (for targets that do not use the shared compile environment), by compiling the list of enabled/disabled plugin names into the Projects module. Change 4135823 by Ben.Marsh UBT: Remove legacy code to handle disabling optional plugins; now that this is compiled into the target, it will work for any plugins we choose. Change 4135945 by Ben.Marsh UBT: Fix error running programs with no explicitly enabled or disabled plugins. Change 4137207 by Ben.Marsh UGS: Align all badges with the same name, to make it easier to see which CIS steps are being run. Allow overriding the slot taken by a particular badge by calling it "SlotName:LabelName". Change 4137311 by Stefan.Boberg Removed child cooker support. In practice it is not a useful feature as it provides no performance improvement (quite the opposite in fact) and adds testing and maintenance complexity. Change 4137393 by Ben.Marsh UGS: Fix display of multiline errors in the status panel. Change 4141708 by Steve.Robb GitHub #3631 : Incorrect default argument in WeakObjectPtrTemplate #jira UE-45490 Change 4146655 by Stefan.Boberg Removed FullGCAssetClasses logic - no longer necessary nor useful Change 4147318 by Ben.Marsh UGS: Compress build badges in a column if it shrinks below the size that they would be visible. Change 4148207 by Ben.Marsh UGS: Added support for showing the latest completed build from a specific list of badges in the status panel. To declare a badge as one that should appear in the status panel rather than the CIS column, add it to the project's UnrealGameSync.ini in the project or [Default] section like so: +ServiceBadges=RoboMerge Change 4148282 by Stefan.Boberg Fixed bug in UCookOnTheFlyServer::GetCookOnTheFlyUnsolicitedFiles - UnsolicitedFiles should be passed by reference not by value Change 4148344 by Stefan.Boberg Fixed minor indentation error (most likely caused by sloppy merge) Change 4148521 by Stefan.Boberg Removed accidentally checked in PRAGMA_DISABLE_OPTIMIZATION from CookOnTheFlyServer.cpp Change 4148639 by Ben.Marsh UGS: Fix tooltips not showing for changes that have description badges. Change 4149373 by Ben.Marsh UGS: Allow adding additional columns to display particular badges by adding entries from the project config file. Example syntax: +Columns=(Name="Desktop",MinWidth=50,DesiredWidth=100,Weight=3,Badges="Editor") +Columns=(Name="Mobile",MinWidth=50,DesiredWidth=100,Weight=3,Badges="IOS,Android") Same form can be used to control how default columns are displayed (though badge settings are ignored). Also allow PerforceMonitor to detect local changes to project config files and update settings automatically. Change 4149399 by Ben.Marsh UGS: Update version to 1.143. Change 4155660 by Steve.Robb PROJECTION and PROJECTION_MEMBER macros which provide the correct behavior when creating projections using functions which are overloaded or use default arguments. Change 4157117 by Ben.Marsh Fix warning due to plugins disabled in .target.cs file. Change 4158011 by Ben.Marsh UBT: Add a check that the UnrealHeaderTool target file exists, rather than throwing an exception when reading it fails. Change 4158646 by Ben.Marsh UGS: Fix exception when login is discovered to have expired during a workspace update. Change 4158678 by Ben.Marsh UGS: Fix an exception on shutdown due to the icon being hidden after it's already been disposed. Change 4158683 by Ben.Marsh UGS: Add an unhandled exception filter which sends the exception data to the backend. Change 4159131 by Ben.Marsh UGS: Reduce the number of characters displayed for build badges based on the available space. Change 4159194 by Graeme.Thornton TBA: Fix incorrect map property conversion code when converting an old property that contains a map with different key/value types Change 4159239 by Steve.Robb Improved readability and compliance with coding standards. Change 4159246 by Ben.Marsh UGS: Allow syncing projects where source code is not available (and various version files don't exist). #jira UE-60985 Change 4159286 by Ben.Marsh UGS: Remove requirement for UE4Editor.target.cs to be visible in the depot in order to open a project. #jira UE-60986 Change 4159302 by Ben.Marsh UGS: Update version to 1.144. Change 4160308 by Ben.Marsh All staging client executables for blueprint projects. #jira UE-60983 Change 4161567 by Steve.Robb GitHub #4816 : UE-60771: Handle escaped double quote in FParse::LineExtended Change 4162641 by Ben.Marsh UGS: Allow customizing the position of custom columns, via the Index=N attribute. Change 4162647 by Ben.Marsh UGS: Update version to 1.145. Change 4165319 by Robert.Manuszewski PR #4812: Fix inconsistent command-line argument handling under Windows (Contributed by adamrehn) Change 4166150 by Ben.Marsh UGS: Include *.inl when looking for code changes. Change 4166551 by Steve.Robb Whitespace fixes caused by a bad merge. Change 4168483 by Ben.Marsh UGS: Add a more useful error if a file to be synced exceeds the max allowed path length. Change 4168490 by Ben.Marsh UGS: Update version to 1.146. Change 4168551 by Ben.Marsh UBT: Move bBuildLargeAddressAwareBinary into an exposed setting. Change 4168560 by Ben.Marsh UBT: Remove static config variable for controlling which configuration of UHT to use. Change 4171296 by Ben.Marsh UGS: Move the check for overlong paths earlier. Change 4171531 by Ben.Marsh UBT: Fix exception if BuildConfiguration.xml contains an unknown category. Change 4183371 by Robert.Manuszewski Fix for a crash in Async Loading Graph's CheckCycles when GC kicks in on the game thread and forces ALT to exit early Change 4184312 by Ben.Marsh UGS: Update version to 1.148 Change 4184480 by Robert.Manuszewski Removing unused async loading stat Change 4186390 by Ben.Marsh UBT: Format XML validation errors in a format that allows double-clicking on the message in Visual Studio. Change 4188644 by Ben.Marsh UBT: Add the MakePathSafeToUseWithCommandLine() function to UBT. Change 4188647 by Ben.Marsh UBT: Fix exception in target receipt when architecture is null. Change 4189617 by Ben.Marsh Change FileSystemReference, FileReference and DirectoryReference objects to use OrdinalIgnoreCase comparisons without creating a separate copy of the string to compare. The filesystem does not use the invariant culture, and it can produce the wrong results in some cases (the ordinal comparison is faster, too). Change 4189740 by Ben.Marsh UAT: Remote code to build UnrealPak when packaging; we use the editor now. Change 4189860 by Ben.Marsh UGS: Make the filter for excluding automated lighting rebuilds more explicit. Change 4190082 by Ben.Marsh Fixes to allow enabling edit and continue for Windows builds. Have experienced quite a few VS crashes when testing it in editor; not yet recommended for general use. - Allow edit and continue for any configuration, not just debug. - Fixed PDB errors compiling files that use a shared PCH with edit and continue enabled. Path to the generated PDB file was using the wrong directory. - Removed code that tracks PDB output files, since they're modified multiple times during a build. - Enable debug information when compiling generated CPP files, since it causes errors if the shared PCH PDB doesn't have the same option. - Disable support for remote execution of steps that modify the PDB, since the same file has to be modified many times. Remote execution causes the PDB files to be corrupted. Unfortunately, this makes E&C builds significantly slower. #jira Change 4192949 by Ben.Marsh UBT: Minor tidy-up (merging UEBuildBinary.Build and UEBuildBinary.SetupOutputFiles) Change 4193218 by Ben.Marsh Fix formatting. Change 4197252 by Mike.Erwin UAT: Fix log output w/ correct count of non-code projects. #jira none Change 4197941 by Ben.Marsh UGS: Add support for DebugGame editors that have an executable with a DebugGame suffix. Change 4197964 by Ben.Marsh UGS: Prevent attempts to automatically reopen projects while a modal dialog is up, or the workspace is syncing. Change 4198144 by Ben.Marsh UGS: Prevent modal dialogs when login expires in P4, and prompt for password when hitting "retry". Change 4198413 by Ben.Marsh UGS: Always show the main window when launched manually, and run with -RestoreState when launched at startup. Also add a couple more places that save the visibility state, since logging off seems like it can terminate the process abrubtly. Change 4198779 by Ben.Marsh UBT: Allow generating manifests to any arbitrary locations with the -Manifest=<Path> argument. Change 4198825 by Ben.Marsh UBT: Move code to enumerate Slate runtime dependencies into the Slate module. Doesn't need to be done inside core UBT. Change 4199341 by Ben.Marsh UGS: Update version to 1.149 Change 4199642 by Chad.Garyet - Deprecate CISController - Add BuildController to replace CIS GET/POST for builds - Add LatestController, GET does what CIS/GET used to do - Change Latest/GET to return the last 25 builds filtered by project, rather than the last 5000 individual Ids - Latest/GET now returns "LatestData" object instead of array of longs - Updated EventMonitor to match all API changes - Fixed bug where IDs were getting reset to initial startup values every update loop Change 4199663 by Chad.Garyet CIS controller still needs to return an array of longs #jira none Change 4199680 by Ben.Marsh UGS: Update version to 1.150 Change 4200457 by Ben.Marsh Merging CIS fix for non-development configurations. Change 4200472 by Mike.Erwin UAT: fix -skipbuildclient param default It was defaulting to skipbuildeditor's value, likely a copy-paste error. #jira none Change 4202595 by Ben.Marsh Fix static analysis warning due to constant comparison against macro. Change 4203250 by Ben.Marsh UGS: Always show the "Sync Precompiled Editor" option, but disable it and show a tooltip explaining why if it is not available. Change 4206191 by Ben.Marsh Exclude editor target files from installed builds, since they leak info about DLLs that have been stripped out. Change 4213011 by Ben.Marsh UBT: Include contents of modified intermediate files in the log, to make it easier to debug hidden dependencies. Change 4213487 by Ben.Marsh UBT: Fix assumption that bPrecompile is equivalent to bBuildAllModules. This is no longer the case; they are now controlled by separate options. Should fix CIS errors building the editor. Change 4213609 by Ben.Marsh Ensure that strings formatted using FMicrosoftPlatformString::GetVarArgs() are always null terminated, whether we use the secure CRT or not. Change 4215971 by Ben.Marsh UBT: Remove action graph visualization code; no longer used. Change 4215996 by Ben.Marsh UBT: Remove unqiue id from all actions in the action graph. This is only used for printing debug info in the case of a (rare) cycle in the action graph, so just look it up when needed. Change 4216022 by Ben.Marsh UBT: Rename Crypto.cs to EncryptionAndSigning.cs to match the name of the class inside it, and move it under the System folder. Change 4216031 by Ben.Marsh UBT: Move all the action executors into their own folder in the project. Change 4216526 by Ben.Marsh Fix CIS warnings. Change 4216544 by Ben.Marsh Replace custom code to ensure FMicrosoftPlatformString::GetVarArgs() null terminates its buffer with Microsoft's standards-compliant implementation. Change 4216633 by Ben.Marsh Add support for UnrealPak plugins. * Project and plugin modules can now specify an array of supported programs in the "WhitelistPrograms" field of their module descriptors, to allow modules to be loaded by programs. * Programs can now load any runtime modules, as long as they are whitelisted. * Programs under the engine directory can now use a shared build environment, so that building with a project file does not cause output binaries to be output to the project directory. * UnrealPak is now always built by default when packaging * Convert UnrealPak to a modular configuration Change 4216736 by Ben.Marsh UnrealPak: Move "ExportDependencies" command into an editor commandlet, since it relies on the UObject system, asset registry, etc... Change 4217447 by Ben.Marsh Back out revision 50 from //UE4/Dev-Core/Engine/Build/InstalledEngineBuild.xml Change 4217451 by Ben.Marsh Back out revision 11 from //UE4/Dev-Core/Engine/Plugins/Developer/VisualStudioSourceCodeAccess/Source/VisualStudioSourceCodeAccess/VisualStudioSourceCodeAccess.Build.cs Change 4217617 by Ben.Marsh Back out changelist 4217451 Change 4222552 by Ben.Marsh Don't use #import <TypeLib> for VS source code accessor when building with Clang; it's not supported. Change 4222630 by Ben.Marsh UBT: Fix spam while generating project files if Clang isn't installed. Change 4223316 by Ben.Marsh UBT: Change the order in which Visual C++ toolchains are enumerated to prefer full releases over preview releases. Change 4223318 by Ben.Marsh UBT: Add a build setting which allows creating a dedicated PCH for every file that's excluded from the unity working set (disabled by default). Improves iteration times when working on individual cpp files, but slows down iterating on header changes (and can take a lot of disk space for large changes). Dedicated PCH contains all includes scraped from the top of each cpp file, until a non-#include directive is encountered. Change 4223401 by Ben.Marsh UBT: Add an option to automatically enable edit and continue for files in the adaptive non-unity working set. E&C doesn't seem very useful for UE4 projects right now; compile time is comparable to regular build times, but it can take several minutes to apply code changes for large projects. Change 4223899 by Ben.Marsh UBT: Fix loading XML config files on Mono; Type.GetField(Name) does not seem to return values unless binding flags are specified. Change 4224637 by Ben.Marsh Add a "SupportedPrograms" field to plugin descriptors, which allows plugins to declare which plugins they support independently of individual modules. Programs now respect the "bEnabledByDefault" setting in plugins. Plugins that are compatible with a program now need to list that program in the SupportedPrograms list, and whitelist any modules that should load for that program. Change 4224710 by Ben.Marsh UBT: Don't add import libraries as final build products unless the target is being precompiled. Prevents the need for building them for leaf nodes in the action graph. Change 4224715 by Ben.Marsh UBT: Remove hack to allow Stats2.cpp to not follow IWYU convention. Change 4224726 by Ben.Marsh Remove commented out line. Change 4224903 by Ben.Marsh Fix non-unity compile error in Stats2.h. Change 4225051 by Ben.Marsh Back out changelist 4224710; causing CIS errors due to receipts not matching. Change 4225134 by Ben.Marsh Fixing non-unity errors. Change 4225203 by Ben.Marsh Another non-unity fix. Change 4225249 by Ben.Marsh Fix Linux dependencies being copied for the Windows editor; they can be added as requirements for the Linux target platform on Windows instead, so it respects the user's chosen platforms. #jira UE-62001 Change 4225512 by Ben.Marsh BuildGraph: Allow setting the target to build when using the <CsCompile> task. Change 4228815 by Ben.Marsh UBT: Always add the generated code directory to the list of include paths when generating project files. It may only be created after UHT has been run. Change 4228944 by Ben.Marsh UBT: Remove legacy CppCompileEnvironment and LinkEnvironment wrappers from TargetRules that were deprecated in 4.19. Change 4229028 by Ben.Marsh UBT: Fix editor targets with unique build environment having the wrong executable path in generated project files. Move move logic to configure target rules post-construction by the rules assembly to ensure it's valid. Change 4229065 by Ben.Marsh UBT: Move another target setting into the rules assembly. Change 4229105 by Ben.Marsh Fix BPT exception when generating project files. Change 4229311 by Ben.Marsh UBT: Store the module rules file location on the ModuleRules instance, as well as the plugin that it was created from. Also expose the plugin directory as a property on the ModuleRules instance. Change 4229421 by Ben.Marsh UBT: Consolidate functionality for UHT module setup in ExternalExecution.cs. Change 4229817 by Ben.Marsh UBT: Modules must now explicitly specify the path to the header used to generate a PCH if one is desired, rather than the header being determined automatically by attempting to parse the source code. Now that PCHs are force-included anyway, this removes a lot of dependencies inside UBT. Change 4229824 by Ben.Marsh UBT: Remove unused lists inside UEBuildModuleCPP.SourceFilesClass. Change 4229841 by Ben.Marsh UBT: Remove some legacy code from auto-detecting PCHs. Change 4230521 by Ben.Marsh UBT: Add utility functions to the log class to allow formatting errors and warnings in Visual Studio output format (eg. File(Line): warning: Message) Change 4230871 by Ben.Marsh UAT: Remove StreamUtilis utility class; there is a simpler way to implement the one place it's used. Change 4230882 by Ben.Marsh UAT: Add StreamUtils back into UAT, seems like it's still used there. Change 4230896 by Ben.Marsh UBT: Remove some redundant parameters from UEBuildModule/UEBuildModuleCPP/UEBuildModuleExternal constructors. Change 4231014 by Ben.Marsh WorkspaceTool: Include a dump of raw bytes when garbage is read from the P4 process, for diagnostic purposes. Change 4231032 by Ben.Marsh Fix CIS. Change 4231096 by Ben.Marsh Bump the FlatCPPIncludeDependencyCache version, to prevent errors trying to load old files. Change 4231446 by Ben.Marsh UBT: Added support for expanding UE-specific variables in include paths and library paths: $(EngineDir), $(ProjectDir), $(PluginDir), $(ModuleDir). Change 4231460 by Ben.Marsh Modules may now explicitly specify rpaths on Linux via the PublicRuntimeLibraryPaths and PrivateRuntimeLibraryPaths properties. Change 4233909 by Robert.Manuszewski PR #4779: Reason fails as the supplied variable is incorrect (Contributed by projectgheist) Change 4233910 by Ben.Marsh Enable PCHs on IOS. Reduces build time by ~25%. Change 4234176 by Ben.Marsh UBT: Add better messaging for modules that need to have a private PCH set. Now detects the likely PCH using the same method as legacy code and includes it as a suggestion. Change 4234193 by Ben.Marsh Add the Delete command to Perforce wrapper in DotNETUtilities. Change 4234688 by Ben.Marsh UBT: Simplify handling of installed/precompiled builds. Settings for whether a folder is installed/read-only or not is now stored on the RulesAssembly instance, allowing multiple things to be configured separately and stacked together (eg. engine/enterprise/project). RulesAssembly.IsReadOnly() allows determining if a flie can be modified or not and replaces many previous IsXXXInstalledCalls(), and traverses the chain of assemblies. Change 4234711 by Ben.Marsh UBT: Runtime dependencies can now be copied to output directories as part of the build. When adding a runtime dependency, an optional source location can be specified to copy from. Both the source and target paths can use variables can be used as part of the path, eg. $(OutputDir), $(ModuleDir), $(PluginDir). Example usage (from a .build.cs file): RuntimeDependencies.Add("$(OutputDir)/Foo.dll", "$(PluginDir)/Source/ThirdParty/Foo.dll", StagedFileType.NonUFS); Change 4234872 by Ben.Marsh Expose a flag for whether the engine is installed, to fix issues generating project files. Change 4234929 by Ben.Marsh Fix null reference generating receipts when UBT makefiles are active. Change 4235883 by Chad.Garyet Merging 4231245 to core Giving Coordinator its own sln. This should fix what 4158155 was supposed to. #jira UE-61955 Change 4236075 by Ben.Marsh CIS fix Change 4237066 by Robert.Manuszewski Fix for a potential crash when terminating the engine while it's being initialized #jira UE-60545 Change 4237078 by Robert.Manuszewski The engine will no longer be resetting all linkers causing massive load times when renaming the world package when entering Play In Editor Change 4237116 by Ben.Marsh Rewrite some Windows utility functions to support paths longer than MAX_PATH. Change 4237158 by Ben.Marsh Add const TCHAR* overloads of FString::RemoveFromStart() and FString::RemoveFromEnd(). Change 4237159 by Ben.Marsh Fix FWindowsPlatformFile::GetFilenameOnDisk() support for paths longer than MAX_PATH, and simplify some of the other long path functions to avoid copying string buffers. Change 4239050 by Ben.Marsh Missing file Change 4239318 by Ben.Marsh Linux CIS fix. Change 4239685 by Ben.Marsh Static analysis CIS fix. Change 4240800 by Ben.Marsh WorkspaceTool: Include the full command line in the log for any P4 commands. Change 4240903 by Ben.Marsh PR #4909: Update copyright notices to 2018 (Contributed by projectgheist) Change 4241025 by Ben.Marsh UBT: Exclude mobile pipeline caches from generated project files. Causes huge slowdown when using 'Find in Files' through the IDE. Change 4241770 by Ben.Marsh UBT: Include action number in parallel executor output. #jira UE-62032 Change 4243469 by Ben.Marsh TBA: Merge FAnnotatedStructuredArchiveFormatter with FStructuredArchiveFormatter. Any functions that are only implemented for text archives now have a _TextOnly suffix, and are exposed through the FStructuredArchive interface. Change 4245723 by Robert.Manuszewski Fixing another creash when terminating the engine while initializing. #jira UE-60545 Change 4245862 by Steve.Robb VectorLoadFloat2(Ptr) added, which loads { Ptr[0], Ptr[1], Ptr[0], Ptr[1] } into a VectorRegister. Change 4246412 by Robert.Manuszewski The warning 'Calling StaticLoadObject during PostLoad may result in hitches during streaming' will now also report the object which had the PostLoad called on it when StaticLoadObject call happened. Change 4246612 by Ben.Marsh UBT: Fix spelling of "Intellisense". Change 4249454 by Robert.Manuszewski Added extra checks to catch scenarios where the EDL Precache Buffer is flushed before a package header is fully read Change 4249513 by Robert.Manuszewski Made sure the Async Loading Thread doesn't continue running after creating new async packages when garbage collector wants to run on the game thread Change 4255207 by Ben.Marsh UGS: Add additional logging whenever a P4 command fails, and when the user is logged out. Change 4255288 by Ben.Marsh PR #4921: Honor ModuleRules' bEnableExceptions flag when creating precompiled h. (Contributed by surakin) Change 4256422 by Ben.Marsh UBT: Add an error if a module referenced by a plugin descriptor doesn't exist. Change 4257385 by Robert.Manuszewski Creating new objects from within ForEachObjectWithOuter will now result in a fatal error as it's unsafe to change internal UObject hash tables when iterating over them. Change 4257454 by Robert.Manuszewski Added the option to filter clusters listed with gc.ListClusters by objects within them. Usage: gc.ListClusters Hierachy With=ObjectName1,ObjectName2... Change 4257526 by Robert.Manuszewski It's now possible to filter clusters that get logged with verbose cluster logging enabled (UE_GCCLUSTER_VERBOSE_LOGGING=1) by objects within them by specifying -DumpClustersWithObjects=ObjectName1,ObjectName2 in the command line Change 4257822 by Ben.Marsh Fixes for PlatformShowcase compile errors. Change 4258771 by Ben.Marsh UBT: Fix project files not being generated for foreign projects when creating .stub files. #jira UE-62462 Change 4258790 by Ben.Marsh UBT: Clean up the logic around generating project files before creating a stub IPA, so that it fails loudly if project files do not exist, and can accept target names not matching project names. Change 4259276 by Ben.Marsh UBT: Make it an error if a framework doesn't exist, rather than failing silently. Also remove some remote toolchain stuff that's no longer necessary. Change 4259280 by Ben.Marsh UBT: Fix embedded framework zips not being uploaded for plugins. #jira UE-62485 Change 4260236 by Ben.Marsh UBT: Fix path to generated engine project file. Change 4260334 by Ben.Marsh UGS: Fix custom build steps dialog inadvertantly modifying config file settings in-place. Change 4260361 by Ben.Marsh UGS: Allow for p4 login commands to fail, even though the user is logged in (due to a bad connection, etc...) Change 4260559 by Ben.Marsh UGS: Update version. Change 4261160 by Robert.Manuszewski MediaPlaylist will now be added to root set if the owning MediaPlayer is in the disregard for GC set (fixes GC assumption violation crash) #jira UE-62495 Change 4261421 by Ben.Marsh Force-sync files for building documentation, to fix issues with files not being updated. #jira UE-62413 Change 4261425 by Ben.Marsh UBT: Remove some leftover functions for handling the remote toolchain. Change 4261530 by Ben.Marsh UBT: Speculative fix (and better error reporting) for IOS mobile provision not being found in CIS. Change 4261611 by Ben.Marsh UBT: Downgrade warning to a log message, since it appears when generating project files. Change 4261710 by Ben.Marsh Remove assert that GLogConsole is set; it won't be for command line utilities that don't depend on ApplicationCore. #jira UE-62545 Change 4261831 by Ben.Marsh Fix compile errors due to missing include path when hot-reloading a module from the editor. There are not necessarily source files to compile when -modulewithsuffix is specified on the command line, which was results in GeneratedCodeWildcard not being set. #jira UE-62463, UE-62384 Change 4262723 by Ben.Marsh Whitelist plugins that need to be loaded by UFE. #jira UE-62564 Change 4265444 by Ben.Marsh Fix incorrect executable name for DebugGame configurations in Xcode. #jira UE-62574 Change 4265892 by Ben.Marsh Fix incremental compile failures due to dependency checking for unity files. CachedIncludePaths was not correctly being set on file items, so dependencies were being ignored. #jira UE-62575, UE-62603, UE-62597 Change 4266019 by Josh.Adams - Fixed the CopyAction for runtime dependencies that need to be copied to different location, on non-XGE Change 4266264 by Ben.Marsh Remove override for the __IPHONE_OS_VERSION_MIN_REQUIRED macro on TVOS. This macro is already defined by system headers (in <AvailabilityInternal.h>). Now that we support PCHs on IOS and TVOS, manually defining this macro results in it being defined three times (once for the PCH, once by AvailabilityInternal.h, and once by the force-included list of definitions for the source file being built). The errors for redefining the macro in AvailabilityInternal.h are suppressed due to it being a system header, but the error for redefining it for the source file being compiled are not. #jira UE-62578 Change 4266273 by Ben.Marsh Fixes incremental build failure when compile arguments for PCH have changed on IOS/TVOS. Compile action needs to have a dependency on PCH build action. Change 4266614 by Graeme.Thornton Fix crash when cooking nativized blueprints due to removal of child cooker system. Change 4266763 by Ben.Marsh Always build UnrealPak when building client targets. The ProjectParams.Pak option is not reliable, because it can be forced on later by the target platform. #jira UE-62584 Change 4267985 by Robert.Manuszewski When iterating with ForEachObjectWithouter, don't lock the entire has table but only the hash bucket that is currently being iterated #jira UE-62600 Change 4268558 by Robert.Manuszewski PurgeLegacyBlueprints will no longer be called from within ForEachObjectWithOuter is it renames objects that reside in hash tables that are being iterated over which may lead to undefined behavior. #jira UE-62600 Change 4269011 by Chad.Garyet - Fixing Wildcard match issue, the change to ugsapi sends projects as //Depot/Stream instead of //Depot/Stream/ Wildcard match was only substringing to 3 chars. - Checking in the change a while back that increases the number of queried jobs up to 432 based on some maths from Bob about how many builds we want to grab Published to ugsapi server 8/8/17 #jira none Change 4270788 by Ben.Marsh Fix IOS provisioning data being using when remote compiling on TVOS. #jira UE-62705 Change 4271916 by Ben.Marsh Tag the XGEControlWorker executable as a build product after compiling SCW, to make sure it's included in the UGS zip file. Change 4271934 by Ben.Marsh Upload all static libraries in plugin folders as part of remote builds. #jira UE-62694 Change 4273368 by Ben.Marsh Fix Slate dependencies not being enumerated, and rules assembly not being rebuilt when building remotely. #jira UE-62705 Change 4274049 by Ben.Marsh Always parse the team UUID out of the mobile provision when doing a remote compile. The provision installed on the remote Mac (and selected for signing) may be different. #jira UE-62751 Change 4274823 by Ben.Marsh Add the -VersionCookedContent argument to disable the -unversioned parameter on the cooker command line. Change 4275838 by Ben.Marsh Fix BuildVersion string not being passed through from <SetVersion> task. Also add a -BuildVersion command line argument to UBT to override it for a particular build. Change 4275913 by Ben.Marsh Add a dummy exported symbol to the XGEController module, to fix build errors due to missing .lib file when it's built with WITH_XGE_CONTROLLER = 0. Change 4284161 by Ben.Marsh Allow mirroring Oodle files to remote Mac. Change 4074774 by Steve.Robb Vast simplification of TFunction, making it smaller in footprint, easier to follow and extend, and more correct. TUniqueFunction added, which is a move-only TFunction which can hold move-only functors. Fix for UWidgetBlueprint::ForEachSourceWidget() which should never have compiled but did. FFunctionGraphTask and TFuture<> updated to use TUniqueFunction to make them more general. TArray::HeapPop() made to work with move-only types. Change 4082591 by Ben.Marsh Move the Log class from UBT to DotNetUtilities. Change 4083236 by Ben.Marsh Add a Log.WriteException() method to dump an exception message to the console (and write the exception trace to the log) Change 4084107 by Ben.Marsh UAT: Remove the unused -SkipHeader argument to UE4Build. Change 4089771 by Steve.Robb GitHub #4743 : modified VirtualAlloc function flag https://blogs.msdn.microsoft.com/oldnewthing/20151008-00/?p=91411 Change 4091456 by Steve.Robb Unification of all platforms' FMath::CountTrailingZeros() and FMath::CountLeadingZeros() for both 32-bit and 64-bit. Change 4156437 by Ben.Marsh Lots and lots of fixes compiling for Clang on Windows. Editor now compiles cleanly without warnings, but crashes on startup due to error in intrinsics test. Disabling that runs further, but crashes accessing freed memory. Switching to the ANSI allocator runs further, but crashes in Slate after the splash screen and before the editor window opens. // TODO! * Switching between Clang/ICL/VS2015/VS2017 is now supported through the same mechanism as switching Visual Studio versions, without requiring any source level changes. To use Clang, set WindowsPlatform.Compiler = WindowsCompiler.Clang from a .target.cs file, or set <WindowsPlatform><Compiler>Clang</Compiler></WindowsPlatform> from BuildConfiguration.xml. To pick a specific toolchain version, set WindowsPlatform.CompilerVersion. * Clang is now supported through AutoSDKs; will be added to CIS. * The Samples/Sandbox/Clang project forces Clang to be used from its target.cs file, and allows easily building all editor modules and plugins with Clang on Windows. * UnrealMathSSE intrinsics have been re-enabled for Clang due to missing functions from the UnrealMathFPU implementation, but causes failure in tests at startup. * SSE4_CRC32() is disabled in D3D12Pipelinestate.cpp, since intrinsics are only allowed if enabled for the whole target (rather than being used in specific functions due to runtime checks) Change 4157389 by Ben.Marsh Few more fixes for compiling the editor with Clang. Change 4183911 by Ben.Marsh Fixes to support incremental linking on Windows. Does not seem to have any net benefit right now; may improve once minimal rebuild is enabled. * Incremental linking no longer forces PDB files to be enabled for source files. * Actions can specify specific files to be deleted before each build. Code to forcibly delete PDB files has been moved to the MSVC toolchain. * Unused libraries produced by the cross-referenced link are no longer added as build products, since (a) deleting them breaks dependency checking for incremental linking and causes a full link, and (b) not deleting them breaks UBT dependency checking and causes actions to be run over and over again. * Icon update is disabled for Windows when incremental linking is enabled. * Removed rarely-used setting to always delete produced items before each build. Change 4184311 by Ben.Marsh UGS: Added a dialog which shows all the required platform SDKs for a branch, linked from the status panel in UGS. The llist is configured via the UGS config file submitted to Engine/Programs/UnrealGameSync/UnrealGameSync.ini (and may be overridden by the project config file if necessary): [Default] ; Set this to a network share which contains the SDK installers for your site SdkInstallerDir= ; All the required SDKs for the current version of the engine +SdkInfo=(Category="Android", Description="NDK r21", Browse="$(SdkInstallerDir)\\Android") +SdkInfo=(Category="Windows", Description="Visual Studio 2017") +SdkInfo=(Category="Windows", Description="Visual C++ Toolchain 14.13.26128") +SdkInfo=(Category="Windows", Description="Windows SDK 10.0.16299.0") Similar entries for console platforms are added in console subdirectories. Each entry may contain an Install="Foo.exe" and/or Browse="C:\Foo" style attribute, specifying the path to an installer to run or directory to open in explorer respectively. The SdkInstallerDir setting is used as a base directory for the default installers, seen above for Android. Licensees may override this with a network path specific to the site that UGS is being deployed to (either in this file, in a project specific config file, or in a Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini file). Change 4200452 by Ben.Marsh UBT: Change DebugGame configurations to output a separate executable rather than requiring a -Debug argument at runtime. Previous behavior was a common source of errors. Engine modules are still shared between Development and DebugGame, but the launch module sets a flag in Core on startup indicating the game configuration. Change 4206189 by Ben.Marsh UBT: Simplify logic for precompiling binaries. * Target no longer has separate list of "precompile only" binaries or modules. New -AllModules option allows adding every module to a target, which can be used with -Precompile and -NoLink to precompile object files for monolithic builds. * Precompiled file lists have been removed from target receipts. * The manifest now includes all generated headers and precompiled files when run with the -Precompile option. * Separate -DependencyList=Foo.txt has been added to write a list of all dependencies required to use precompiled binaries. This file list can be read using the <Tag> task in buildgraph. Change 4215466 by Ben.Marsh UBT: Remove indirect calls to determine extensions for object files and precompiled headers. The toolchain knows the correct convention for the platform. Change 4215975 by Ben.Marsh UBT: Remove telemetry code. This has never proved useful for analyzing performance due to the number of incidental factors that affect build times (eg. number of files being compiled). Change 4220154 by Ben.Marsh Move text-only implementations of FOutputDeviceError back into Core, so we can build command-line applications that don't depend on ApplicationCore. Change 4224708 by Ben.Marsh Add a bCompileAgainstApplicationCore setting to the target rules, which allows compiling out references to the ApplicationCore module (which should only be necessary for applications with a GUI). Removed ApplicationCore from several engine tools and utilities. Change 4224958 by Ben.Marsh Remove CoreMinimal.h includes from Core. Change 4229059 by Ben.Marsh UBT: Remove the UEBuildPlatform.ShouldNotBuildEditor() hook for target platforms. We shouldn't be modifying a target's build environment to disable the editor; it is invalid to build the editor for these target platforms at all, and this is already enforced by the GetSupportedPlatforms() function. Change 4230508 by Ben.Marsh Fixup precompiled header setting for samples and games. Change 4231457 by Ben.Marsh Fix exceptions in log messages having trailing newlines. Change 4232406 by Ben.Marsh UBT: Always force include a PCH for generated code if there's one set; the code may depend on it to compile. Change 4234177 by Ben.Marsh Set up private PCH files everywhere that previously used them. Change 4235973 by Ben.Marsh Change FPlatformMisc::GetEnvironmentVariable() to return an FString() rather than requiring a fixed size buffer to be passed in. Removes references to MAX_PATH. Change 4238842 by Ben.Marsh Add support for paths longer than MAX_PATH in the editor. Requires Windows 10 version 1607, and the functionality to be enabled via a registry key or group policy (see https://docs.microsoft.com/en-us/windows/desktop/FileIO/naming-a-file). Only a subset of Win32 functions support long paths (executables can only be started from paths shorter than MAX_PATH, for example). * Added a FPlatformMisc::GetMaxPathLength() function to return the maximum length of a path on the current system. On Windows, this returns a different value for systems with long paths enabled to those without. * The MAX_PATH define is no longer set by non-Windows platforms. Instead, there is a MAC_MAX_PATH, UNIX_MAX_PATH, etc... for any platform-specific code that still relies on the previous macro. * The MAX_UNREAL_FILENAME_LENGTH macro has been renamed to MAX_UNREAL_FILENAME_LENGTH_DEPRECATED * The PLATFORM_MAX_FILEPATH_LENGTH macro has been renamed to PLATFORM_MAX_FILEPATH_LENGTH_DEPRECATED. * Removed custom resource files for programs, since they are just copies of the base UE4 one (which is used by default anyway). The base UE4 manifest declares support for long paths. * Fix 512 character maximum length on editor commands. 260 character limit remains in place for cooking at the moment (see ContentBrowserUtils.h), until C# staging code supports long paths. Change 4255042 by Ben.Marsh UBT: Remote compilation now uploads the entire workspace to the remote Mac and executes a separate remote instance of UBT rather than synchronizing individual actions. This makes the remote compile codepath much simpler, and removes a lot of special cases that exist to support it previously. The list of files to be transferred to the remote are listed as rsync filter rules in Engine/Build/Rsync/RsyncEngine.txt and RsyncProject.txt, which are applied to the root engine directory and project directory respectively. Projects that need to customize which files are uploaded can add their own <ProjectDir>/Build/Rsync/RsyncProject.txt file, which will be included in the filter before the default version. Change 4260567 by Ben.Marsh UAT: Rename CommandUtils.Log to CommandUtils.LogInformation, to avoid conflicts with the underlying Tools.DotNETCommon.Log class. #rb none [CL 4285673 by Ben Marsh in Main branch]
2018-08-14 18:32:34 -04:00
public HashSet<string> RestrictedFolderNames = new HashSet<string>(StringComparer.OrdinalIgnoreCase);
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3494741 by Steve.Robb Generated code size savings. #jira UE-43048 Change 3495484 by Steve.Robb Fix for generated indices of static arrays when saving configs. Change 3497926 by Robert.Manuszewski Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything. Change 3498077 by Robert.Manuszewski Only use the recursion guard in async loading code when the event driven loader is enabled. Change 3498112 by Ben.Marsh UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own. Change 3500239 by Robert.Manuszewski Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes. Change 3500395 by Steve.Robb Extra codegen savings when not in hot reload. Change 3501004 by Steve.Robb EObjectFlags now have constexpr operators. Change 3502079 by Ben.Marsh UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary. Change 3502527 by Steve.Robb Fix for zero-sized array compile error in generated code when all functions are editor-only. Change 3502542 by Ben.Marsh UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead. Change 3502868 by Steve.Robb Workaround for inefficient generated code with stateless lambdas on Clang. Change 3503550 by Steve.Robb Another generated code lambda optimization. Change 3503582 by Ben.Marsh BuildGraph: Add support for nullable parameter types. Change 3504424 by Steve.Robb New AllOf, AnyOf and NoneOf algorithms. Change 3504712 by Ben.Marsh UAT: Less spammy log and error output from UAT. * Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception). * Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information. * AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log) * Name of the calling function is not included in console output by default, but still included in the log. Change 3504808 by Ben.Marsh UAT: Suppress P4 output when running a recursive instance of UAT. Change 3505044 by Steve.Robb Code generation improved for TCppClassType code. Change 3505485 by Ben.Marsh Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module. Change 3505699 by Ben.Marsh Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins. Change 3506055 by Ben.Marsh UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output. Change 3507745 by Robert.Manuszewski Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses). Change 3507911 by Ben.Marsh Plugins: Minor changes to plugin descriptors. * Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors. * Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from. Change 3508669 by Ben.Marsh EC: Parse multi-line messages from UBT and UAT. Change 3508691 by Ben.Marsh Fix double-spacing of cook stats. Change 3509245 by Steve.Robb UHT makefiles removed. Flag audit removed. Change 3509275 by Steve.Robb Fix for mismatched stat categories in AudioMixer. #jira UE-46129 Change 3509289 by Robert.Manuszewski Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably. Change 3509294 by Robert.Manuszewski UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it. Change 3509312 by Steve.Robb GitHub# 3679: Add TArray constructor that takes a raw pointer and a count Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too. #jira UE-46136 Change 3509396 by Steve.Robb GitHub# 3676: Fix TUnion operator<< compile error #jira UE-46099 Change 3509633 by Steve.Robb Fix for line numbers on multiline macros. Change 3509938 by Gil.Gribb UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading. Change 3510593 by Daniel.Lamb Fixed up unsoilicited files getting populated with files which aren't finished being created yet. #test None Change 3510594 by Daniel.Lamb Fixed up temp files directory for patching. Thanks David Yerkess @ Milestone #review@Ben.Marsh Change 3511628 by Ben.Marsh PR #3707: Fixed UBT stack size (Contributed by gildor2) Change 3511808 by Ben.Marsh Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git) #jira UE-46540 Change 3512017 by Ben.Marsh Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface. Change 3513935 by Steve.Robb Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477. Change 3514142 by Steve.Robb MemoryProfiler2 added to generated solution. Change 3516463 by Ben.Marsh Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user. Change 3517860 by Ben.Marsh PR #3727: FString Dereference Fixes (Contributed by jovisgCL) Change 3517967 by Ben.Marsh Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line. Change 3518070 by Steve.Robb Disable Binned2 stats in shipping non-editor builds. Change 3520079 by Steve.Robb Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions. #jira UE-24034 Change 3520080 by Robert.Manuszewski Made max package summary size to be configurable with ini setting Change 3520083 by Steve.Robb Force a GC after hot reload to clean up reinstanced objects which may still tick. #jira UE-40421 Change 3520480 by Robert.Manuszewski Improved assert message when the initial package read request was too small. Change 3520590 by Graeme.Thornton SignedArchiveReader optimizations - Loads more stats - Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader - Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time - Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries Change 3521023 by Graeme.Thornton Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing Change 3521787 by Ben.Marsh PR #3736: Small static code analysis fixes (Contributed by jovisgCL) Change 3521789 by Ben.Marsh PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar) Change 3524721 by Ben.Marsh Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core. Change 3524741 by Ben.Marsh Move PumpMessages() into FPlatformApplicationMisc. Change 3525399 by Ben.Marsh UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment. Change 3525743 by Ben.Marsh UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds. Change 3525746 by Ben.Marsh EC: Include the clobber option on new workspaces, to allow overriding version files when syncing. Change 3526453 by Ben.Marsh UGS: Do not generate project files when syncing precompiled binaries. Change 3527045 by Ben.Marsh Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting. Change 3527420 by Ben.Marsh UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing). Config files are now read from: Engine/Programs/UnrealGameSync/UnrealGameSync.ini Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini If a project is selected: <ProjectDir>/Build/UnrealGameSync.ini <ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini If the .uprojectdirs file is selected: Engine/Programs/UnrealGameSync/DefaultProject.ini Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini Change 3528063 by Ben.Marsh Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse. Change 3528415 by Ben.Marsh UAT: Remove \r characters from the end of multiline log messages. Change 3528427 by Ben.Marsh EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent. Change 3528485 by Ben.Marsh EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places. Change 3528505 by Steve.Robb PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL) #jira UE-46819 Change 3528772 by Robert.Manuszewski Enabling actor and blueprint clustering in ShooterGame Change 3528786 by Robert.Manuszewski PR #3760: Fix typo (Contributed by jesseyeh) Change 3528792 by Steve.Robb PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL) #jira UE-46962 Change 3528941 by Robert.Manuszewski Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object. #jira UE-44996 Change 3530241 by Ben.Marsh UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value. Change 3531377 by Ben.Marsh Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it. This has several advantages over the per-module platform whitelist/blacklist: * Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore. * References to dependent plugins from platform-specific plugins can now be eliminated. * Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly). * The editor can load any plugins without having to whitelist supported editor host platforms. UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime. Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary. Change 3531502 by Jin.Zhang Add support for GPUCrash #rb Change 3531664 by Ben.Marsh UBT: Change output format from C# JSON writer to match output by the engine. Change 3531848 by Ben.Marsh UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable. Change 3531869 by Ben.Marsh UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field. Change 3532474 by Ben.Marsh UBT: Use the same mechanism as UAT for logging exceptions. Change 3532734 by Graeme.Thornton Initial VSCode Support - Tasks generated for building all game/engine/program targets - Debugging support for targets on Win64 Change 3532789 by Steve.Robb FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap. Set_Add and Map_Add no longer have a return value. FScriptSet::Find and FScriptMap::Find functions are now FindIndex. FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash. Change 3532845 by Steve.Robb Obsolete UHT settings deleted. Change 3532875 by Graeme.Thornton VSCode - Add debug targets for different target configurations - Choose between VS debugger (windows) and GDB (mac/linux) Change 3532906 by Graeme.Thornton VSCode - Point all builds directly at UBT rather than the batch files - Adjust mac build tasks to run through mono Change 3532924 by Ben.Marsh UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root. Change 3535234 by Graeme.Thornton VSCode - Pass intellisense system a list of paths to use for header resolution Change 3535247 by Graeme.Thornton UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation Change 3535376 by Graeme.Thornton VSCode - Added build jobs for C# projects - Linked launch tasks to relevant build task Change 3537083 by Ben.Marsh EC: Change P4 swarm links to start at the changelist for a build. Change 3537368 by Graeme.Thornton Fix for crash in FSignedArchiveReader when multithreading is disabled Change 3537550 by Graeme.Thornton Fixed a crash in the taskgraph when running single threaded Change 3537922 by Steve.Robb Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT. Change 3539691 by Graeme.Thornton VSCode - Various updates to get PC and Mac C++ projects building and debugging. - Some other changes to C# setup to allow compilation. Debugging doesn't work. Change 3539775 by Ben.Marsh Plugins: Various fixes to settings for enabling plugins. * Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled). * Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed. * Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them. Change 3540788 by Ben.Marsh UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile). Example usage: public class UnrealPakTarget : TargetRules { public UnrealPakTarget(TargetInfo Target) : base(Target) { Type = TargetType.Program; LinkType = TargetLinkType.Monolithic; LaunchModuleName = "UnrealPak"; if(HostPlatform == UnrealTargetPlatform.Win64) { PreBuildSteps.Add("echo Before building:"); PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); PostBuildSteps.Add("echo After building!"); PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); } } } Change 3541664 by Graeme.Thornton VSCode - Add problemMatcher tag to cpp build targets Change 3541732 by Graeme.Thornton VSCode - Change UBT command line switch to "-vscode" for simplicity Change 3541967 by Graeme.Thornton VSCode - Fixes for Mac/Linux build steps Change 3541968 by Ben.Marsh CRP: Pass through the EnabledPlugins element in crash context XML files. #jira UE-46912 Change 3542519 by Ben.Marsh UBT: Add chain of references to error messages when configuring plugins. Change 3542523 by Ben.Marsh UBT: Add more useful error message when attempt to parse a JSON object fails. Change 3542658 by Ben.Marsh UBT: Include a chain of references when reporting errors instantiating modules. Change 3543432 by Ben.Marsh Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set. Change 3543436 by Ben.Marsh UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails. Change 3543536 by Ben.Marsh UBT: Downgrade message about redundant plugin references to a warning. Change 3543871 by Gil.Gribb UE4 - Fixed a critical crash bug with non-EDL loading from pak files. Change 3543924 by Robert.Manuszewski Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes. +Small optimization to token stream generation code. Change 3544469 by Jin.Zhang Crashes page displays the list of plugins from the crash context #rb Change 3544608 by Steve.Robb Fix for nativized generated code. #jira UE-47452 Change 3544612 by Ben.Marsh Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages(). #jira UE-47449 Change 3545954 by Gil.Gribb Fixed a critical crash bug relating to a race condition in async package summary reading. Change 3545968 by Ben.Marsh UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same. #jira UE-47419 Change 3545976 by Ben.Marsh EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch. Change 3546185 by Ben.Marsh Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped. Change 3547084 by Gil.Gribb Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms. Change 3547968 by Gil.Gribb Fixed critical race which potentially could cause a crash in the pak precacher. Change 3504722 by Ben.Marsh BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run. For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as: ERROR: Unable to write to foo.txt while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" /> at Engine\Build\InstalledEngineBuild.xml(91) (see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace) Change 3512255 by Ben.Marsh Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated. Change 3512332 by Ben.Marsh Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4. Change 3512393 by Ben.Marsh Rename FPaths::GameLogDir() to FPaths::ProjectLogDir(). Change 3513452 by Ben.Marsh Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project. Change 3516262 by Ben.Marsh Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor. * Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod. * The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders). Change 3517565 by Ben.Marsh Remove fixed engine version numbers from OSS plugins. Change 3518005 by Ben.Marsh UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false. Change 3518054 by Ben.Marsh UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard. Change 3524496 by Ben.Marsh Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core. Change 3524641 by Ben.Marsh Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc. Change 3528723 by Steve.Robb MoveTemp now static asserts if passed a const reference or rvalue. MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious. Fixes to violations of these new rules. Change 3528876 by Ben.Marsh Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste. Change 3529073 by Ben.Marsh Add script to package ShooterGame for any platforms. Change 3531493 by Ben.Marsh Update platform-specific plugins to declare the target platforms they support. Change 3531611 by Ben.Marsh UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates. Change 3531868 by Ben.Marsh Resaving project descriptors to remove invalid fields. Change 3531983 by Ben.Marsh UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders. * Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer. * Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type) * Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo")) * An error is output if any restricted folder names other than the output platform are in the staged output. Change 3540315 by Ben.Marsh UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers. Change 3542410 by Ben.Marsh UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already. Change 3543018 by Ben.Marsh UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions. Change 3544371 by Steve.Robb Fixes to TSet_Add and TMap_Add BPs. #jira UE-47441 [CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
/// <summary>
/// List of directories to remap during staging, allowing moving files to different final paths
/// This list is read from the +RemapDirectories=(From=, To=) array in the [Staging] section of *Game.ini files
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3494741 by Steve.Robb Generated code size savings. #jira UE-43048 Change 3495484 by Steve.Robb Fix for generated indices of static arrays when saving configs. Change 3497926 by Robert.Manuszewski Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything. Change 3498077 by Robert.Manuszewski Only use the recursion guard in async loading code when the event driven loader is enabled. Change 3498112 by Ben.Marsh UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own. Change 3500239 by Robert.Manuszewski Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes. Change 3500395 by Steve.Robb Extra codegen savings when not in hot reload. Change 3501004 by Steve.Robb EObjectFlags now have constexpr operators. Change 3502079 by Ben.Marsh UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary. Change 3502527 by Steve.Robb Fix for zero-sized array compile error in generated code when all functions are editor-only. Change 3502542 by Ben.Marsh UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead. Change 3502868 by Steve.Robb Workaround for inefficient generated code with stateless lambdas on Clang. Change 3503550 by Steve.Robb Another generated code lambda optimization. Change 3503582 by Ben.Marsh BuildGraph: Add support for nullable parameter types. Change 3504424 by Steve.Robb New AllOf, AnyOf and NoneOf algorithms. Change 3504712 by Ben.Marsh UAT: Less spammy log and error output from UAT. * Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception). * Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information. * AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log) * Name of the calling function is not included in console output by default, but still included in the log. Change 3504808 by Ben.Marsh UAT: Suppress P4 output when running a recursive instance of UAT. Change 3505044 by Steve.Robb Code generation improved for TCppClassType code. Change 3505485 by Ben.Marsh Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module. Change 3505699 by Ben.Marsh Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins. Change 3506055 by Ben.Marsh UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output. Change 3507745 by Robert.Manuszewski Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses). Change 3507911 by Ben.Marsh Plugins: Minor changes to plugin descriptors. * Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors. * Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from. Change 3508669 by Ben.Marsh EC: Parse multi-line messages from UBT and UAT. Change 3508691 by Ben.Marsh Fix double-spacing of cook stats. Change 3509245 by Steve.Robb UHT makefiles removed. Flag audit removed. Change 3509275 by Steve.Robb Fix for mismatched stat categories in AudioMixer. #jira UE-46129 Change 3509289 by Robert.Manuszewski Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably. Change 3509294 by Robert.Manuszewski UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it. Change 3509312 by Steve.Robb GitHub# 3679: Add TArray constructor that takes a raw pointer and a count Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too. #jira UE-46136 Change 3509396 by Steve.Robb GitHub# 3676: Fix TUnion operator<< compile error #jira UE-46099 Change 3509633 by Steve.Robb Fix for line numbers on multiline macros. Change 3509938 by Gil.Gribb UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading. Change 3510593 by Daniel.Lamb Fixed up unsoilicited files getting populated with files which aren't finished being created yet. #test None Change 3510594 by Daniel.Lamb Fixed up temp files directory for patching. Thanks David Yerkess @ Milestone #review@Ben.Marsh Change 3511628 by Ben.Marsh PR #3707: Fixed UBT stack size (Contributed by gildor2) Change 3511808 by Ben.Marsh Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git) #jira UE-46540 Change 3512017 by Ben.Marsh Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface. Change 3513935 by Steve.Robb Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477. Change 3514142 by Steve.Robb MemoryProfiler2 added to generated solution. Change 3516463 by Ben.Marsh Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user. Change 3517860 by Ben.Marsh PR #3727: FString Dereference Fixes (Contributed by jovisgCL) Change 3517967 by Ben.Marsh Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line. Change 3518070 by Steve.Robb Disable Binned2 stats in shipping non-editor builds. Change 3520079 by Steve.Robb Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions. #jira UE-24034 Change 3520080 by Robert.Manuszewski Made max package summary size to be configurable with ini setting Change 3520083 by Steve.Robb Force a GC after hot reload to clean up reinstanced objects which may still tick. #jira UE-40421 Change 3520480 by Robert.Manuszewski Improved assert message when the initial package read request was too small. Change 3520590 by Graeme.Thornton SignedArchiveReader optimizations - Loads more stats - Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader - Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time - Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries Change 3521023 by Graeme.Thornton Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing Change 3521787 by Ben.Marsh PR #3736: Small static code analysis fixes (Contributed by jovisgCL) Change 3521789 by Ben.Marsh PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar) Change 3524721 by Ben.Marsh Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core. Change 3524741 by Ben.Marsh Move PumpMessages() into FPlatformApplicationMisc. Change 3525399 by Ben.Marsh UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment. Change 3525743 by Ben.Marsh UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds. Change 3525746 by Ben.Marsh EC: Include the clobber option on new workspaces, to allow overriding version files when syncing. Change 3526453 by Ben.Marsh UGS: Do not generate project files when syncing precompiled binaries. Change 3527045 by Ben.Marsh Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting. Change 3527420 by Ben.Marsh UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing). Config files are now read from: Engine/Programs/UnrealGameSync/UnrealGameSync.ini Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini If a project is selected: <ProjectDir>/Build/UnrealGameSync.ini <ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini If the .uprojectdirs file is selected: Engine/Programs/UnrealGameSync/DefaultProject.ini Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini Change 3528063 by Ben.Marsh Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse. Change 3528415 by Ben.Marsh UAT: Remove \r characters from the end of multiline log messages. Change 3528427 by Ben.Marsh EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent. Change 3528485 by Ben.Marsh EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places. Change 3528505 by Steve.Robb PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL) #jira UE-46819 Change 3528772 by Robert.Manuszewski Enabling actor and blueprint clustering in ShooterGame Change 3528786 by Robert.Manuszewski PR #3760: Fix typo (Contributed by jesseyeh) Change 3528792 by Steve.Robb PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL) #jira UE-46962 Change 3528941 by Robert.Manuszewski Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object. #jira UE-44996 Change 3530241 by Ben.Marsh UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value. Change 3531377 by Ben.Marsh Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it. This has several advantages over the per-module platform whitelist/blacklist: * Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore. * References to dependent plugins from platform-specific plugins can now be eliminated. * Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly). * The editor can load any plugins without having to whitelist supported editor host platforms. UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime. Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary. Change 3531502 by Jin.Zhang Add support for GPUCrash #rb Change 3531664 by Ben.Marsh UBT: Change output format from C# JSON writer to match output by the engine. Change 3531848 by Ben.Marsh UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable. Change 3531869 by Ben.Marsh UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field. Change 3532474 by Ben.Marsh UBT: Use the same mechanism as UAT for logging exceptions. Change 3532734 by Graeme.Thornton Initial VSCode Support - Tasks generated for building all game/engine/program targets - Debugging support for targets on Win64 Change 3532789 by Steve.Robb FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap. Set_Add and Map_Add no longer have a return value. FScriptSet::Find and FScriptMap::Find functions are now FindIndex. FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash. Change 3532845 by Steve.Robb Obsolete UHT settings deleted. Change 3532875 by Graeme.Thornton VSCode - Add debug targets for different target configurations - Choose between VS debugger (windows) and GDB (mac/linux) Change 3532906 by Graeme.Thornton VSCode - Point all builds directly at UBT rather than the batch files - Adjust mac build tasks to run through mono Change 3532924 by Ben.Marsh UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root. Change 3535234 by Graeme.Thornton VSCode - Pass intellisense system a list of paths to use for header resolution Change 3535247 by Graeme.Thornton UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation Change 3535376 by Graeme.Thornton VSCode - Added build jobs for C# projects - Linked launch tasks to relevant build task Change 3537083 by Ben.Marsh EC: Change P4 swarm links to start at the changelist for a build. Change 3537368 by Graeme.Thornton Fix for crash in FSignedArchiveReader when multithreading is disabled Change 3537550 by Graeme.Thornton Fixed a crash in the taskgraph when running single threaded Change 3537922 by Steve.Robb Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT. Change 3539691 by Graeme.Thornton VSCode - Various updates to get PC and Mac C++ projects building and debugging. - Some other changes to C# setup to allow compilation. Debugging doesn't work. Change 3539775 by Ben.Marsh Plugins: Various fixes to settings for enabling plugins. * Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled). * Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed. * Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them. Change 3540788 by Ben.Marsh UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile). Example usage: public class UnrealPakTarget : TargetRules { public UnrealPakTarget(TargetInfo Target) : base(Target) { Type = TargetType.Program; LinkType = TargetLinkType.Monolithic; LaunchModuleName = "UnrealPak"; if(HostPlatform == UnrealTargetPlatform.Win64) { PreBuildSteps.Add("echo Before building:"); PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); PostBuildSteps.Add("echo After building!"); PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); } } } Change 3541664 by Graeme.Thornton VSCode - Add problemMatcher tag to cpp build targets Change 3541732 by Graeme.Thornton VSCode - Change UBT command line switch to "-vscode" for simplicity Change 3541967 by Graeme.Thornton VSCode - Fixes for Mac/Linux build steps Change 3541968 by Ben.Marsh CRP: Pass through the EnabledPlugins element in crash context XML files. #jira UE-46912 Change 3542519 by Ben.Marsh UBT: Add chain of references to error messages when configuring plugins. Change 3542523 by Ben.Marsh UBT: Add more useful error message when attempt to parse a JSON object fails. Change 3542658 by Ben.Marsh UBT: Include a chain of references when reporting errors instantiating modules. Change 3543432 by Ben.Marsh Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set. Change 3543436 by Ben.Marsh UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails. Change 3543536 by Ben.Marsh UBT: Downgrade message about redundant plugin references to a warning. Change 3543871 by Gil.Gribb UE4 - Fixed a critical crash bug with non-EDL loading from pak files. Change 3543924 by Robert.Manuszewski Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes. +Small optimization to token stream generation code. Change 3544469 by Jin.Zhang Crashes page displays the list of plugins from the crash context #rb Change 3544608 by Steve.Robb Fix for nativized generated code. #jira UE-47452 Change 3544612 by Ben.Marsh Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages(). #jira UE-47449 Change 3545954 by Gil.Gribb Fixed a critical crash bug relating to a race condition in async package summary reading. Change 3545968 by Ben.Marsh UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same. #jira UE-47419 Change 3545976 by Ben.Marsh EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch. Change 3546185 by Ben.Marsh Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped. Change 3547084 by Gil.Gribb Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms. Change 3547968 by Gil.Gribb Fixed critical race which potentially could cause a crash in the pak precacher. Change 3504722 by Ben.Marsh BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run. For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as: ERROR: Unable to write to foo.txt while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" /> at Engine\Build\InstalledEngineBuild.xml(91) (see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace) Change 3512255 by Ben.Marsh Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated. Change 3512332 by Ben.Marsh Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4. Change 3512393 by Ben.Marsh Rename FPaths::GameLogDir() to FPaths::ProjectLogDir(). Change 3513452 by Ben.Marsh Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project. Change 3516262 by Ben.Marsh Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor. * Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod. * The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders). Change 3517565 by Ben.Marsh Remove fixed engine version numbers from OSS plugins. Change 3518005 by Ben.Marsh UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false. Change 3518054 by Ben.Marsh UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard. Change 3524496 by Ben.Marsh Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core. Change 3524641 by Ben.Marsh Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc. Change 3528723 by Steve.Robb MoveTemp now static asserts if passed a const reference or rvalue. MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious. Fixes to violations of these new rules. Change 3528876 by Ben.Marsh Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste. Change 3529073 by Ben.Marsh Add script to package ShooterGame for any platforms. Change 3531493 by Ben.Marsh Update platform-specific plugins to declare the target platforms they support. Change 3531611 by Ben.Marsh UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates. Change 3531868 by Ben.Marsh Resaving project descriptors to remove invalid fields. Change 3531983 by Ben.Marsh UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders. * Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer. * Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type) * Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo")) * An error is output if any restricted folder names other than the output platform are in the staged output. Change 3540315 by Ben.Marsh UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers. Change 3542410 by Ben.Marsh UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already. Change 3543018 by Ben.Marsh UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions. Change 3544371 by Steve.Robb Fixes to TSet_Add and TMap_Add BPs. #jira UE-47441 [CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
/// </summary>
public List<Tuple<StagedDirectoryReference, StagedDirectoryReference>> RemapDirectories = new List<Tuple<StagedDirectoryReference, StagedDirectoryReference>>();
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 4034418) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3851142 by Robert.Manuszewski When BP clustering is enabled, make sure to add the template to the BP cluster when replacing it. Change 3853797 by Ben.Marsh BuildGraph: Add a <Trace> element, which allows logging messages after the string is parsed (as opposed to the Log task, which logs them at runtime). Useful for debugging macro expansion, etc... Also add a -showdiagnostics parameter, to have diagnostic messages output even when running with the -listonly option. Change 3857540 by Graeme.Thornton Properly process the uexp file for a umap asset when generating a pak patch. Stop those uexp files being included in the patch even when they haven't changed Change 3860062 by Steve.Robb Fix for FString::Reset()'s buffer not being an empty null-terminated string (affects FString::ParseIntoArray, for example). Change 3860138 by Steve.Robb Fix for FString::ParseIntoArray() for when string memory has been allocated but has no characters. Change 3860273 by Steve.Robb Tidy up of FHotReloadClassReinstancer::FCDOWriter to not do stuff in constructors. Change 3863203 by Steve.Robb Crash fix for UObjects whose constructors are defined as = default;, which would re-null the UObject state (ClassPrivate, OuterPrivate etc.). See: https://udn.unrealengine.com/questions/412930/crash-due-to-default-constructor.html Change 3864588 by Graeme.Thornton Crypto Keys Improvements - Removed UAT command line params for encryption. Centrally configured by the editor settings now. - UAT staging now creates a small json file containing the keys and settings used for encryption and signing and stores it in the build metadata - Minor refactoring of UAT encryption processing to use the new cryptokeys json file - UnrealPak can be told to get its encryption settings from a json crypto file with the "-CryptoKeys=<filename>" - UnrealPak can now accept a "PatchCryptoKeys=<filename" parameter which gives it a filename to a cryptokeys json file that it can use to unpack the patch reference paks Change 3864691 by Robert.Manuszewski Don't add objects that are in root set to GC clusters to prevent them from keeping the clusters alive forever. Change 3864744 by Robert.Manuszewski Added the ability to get the actual filename of the log file FOutputDeviceFile writes to. Change 3864816 by Graeme.Thornton TBA: Minor formatting improvements to textasset commandlet Change 3868939 by Graeme.Thornton TBA: If -outputPath isn't supplied to TextAsset commandlet, output converted files to the {ProjectSaved}/TextAssets directory Change 3869031 by Graeme.Thornton TBA: Changed timing logs in TextAsset commandlet to be Display so we can see them in the EC log Change 3871802 by Steve.Robb Class cast flags and property flags are now visible in the debugger. Change 3871863 by Robert.Manuszewski Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage. Change 3874413 by Steve.Robb Algo::MinElement and Algo::MaxElement, for finding the minimum and maximum element in a range, and *By versions which take projections. TRangePointerType moved to its own file and used in Algo::MinElement and Algo::MaxElement. Change 3874457 by Ben.Marsh When spawning child processes, only allow them to inherit the writable ends of the stderr and stdout pipe. Fixes an issue related to AutomationTool hanging when the editor closes after running automation tests. The editor launches ADB.EXE (Android Debug Bridge) on editor startup, which forks itself to initialize a server. Even though the child process has its own stdout and stderr pipes, it also inherits the pipes for the editor. When run from C#, as we do for automation tests, Process.WaitForExit() waits for all pipes to be closed before returning. This can't happen if the forked ADB instance still has a reference to the editor's pipes. Change 3876435 by Robert.Manuszewski Don't add root set objects to level actor container to prevent situations where clusters are kept alive forever Change 3878762 by Robert.Manuszewski Fixing potential LinkerLoad leak when a package that still has a linker associated with it is being destroyed. Change 3878850 by Robert.Manuszewski SerializePreloadDependencies will now serialize raw data into the array instead of serializing one element at a time to speed up serialization performance. Change 3881331 by Graeme.Thornton TBA: SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter Change 3886983 by Ben.Marsh UGS: Fix notification window not expanding to fit long captions. Change 3887006 by Ben.Marsh UGS: Change modal dialog to regular window style to avoid weird alignment issues under Windows 10. Change 3887500 by Ben.Marsh UGS: Add support for grouping build badges by a prefix. Badges such as "Foo:Bar1", "Foo:Bar2" will be grouped together (with "Foo:" stripped from the displayed badge names). Also add a separate column showing the type of each change, rather than including it in the CIS column, and change badges to a more angular Windows 10 style. Change 3887513 by Ben.Marsh UGS: Fix badge text drawing outside the clipping bounds. Change 3888010 by Josh.Engebretson Fix UVS logging to UnrealVersionSelector/Saved/Logs and instead use project's log path #jira none Change 3888418 by Ben.Marsh UGS: Add a cache for computed badge layout information. Improves responsiveness when redrawing. Change 3889457 by Steve.Robb GitHub #4457 : Display abbreviations properly when converting FNames to display string #jira UE-54611 Change 3889547 by Ben.Marsh UGS: Add an extensible method for adding arbitrary badges to the right of the "description" column, by running a regular expression over the changelist description. Epic uses a "#tag" style annotations in changelist descriptions and Perforce triggers to verify them. "#jira" is used to link a changelist to an issue tracked in Jira, for example. A matcher to add a badge next to every changelist with a #jira tag, and link to the corresponding issue in Jira, could be set up with an addition to the project's Build/UnrealGameSync.ini file like this: [Badges] +DescriptionBadges=(Pattern="(?i)#\\s*jira\\s*:?\\s+([A-Za-z]+-[0-9]+)", Name="$1", Group="Jira", Color="#c0c0c0", HoverColor="#e0e0e0", Url="https://jira.it.epicgames.net/browse/$1") The "Pattern" attribute specifies the regex to match, and may capture portions of the matched text to be substituted later. "Label" specifies the label to appear on the badge. "Group" specifies an arbitrary identifier used to group related badges together rather than separating them with whitespace. "Color" and "HoverColor" specify hex RGB colors for the badges. "Url" specifies the path to open with a C# Process.Open call if the badge is clicked. Change 3889726 by Ben.Marsh UGS: Fix description badges that don't have any associated URL. Change 3889995 by Ben.Marsh UGS: Fix issue where popup menus can create top level windows in the taskbar. Seemlingly caused by capturing mouse before the window has been activated - removed capture code, and replaced with handling of OnMouseLeave() event instead. Change 3890007 by Ben.Marsh UGS: Add a caption underneath the project logo which shows the current stream, to make it more obvious. Change 3890057 by Ben.Marsh UGS: Fix repainting glitch when resizing window; bounds for status panel lines was not being reset correctly. Change 3891069 by Robert.Manuszewski Fixing a crash in MallocBinned2 when running with malloc profiler enabled. Change 3891084 by Steve.Robb Back out changelist 3881331 because it's causing cook errors. Change 3891100 by Ben.Marsh UGS: Add support for a per-branch "message of the day"-style feature. Messages can be specified in a project's config file in Perforce (eg. <ProjectDir>/Build/UnrealGameSync.ini) as follows: [//UE4/Main/Samples/Games/ShooterGame.uproject] Message=:alert: Lockdown for fixes is **5pm on Friday**. Only fixes for the 2.0 release should be submitted to this branch. [34 issues](https://jira.it.epicgames.net) are remaining as of 2/15. A limited subset of Markdown is supported: [web links](http://www.google.com), *italic*, _italic_, **bold**, __bold__. Icons will be supported through :icon: syntax; the only icon currently available is :alert: Change 3891346 by Steve.Robb TSharedPtr::operator bool, and some usage of it. Change 3891787 by Steve.Robb Fix for buffer overflow in FDebug::LogFormattedMessageWithCallstack(). Change 3892379 by Ben.Marsh UGS: Fix notification window containing the group fix for each build type. Change 3892400 by Ben.Marsh UGS: Shrink the size of the alert panel. Change 3892496 by Ben.Marsh UGS: Dim badges for changes which aren't eligable for syncing. Change 3893932 by Steve.Robb Re-removal of SetShouldHandleAsWeakRef, which was originally removed in CL# 3437205. Change 3895872 by Ben.Marsh UGS: Show the stream name in tab labels by default. Change 3896366 by Ben.Marsh UGS: Automatically resize columns when the main window is resized, and allow specifying desired column widths for projects that have a large number of CIS badges. Columns are now resized proportionally, clamped to a minimum size. Columns will automatically expand up to a desired maximum size, though can be explicitly resized larger if necessary. Columns will not be resized if they are already larger than the window can show, or smaller than the window has space to show. Change 3896367 by Ben.Marsh UGS: UI tweaks - change and time columns are now centered, "Unknown" badge is displayed until a change's type has been determined, increase height of status panel. Change 3896425 by Ben.Marsh UGS: Speculative fix for race condition on clients displaying "under investigation" state. If the DB event is received before a change where an investigation is cancelled is polled from Perforce, we will exclude the resolve event from the list of active investigations. Change 3896461 by Ben.Marsh UGS: Add an option to allow setting a tint color to be applied to the status panel, to allow identifying streams more easily. To use, add a setting similar to the following to a project's Build/UnrealGameSync.ini file: [//UE4/Main/Samples/Games/ShooterGame/ShooterGame.uproject] StatusPanelColor=#dcdcf0 Change 3899530 by Ben.Marsh Add unified syntax for overriding branch specific settings. Checks branch settings first, then [Default] section. Change 3901164 by Ben.Marsh UGS: Add a class to store all the resources for the status panel. Change 3901165 by Graeme.Thornton TBA: Attempt #2 at submitting the text asset saving code. SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter. Minimal amount of structured archive serialization functions added to allow this data to be written Change 3901301 by Ben.Marsh UGS: Add support for reading the latest version of the project config file from Perforce. Some settings should be read depending on the CL you are synced to (eg. build steps), whereas others (MOTD, branch status) should always use the latest version. Will read the local version if checked out, to allow testing local changes. Change 3902454 by Ben.Marsh UGS: Fix logo not being redrawn in the correct position when starting to sync. Change 3903416 by Ben.Marsh UGS: Group badges explicitly through INI file rather than by expecting name to contain ':'. Change 3904154 by Josh.Engebretson Adding Breakpad to ThirdParty sources (Git Commit: 49907e1c3457570f56d959ae26dec6c3a5edd417 https://chromium.googlesource.com/breakpad/breakpad) #jira UE-55442 Change 3904648 by Ben.Marsh UGS: Remove files from the workspace that are excluded by the sync filter. The user's config file stores a hash of the last sync filter. During syncing, if this hash doesn not match the previous value, we enumerate all the files in the #have list and remove anything masked out by the filter. #jira UE-47335 Change 3905442 by Steve.Robb Change of the ConvertFromType() multi-bool return value to a more descriptive enum. Some return values here do not make sense - this is because the existing logic is being preserved and will be fixed in a separate change. Change 3905629 by Ben.Marsh UGS: Fix race condition between two child processes starting on different threads, and inheriting the other's intended stdout/stderr pipes. This prevents pipes being closed when one of the child processes shuts down, and causes waits on the read ends of those pipes to continue indefinitely. Change 3906447 by Steve.Robb Rename EConvertFromTypeResult enumerators. Change 3906574 by Steve.Robb Crash fix for container conversion failure during tagged property import. Change 3909255 by Daniel.Lamb Fixed issue with DLCpackaging crashing on windows #jira UE-42880 #test EngineTest windows Change 3909270 by Steve.Robb Seek instead of skipping bad properties byte-by-byte. Change 3909324 by Steve.Robb Use switch statement instead of repeated if/else. Change 3909525 by Ben.Marsh UGS: Use the StudioEditor target when syncing content-only Enterprise projects. Change 3911754 by Daniel.Lamb Fix for building pak patches. #jira UE-55340 Change 3911942 by Robert.Manuszewski Fixing an ensure when MediaPlayer is being constructed from any thread other than the main one. Change 3913067 by Ben.Marsh UGS: Allow workspace sync filter categories to re-enable categories that are disabled by the global filter. Change 3913209 by Ben.Marsh UGS: Fix incorrect target name when compiling Enterprise projects. Change 3917358 by Steve.Robb Fix for GetLen(FString). Change 3919610 by Ben.Marsh Put data for CrashReportClient in a PAK file of its own (under Engine/Programs/CrashReportClient/Content/Paks/CrashReportClient.pak). There are a large number of small files required for it to run with loose files, which takes a lot of space on disk (due to cluster sizes), and is unweildy to move around. CrashReporter UFS files are tracked in a separate dictionary to regular UFS files to allow construction of the additional PAK file. Change 3921002 by Ben.Marsh UGS: Add option for syncing all projects in a branch. Off by default. Also add support for masking in additional paths to be synced (eg. one or two extra projects). Change 3921008 by Ben.Marsh UGS: Prevent pause waiting for mutual exclusivity when syncing precompiled binaries. We don't need to generate project files or build, so there's no need to wait in line. Change 3921906 by Steve.Robb New interpolation functions for quaternions. https://udn.unrealengine.com/questions/419028/quaternion-interp-to-functions.html Change 3921978 by Graeme.Thornton TBA: Make "Loader" member of FLinkerLoad private to prevent use outside of FLinkerLoad. This archive could be something unexpected if the linker is for a text asset package, so we need to stop people accessing it. Change 3924520 by Graeme.Thornton UnrealPak: Improve encryption summary log messages Change 3924522 by Graeme.Thornton UAT: Add *Encryption.ini to the list of auto-blacklisted config filenames Change 3924604 by Graeme.Thornton UnrealPak: If encryption keys are parsed and fail the encrypt/decrypt test, throw a fatal error. The exectutable will have those same keys embedded so there is no point allowing the paks to be created with broken keys. Change 3924638 by Graeme.Thornton Crypto: Improvements to parsing of old fashioned encryption.ini settings: - AES keys that are too long or short (need to be 32 bytes) will now emit a warning when being parsed, and be truncated or expanded before adding to the crypto settings. - Signing keys will emit an error when they are too long (>64bytes) - Unrealpak will still assert when invalid settings are passed via the other mechanisms (command line or -encryptionini mode). Settings via the crypto json file should now be sanitized and not cause issues #jira UE-55080 Change 3924747 by Steve.Robb Fix for degrees. Change 3925459 by Chad.Garyet Adding check to not to attempt to delete autosdk workspace if it doesn't already exist. Change 3926703 by Ben.Marsh BuildGraph: Include the path to the XML file when displaying an XML parse error. Change 3926917 by Ben.Marsh UBT: Allow overriding the name of the UE4 solution on a branch-specific basis. Useful for switching between multiple UE4 workspaces. Also add support to the editor and UGS for opening the correct solution (determined via a text file saved to Engine/Intermediate/ProjectFiles). Set the solution name using an entry in BuildConfiguration.xml as follows: <ProjectFileGenerator> <MasterProjectName>UE4_Main</MasterProjectName> </ProjectFileGenerator> Change 3927683 by Graeme.Thornton UAT: When building with chunk installs enabled, don't generate the master manifest from each pak creation thread. Just do it once after all pak files have been created. Avoids intermittent crash with multiple threads trying to write the same json file. Change 3928111 by Ben.Marsh UBT: Add an option <bMasterProjectNameFromFolder> which allows setting the solution name based on the folder that it's in. Change 3928926 by Ben.Marsh BuildGraph: Add support for enumerating content copied by the <CsCompile> task. Also add support for invoking methods on string properties. Change 3931041 by Graeme.Thornton TBA: Add option to textasset commandlet to also include engine content in a resave Change 3931043 by Graeme.Thornton TBA: Redirect some more FArchive members in FArchiveProxy Change 3931913 by Ben.Marsh UGS: Do not create a modal dialog if a scheduled sync is unable to run because the editor is open, and do not run the editor after a scheduled sync. #jira UE-47368 Change 3932419 by Ben.Marsh UGS: Allow selecting which projects to sync on schedule. Any projects not already opened at the time the schedule is triggered will be opened first. #jira UE-33541 Change 3932483 by Ben.Marsh PR #3949: UnrealGameSync: Add environment path field to custom BuildStep (Contributed by frankie-dipietro-epic) Change 3932624 by Ben.Marsh UGS: Add an error dialog when trying to clean the workspace before closing the editor. #jira UE-42308 Change 3932679 by Ben.Marsh UGS: Add the date/time to the end of the sync log. #jira UE-33540 Change 3932705 by Ben.Marsh UGS: Prompt to close the editor before allowing the user to enter a changelist to sync to, when syncing to a specific changelist. #jira UE-53182 Change 3933318 by Ben.Marsh UGS: Detect more programs running before allowing a sync to start, show a dialog listing them, and add an option to ignore if necessary. #jira UE-33535, UE-53914 Change 3933840 by Graeme.Thornton TBA: When loading assets, only use structured archive adapters for exports when loading text files. Change 3936040 by Ben.Marsh UGS: Rewrite application lifecycle to fix issues with scheduled syncs on background windows not activating, and window jumping to the front after auto-update. Now uses a custom application context to allow creating separate 'main' windows (first the "opening projects" form, then the regular form), and does not require any forms to be shown in order to be updating in the background. #jira UE-52870 Change 3940230 by Robert.Manuszewski Fixes for FilenameToLongPackageName crashes when runnign commandlets Change 3940240 by Graeme.Thornton Automated cycling of encryption and signing keys Change 3940243 by Graeme.Thornton UAT: CryptoKeys automation script Change 3940321 by Ben.Marsh UGS: Add a "Bisect" mode for regressing bugs between a certain range of changes. To use, select a range of changes by holding down the shift key or individual changes by holidng the control key, then right click and select "Bisect these changes". Individual changes in the list can be marked as "Bisect: Pass" or "Bisect: Fail" from the context menu, and syncing will find the next change in the center of the range. Change 3940538 by Ben.Marsh UBT: Always determine whether a project is a foreign project or not from the valid .uprojectdirs entries, rather than relying on the user passing -game on the command line. Change 3941285 by Gil.Gribb UE4 - Removed PRAGMA_DISABLE_OPTIMIZATION from PlatformFileCommon.h. It was an oversight. #jira none Change 3942404 by Graeme.Thornton Pak Signing: - Unify naming of pak precacher and signedarchivereader signature check functions to make it easier to search for them in crash reporter - Format the signedarchivereader output to match the pak precacher - When signedarchivereader detects a signature check, do the same master signature hash check that the pak precacher does to confirm that the .sig file contents haven't been corrupted since load. - Add PAK_SIGNATURE_CHECK_FAILS_ARE_FATAL guarded exit to signedarchivereader signature failure - Optimization for pakprecacher signature checks. Instead of locking the cached files mutex for every decoded signature, take a local copy in blocks of 16. Only re-lock if we need more. Grab the initial batch when setting up. In most cases, reduces the number of locks to 1 per signature check call. Change 3942825 by Ben.Marsh UAT: Allow passing -Project<N>=Foo.uproject arguments to the MegaXGE commandlet (eg. -Target1="ShooterGame Win64 Development" -Project1="D:\ShooterGame\ShooterGame.uproject") so it can be used from an installed engine build. Change 3942839 by Ben.Marsh UBT: Explicitly query the number of logical processors in the system, to fix Environment.ProcessorCount just returning the number available to the .NET framework. For machines with > 64 cores, processors in a different processor group will not be included in this number. Change 3943153 by Ben.Marsh Use the correct logical processor count in ParallelExecutor. Change 3943210 by Ben.Marsh UGS: Add an option to the editor arguments window that allows prompting before launching the editor. Change 3943329 by Ben.Marsh UGS: Tweak appearance of bisect mode; now shows slightly transparent version of pass/fail icons, and includes remaining CL range in status panel. Change 3944294 by Ben.Marsh UGS: Prompt for confirmation before removing any files from the workspace. Change 3945283 by Ben.Marsh UGS: Add support for project-specific connection settings, and detection of Perforce login tickets expiring. Change 3945325 by Ben.Marsh PR #4558: Changed incorrect obsolete message for ReceiptPropertyList in Modules.cs (Contributed by ryanjon2040) Change 3947359 by Graeme.Thornton TBA: Fixes to loading code to allow bulk data to get a pointer from its loader archive to an archive that it can load from at a later date. For binary archives, this is just a pointer back to the same archive, but for text assets it is a pointer to a "child reader" which maintains its own structured archive that is scoped to the current location in the file. Change 3947360 by Graeme.Thornton TBA: Added RoundTrip mode to text asset commandlet. Performs determinism tests in project assets to see whether they save deterministically to binary and text files, and also when they are ping-ponged between the two formats. Change 3949431 by Graeme.Thornton TBA: Refactored string escaping code in json output formatter FString serializer into a common function which is now used by FName and UObject path serialization too. Fixes some odd cases where an FName contained quotation marks Change 3950843 by Ben.Marsh UBT: Add a better error if an XML config file is corrupt. Change 3952504 by Steve.Robb GitHub #4545 : UE-55924: CaseSensitive token recognition #jira UE-55961 #jira UE-55924 Change 3952707 by Graeme.Thornton Make RandInit(...) log message verbose Change 3954694 by Ben.Marsh BuildGraph: Add support for user-defined macros, which can contain a list of buildgraph commands and be expanded within a node. Example script in Engine/Build/Graph/Examples/Macros.xml. To define a Macro, use the syntax: <Macro Name="MyTestMacro" Arguments="PrintFirstMessage;PrintSecondMessage" OptionalArguments="PrintThirdMessage"> <Log Message="First message" If="$(PrintFirstMessage)"/> <Log Message="Second message" If="$(PrintSecondMessage)"/> <Log Message="Third message" If="'$(PrintThirdMessage)' == 'true'"/> </Macro> To expand a macro, use the syntax: <Expand Name="MyTestMacro" PrintFirstMessage="true" PrintSecondMessage="true"/> An error will be thrown if any required arguments are missing. Optional arguments default to empty if not specified. Tasks within a macro are validated by the schema at the point of definition using the same rules as apply to a <Node> element, but properties are not evaluated until the macro is expanded. This allows macros to get and set properties in scope at the point that it is expanded. Local properties that are introduced within a macro do not otherwise leak to the scope that they are expanded. Change 3954695 by Ben.Marsh PR #4582: Fixed incorrect condition in StagedFileSystemReference.cs (Contributed by moadib) #jira UE-56283 Change 3954961 by Ben.Marsh UBT: Fix issues caused by toolchain assuming that the editor target will be the name of the project with an "Editor" suffix. This is not necessarily the case; the launcher will allow you to instantiate a project with any name, and it will not rename the target files. #jira UE-56040 Change 3955785 by Steve.Robb GitHub #4546 : Don't discard errors from zlib inflate #jira UE-55969 Change 3955940 by Steve.Robb Redundant and confusing macro check removed. Change 3956809 by Ben.Marsh Guard against project paths passed on the command line to UBT being treated as project names. Previous code used to just take the first, which would mask this problem. Change 3959590 by Steve.Robb Useless IsIntrinsic constant and COMPILED_IN_INTRINSIC macro removed. Change 3959864 by Robert.Manuszewski Increasing the size of permanent object pool to fix warnings in cooked ShooterGame #jira UE-56001 Change 3960956 by Steve.Robb New ToCStr function which generically gets a TCHAR* from a 'string-like' argument. Change 3963628 by Ben.Marsh UBT: Fix intellisense issues caused by _API macros being defined as DLLIMPORT (imported symbols cause an error if they are defined). Generate intellisense macros with the -Monolithic argument to work around it. Change 3964349 by Ben.Marsh Move support for reading .modules files into FModuleManager, and always use it in modular builds. Pathway which discovers modules by filename only is no longer supported for simplicity, and due to platform-specific version checks being unreliable on any platforms other than Windows. Change 3964821 by Ben.Marsh Use a custom tool for deleting directories on Windows, to handle paths longer than MAX_PATH correctly. Change 3965269 by Ben.Marsh Add more [RequiresUniqueBuildEnvironment] attributes to target settings that modify the global environment. Change 3966554 by James.Hopkin #core Removed redundant cast Change 3966558 by James.Hopkin #core Removed redundant casts and changed some MakeShareables to MakeShared #robomerge #fortnite Change 3966754 by Ben.Marsh Always use the compiled-in app name when looking for a module manifest. Fixes issues with XGEControlWorker.exe being a renamed copy of ShaderCompileWorker.exe. Change 3967397 by Ben.Marsh Fix "copy local" files not being included in build products enumerated from C# projects. Remove files with "Embed Interop Types" from the output list. Change 3967664 by Ben.Marsh Update UGS solution to use Visual Studio 2017. Change 3967838 by Ben.Marsh Couple of fixes to conform scripts. Change 3968767 by Ben.Marsh Compile the name of the module manifest into the executable via a define explicitly set by UBT, rather than guessing at runtime. Change 3968771 by Ben.Marsh Fix compiled-in engine path being subject to macro expansion. #jira UE-56504 Change 3968886 by Robert.Manuszewski Merging 3914301: Remove any references we had added to the GGCObjectReferencer during Init Change 3968978 by Steve.Robb FString->FName fixes for module names in HotReload. Change 3969019 by Steve.Robb Minor refactor of property skipping logic in SerializeTaggedProperties(). Change 3969041 by Steve.Robb Simplification of Build.version filename construction. Change 3969049 by Steve.Robb Always do rolling names when recompiling in editor, because an unloaded module may still actually by loaded-but-abandoned by the executable. This also removes HotReload's dependence on FModuleManager::GetCleanModuleFilename(). #jira UE-52405 Change 3969120 by Ben.Marsh Enable errors for using undefined identifiers in conditional expressions by default. Change 3969161 by Ben.Marsh Remove log line that should only be included in the log. Change 3969216 by Steve.Robb Dump a list of module names - rather than DLL filenames - when the editor detects modules which need recompiling. This removes the only remaining use of FModuleManager::GetCleanModuleFilename(), which is also now removed. #jira UE-52405 Change 3969346 by Steve.Robb Missed some bad FScript(Map/Set)Helper usage from CL# 3698969. Change 3969598 by Ben.Marsh Fix warning from VS2017. Change 3971101 by Graeme.Thornton TBA: Added RoundTrip mode to TextAsset commandlet which does a sequence of saves and checks for determinism. It will do 3 binary saves, 3 text saves, then 3 alternate binary->text saves. Change 3971407 by Ben.Marsh UBT: Fix exception when enumerating toolchains if the directory does not exist yet. Change 3971523 by Graeme.Thornton Make compressed block offsets in a pak file store offsets relative to the file header, rather than absolute. Reduces the amount of entropy when data changes in the pak file, making it play nicely with patching Change 3971613 by Ben.Marsh Fix Lightmass non-unity compile errors. Change 3971649 by Ben.Marsh Disable optimization around FTickerObjectBase constructor on Win32 due to ICE. Change 3971829 by Ben.Marsh Fix deprecated header warning from PVS Studio. Change 3972503 by Ben.Marsh Changes to build failure notifications: * Only people that submitted between builds with different error messages will be included on emails by default. * Email subject line will be different for each failing build step, but will include the CL of the first failing step. This will result in one thread for each build failure (a success email is sent with the same subject line). * Anyone that starts a build will be included on all failure emails. Change 3972732 by Ben.Marsh Changes to ensure notification messages are stable. Change 3972810 by Ben.Marsh Write debug information about the digest computed for a change, to assist with debugging it if it's not stable. Change 3973331 by Ben.Marsh Fix missing dependency on linker response file. Prevents target being relinked when build environment changes. Change 3973343 by Ben.Marsh PR #4612: Adding support for PVS-Studio settings file to PVS-Studio Unreal Build Tool toolchain. (Contributed by PaulEremeeff) Change 3973820 by Ben.Marsh Fix incorrect error message when unable to find Visual C++ install directory. Change 3974295 by Robert.Manuszewski Made sure that lazy object pointers are only fixed up for PIE in actual PIE worlds. Change 3975336 by Robert.Manuszewski CIS fix after the last merge from main Change 3976999 by Ben.Marsh Move the Windows stack size settings onto the WindowsTargetRules object, and add the [RequiresUniqueBuildEnvironment] attribute to ensure it's not overwritten incorrectly. This should cause CIS to better errors for compiling Odin editor. Change 3977934 by Ben.Marsh UBT: Allow setting additional compiler/linker arguments through properties on the TargetRules object. Change 3977953 by Ben.Marsh UBT: Enumerate all Visual Studio 2017 install locations using the Visual Studio Setup interop SDK. Multiple simultaneous Visual Studio installations are now supported, and using registry keys to determine installation directories has been deprecated. Allows choosing toolchains from preview versions as well as full versions. Change 3978544 by Ben.Marsh UBT: Include verbose timing information from compiler frontend if using VS2017 15.7 preview 2 or later. Change 3978780 by Ben.Marsh Add Visual C++ 2017 redist files to AppLocalDependencies, and update the prereq installer to include 2017 support DLLs. Change 3979313 by Ben.Marsh UBT: Add the EngineDirectory property to ModuleRules. Makes it easier to find paths to files under the engine folder. Change 3980499 by Ben.Marsh UBT: Automatically enable /DEBUG:FASTLINK if we're using the VS2017 15.7 toolchain or newer and not doing a formal build. This contains fixes for debugger OOM issues present in older versions. Change 3980890 by Ben.Marsh UBT: Update project file generator to support VS2017 solution options file; fixes C# projects being opened by default when generating new project files. Change 3981495 by Ben.Marsh Do not include embedded interop assemblies in the list of references required by a C# project; they are not required build products. #jira UE-54343 Change 3982157 by Ben.Marsh Only output a warning message if BuildConfiguration.xml schema validation fails; we may have settings that only apply to code in another branch. Change 3982239 by Ben.Marsh Update tooltip directing users to install Visual Studio 2017 instead of 2015. Change 3983395 by Graeme.Thornton Fix reference to BUILD_VERSION in BootstrapPackagedGame RC file Change 3983523 by Graeme.Thornton Backwards compatibility for pak files with compressed chunk offsets Change 3983769 by Ben.Marsh UAT: Allow using PDBCOPY.EXE installed as part of the Windows 10 SDK to strip symbols, and add a better message if it can't be found. Change 3984529 by Ben.Marsh BuildGraph: When run with the -Preprocess=... argument, no steps will be executed. Change 3984557 by Ben.Marsh BuildGraph: Return the updated patterns from FilePattern.CreateMapping(), so we can print accurate messages when displaying the source and target directories for a copy or move task. Change 3986520 by Ben.Marsh Remove hacks to uniquify response file name on Android and Linux. Change 3987166 by Steve.Robb Allow overloading of functions which take TFunctions or TFunctionRefs with mutually exclusive signatures. Change 3989061 by Graeme.Thornton TBA: Text asset loading/saving work - Start using FStructuredArchive flavours of UObject Serialize functions when loading and saving exports. - Only use FStructuredArchive interface for text assets, and for classes that have the CLASS_MatchingSerializers which tells us that the class can serialize to both FStructuredArchives and FArchives. - Add GetCacheableArchive to FArchive, which allows transient archives to return a pointer to another archive that will outlive it. Used by bulk data to get a pointer to an archive that can be held and used at a later time to lazy load things. For text assets where the bulk data might be held inside a base64 encoded FArchiveFromStructuredArchive block, we can't dynamically seek back to that location after the on-stack wrapper has been destroyed after the original serialize, so this will return null. For binary assets, we just return a pointer to the same binary archive which can be used freely. Change 3989109 by Graeme.Thornton TBA: TextAsset commandlet emits a warning when binary package determinism fails Change 3990823 by Ben.Marsh UGS: Allow project settings to specify a client path rather than a filesystem path. Not currently usable through UI. Change 3990832 by Ben.Marsh UGS: Make the schedule window resizable. Change 3991569 by Steve.Robb GitHub #4636 : Fixed typo in HeaderParser.cpp for "missed WithValidation keyword" error message Change 3991970 by Steve.Robb Fix for 4096 char limit on FParse::Value. Change 3992222 by Steve.Robb Advice added to the coding standard for using default member initializers. Change 3993675 by Ben.Marsh UGS: Add UI to allow creating new workspaces and selecting projects from existing workspaces that are not currently synced. Change 3994199 by Ben.Marsh UGS: Fix child processes being unable to spawn other child processes with the CREATE_BREAKAWAY_FROM_JOB flag, to add them to their own job objects. In Windows 7 or earlier job objects cannot be nested, so child processes have to create separate job objects and spawn processes with CREATE_BREAKAWAY_FROM_JOB to be able to add them. This fails unless parent process' job object was created with JOB_OBJECT_LIMIT_BREAKAWAY_OK. Discussed here: https://msdn.microsoft.com/en-us/library/windows/desktop/hh448388(v=vs.85).aspx Change 3994243 by Ben.Marsh UGS: Use the select stream dialog instead of displaying a drop list unless there's a stream filter specified. We have way too many streams for this to be useful in a menu unless it's filtered. Change 3994260 by Ben.Marsh UGS: Tweak the stream filter dialog to only use the previous selected node if the filter terms match. It may be a parent node of something that matches, even though it doesn't match itself. Change 3994350 by Ben.Marsh UGS: Automatically guess the correct root path for new workspaces based on the most common existing workspaces for the current user. Change 3995159 by Ben.Marsh UGS: Do not delete files which are outside the sync filter. People expect to be able to sync different projects within a stream without having to update sync filters. Indend to re-introduce this functionality through the manual 'clean workspace' operation. Change 3995169 by Ben.Marsh UGS: Show options as dimmed in the open project dialog, if the radio button for those controls is not checked. Automatically set the radio button if the focus is given to one of those controls. Change 3995228 by Ben.Marsh UGS: Update recently opened projects list when editing project for an existing tab. Change 3995312 by Ben.Marsh UGS: Stop showing all dialogs in the taskbar. Change 3995929 by Robert.Manuszewski Completely rewritten FReferenceChainSearch class used by 'obj refs' command. - 3+ times faster - Uses the same code as GC to track all the references down - Actually reports all reference chains properly - Less code that is more readable than the previous version Change 3995981 by Ben.Marsh UGS: Clean workspace window will now force-sync files that have been deleted or which are writable. Change 3996113 by Ben.Marsh UGS: Fix crash upgrading config files from older versions. Change 3997990 by Ben.Marsh UGS: Prevent error when syncing an empty workspace. Change 3998095 by Ben.Marsh UGS: Change logic for dealing with job objects: rather than creating breakaway jobs (requires co-operation with spawning process), always try to use nested job objects (requires Windows 8.1+). If it fails, ignore the error if we're already part of a job. Also forcibly terminate the process on dispose to handle cases where the job object wasn't created. Change 3998264 by Ben.Marsh UGS: Fix exception when switching projects in-place. Change 3998643 by Ben.Marsh Fix shared DDC not being used for installed engine builds. #jira UE-57631 Change 4000266 by Ben.Marsh UnrealPak: Add an option that allows rebuilding a set of PAK files with different settings. Usage is: UnrealPak [PakFile] -Repack [-Output=FileOrDirectory] [Options] The input pak file may be a single file or wildcard, and is overwritten unless the -Output parameter is specified. Change 4000293 by Ben.Marsh Add a compression flag that allows selecting compressor without using the default platform implementation. Change 4000315 by Ben.Marsh Add support for custom compressors implemented via modular features. Specify -compressor=<PathToDll> on the command line to UnrealPak to load a compressor from an external DLL. Change 4000610 by Ben.Marsh UnrealPak: Add a parameter for compression block size (-compressionblocksize=XXX). Accepts arguments with MB/KB suffixes, as well as byte counts. Change 4000627 by Ben.Marsh UBT: Include enabled plugin info in the UBT log. Change 4000793 by Ben.Marsh UBT: Remove some member variables from VCEnvironment that don't need to be stored. Change 4000909 by Ben.Marsh UBT: Add VS2017 installations to the list of paths checked for MSBuild installations. Change 4001923 by Ben.Marsh UBT: Allow any plugins which are enabled by default to be included in the enabled list, even if they don't have any modules for the current platform. This changes the build-time logic to match the runtime logic. At some point in the future we may add a separate SupportedHostPlatforms list to each plugin to do this explicitly, rather than guessing via the per-module whitelist. Change 4001927 by Ben.Marsh Fixes for compiling against the Windows 10 SDK. Change 4002439 by Robert.Manuszewski Added TDefaultReferenceCollector and FSimpleReferenceProcessorBase to extract common code for clients of TFastReferenceCollector Change 4003508 by Ben.Marsh UGS: Fix new workspaces not having the correct owner and host set. Change 4003622 by Ben.Marsh UGS: Add support for "skipped" as a build result. Change 4004049 by Robert.Manuszewski Significantly improved performance of Reference Chain Search for objects that are nested deep in the object hierarchy Change 4005077 by Ben.Marsh UGS: Update version number. Change 4005112 by Ben.Marsh UBT: Reduce number of times a target has to be constructed while generating project files. Change 4005513 by Ben.Marsh UBT: Reduce number of checks for directories existing when adding include paths to a module. Accounted for 40% of runtime time when generating project files. Change 4005516 by Ben.Marsh UBT: Add warnings whenever a module adds an include path or library path that doesn't exist Change 4006168 by Ben.Marsh CIS fixes. Change 4006236 by Ben.Marsh UGS: Populate the workspace name/root directory text box with the cue banner when focus moves to the control. Change 4006266 by Ben.Marsh UGS: Swap around the new workspace/existing file boxes on the open project dialog. Change 4006552 by Ben.Marsh If staging fails because a restricted folder name is found, include a list of them in the error message. Change 4007397 by Steve.Robb Comments added to make it clear that GetAllocatedSize() only counts direct allocations made by the container. Change 4007458 by Ben.Marsh UBT: Change RPC utility to abort early, rather than continue to try to build even though SSH init failed. Change 4009343 by Ben.Marsh UGS: Set the rmdir option on new workspaces by default. Change 4009501 by Ben.Marsh UBT: Add Windows include paths to the compiler command line, rather than setting through environment variables. This ensures that incremental builds work correctly when SDK versions change. Change 4009509 by Ben.Marsh UBT: Check in a non-versioned directory under the Windows 10 SDK for the resource compiler. Change 4010543 by Ben.Marsh Remove the "Device" and "Simulator" platform groups, because they're unused and overly generic for folder names. Also remove source code for the HTML5 simulator (which is no longer supported). Change 4010553 by Ben.Marsh UAT: Include platform groups in restricted folder names when staging. Change 4012030 by Ben.Marsh UGS: Increase the size of the main window, and set the current stream as the default when creating a new workspace. Change 4012204 by Chad.Garyet - Cleanup to get the POSTs returning 400s the same way the GETs would (now no longer returns the exception text) - Create directory for sqlite db if it doesn't exist #jira none Change 4014209 by Brandon.Schaefer New changes in breakpad dump_syms to allow for producing a symbol file for elf files on windows #review-3998840 @Arciel.Rekman, @Ben.Marsh, @Josh.Engebreston, @Anthony.Bills Change 4015606 by Brandon.Schaefer Missed a code project that needed updating for new Breakpad changes for Mac Change 4017795 by Robert.Manuszewski GC assumption verification should now be 3-4x faster. - Refactored Disregard For GC to use TFastReferenceCollector - Move both Disregard For GC and Cluster verification code to separate source files Change 4020381 by Ben.Marsh Add link to the new official doc page for UnrealGameSync. Change 4020665 by Ben.Marsh UBT: Prevent plugins being precompiled if they don't support the current target platform. Change 4021829 by Ben.Marsh Update message about downloading a new version of Visual Studio. Change 4022063 by Ben.Marsh UBT: Suppress toolchain output when generating project files. Change 4023248 by Ben.Marsh Install an unhandled exception filter to ensure we get crash reports from threads that are not spawned by the engine. At the moment, we only receive crashes that are routed through ReportCrash() via our structured exception handlers in WinMain() and FRunnableThreadWin::Run(). (Also fix an exception within the exception handler, if GError has not been created yet) Change 4025759 by Ben.Marsh Fix universal CRT include paths not being added to compile environment for VS2015. Change 4026002 by Ben.Marsh UBT: Check the old registry locations for the Windows SDK installation directory. Change 4026068 by Ben.Marsh UBT: Use the correct compiler version in the error message for not having the UCRT. Change 4026181 by Ben.Marsh Fix DebugGame editor configurations not enumerating modules correctly. #jira UE-58153 Change 4026285 by Ben.Marsh UBT: Add additional logging for enumerating Windows SDKs. Change 4026708 by Ben.Marsh UBT: Keep a separate list of installed Universal CRT versions to the list of Windows 10 SDK versions. It's possible to install C++ support without the Windows 10 SDK, which still includes UCRT files in Windows 10 SDK folders. Change 4029404 by Ben.Marsh Remove incorrect include paths to fix CIS warnings. Change 4031517 by Steve.Robb Fix for UHT errors not being clickable in the Message Log. #jira UE-58173 Change 4031544 by Ben.Marsh Fix errors building asset catalog for IOS due to modifying shared build environment. #jira UE-58240 Change 4032227 by Ben.Marsh BuildGraph: Print out a warning message when trying to submit without the -Submit argument in BuildGraph. Change 4032262 by Ben.Marsh BuildGraph: Remove the need to copy files to the staging directory in BuildEditorAndTools.xml. Change 4032288 by Ben.Marsh Remove UFE from the BuildEditorAndTools script. 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 3838569 by Steve.Robb Algo moved up a folder. Change 3848581 by Robert.Manuszewski Changing the UObjectArray to not be allocated up front but in 64K-FUObjectItem chunks. This is to fix strange OOM reports on editor startup where it's trying to allocate space for 1M+ FUObjectItems. #jira UE-49446 Change 3864743 by Steve.Robb Fix for buffer overrun when copying a context string. Fix for being unable to link to MallocLeakDetection. Fix to prefix for FMallocLeakDetection::ContextString. New MALLOCLEAK_SCOPED_CONTEXT macro to push/pop a context string. Overload for const TCHAR* added to FMallocLeakDetection::PushContext to save on redundant memory allocations. #jira UE-54612 Change 3865020 by Graeme.Thornton TBA: Changed FIELD_NAME macro to FIELD_NAME_TEXT so that FIELD_NAME can be used for non-literal name definitions Change 3869550 by Josh.Engebretson New SymGen and SymUpload tasks (ShooterGame usage example) Example C# symbolicator (using saved crash and data router formats) Updates for stack walking and crash runtime xml on Windows/Mac Change 3905453 by Steve.Robb USE_TUPLE_AUTO_RETURN_TYPES moved to PLATFORM_COMPILER_HAS_DECLTYPE_AUTO. Change 3910012 by Ben.Marsh UGS: Show an error window and allow setting default P4 server settings if syncing UGS fails. Change 3920044 by Graeme.Thornton TBA: Text asset loading * Added a structured archive layer to FLinkerLoad * Wrapped export loading in a ArchiveUObjectFromStructuredArchive * Updated TextAssetCommandlet to have a "loadtext" mode which will try to load every text asset in the project content * Changed text asset extensions to .utextasset and .utextmap. Couldn't go with the favourite .uasset.json because our various path functions (FPaths::GetCleanFilename etc.) will only strip one layer of extension, so leave a bogus filename. * Relaxed a few checks in structured archive where it was checking for field reentrance, which isn't a problem for loading. * Changed FArchiveFromStructuredArchive to not load all referenced objects at construction time. This introduced some changes to load order which don't work in the engine. Object names are resolved at the point that a reference to them is serialized from the main data block, same as with legacy archives. Change 3921587 by Steve.Robb Static asserts inside ensureMsgf() macros to prevent them being passed invalid arguments or non-literal formatting strings. Fixes for various misuses. #jira UE-55681 Change 3942873 by Ben.Marsh UBT: Allow link time code generation on any configurations where bAllowLTCG is set to true. Microsoft platforms were previously only allowing this option in shipping; the target can decide when to enable it or not. Change 3944629 by Graeme.Thornton Merging back a couple of fixes from Fortnite - Extra parenthesis around some calculations in the pakprecacher - Changed FChunkCacheWorker::DoSignatureCheck() back to ::CheckSignature() - Added documentation for build script crypto options Change 3945381 by Ben.Marsh Disable warning C4770 on Windows (partially validated enum 'xxx' used as index), which occurs when enabling LTCG. Can't find a reference online for this warning, but I suspect it's due to LTCG allowing the compiler to trace code paths where we don't validate that an enum is a known value. Change 3968969 by Steve.Robb Fixes to incorrect uses of FScriptMapHelper and FScriptSetHelper, which weren't accounting for gaps in the sparse array. Change 3969417 by Ben.Marsh Make Visual Studio 2017 the default compiler for UE4 projects, and add support using Visual C++ toolchains from an AutoSDKs. Also add support for selecting a specific toolchain version to use through the WindowsPlatform.CompilerVersion property, which can be configured via a Target.cs files or BuildConfiguration.xml (eg. <WindowsPlatform><CompilerVersion>14.13.26128</CompilerVersion></WindowsPlatform). As well as allowing a specific version number, you can always use the latest toolchain by setting it to "Latest". Change 3972443 by Ben.Marsh Change build scripts to allow running any steps on non-compile workspaces. Setup Dev-Core to just use a non-compile Win64 workspace for everything. Change 3977198 by Ben.Marsh Remove INI file override for editor stack size on Windows. This is rarely valid since editor targets share build products with other games by deafult. Fix to add linker response file as prerequisite exposed targets overriding this as a bug. Change 3979632 by Ben.Marsh Consolidate codepaths for embedding versioning information in the engine. Engine/Build/Build.version is now the authoritative place to read version information; Engine/Source/Runtime/Launch/Resources/Version.h no longer includes macros for the current branch and changelist. * Settings from Build.version are compiled into the (tiny) BuildSettings module via macros set in BuildSettings.build.cs, which is used to initialize version information inside the engine at runtime. * The IsPromotedBuild value is now set to zero by default (but set to 1 by the UpdateLocalVersion UAT command). * The -Licensee argument to the UpdateLocalVersion UAT command, and the IsLicenseeVersion setting for UnrealGameSync, is determined automatically by looking for the Engine/Build/NotForLicensees/EpicInternal.txt file. This path is not visible to licensees. Change 3981738 by Ben.Marsh Move utility classes for filtering files and matching wildcards into DotNETUtilities. Change 3983888 by Steve.Robb Warning C4868 disabled, about evaluation order of braced initializer lists. https://udn.unrealengine.com/questions/426081/help-with-error-c4868-braced-initializers.html Change 3984019 by Steve.Robb FString::Printf formatting argument checking added. Vararg support for FText::Format. All remaining usage fixed. Change 3985502 by Steve.Robb Change to TFunction debugger visualization to allow right-clicking on the [Lambda] and selecting 'Go To Source Code'. Change 3985999 by Graeme.Thornton TBA: Serialize function generation for FArchive and FStructuredArchive overloads on a UObject, using UHT. - Adds a restriction that UObject::Serialize() functions MUST be declared outside of any conditional compilation directives, except for WITH_EDITORONLY_DATA Change 3986461 by Ben.Marsh Fixup lots of platforms not adding response files as a prerequisite. This can cause incremental builds to fail if input files/compile arguments change, because the action graph does not know that the response file being updated invalidates the build artifacts. Change 3990081 by Ben.Marsh Remove custom output formatters for errors and warnings. These are not well supported by different executors, and cause fences between actions with the same formatter with external executors like XGE. Clang supports -fdiagnostics-format=msvc for all platforms, which should do a better job than our crude attempts at regexing errors (causing botched output in some cases). Change 3996714 by Chad.Garyet UGSRestAPI, conversion of UGS to use it. #jira none Change 4008287 by Ben.Marsh UBT: Change the engine to use the Windows 10 SDK by default. Also add support for switching between specific Windows SDK versions. The WindowsPlatform.WindowsSdkVersion property in the target rules can be used to select a desired version, which can also be configured by the <WindowsPlatform><WindowsSdkVersion>Foo</WindowsSdkVersion></WindowsPlatform> parameter in the BuildConfiguration.xml file. The version of Windows to target (ie. the WINVER macro) can be modified by setting WindowsPlatform.TargetWindowsVersion. The default is 0x0601 (Windows 7). Change 4008516 by Chad.Garyet - Adding support for both SQLite and MsSql - API now reads from only MsSql, but writes to both - Added support for POST to CIS for badges - PostBadgeStatus now writes out via API Url rather than a direct connection to the DB #jira none Change 4010296 by Chad.Garyet Moving SQLite db initilization into Application_Start. An exception thrown creating or seeding the db will unload the entire AppDomain and all pages will return a 404. #jira none Change 4024045 by Ben.Marsh Set the list of supported target platforms for OnlineSubsystemGameCircle. #jira UE-57887 Change 4031014 by Ben.Marsh UAT: Add a WhitelistDirectories list in DefaultEngine.ini, which allows specifying folders that can be staged despite having restricted folder names. [CL 4034515 by Ben Marsh in Main branch]
2018-04-26 14:11:04 -04:00
/// <summary>
/// List of directories to allow staging, even if they contain restricted folder names
/// This list is read from the +WhitelistDirectories=... array in the [Staging] section of *Game.ini files
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 4034418) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3851142 by Robert.Manuszewski When BP clustering is enabled, make sure to add the template to the BP cluster when replacing it. Change 3853797 by Ben.Marsh BuildGraph: Add a <Trace> element, which allows logging messages after the string is parsed (as opposed to the Log task, which logs them at runtime). Useful for debugging macro expansion, etc... Also add a -showdiagnostics parameter, to have diagnostic messages output even when running with the -listonly option. Change 3857540 by Graeme.Thornton Properly process the uexp file for a umap asset when generating a pak patch. Stop those uexp files being included in the patch even when they haven't changed Change 3860062 by Steve.Robb Fix for FString::Reset()'s buffer not being an empty null-terminated string (affects FString::ParseIntoArray, for example). Change 3860138 by Steve.Robb Fix for FString::ParseIntoArray() for when string memory has been allocated but has no characters. Change 3860273 by Steve.Robb Tidy up of FHotReloadClassReinstancer::FCDOWriter to not do stuff in constructors. Change 3863203 by Steve.Robb Crash fix for UObjects whose constructors are defined as = default;, which would re-null the UObject state (ClassPrivate, OuterPrivate etc.). See: https://udn.unrealengine.com/questions/412930/crash-due-to-default-constructor.html Change 3864588 by Graeme.Thornton Crypto Keys Improvements - Removed UAT command line params for encryption. Centrally configured by the editor settings now. - UAT staging now creates a small json file containing the keys and settings used for encryption and signing and stores it in the build metadata - Minor refactoring of UAT encryption processing to use the new cryptokeys json file - UnrealPak can be told to get its encryption settings from a json crypto file with the "-CryptoKeys=<filename>" - UnrealPak can now accept a "PatchCryptoKeys=<filename" parameter which gives it a filename to a cryptokeys json file that it can use to unpack the patch reference paks Change 3864691 by Robert.Manuszewski Don't add objects that are in root set to GC clusters to prevent them from keeping the clusters alive forever. Change 3864744 by Robert.Manuszewski Added the ability to get the actual filename of the log file FOutputDeviceFile writes to. Change 3864816 by Graeme.Thornton TBA: Minor formatting improvements to textasset commandlet Change 3868939 by Graeme.Thornton TBA: If -outputPath isn't supplied to TextAsset commandlet, output converted files to the {ProjectSaved}/TextAssets directory Change 3869031 by Graeme.Thornton TBA: Changed timing logs in TextAsset commandlet to be Display so we can see them in the EC log Change 3871802 by Steve.Robb Class cast flags and property flags are now visible in the debugger. Change 3871863 by Robert.Manuszewski Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage. Change 3874413 by Steve.Robb Algo::MinElement and Algo::MaxElement, for finding the minimum and maximum element in a range, and *By versions which take projections. TRangePointerType moved to its own file and used in Algo::MinElement and Algo::MaxElement. Change 3874457 by Ben.Marsh When spawning child processes, only allow them to inherit the writable ends of the stderr and stdout pipe. Fixes an issue related to AutomationTool hanging when the editor closes after running automation tests. The editor launches ADB.EXE (Android Debug Bridge) on editor startup, which forks itself to initialize a server. Even though the child process has its own stdout and stderr pipes, it also inherits the pipes for the editor. When run from C#, as we do for automation tests, Process.WaitForExit() waits for all pipes to be closed before returning. This can't happen if the forked ADB instance still has a reference to the editor's pipes. Change 3876435 by Robert.Manuszewski Don't add root set objects to level actor container to prevent situations where clusters are kept alive forever Change 3878762 by Robert.Manuszewski Fixing potential LinkerLoad leak when a package that still has a linker associated with it is being destroyed. Change 3878850 by Robert.Manuszewski SerializePreloadDependencies will now serialize raw data into the array instead of serializing one element at a time to speed up serialization performance. Change 3881331 by Graeme.Thornton TBA: SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter Change 3886983 by Ben.Marsh UGS: Fix notification window not expanding to fit long captions. Change 3887006 by Ben.Marsh UGS: Change modal dialog to regular window style to avoid weird alignment issues under Windows 10. Change 3887500 by Ben.Marsh UGS: Add support for grouping build badges by a prefix. Badges such as "Foo:Bar1", "Foo:Bar2" will be grouped together (with "Foo:" stripped from the displayed badge names). Also add a separate column showing the type of each change, rather than including it in the CIS column, and change badges to a more angular Windows 10 style. Change 3887513 by Ben.Marsh UGS: Fix badge text drawing outside the clipping bounds. Change 3888010 by Josh.Engebretson Fix UVS logging to UnrealVersionSelector/Saved/Logs and instead use project's log path #jira none Change 3888418 by Ben.Marsh UGS: Add a cache for computed badge layout information. Improves responsiveness when redrawing. Change 3889457 by Steve.Robb GitHub #4457 : Display abbreviations properly when converting FNames to display string #jira UE-54611 Change 3889547 by Ben.Marsh UGS: Add an extensible method for adding arbitrary badges to the right of the "description" column, by running a regular expression over the changelist description. Epic uses a "#tag" style annotations in changelist descriptions and Perforce triggers to verify them. "#jira" is used to link a changelist to an issue tracked in Jira, for example. A matcher to add a badge next to every changelist with a #jira tag, and link to the corresponding issue in Jira, could be set up with an addition to the project's Build/UnrealGameSync.ini file like this: [Badges] +DescriptionBadges=(Pattern="(?i)#\\s*jira\\s*:?\\s+([A-Za-z]+-[0-9]+)", Name="$1", Group="Jira", Color="#c0c0c0", HoverColor="#e0e0e0", Url="https://jira.it.epicgames.net/browse/$1") The "Pattern" attribute specifies the regex to match, and may capture portions of the matched text to be substituted later. "Label" specifies the label to appear on the badge. "Group" specifies an arbitrary identifier used to group related badges together rather than separating them with whitespace. "Color" and "HoverColor" specify hex RGB colors for the badges. "Url" specifies the path to open with a C# Process.Open call if the badge is clicked. Change 3889726 by Ben.Marsh UGS: Fix description badges that don't have any associated URL. Change 3889995 by Ben.Marsh UGS: Fix issue where popup menus can create top level windows in the taskbar. Seemlingly caused by capturing mouse before the window has been activated - removed capture code, and replaced with handling of OnMouseLeave() event instead. Change 3890007 by Ben.Marsh UGS: Add a caption underneath the project logo which shows the current stream, to make it more obvious. Change 3890057 by Ben.Marsh UGS: Fix repainting glitch when resizing window; bounds for status panel lines was not being reset correctly. Change 3891069 by Robert.Manuszewski Fixing a crash in MallocBinned2 when running with malloc profiler enabled. Change 3891084 by Steve.Robb Back out changelist 3881331 because it's causing cook errors. Change 3891100 by Ben.Marsh UGS: Add support for a per-branch "message of the day"-style feature. Messages can be specified in a project's config file in Perforce (eg. <ProjectDir>/Build/UnrealGameSync.ini) as follows: [//UE4/Main/Samples/Games/ShooterGame.uproject] Message=:alert: Lockdown for fixes is **5pm on Friday**. Only fixes for the 2.0 release should be submitted to this branch. [34 issues](https://jira.it.epicgames.net) are remaining as of 2/15. A limited subset of Markdown is supported: [web links](http://www.google.com), *italic*, _italic_, **bold**, __bold__. Icons will be supported through :icon: syntax; the only icon currently available is :alert: Change 3891346 by Steve.Robb TSharedPtr::operator bool, and some usage of it. Change 3891787 by Steve.Robb Fix for buffer overflow in FDebug::LogFormattedMessageWithCallstack(). Change 3892379 by Ben.Marsh UGS: Fix notification window containing the group fix for each build type. Change 3892400 by Ben.Marsh UGS: Shrink the size of the alert panel. Change 3892496 by Ben.Marsh UGS: Dim badges for changes which aren't eligable for syncing. Change 3893932 by Steve.Robb Re-removal of SetShouldHandleAsWeakRef, which was originally removed in CL# 3437205. Change 3895872 by Ben.Marsh UGS: Show the stream name in tab labels by default. Change 3896366 by Ben.Marsh UGS: Automatically resize columns when the main window is resized, and allow specifying desired column widths for projects that have a large number of CIS badges. Columns are now resized proportionally, clamped to a minimum size. Columns will automatically expand up to a desired maximum size, though can be explicitly resized larger if necessary. Columns will not be resized if they are already larger than the window can show, or smaller than the window has space to show. Change 3896367 by Ben.Marsh UGS: UI tweaks - change and time columns are now centered, "Unknown" badge is displayed until a change's type has been determined, increase height of status panel. Change 3896425 by Ben.Marsh UGS: Speculative fix for race condition on clients displaying "under investigation" state. If the DB event is received before a change where an investigation is cancelled is polled from Perforce, we will exclude the resolve event from the list of active investigations. Change 3896461 by Ben.Marsh UGS: Add an option to allow setting a tint color to be applied to the status panel, to allow identifying streams more easily. To use, add a setting similar to the following to a project's Build/UnrealGameSync.ini file: [//UE4/Main/Samples/Games/ShooterGame/ShooterGame.uproject] StatusPanelColor=#dcdcf0 Change 3899530 by Ben.Marsh Add unified syntax for overriding branch specific settings. Checks branch settings first, then [Default] section. Change 3901164 by Ben.Marsh UGS: Add a class to store all the resources for the status panel. Change 3901165 by Graeme.Thornton TBA: Attempt #2 at submitting the text asset saving code. SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter. Minimal amount of structured archive serialization functions added to allow this data to be written Change 3901301 by Ben.Marsh UGS: Add support for reading the latest version of the project config file from Perforce. Some settings should be read depending on the CL you are synced to (eg. build steps), whereas others (MOTD, branch status) should always use the latest version. Will read the local version if checked out, to allow testing local changes. Change 3902454 by Ben.Marsh UGS: Fix logo not being redrawn in the correct position when starting to sync. Change 3903416 by Ben.Marsh UGS: Group badges explicitly through INI file rather than by expecting name to contain ':'. Change 3904154 by Josh.Engebretson Adding Breakpad to ThirdParty sources (Git Commit: 49907e1c3457570f56d959ae26dec6c3a5edd417 https://chromium.googlesource.com/breakpad/breakpad) #jira UE-55442 Change 3904648 by Ben.Marsh UGS: Remove files from the workspace that are excluded by the sync filter. The user's config file stores a hash of the last sync filter. During syncing, if this hash doesn not match the previous value, we enumerate all the files in the #have list and remove anything masked out by the filter. #jira UE-47335 Change 3905442 by Steve.Robb Change of the ConvertFromType() multi-bool return value to a more descriptive enum. Some return values here do not make sense - this is because the existing logic is being preserved and will be fixed in a separate change. Change 3905629 by Ben.Marsh UGS: Fix race condition between two child processes starting on different threads, and inheriting the other's intended stdout/stderr pipes. This prevents pipes being closed when one of the child processes shuts down, and causes waits on the read ends of those pipes to continue indefinitely. Change 3906447 by Steve.Robb Rename EConvertFromTypeResult enumerators. Change 3906574 by Steve.Robb Crash fix for container conversion failure during tagged property import. Change 3909255 by Daniel.Lamb Fixed issue with DLCpackaging crashing on windows #jira UE-42880 #test EngineTest windows Change 3909270 by Steve.Robb Seek instead of skipping bad properties byte-by-byte. Change 3909324 by Steve.Robb Use switch statement instead of repeated if/else. Change 3909525 by Ben.Marsh UGS: Use the StudioEditor target when syncing content-only Enterprise projects. Change 3911754 by Daniel.Lamb Fix for building pak patches. #jira UE-55340 Change 3911942 by Robert.Manuszewski Fixing an ensure when MediaPlayer is being constructed from any thread other than the main one. Change 3913067 by Ben.Marsh UGS: Allow workspace sync filter categories to re-enable categories that are disabled by the global filter. Change 3913209 by Ben.Marsh UGS: Fix incorrect target name when compiling Enterprise projects. Change 3917358 by Steve.Robb Fix for GetLen(FString). Change 3919610 by Ben.Marsh Put data for CrashReportClient in a PAK file of its own (under Engine/Programs/CrashReportClient/Content/Paks/CrashReportClient.pak). There are a large number of small files required for it to run with loose files, which takes a lot of space on disk (due to cluster sizes), and is unweildy to move around. CrashReporter UFS files are tracked in a separate dictionary to regular UFS files to allow construction of the additional PAK file. Change 3921002 by Ben.Marsh UGS: Add option for syncing all projects in a branch. Off by default. Also add support for masking in additional paths to be synced (eg. one or two extra projects). Change 3921008 by Ben.Marsh UGS: Prevent pause waiting for mutual exclusivity when syncing precompiled binaries. We don't need to generate project files or build, so there's no need to wait in line. Change 3921906 by Steve.Robb New interpolation functions for quaternions. https://udn.unrealengine.com/questions/419028/quaternion-interp-to-functions.html Change 3921978 by Graeme.Thornton TBA: Make "Loader" member of FLinkerLoad private to prevent use outside of FLinkerLoad. This archive could be something unexpected if the linker is for a text asset package, so we need to stop people accessing it. Change 3924520 by Graeme.Thornton UnrealPak: Improve encryption summary log messages Change 3924522 by Graeme.Thornton UAT: Add *Encryption.ini to the list of auto-blacklisted config filenames Change 3924604 by Graeme.Thornton UnrealPak: If encryption keys are parsed and fail the encrypt/decrypt test, throw a fatal error. The exectutable will have those same keys embedded so there is no point allowing the paks to be created with broken keys. Change 3924638 by Graeme.Thornton Crypto: Improvements to parsing of old fashioned encryption.ini settings: - AES keys that are too long or short (need to be 32 bytes) will now emit a warning when being parsed, and be truncated or expanded before adding to the crypto settings. - Signing keys will emit an error when they are too long (>64bytes) - Unrealpak will still assert when invalid settings are passed via the other mechanisms (command line or -encryptionini mode). Settings via the crypto json file should now be sanitized and not cause issues #jira UE-55080 Change 3924747 by Steve.Robb Fix for degrees. Change 3925459 by Chad.Garyet Adding check to not to attempt to delete autosdk workspace if it doesn't already exist. Change 3926703 by Ben.Marsh BuildGraph: Include the path to the XML file when displaying an XML parse error. Change 3926917 by Ben.Marsh UBT: Allow overriding the name of the UE4 solution on a branch-specific basis. Useful for switching between multiple UE4 workspaces. Also add support to the editor and UGS for opening the correct solution (determined via a text file saved to Engine/Intermediate/ProjectFiles). Set the solution name using an entry in BuildConfiguration.xml as follows: <ProjectFileGenerator> <MasterProjectName>UE4_Main</MasterProjectName> </ProjectFileGenerator> Change 3927683 by Graeme.Thornton UAT: When building with chunk installs enabled, don't generate the master manifest from each pak creation thread. Just do it once after all pak files have been created. Avoids intermittent crash with multiple threads trying to write the same json file. Change 3928111 by Ben.Marsh UBT: Add an option <bMasterProjectNameFromFolder> which allows setting the solution name based on the folder that it's in. Change 3928926 by Ben.Marsh BuildGraph: Add support for enumerating content copied by the <CsCompile> task. Also add support for invoking methods on string properties. Change 3931041 by Graeme.Thornton TBA: Add option to textasset commandlet to also include engine content in a resave Change 3931043 by Graeme.Thornton TBA: Redirect some more FArchive members in FArchiveProxy Change 3931913 by Ben.Marsh UGS: Do not create a modal dialog if a scheduled sync is unable to run because the editor is open, and do not run the editor after a scheduled sync. #jira UE-47368 Change 3932419 by Ben.Marsh UGS: Allow selecting which projects to sync on schedule. Any projects not already opened at the time the schedule is triggered will be opened first. #jira UE-33541 Change 3932483 by Ben.Marsh PR #3949: UnrealGameSync: Add environment path field to custom BuildStep (Contributed by frankie-dipietro-epic) Change 3932624 by Ben.Marsh UGS: Add an error dialog when trying to clean the workspace before closing the editor. #jira UE-42308 Change 3932679 by Ben.Marsh UGS: Add the date/time to the end of the sync log. #jira UE-33540 Change 3932705 by Ben.Marsh UGS: Prompt to close the editor before allowing the user to enter a changelist to sync to, when syncing to a specific changelist. #jira UE-53182 Change 3933318 by Ben.Marsh UGS: Detect more programs running before allowing a sync to start, show a dialog listing them, and add an option to ignore if necessary. #jira UE-33535, UE-53914 Change 3933840 by Graeme.Thornton TBA: When loading assets, only use structured archive adapters for exports when loading text files. Change 3936040 by Ben.Marsh UGS: Rewrite application lifecycle to fix issues with scheduled syncs on background windows not activating, and window jumping to the front after auto-update. Now uses a custom application context to allow creating separate 'main' windows (first the "opening projects" form, then the regular form), and does not require any forms to be shown in order to be updating in the background. #jira UE-52870 Change 3940230 by Robert.Manuszewski Fixes for FilenameToLongPackageName crashes when runnign commandlets Change 3940240 by Graeme.Thornton Automated cycling of encryption and signing keys Change 3940243 by Graeme.Thornton UAT: CryptoKeys automation script Change 3940321 by Ben.Marsh UGS: Add a "Bisect" mode for regressing bugs between a certain range of changes. To use, select a range of changes by holding down the shift key or individual changes by holidng the control key, then right click and select "Bisect these changes". Individual changes in the list can be marked as "Bisect: Pass" or "Bisect: Fail" from the context menu, and syncing will find the next change in the center of the range. Change 3940538 by Ben.Marsh UBT: Always determine whether a project is a foreign project or not from the valid .uprojectdirs entries, rather than relying on the user passing -game on the command line. Change 3941285 by Gil.Gribb UE4 - Removed PRAGMA_DISABLE_OPTIMIZATION from PlatformFileCommon.h. It was an oversight. #jira none Change 3942404 by Graeme.Thornton Pak Signing: - Unify naming of pak precacher and signedarchivereader signature check functions to make it easier to search for them in crash reporter - Format the signedarchivereader output to match the pak precacher - When signedarchivereader detects a signature check, do the same master signature hash check that the pak precacher does to confirm that the .sig file contents haven't been corrupted since load. - Add PAK_SIGNATURE_CHECK_FAILS_ARE_FATAL guarded exit to signedarchivereader signature failure - Optimization for pakprecacher signature checks. Instead of locking the cached files mutex for every decoded signature, take a local copy in blocks of 16. Only re-lock if we need more. Grab the initial batch when setting up. In most cases, reduces the number of locks to 1 per signature check call. Change 3942825 by Ben.Marsh UAT: Allow passing -Project<N>=Foo.uproject arguments to the MegaXGE commandlet (eg. -Target1="ShooterGame Win64 Development" -Project1="D:\ShooterGame\ShooterGame.uproject") so it can be used from an installed engine build. Change 3942839 by Ben.Marsh UBT: Explicitly query the number of logical processors in the system, to fix Environment.ProcessorCount just returning the number available to the .NET framework. For machines with > 64 cores, processors in a different processor group will not be included in this number. Change 3943153 by Ben.Marsh Use the correct logical processor count in ParallelExecutor. Change 3943210 by Ben.Marsh UGS: Add an option to the editor arguments window that allows prompting before launching the editor. Change 3943329 by Ben.Marsh UGS: Tweak appearance of bisect mode; now shows slightly transparent version of pass/fail icons, and includes remaining CL range in status panel. Change 3944294 by Ben.Marsh UGS: Prompt for confirmation before removing any files from the workspace. Change 3945283 by Ben.Marsh UGS: Add support for project-specific connection settings, and detection of Perforce login tickets expiring. Change 3945325 by Ben.Marsh PR #4558: Changed incorrect obsolete message for ReceiptPropertyList in Modules.cs (Contributed by ryanjon2040) Change 3947359 by Graeme.Thornton TBA: Fixes to loading code to allow bulk data to get a pointer from its loader archive to an archive that it can load from at a later date. For binary archives, this is just a pointer back to the same archive, but for text assets it is a pointer to a "child reader" which maintains its own structured archive that is scoped to the current location in the file. Change 3947360 by Graeme.Thornton TBA: Added RoundTrip mode to text asset commandlet. Performs determinism tests in project assets to see whether they save deterministically to binary and text files, and also when they are ping-ponged between the two formats. Change 3949431 by Graeme.Thornton TBA: Refactored string escaping code in json output formatter FString serializer into a common function which is now used by FName and UObject path serialization too. Fixes some odd cases where an FName contained quotation marks Change 3950843 by Ben.Marsh UBT: Add a better error if an XML config file is corrupt. Change 3952504 by Steve.Robb GitHub #4545 : UE-55924: CaseSensitive token recognition #jira UE-55961 #jira UE-55924 Change 3952707 by Graeme.Thornton Make RandInit(...) log message verbose Change 3954694 by Ben.Marsh BuildGraph: Add support for user-defined macros, which can contain a list of buildgraph commands and be expanded within a node. Example script in Engine/Build/Graph/Examples/Macros.xml. To define a Macro, use the syntax: <Macro Name="MyTestMacro" Arguments="PrintFirstMessage;PrintSecondMessage" OptionalArguments="PrintThirdMessage"> <Log Message="First message" If="$(PrintFirstMessage)"/> <Log Message="Second message" If="$(PrintSecondMessage)"/> <Log Message="Third message" If="'$(PrintThirdMessage)' == 'true'"/> </Macro> To expand a macro, use the syntax: <Expand Name="MyTestMacro" PrintFirstMessage="true" PrintSecondMessage="true"/> An error will be thrown if any required arguments are missing. Optional arguments default to empty if not specified. Tasks within a macro are validated by the schema at the point of definition using the same rules as apply to a <Node> element, but properties are not evaluated until the macro is expanded. This allows macros to get and set properties in scope at the point that it is expanded. Local properties that are introduced within a macro do not otherwise leak to the scope that they are expanded. Change 3954695 by Ben.Marsh PR #4582: Fixed incorrect condition in StagedFileSystemReference.cs (Contributed by moadib) #jira UE-56283 Change 3954961 by Ben.Marsh UBT: Fix issues caused by toolchain assuming that the editor target will be the name of the project with an "Editor" suffix. This is not necessarily the case; the launcher will allow you to instantiate a project with any name, and it will not rename the target files. #jira UE-56040 Change 3955785 by Steve.Robb GitHub #4546 : Don't discard errors from zlib inflate #jira UE-55969 Change 3955940 by Steve.Robb Redundant and confusing macro check removed. Change 3956809 by Ben.Marsh Guard against project paths passed on the command line to UBT being treated as project names. Previous code used to just take the first, which would mask this problem. Change 3959590 by Steve.Robb Useless IsIntrinsic constant and COMPILED_IN_INTRINSIC macro removed. Change 3959864 by Robert.Manuszewski Increasing the size of permanent object pool to fix warnings in cooked ShooterGame #jira UE-56001 Change 3960956 by Steve.Robb New ToCStr function which generically gets a TCHAR* from a 'string-like' argument. Change 3963628 by Ben.Marsh UBT: Fix intellisense issues caused by _API macros being defined as DLLIMPORT (imported symbols cause an error if they are defined). Generate intellisense macros with the -Monolithic argument to work around it. Change 3964349 by Ben.Marsh Move support for reading .modules files into FModuleManager, and always use it in modular builds. Pathway which discovers modules by filename only is no longer supported for simplicity, and due to platform-specific version checks being unreliable on any platforms other than Windows. Change 3964821 by Ben.Marsh Use a custom tool for deleting directories on Windows, to handle paths longer than MAX_PATH correctly. Change 3965269 by Ben.Marsh Add more [RequiresUniqueBuildEnvironment] attributes to target settings that modify the global environment. Change 3966554 by James.Hopkin #core Removed redundant cast Change 3966558 by James.Hopkin #core Removed redundant casts and changed some MakeShareables to MakeShared #robomerge #fortnite Change 3966754 by Ben.Marsh Always use the compiled-in app name when looking for a module manifest. Fixes issues with XGEControlWorker.exe being a renamed copy of ShaderCompileWorker.exe. Change 3967397 by Ben.Marsh Fix "copy local" files not being included in build products enumerated from C# projects. Remove files with "Embed Interop Types" from the output list. Change 3967664 by Ben.Marsh Update UGS solution to use Visual Studio 2017. Change 3967838 by Ben.Marsh Couple of fixes to conform scripts. Change 3968767 by Ben.Marsh Compile the name of the module manifest into the executable via a define explicitly set by UBT, rather than guessing at runtime. Change 3968771 by Ben.Marsh Fix compiled-in engine path being subject to macro expansion. #jira UE-56504 Change 3968886 by Robert.Manuszewski Merging 3914301: Remove any references we had added to the GGCObjectReferencer during Init Change 3968978 by Steve.Robb FString->FName fixes for module names in HotReload. Change 3969019 by Steve.Robb Minor refactor of property skipping logic in SerializeTaggedProperties(). Change 3969041 by Steve.Robb Simplification of Build.version filename construction. Change 3969049 by Steve.Robb Always do rolling names when recompiling in editor, because an unloaded module may still actually by loaded-but-abandoned by the executable. This also removes HotReload's dependence on FModuleManager::GetCleanModuleFilename(). #jira UE-52405 Change 3969120 by Ben.Marsh Enable errors for using undefined identifiers in conditional expressions by default. Change 3969161 by Ben.Marsh Remove log line that should only be included in the log. Change 3969216 by Steve.Robb Dump a list of module names - rather than DLL filenames - when the editor detects modules which need recompiling. This removes the only remaining use of FModuleManager::GetCleanModuleFilename(), which is also now removed. #jira UE-52405 Change 3969346 by Steve.Robb Missed some bad FScript(Map/Set)Helper usage from CL# 3698969. Change 3969598 by Ben.Marsh Fix warning from VS2017. Change 3971101 by Graeme.Thornton TBA: Added RoundTrip mode to TextAsset commandlet which does a sequence of saves and checks for determinism. It will do 3 binary saves, 3 text saves, then 3 alternate binary->text saves. Change 3971407 by Ben.Marsh UBT: Fix exception when enumerating toolchains if the directory does not exist yet. Change 3971523 by Graeme.Thornton Make compressed block offsets in a pak file store offsets relative to the file header, rather than absolute. Reduces the amount of entropy when data changes in the pak file, making it play nicely with patching Change 3971613 by Ben.Marsh Fix Lightmass non-unity compile errors. Change 3971649 by Ben.Marsh Disable optimization around FTickerObjectBase constructor on Win32 due to ICE. Change 3971829 by Ben.Marsh Fix deprecated header warning from PVS Studio. Change 3972503 by Ben.Marsh Changes to build failure notifications: * Only people that submitted between builds with different error messages will be included on emails by default. * Email subject line will be different for each failing build step, but will include the CL of the first failing step. This will result in one thread for each build failure (a success email is sent with the same subject line). * Anyone that starts a build will be included on all failure emails. Change 3972732 by Ben.Marsh Changes to ensure notification messages are stable. Change 3972810 by Ben.Marsh Write debug information about the digest computed for a change, to assist with debugging it if it's not stable. Change 3973331 by Ben.Marsh Fix missing dependency on linker response file. Prevents target being relinked when build environment changes. Change 3973343 by Ben.Marsh PR #4612: Adding support for PVS-Studio settings file to PVS-Studio Unreal Build Tool toolchain. (Contributed by PaulEremeeff) Change 3973820 by Ben.Marsh Fix incorrect error message when unable to find Visual C++ install directory. Change 3974295 by Robert.Manuszewski Made sure that lazy object pointers are only fixed up for PIE in actual PIE worlds. Change 3975336 by Robert.Manuszewski CIS fix after the last merge from main Change 3976999 by Ben.Marsh Move the Windows stack size settings onto the WindowsTargetRules object, and add the [RequiresUniqueBuildEnvironment] attribute to ensure it's not overwritten incorrectly. This should cause CIS to better errors for compiling Odin editor. Change 3977934 by Ben.Marsh UBT: Allow setting additional compiler/linker arguments through properties on the TargetRules object. Change 3977953 by Ben.Marsh UBT: Enumerate all Visual Studio 2017 install locations using the Visual Studio Setup interop SDK. Multiple simultaneous Visual Studio installations are now supported, and using registry keys to determine installation directories has been deprecated. Allows choosing toolchains from preview versions as well as full versions. Change 3978544 by Ben.Marsh UBT: Include verbose timing information from compiler frontend if using VS2017 15.7 preview 2 or later. Change 3978780 by Ben.Marsh Add Visual C++ 2017 redist files to AppLocalDependencies, and update the prereq installer to include 2017 support DLLs. Change 3979313 by Ben.Marsh UBT: Add the EngineDirectory property to ModuleRules. Makes it easier to find paths to files under the engine folder. Change 3980499 by Ben.Marsh UBT: Automatically enable /DEBUG:FASTLINK if we're using the VS2017 15.7 toolchain or newer and not doing a formal build. This contains fixes for debugger OOM issues present in older versions. Change 3980890 by Ben.Marsh UBT: Update project file generator to support VS2017 solution options file; fixes C# projects being opened by default when generating new project files. Change 3981495 by Ben.Marsh Do not include embedded interop assemblies in the list of references required by a C# project; they are not required build products. #jira UE-54343 Change 3982157 by Ben.Marsh Only output a warning message if BuildConfiguration.xml schema validation fails; we may have settings that only apply to code in another branch. Change 3982239 by Ben.Marsh Update tooltip directing users to install Visual Studio 2017 instead of 2015. Change 3983395 by Graeme.Thornton Fix reference to BUILD_VERSION in BootstrapPackagedGame RC file Change 3983523 by Graeme.Thornton Backwards compatibility for pak files with compressed chunk offsets Change 3983769 by Ben.Marsh UAT: Allow using PDBCOPY.EXE installed as part of the Windows 10 SDK to strip symbols, and add a better message if it can't be found. Change 3984529 by Ben.Marsh BuildGraph: When run with the -Preprocess=... argument, no steps will be executed. Change 3984557 by Ben.Marsh BuildGraph: Return the updated patterns from FilePattern.CreateMapping(), so we can print accurate messages when displaying the source and target directories for a copy or move task. Change 3986520 by Ben.Marsh Remove hacks to uniquify response file name on Android and Linux. Change 3987166 by Steve.Robb Allow overloading of functions which take TFunctions or TFunctionRefs with mutually exclusive signatures. Change 3989061 by Graeme.Thornton TBA: Text asset loading/saving work - Start using FStructuredArchive flavours of UObject Serialize functions when loading and saving exports. - Only use FStructuredArchive interface for text assets, and for classes that have the CLASS_MatchingSerializers which tells us that the class can serialize to both FStructuredArchives and FArchives. - Add GetCacheableArchive to FArchive, which allows transient archives to return a pointer to another archive that will outlive it. Used by bulk data to get a pointer to an archive that can be held and used at a later time to lazy load things. For text assets where the bulk data might be held inside a base64 encoded FArchiveFromStructuredArchive block, we can't dynamically seek back to that location after the on-stack wrapper has been destroyed after the original serialize, so this will return null. For binary assets, we just return a pointer to the same binary archive which can be used freely. Change 3989109 by Graeme.Thornton TBA: TextAsset commandlet emits a warning when binary package determinism fails Change 3990823 by Ben.Marsh UGS: Allow project settings to specify a client path rather than a filesystem path. Not currently usable through UI. Change 3990832 by Ben.Marsh UGS: Make the schedule window resizable. Change 3991569 by Steve.Robb GitHub #4636 : Fixed typo in HeaderParser.cpp for "missed WithValidation keyword" error message Change 3991970 by Steve.Robb Fix for 4096 char limit on FParse::Value. Change 3992222 by Steve.Robb Advice added to the coding standard for using default member initializers. Change 3993675 by Ben.Marsh UGS: Add UI to allow creating new workspaces and selecting projects from existing workspaces that are not currently synced. Change 3994199 by Ben.Marsh UGS: Fix child processes being unable to spawn other child processes with the CREATE_BREAKAWAY_FROM_JOB flag, to add them to their own job objects. In Windows 7 or earlier job objects cannot be nested, so child processes have to create separate job objects and spawn processes with CREATE_BREAKAWAY_FROM_JOB to be able to add them. This fails unless parent process' job object was created with JOB_OBJECT_LIMIT_BREAKAWAY_OK. Discussed here: https://msdn.microsoft.com/en-us/library/windows/desktop/hh448388(v=vs.85).aspx Change 3994243 by Ben.Marsh UGS: Use the select stream dialog instead of displaying a drop list unless there's a stream filter specified. We have way too many streams for this to be useful in a menu unless it's filtered. Change 3994260 by Ben.Marsh UGS: Tweak the stream filter dialog to only use the previous selected node if the filter terms match. It may be a parent node of something that matches, even though it doesn't match itself. Change 3994350 by Ben.Marsh UGS: Automatically guess the correct root path for new workspaces based on the most common existing workspaces for the current user. Change 3995159 by Ben.Marsh UGS: Do not delete files which are outside the sync filter. People expect to be able to sync different projects within a stream without having to update sync filters. Indend to re-introduce this functionality through the manual 'clean workspace' operation. Change 3995169 by Ben.Marsh UGS: Show options as dimmed in the open project dialog, if the radio button for those controls is not checked. Automatically set the radio button if the focus is given to one of those controls. Change 3995228 by Ben.Marsh UGS: Update recently opened projects list when editing project for an existing tab. Change 3995312 by Ben.Marsh UGS: Stop showing all dialogs in the taskbar. Change 3995929 by Robert.Manuszewski Completely rewritten FReferenceChainSearch class used by 'obj refs' command. - 3+ times faster - Uses the same code as GC to track all the references down - Actually reports all reference chains properly - Less code that is more readable than the previous version Change 3995981 by Ben.Marsh UGS: Clean workspace window will now force-sync files that have been deleted or which are writable. Change 3996113 by Ben.Marsh UGS: Fix crash upgrading config files from older versions. Change 3997990 by Ben.Marsh UGS: Prevent error when syncing an empty workspace. Change 3998095 by Ben.Marsh UGS: Change logic for dealing with job objects: rather than creating breakaway jobs (requires co-operation with spawning process), always try to use nested job objects (requires Windows 8.1+). If it fails, ignore the error if we're already part of a job. Also forcibly terminate the process on dispose to handle cases where the job object wasn't created. Change 3998264 by Ben.Marsh UGS: Fix exception when switching projects in-place. Change 3998643 by Ben.Marsh Fix shared DDC not being used for installed engine builds. #jira UE-57631 Change 4000266 by Ben.Marsh UnrealPak: Add an option that allows rebuilding a set of PAK files with different settings. Usage is: UnrealPak [PakFile] -Repack [-Output=FileOrDirectory] [Options] The input pak file may be a single file or wildcard, and is overwritten unless the -Output parameter is specified. Change 4000293 by Ben.Marsh Add a compression flag that allows selecting compressor without using the default platform implementation. Change 4000315 by Ben.Marsh Add support for custom compressors implemented via modular features. Specify -compressor=<PathToDll> on the command line to UnrealPak to load a compressor from an external DLL. Change 4000610 by Ben.Marsh UnrealPak: Add a parameter for compression block size (-compressionblocksize=XXX). Accepts arguments with MB/KB suffixes, as well as byte counts. Change 4000627 by Ben.Marsh UBT: Include enabled plugin info in the UBT log. Change 4000793 by Ben.Marsh UBT: Remove some member variables from VCEnvironment that don't need to be stored. Change 4000909 by Ben.Marsh UBT: Add VS2017 installations to the list of paths checked for MSBuild installations. Change 4001923 by Ben.Marsh UBT: Allow any plugins which are enabled by default to be included in the enabled list, even if they don't have any modules for the current platform. This changes the build-time logic to match the runtime logic. At some point in the future we may add a separate SupportedHostPlatforms list to each plugin to do this explicitly, rather than guessing via the per-module whitelist. Change 4001927 by Ben.Marsh Fixes for compiling against the Windows 10 SDK. Change 4002439 by Robert.Manuszewski Added TDefaultReferenceCollector and FSimpleReferenceProcessorBase to extract common code for clients of TFastReferenceCollector Change 4003508 by Ben.Marsh UGS: Fix new workspaces not having the correct owner and host set. Change 4003622 by Ben.Marsh UGS: Add support for "skipped" as a build result. Change 4004049 by Robert.Manuszewski Significantly improved performance of Reference Chain Search for objects that are nested deep in the object hierarchy Change 4005077 by Ben.Marsh UGS: Update version number. Change 4005112 by Ben.Marsh UBT: Reduce number of times a target has to be constructed while generating project files. Change 4005513 by Ben.Marsh UBT: Reduce number of checks for directories existing when adding include paths to a module. Accounted for 40% of runtime time when generating project files. Change 4005516 by Ben.Marsh UBT: Add warnings whenever a module adds an include path or library path that doesn't exist Change 4006168 by Ben.Marsh CIS fixes. Change 4006236 by Ben.Marsh UGS: Populate the workspace name/root directory text box with the cue banner when focus moves to the control. Change 4006266 by Ben.Marsh UGS: Swap around the new workspace/existing file boxes on the open project dialog. Change 4006552 by Ben.Marsh If staging fails because a restricted folder name is found, include a list of them in the error message. Change 4007397 by Steve.Robb Comments added to make it clear that GetAllocatedSize() only counts direct allocations made by the container. Change 4007458 by Ben.Marsh UBT: Change RPC utility to abort early, rather than continue to try to build even though SSH init failed. Change 4009343 by Ben.Marsh UGS: Set the rmdir option on new workspaces by default. Change 4009501 by Ben.Marsh UBT: Add Windows include paths to the compiler command line, rather than setting through environment variables. This ensures that incremental builds work correctly when SDK versions change. Change 4009509 by Ben.Marsh UBT: Check in a non-versioned directory under the Windows 10 SDK for the resource compiler. Change 4010543 by Ben.Marsh Remove the "Device" and "Simulator" platform groups, because they're unused and overly generic for folder names. Also remove source code for the HTML5 simulator (which is no longer supported). Change 4010553 by Ben.Marsh UAT: Include platform groups in restricted folder names when staging. Change 4012030 by Ben.Marsh UGS: Increase the size of the main window, and set the current stream as the default when creating a new workspace. Change 4012204 by Chad.Garyet - Cleanup to get the POSTs returning 400s the same way the GETs would (now no longer returns the exception text) - Create directory for sqlite db if it doesn't exist #jira none Change 4014209 by Brandon.Schaefer New changes in breakpad dump_syms to allow for producing a symbol file for elf files on windows #review-3998840 @Arciel.Rekman, @Ben.Marsh, @Josh.Engebreston, @Anthony.Bills Change 4015606 by Brandon.Schaefer Missed a code project that needed updating for new Breakpad changes for Mac Change 4017795 by Robert.Manuszewski GC assumption verification should now be 3-4x faster. - Refactored Disregard For GC to use TFastReferenceCollector - Move both Disregard For GC and Cluster verification code to separate source files Change 4020381 by Ben.Marsh Add link to the new official doc page for UnrealGameSync. Change 4020665 by Ben.Marsh UBT: Prevent plugins being precompiled if they don't support the current target platform. Change 4021829 by Ben.Marsh Update message about downloading a new version of Visual Studio. Change 4022063 by Ben.Marsh UBT: Suppress toolchain output when generating project files. Change 4023248 by Ben.Marsh Install an unhandled exception filter to ensure we get crash reports from threads that are not spawned by the engine. At the moment, we only receive crashes that are routed through ReportCrash() via our structured exception handlers in WinMain() and FRunnableThreadWin::Run(). (Also fix an exception within the exception handler, if GError has not been created yet) Change 4025759 by Ben.Marsh Fix universal CRT include paths not being added to compile environment for VS2015. Change 4026002 by Ben.Marsh UBT: Check the old registry locations for the Windows SDK installation directory. Change 4026068 by Ben.Marsh UBT: Use the correct compiler version in the error message for not having the UCRT. Change 4026181 by Ben.Marsh Fix DebugGame editor configurations not enumerating modules correctly. #jira UE-58153 Change 4026285 by Ben.Marsh UBT: Add additional logging for enumerating Windows SDKs. Change 4026708 by Ben.Marsh UBT: Keep a separate list of installed Universal CRT versions to the list of Windows 10 SDK versions. It's possible to install C++ support without the Windows 10 SDK, which still includes UCRT files in Windows 10 SDK folders. Change 4029404 by Ben.Marsh Remove incorrect include paths to fix CIS warnings. Change 4031517 by Steve.Robb Fix for UHT errors not being clickable in the Message Log. #jira UE-58173 Change 4031544 by Ben.Marsh Fix errors building asset catalog for IOS due to modifying shared build environment. #jira UE-58240 Change 4032227 by Ben.Marsh BuildGraph: Print out a warning message when trying to submit without the -Submit argument in BuildGraph. Change 4032262 by Ben.Marsh BuildGraph: Remove the need to copy files to the staging directory in BuildEditorAndTools.xml. Change 4032288 by Ben.Marsh Remove UFE from the BuildEditorAndTools script. 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 3838569 by Steve.Robb Algo moved up a folder. Change 3848581 by Robert.Manuszewski Changing the UObjectArray to not be allocated up front but in 64K-FUObjectItem chunks. This is to fix strange OOM reports on editor startup where it's trying to allocate space for 1M+ FUObjectItems. #jira UE-49446 Change 3864743 by Steve.Robb Fix for buffer overrun when copying a context string. Fix for being unable to link to MallocLeakDetection. Fix to prefix for FMallocLeakDetection::ContextString. New MALLOCLEAK_SCOPED_CONTEXT macro to push/pop a context string. Overload for const TCHAR* added to FMallocLeakDetection::PushContext to save on redundant memory allocations. #jira UE-54612 Change 3865020 by Graeme.Thornton TBA: Changed FIELD_NAME macro to FIELD_NAME_TEXT so that FIELD_NAME can be used for non-literal name definitions Change 3869550 by Josh.Engebretson New SymGen and SymUpload tasks (ShooterGame usage example) Example C# symbolicator (using saved crash and data router formats) Updates for stack walking and crash runtime xml on Windows/Mac Change 3905453 by Steve.Robb USE_TUPLE_AUTO_RETURN_TYPES moved to PLATFORM_COMPILER_HAS_DECLTYPE_AUTO. Change 3910012 by Ben.Marsh UGS: Show an error window and allow setting default P4 server settings if syncing UGS fails. Change 3920044 by Graeme.Thornton TBA: Text asset loading * Added a structured archive layer to FLinkerLoad * Wrapped export loading in a ArchiveUObjectFromStructuredArchive * Updated TextAssetCommandlet to have a "loadtext" mode which will try to load every text asset in the project content * Changed text asset extensions to .utextasset and .utextmap. Couldn't go with the favourite .uasset.json because our various path functions (FPaths::GetCleanFilename etc.) will only strip one layer of extension, so leave a bogus filename. * Relaxed a few checks in structured archive where it was checking for field reentrance, which isn't a problem for loading. * Changed FArchiveFromStructuredArchive to not load all referenced objects at construction time. This introduced some changes to load order which don't work in the engine. Object names are resolved at the point that a reference to them is serialized from the main data block, same as with legacy archives. Change 3921587 by Steve.Robb Static asserts inside ensureMsgf() macros to prevent them being passed invalid arguments or non-literal formatting strings. Fixes for various misuses. #jira UE-55681 Change 3942873 by Ben.Marsh UBT: Allow link time code generation on any configurations where bAllowLTCG is set to true. Microsoft platforms were previously only allowing this option in shipping; the target can decide when to enable it or not. Change 3944629 by Graeme.Thornton Merging back a couple of fixes from Fortnite - Extra parenthesis around some calculations in the pakprecacher - Changed FChunkCacheWorker::DoSignatureCheck() back to ::CheckSignature() - Added documentation for build script crypto options Change 3945381 by Ben.Marsh Disable warning C4770 on Windows (partially validated enum 'xxx' used as index), which occurs when enabling LTCG. Can't find a reference online for this warning, but I suspect it's due to LTCG allowing the compiler to trace code paths where we don't validate that an enum is a known value. Change 3968969 by Steve.Robb Fixes to incorrect uses of FScriptMapHelper and FScriptSetHelper, which weren't accounting for gaps in the sparse array. Change 3969417 by Ben.Marsh Make Visual Studio 2017 the default compiler for UE4 projects, and add support using Visual C++ toolchains from an AutoSDKs. Also add support for selecting a specific toolchain version to use through the WindowsPlatform.CompilerVersion property, which can be configured via a Target.cs files or BuildConfiguration.xml (eg. <WindowsPlatform><CompilerVersion>14.13.26128</CompilerVersion></WindowsPlatform). As well as allowing a specific version number, you can always use the latest toolchain by setting it to "Latest". Change 3972443 by Ben.Marsh Change build scripts to allow running any steps on non-compile workspaces. Setup Dev-Core to just use a non-compile Win64 workspace for everything. Change 3977198 by Ben.Marsh Remove INI file override for editor stack size on Windows. This is rarely valid since editor targets share build products with other games by deafult. Fix to add linker response file as prerequisite exposed targets overriding this as a bug. Change 3979632 by Ben.Marsh Consolidate codepaths for embedding versioning information in the engine. Engine/Build/Build.version is now the authoritative place to read version information; Engine/Source/Runtime/Launch/Resources/Version.h no longer includes macros for the current branch and changelist. * Settings from Build.version are compiled into the (tiny) BuildSettings module via macros set in BuildSettings.build.cs, which is used to initialize version information inside the engine at runtime. * The IsPromotedBuild value is now set to zero by default (but set to 1 by the UpdateLocalVersion UAT command). * The -Licensee argument to the UpdateLocalVersion UAT command, and the IsLicenseeVersion setting for UnrealGameSync, is determined automatically by looking for the Engine/Build/NotForLicensees/EpicInternal.txt file. This path is not visible to licensees. Change 3981738 by Ben.Marsh Move utility classes for filtering files and matching wildcards into DotNETUtilities. Change 3983888 by Steve.Robb Warning C4868 disabled, about evaluation order of braced initializer lists. https://udn.unrealengine.com/questions/426081/help-with-error-c4868-braced-initializers.html Change 3984019 by Steve.Robb FString::Printf formatting argument checking added. Vararg support for FText::Format. All remaining usage fixed. Change 3985502 by Steve.Robb Change to TFunction debugger visualization to allow right-clicking on the [Lambda] and selecting 'Go To Source Code'. Change 3985999 by Graeme.Thornton TBA: Serialize function generation for FArchive and FStructuredArchive overloads on a UObject, using UHT. - Adds a restriction that UObject::Serialize() functions MUST be declared outside of any conditional compilation directives, except for WITH_EDITORONLY_DATA Change 3986461 by Ben.Marsh Fixup lots of platforms not adding response files as a prerequisite. This can cause incremental builds to fail if input files/compile arguments change, because the action graph does not know that the response file being updated invalidates the build artifacts. Change 3990081 by Ben.Marsh Remove custom output formatters for errors and warnings. These are not well supported by different executors, and cause fences between actions with the same formatter with external executors like XGE. Clang supports -fdiagnostics-format=msvc for all platforms, which should do a better job than our crude attempts at regexing errors (causing botched output in some cases). Change 3996714 by Chad.Garyet UGSRestAPI, conversion of UGS to use it. #jira none Change 4008287 by Ben.Marsh UBT: Change the engine to use the Windows 10 SDK by default. Also add support for switching between specific Windows SDK versions. The WindowsPlatform.WindowsSdkVersion property in the target rules can be used to select a desired version, which can also be configured by the <WindowsPlatform><WindowsSdkVersion>Foo</WindowsSdkVersion></WindowsPlatform> parameter in the BuildConfiguration.xml file. The version of Windows to target (ie. the WINVER macro) can be modified by setting WindowsPlatform.TargetWindowsVersion. The default is 0x0601 (Windows 7). Change 4008516 by Chad.Garyet - Adding support for both SQLite and MsSql - API now reads from only MsSql, but writes to both - Added support for POST to CIS for badges - PostBadgeStatus now writes out via API Url rather than a direct connection to the DB #jira none Change 4010296 by Chad.Garyet Moving SQLite db initilization into Application_Start. An exception thrown creating or seeding the db will unload the entire AppDomain and all pages will return a 404. #jira none Change 4024045 by Ben.Marsh Set the list of supported target platforms for OnlineSubsystemGameCircle. #jira UE-57887 Change 4031014 by Ben.Marsh UAT: Add a WhitelistDirectories list in DefaultEngine.ini, which allows specifying folders that can be staged despite having restricted folder names. [CL 4034515 by Ben Marsh in Main branch]
2018-04-26 14:11:04 -04:00
/// </summary>
public List<StagedDirectoryReference> DirectoriesAllowList = new List<StagedDirectoryReference>();
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 4034418) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3851142 by Robert.Manuszewski When BP clustering is enabled, make sure to add the template to the BP cluster when replacing it. Change 3853797 by Ben.Marsh BuildGraph: Add a <Trace> element, which allows logging messages after the string is parsed (as opposed to the Log task, which logs them at runtime). Useful for debugging macro expansion, etc... Also add a -showdiagnostics parameter, to have diagnostic messages output even when running with the -listonly option. Change 3857540 by Graeme.Thornton Properly process the uexp file for a umap asset when generating a pak patch. Stop those uexp files being included in the patch even when they haven't changed Change 3860062 by Steve.Robb Fix for FString::Reset()'s buffer not being an empty null-terminated string (affects FString::ParseIntoArray, for example). Change 3860138 by Steve.Robb Fix for FString::ParseIntoArray() for when string memory has been allocated but has no characters. Change 3860273 by Steve.Robb Tidy up of FHotReloadClassReinstancer::FCDOWriter to not do stuff in constructors. Change 3863203 by Steve.Robb Crash fix for UObjects whose constructors are defined as = default;, which would re-null the UObject state (ClassPrivate, OuterPrivate etc.). See: https://udn.unrealengine.com/questions/412930/crash-due-to-default-constructor.html Change 3864588 by Graeme.Thornton Crypto Keys Improvements - Removed UAT command line params for encryption. Centrally configured by the editor settings now. - UAT staging now creates a small json file containing the keys and settings used for encryption and signing and stores it in the build metadata - Minor refactoring of UAT encryption processing to use the new cryptokeys json file - UnrealPak can be told to get its encryption settings from a json crypto file with the "-CryptoKeys=<filename>" - UnrealPak can now accept a "PatchCryptoKeys=<filename" parameter which gives it a filename to a cryptokeys json file that it can use to unpack the patch reference paks Change 3864691 by Robert.Manuszewski Don't add objects that are in root set to GC clusters to prevent them from keeping the clusters alive forever. Change 3864744 by Robert.Manuszewski Added the ability to get the actual filename of the log file FOutputDeviceFile writes to. Change 3864816 by Graeme.Thornton TBA: Minor formatting improvements to textasset commandlet Change 3868939 by Graeme.Thornton TBA: If -outputPath isn't supplied to TextAsset commandlet, output converted files to the {ProjectSaved}/TextAssets directory Change 3869031 by Graeme.Thornton TBA: Changed timing logs in TextAsset commandlet to be Display so we can see them in the EC log Change 3871802 by Steve.Robb Class cast flags and property flags are now visible in the debugger. Change 3871863 by Robert.Manuszewski Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage. Change 3874413 by Steve.Robb Algo::MinElement and Algo::MaxElement, for finding the minimum and maximum element in a range, and *By versions which take projections. TRangePointerType moved to its own file and used in Algo::MinElement and Algo::MaxElement. Change 3874457 by Ben.Marsh When spawning child processes, only allow them to inherit the writable ends of the stderr and stdout pipe. Fixes an issue related to AutomationTool hanging when the editor closes after running automation tests. The editor launches ADB.EXE (Android Debug Bridge) on editor startup, which forks itself to initialize a server. Even though the child process has its own stdout and stderr pipes, it also inherits the pipes for the editor. When run from C#, as we do for automation tests, Process.WaitForExit() waits for all pipes to be closed before returning. This can't happen if the forked ADB instance still has a reference to the editor's pipes. Change 3876435 by Robert.Manuszewski Don't add root set objects to level actor container to prevent situations where clusters are kept alive forever Change 3878762 by Robert.Manuszewski Fixing potential LinkerLoad leak when a package that still has a linker associated with it is being destroyed. Change 3878850 by Robert.Manuszewski SerializePreloadDependencies will now serialize raw data into the array instead of serializing one element at a time to speed up serialization performance. Change 3881331 by Graeme.Thornton TBA: SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter Change 3886983 by Ben.Marsh UGS: Fix notification window not expanding to fit long captions. Change 3887006 by Ben.Marsh UGS: Change modal dialog to regular window style to avoid weird alignment issues under Windows 10. Change 3887500 by Ben.Marsh UGS: Add support for grouping build badges by a prefix. Badges such as "Foo:Bar1", "Foo:Bar2" will be grouped together (with "Foo:" stripped from the displayed badge names). Also add a separate column showing the type of each change, rather than including it in the CIS column, and change badges to a more angular Windows 10 style. Change 3887513 by Ben.Marsh UGS: Fix badge text drawing outside the clipping bounds. Change 3888010 by Josh.Engebretson Fix UVS logging to UnrealVersionSelector/Saved/Logs and instead use project's log path #jira none Change 3888418 by Ben.Marsh UGS: Add a cache for computed badge layout information. Improves responsiveness when redrawing. Change 3889457 by Steve.Robb GitHub #4457 : Display abbreviations properly when converting FNames to display string #jira UE-54611 Change 3889547 by Ben.Marsh UGS: Add an extensible method for adding arbitrary badges to the right of the "description" column, by running a regular expression over the changelist description. Epic uses a "#tag" style annotations in changelist descriptions and Perforce triggers to verify them. "#jira" is used to link a changelist to an issue tracked in Jira, for example. A matcher to add a badge next to every changelist with a #jira tag, and link to the corresponding issue in Jira, could be set up with an addition to the project's Build/UnrealGameSync.ini file like this: [Badges] +DescriptionBadges=(Pattern="(?i)#\\s*jira\\s*:?\\s+([A-Za-z]+-[0-9]+)", Name="$1", Group="Jira", Color="#c0c0c0", HoverColor="#e0e0e0", Url="https://jira.it.epicgames.net/browse/$1") The "Pattern" attribute specifies the regex to match, and may capture portions of the matched text to be substituted later. "Label" specifies the label to appear on the badge. "Group" specifies an arbitrary identifier used to group related badges together rather than separating them with whitespace. "Color" and "HoverColor" specify hex RGB colors for the badges. "Url" specifies the path to open with a C# Process.Open call if the badge is clicked. Change 3889726 by Ben.Marsh UGS: Fix description badges that don't have any associated URL. Change 3889995 by Ben.Marsh UGS: Fix issue where popup menus can create top level windows in the taskbar. Seemlingly caused by capturing mouse before the window has been activated - removed capture code, and replaced with handling of OnMouseLeave() event instead. Change 3890007 by Ben.Marsh UGS: Add a caption underneath the project logo which shows the current stream, to make it more obvious. Change 3890057 by Ben.Marsh UGS: Fix repainting glitch when resizing window; bounds for status panel lines was not being reset correctly. Change 3891069 by Robert.Manuszewski Fixing a crash in MallocBinned2 when running with malloc profiler enabled. Change 3891084 by Steve.Robb Back out changelist 3881331 because it's causing cook errors. Change 3891100 by Ben.Marsh UGS: Add support for a per-branch "message of the day"-style feature. Messages can be specified in a project's config file in Perforce (eg. <ProjectDir>/Build/UnrealGameSync.ini) as follows: [//UE4/Main/Samples/Games/ShooterGame.uproject] Message=:alert: Lockdown for fixes is **5pm on Friday**. Only fixes for the 2.0 release should be submitted to this branch. [34 issues](https://jira.it.epicgames.net) are remaining as of 2/15. A limited subset of Markdown is supported: [web links](http://www.google.com), *italic*, _italic_, **bold**, __bold__. Icons will be supported through :icon: syntax; the only icon currently available is :alert: Change 3891346 by Steve.Robb TSharedPtr::operator bool, and some usage of it. Change 3891787 by Steve.Robb Fix for buffer overflow in FDebug::LogFormattedMessageWithCallstack(). Change 3892379 by Ben.Marsh UGS: Fix notification window containing the group fix for each build type. Change 3892400 by Ben.Marsh UGS: Shrink the size of the alert panel. Change 3892496 by Ben.Marsh UGS: Dim badges for changes which aren't eligable for syncing. Change 3893932 by Steve.Robb Re-removal of SetShouldHandleAsWeakRef, which was originally removed in CL# 3437205. Change 3895872 by Ben.Marsh UGS: Show the stream name in tab labels by default. Change 3896366 by Ben.Marsh UGS: Automatically resize columns when the main window is resized, and allow specifying desired column widths for projects that have a large number of CIS badges. Columns are now resized proportionally, clamped to a minimum size. Columns will automatically expand up to a desired maximum size, though can be explicitly resized larger if necessary. Columns will not be resized if they are already larger than the window can show, or smaller than the window has space to show. Change 3896367 by Ben.Marsh UGS: UI tweaks - change and time columns are now centered, "Unknown" badge is displayed until a change's type has been determined, increase height of status panel. Change 3896425 by Ben.Marsh UGS: Speculative fix for race condition on clients displaying "under investigation" state. If the DB event is received before a change where an investigation is cancelled is polled from Perforce, we will exclude the resolve event from the list of active investigations. Change 3896461 by Ben.Marsh UGS: Add an option to allow setting a tint color to be applied to the status panel, to allow identifying streams more easily. To use, add a setting similar to the following to a project's Build/UnrealGameSync.ini file: [//UE4/Main/Samples/Games/ShooterGame/ShooterGame.uproject] StatusPanelColor=#dcdcf0 Change 3899530 by Ben.Marsh Add unified syntax for overriding branch specific settings. Checks branch settings first, then [Default] section. Change 3901164 by Ben.Marsh UGS: Add a class to store all the resources for the status panel. Change 3901165 by Graeme.Thornton TBA: Attempt #2 at submitting the text asset saving code. SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter. Minimal amount of structured archive serialization functions added to allow this data to be written Change 3901301 by Ben.Marsh UGS: Add support for reading the latest version of the project config file from Perforce. Some settings should be read depending on the CL you are synced to (eg. build steps), whereas others (MOTD, branch status) should always use the latest version. Will read the local version if checked out, to allow testing local changes. Change 3902454 by Ben.Marsh UGS: Fix logo not being redrawn in the correct position when starting to sync. Change 3903416 by Ben.Marsh UGS: Group badges explicitly through INI file rather than by expecting name to contain ':'. Change 3904154 by Josh.Engebretson Adding Breakpad to ThirdParty sources (Git Commit: 49907e1c3457570f56d959ae26dec6c3a5edd417 https://chromium.googlesource.com/breakpad/breakpad) #jira UE-55442 Change 3904648 by Ben.Marsh UGS: Remove files from the workspace that are excluded by the sync filter. The user's config file stores a hash of the last sync filter. During syncing, if this hash doesn not match the previous value, we enumerate all the files in the #have list and remove anything masked out by the filter. #jira UE-47335 Change 3905442 by Steve.Robb Change of the ConvertFromType() multi-bool return value to a more descriptive enum. Some return values here do not make sense - this is because the existing logic is being preserved and will be fixed in a separate change. Change 3905629 by Ben.Marsh UGS: Fix race condition between two child processes starting on different threads, and inheriting the other's intended stdout/stderr pipes. This prevents pipes being closed when one of the child processes shuts down, and causes waits on the read ends of those pipes to continue indefinitely. Change 3906447 by Steve.Robb Rename EConvertFromTypeResult enumerators. Change 3906574 by Steve.Robb Crash fix for container conversion failure during tagged property import. Change 3909255 by Daniel.Lamb Fixed issue with DLCpackaging crashing on windows #jira UE-42880 #test EngineTest windows Change 3909270 by Steve.Robb Seek instead of skipping bad properties byte-by-byte. Change 3909324 by Steve.Robb Use switch statement instead of repeated if/else. Change 3909525 by Ben.Marsh UGS: Use the StudioEditor target when syncing content-only Enterprise projects. Change 3911754 by Daniel.Lamb Fix for building pak patches. #jira UE-55340 Change 3911942 by Robert.Manuszewski Fixing an ensure when MediaPlayer is being constructed from any thread other than the main one. Change 3913067 by Ben.Marsh UGS: Allow workspace sync filter categories to re-enable categories that are disabled by the global filter. Change 3913209 by Ben.Marsh UGS: Fix incorrect target name when compiling Enterprise projects. Change 3917358 by Steve.Robb Fix for GetLen(FString). Change 3919610 by Ben.Marsh Put data for CrashReportClient in a PAK file of its own (under Engine/Programs/CrashReportClient/Content/Paks/CrashReportClient.pak). There are a large number of small files required for it to run with loose files, which takes a lot of space on disk (due to cluster sizes), and is unweildy to move around. CrashReporter UFS files are tracked in a separate dictionary to regular UFS files to allow construction of the additional PAK file. Change 3921002 by Ben.Marsh UGS: Add option for syncing all projects in a branch. Off by default. Also add support for masking in additional paths to be synced (eg. one or two extra projects). Change 3921008 by Ben.Marsh UGS: Prevent pause waiting for mutual exclusivity when syncing precompiled binaries. We don't need to generate project files or build, so there's no need to wait in line. Change 3921906 by Steve.Robb New interpolation functions for quaternions. https://udn.unrealengine.com/questions/419028/quaternion-interp-to-functions.html Change 3921978 by Graeme.Thornton TBA: Make "Loader" member of FLinkerLoad private to prevent use outside of FLinkerLoad. This archive could be something unexpected if the linker is for a text asset package, so we need to stop people accessing it. Change 3924520 by Graeme.Thornton UnrealPak: Improve encryption summary log messages Change 3924522 by Graeme.Thornton UAT: Add *Encryption.ini to the list of auto-blacklisted config filenames Change 3924604 by Graeme.Thornton UnrealPak: If encryption keys are parsed and fail the encrypt/decrypt test, throw a fatal error. The exectutable will have those same keys embedded so there is no point allowing the paks to be created with broken keys. Change 3924638 by Graeme.Thornton Crypto: Improvements to parsing of old fashioned encryption.ini settings: - AES keys that are too long or short (need to be 32 bytes) will now emit a warning when being parsed, and be truncated or expanded before adding to the crypto settings. - Signing keys will emit an error when they are too long (>64bytes) - Unrealpak will still assert when invalid settings are passed via the other mechanisms (command line or -encryptionini mode). Settings via the crypto json file should now be sanitized and not cause issues #jira UE-55080 Change 3924747 by Steve.Robb Fix for degrees. Change 3925459 by Chad.Garyet Adding check to not to attempt to delete autosdk workspace if it doesn't already exist. Change 3926703 by Ben.Marsh BuildGraph: Include the path to the XML file when displaying an XML parse error. Change 3926917 by Ben.Marsh UBT: Allow overriding the name of the UE4 solution on a branch-specific basis. Useful for switching between multiple UE4 workspaces. Also add support to the editor and UGS for opening the correct solution (determined via a text file saved to Engine/Intermediate/ProjectFiles). Set the solution name using an entry in BuildConfiguration.xml as follows: <ProjectFileGenerator> <MasterProjectName>UE4_Main</MasterProjectName> </ProjectFileGenerator> Change 3927683 by Graeme.Thornton UAT: When building with chunk installs enabled, don't generate the master manifest from each pak creation thread. Just do it once after all pak files have been created. Avoids intermittent crash with multiple threads trying to write the same json file. Change 3928111 by Ben.Marsh UBT: Add an option <bMasterProjectNameFromFolder> which allows setting the solution name based on the folder that it's in. Change 3928926 by Ben.Marsh BuildGraph: Add support for enumerating content copied by the <CsCompile> task. Also add support for invoking methods on string properties. Change 3931041 by Graeme.Thornton TBA: Add option to textasset commandlet to also include engine content in a resave Change 3931043 by Graeme.Thornton TBA: Redirect some more FArchive members in FArchiveProxy Change 3931913 by Ben.Marsh UGS: Do not create a modal dialog if a scheduled sync is unable to run because the editor is open, and do not run the editor after a scheduled sync. #jira UE-47368 Change 3932419 by Ben.Marsh UGS: Allow selecting which projects to sync on schedule. Any projects not already opened at the time the schedule is triggered will be opened first. #jira UE-33541 Change 3932483 by Ben.Marsh PR #3949: UnrealGameSync: Add environment path field to custom BuildStep (Contributed by frankie-dipietro-epic) Change 3932624 by Ben.Marsh UGS: Add an error dialog when trying to clean the workspace before closing the editor. #jira UE-42308 Change 3932679 by Ben.Marsh UGS: Add the date/time to the end of the sync log. #jira UE-33540 Change 3932705 by Ben.Marsh UGS: Prompt to close the editor before allowing the user to enter a changelist to sync to, when syncing to a specific changelist. #jira UE-53182 Change 3933318 by Ben.Marsh UGS: Detect more programs running before allowing a sync to start, show a dialog listing them, and add an option to ignore if necessary. #jira UE-33535, UE-53914 Change 3933840 by Graeme.Thornton TBA: When loading assets, only use structured archive adapters for exports when loading text files. Change 3936040 by Ben.Marsh UGS: Rewrite application lifecycle to fix issues with scheduled syncs on background windows not activating, and window jumping to the front after auto-update. Now uses a custom application context to allow creating separate 'main' windows (first the "opening projects" form, then the regular form), and does not require any forms to be shown in order to be updating in the background. #jira UE-52870 Change 3940230 by Robert.Manuszewski Fixes for FilenameToLongPackageName crashes when runnign commandlets Change 3940240 by Graeme.Thornton Automated cycling of encryption and signing keys Change 3940243 by Graeme.Thornton UAT: CryptoKeys automation script Change 3940321 by Ben.Marsh UGS: Add a "Bisect" mode for regressing bugs between a certain range of changes. To use, select a range of changes by holding down the shift key or individual changes by holidng the control key, then right click and select "Bisect these changes". Individual changes in the list can be marked as "Bisect: Pass" or "Bisect: Fail" from the context menu, and syncing will find the next change in the center of the range. Change 3940538 by Ben.Marsh UBT: Always determine whether a project is a foreign project or not from the valid .uprojectdirs entries, rather than relying on the user passing -game on the command line. Change 3941285 by Gil.Gribb UE4 - Removed PRAGMA_DISABLE_OPTIMIZATION from PlatformFileCommon.h. It was an oversight. #jira none Change 3942404 by Graeme.Thornton Pak Signing: - Unify naming of pak precacher and signedarchivereader signature check functions to make it easier to search for them in crash reporter - Format the signedarchivereader output to match the pak precacher - When signedarchivereader detects a signature check, do the same master signature hash check that the pak precacher does to confirm that the .sig file contents haven't been corrupted since load. - Add PAK_SIGNATURE_CHECK_FAILS_ARE_FATAL guarded exit to signedarchivereader signature failure - Optimization for pakprecacher signature checks. Instead of locking the cached files mutex for every decoded signature, take a local copy in blocks of 16. Only re-lock if we need more. Grab the initial batch when setting up. In most cases, reduces the number of locks to 1 per signature check call. Change 3942825 by Ben.Marsh UAT: Allow passing -Project<N>=Foo.uproject arguments to the MegaXGE commandlet (eg. -Target1="ShooterGame Win64 Development" -Project1="D:\ShooterGame\ShooterGame.uproject") so it can be used from an installed engine build. Change 3942839 by Ben.Marsh UBT: Explicitly query the number of logical processors in the system, to fix Environment.ProcessorCount just returning the number available to the .NET framework. For machines with > 64 cores, processors in a different processor group will not be included in this number. Change 3943153 by Ben.Marsh Use the correct logical processor count in ParallelExecutor. Change 3943210 by Ben.Marsh UGS: Add an option to the editor arguments window that allows prompting before launching the editor. Change 3943329 by Ben.Marsh UGS: Tweak appearance of bisect mode; now shows slightly transparent version of pass/fail icons, and includes remaining CL range in status panel. Change 3944294 by Ben.Marsh UGS: Prompt for confirmation before removing any files from the workspace. Change 3945283 by Ben.Marsh UGS: Add support for project-specific connection settings, and detection of Perforce login tickets expiring. Change 3945325 by Ben.Marsh PR #4558: Changed incorrect obsolete message for ReceiptPropertyList in Modules.cs (Contributed by ryanjon2040) Change 3947359 by Graeme.Thornton TBA: Fixes to loading code to allow bulk data to get a pointer from its loader archive to an archive that it can load from at a later date. For binary archives, this is just a pointer back to the same archive, but for text assets it is a pointer to a "child reader" which maintains its own structured archive that is scoped to the current location in the file. Change 3947360 by Graeme.Thornton TBA: Added RoundTrip mode to text asset commandlet. Performs determinism tests in project assets to see whether they save deterministically to binary and text files, and also when they are ping-ponged between the two formats. Change 3949431 by Graeme.Thornton TBA: Refactored string escaping code in json output formatter FString serializer into a common function which is now used by FName and UObject path serialization too. Fixes some odd cases where an FName contained quotation marks Change 3950843 by Ben.Marsh UBT: Add a better error if an XML config file is corrupt. Change 3952504 by Steve.Robb GitHub #4545 : UE-55924: CaseSensitive token recognition #jira UE-55961 #jira UE-55924 Change 3952707 by Graeme.Thornton Make RandInit(...) log message verbose Change 3954694 by Ben.Marsh BuildGraph: Add support for user-defined macros, which can contain a list of buildgraph commands and be expanded within a node. Example script in Engine/Build/Graph/Examples/Macros.xml. To define a Macro, use the syntax: <Macro Name="MyTestMacro" Arguments="PrintFirstMessage;PrintSecondMessage" OptionalArguments="PrintThirdMessage"> <Log Message="First message" If="$(PrintFirstMessage)"/> <Log Message="Second message" If="$(PrintSecondMessage)"/> <Log Message="Third message" If="'$(PrintThirdMessage)' == 'true'"/> </Macro> To expand a macro, use the syntax: <Expand Name="MyTestMacro" PrintFirstMessage="true" PrintSecondMessage="true"/> An error will be thrown if any required arguments are missing. Optional arguments default to empty if not specified. Tasks within a macro are validated by the schema at the point of definition using the same rules as apply to a <Node> element, but properties are not evaluated until the macro is expanded. This allows macros to get and set properties in scope at the point that it is expanded. Local properties that are introduced within a macro do not otherwise leak to the scope that they are expanded. Change 3954695 by Ben.Marsh PR #4582: Fixed incorrect condition in StagedFileSystemReference.cs (Contributed by moadib) #jira UE-56283 Change 3954961 by Ben.Marsh UBT: Fix issues caused by toolchain assuming that the editor target will be the name of the project with an "Editor" suffix. This is not necessarily the case; the launcher will allow you to instantiate a project with any name, and it will not rename the target files. #jira UE-56040 Change 3955785 by Steve.Robb GitHub #4546 : Don't discard errors from zlib inflate #jira UE-55969 Change 3955940 by Steve.Robb Redundant and confusing macro check removed. Change 3956809 by Ben.Marsh Guard against project paths passed on the command line to UBT being treated as project names. Previous code used to just take the first, which would mask this problem. Change 3959590 by Steve.Robb Useless IsIntrinsic constant and COMPILED_IN_INTRINSIC macro removed. Change 3959864 by Robert.Manuszewski Increasing the size of permanent object pool to fix warnings in cooked ShooterGame #jira UE-56001 Change 3960956 by Steve.Robb New ToCStr function which generically gets a TCHAR* from a 'string-like' argument. Change 3963628 by Ben.Marsh UBT: Fix intellisense issues caused by _API macros being defined as DLLIMPORT (imported symbols cause an error if they are defined). Generate intellisense macros with the -Monolithic argument to work around it. Change 3964349 by Ben.Marsh Move support for reading .modules files into FModuleManager, and always use it in modular builds. Pathway which discovers modules by filename only is no longer supported for simplicity, and due to platform-specific version checks being unreliable on any platforms other than Windows. Change 3964821 by Ben.Marsh Use a custom tool for deleting directories on Windows, to handle paths longer than MAX_PATH correctly. Change 3965269 by Ben.Marsh Add more [RequiresUniqueBuildEnvironment] attributes to target settings that modify the global environment. Change 3966554 by James.Hopkin #core Removed redundant cast Change 3966558 by James.Hopkin #core Removed redundant casts and changed some MakeShareables to MakeShared #robomerge #fortnite Change 3966754 by Ben.Marsh Always use the compiled-in app name when looking for a module manifest. Fixes issues with XGEControlWorker.exe being a renamed copy of ShaderCompileWorker.exe. Change 3967397 by Ben.Marsh Fix "copy local" files not being included in build products enumerated from C# projects. Remove files with "Embed Interop Types" from the output list. Change 3967664 by Ben.Marsh Update UGS solution to use Visual Studio 2017. Change 3967838 by Ben.Marsh Couple of fixes to conform scripts. Change 3968767 by Ben.Marsh Compile the name of the module manifest into the executable via a define explicitly set by UBT, rather than guessing at runtime. Change 3968771 by Ben.Marsh Fix compiled-in engine path being subject to macro expansion. #jira UE-56504 Change 3968886 by Robert.Manuszewski Merging 3914301: Remove any references we had added to the GGCObjectReferencer during Init Change 3968978 by Steve.Robb FString->FName fixes for module names in HotReload. Change 3969019 by Steve.Robb Minor refactor of property skipping logic in SerializeTaggedProperties(). Change 3969041 by Steve.Robb Simplification of Build.version filename construction. Change 3969049 by Steve.Robb Always do rolling names when recompiling in editor, because an unloaded module may still actually by loaded-but-abandoned by the executable. This also removes HotReload's dependence on FModuleManager::GetCleanModuleFilename(). #jira UE-52405 Change 3969120 by Ben.Marsh Enable errors for using undefined identifiers in conditional expressions by default. Change 3969161 by Ben.Marsh Remove log line that should only be included in the log. Change 3969216 by Steve.Robb Dump a list of module names - rather than DLL filenames - when the editor detects modules which need recompiling. This removes the only remaining use of FModuleManager::GetCleanModuleFilename(), which is also now removed. #jira UE-52405 Change 3969346 by Steve.Robb Missed some bad FScript(Map/Set)Helper usage from CL# 3698969. Change 3969598 by Ben.Marsh Fix warning from VS2017. Change 3971101 by Graeme.Thornton TBA: Added RoundTrip mode to TextAsset commandlet which does a sequence of saves and checks for determinism. It will do 3 binary saves, 3 text saves, then 3 alternate binary->text saves. Change 3971407 by Ben.Marsh UBT: Fix exception when enumerating toolchains if the directory does not exist yet. Change 3971523 by Graeme.Thornton Make compressed block offsets in a pak file store offsets relative to the file header, rather than absolute. Reduces the amount of entropy when data changes in the pak file, making it play nicely with patching Change 3971613 by Ben.Marsh Fix Lightmass non-unity compile errors. Change 3971649 by Ben.Marsh Disable optimization around FTickerObjectBase constructor on Win32 due to ICE. Change 3971829 by Ben.Marsh Fix deprecated header warning from PVS Studio. Change 3972503 by Ben.Marsh Changes to build failure notifications: * Only people that submitted between builds with different error messages will be included on emails by default. * Email subject line will be different for each failing build step, but will include the CL of the first failing step. This will result in one thread for each build failure (a success email is sent with the same subject line). * Anyone that starts a build will be included on all failure emails. Change 3972732 by Ben.Marsh Changes to ensure notification messages are stable. Change 3972810 by Ben.Marsh Write debug information about the digest computed for a change, to assist with debugging it if it's not stable. Change 3973331 by Ben.Marsh Fix missing dependency on linker response file. Prevents target being relinked when build environment changes. Change 3973343 by Ben.Marsh PR #4612: Adding support for PVS-Studio settings file to PVS-Studio Unreal Build Tool toolchain. (Contributed by PaulEremeeff) Change 3973820 by Ben.Marsh Fix incorrect error message when unable to find Visual C++ install directory. Change 3974295 by Robert.Manuszewski Made sure that lazy object pointers are only fixed up for PIE in actual PIE worlds. Change 3975336 by Robert.Manuszewski CIS fix after the last merge from main Change 3976999 by Ben.Marsh Move the Windows stack size settings onto the WindowsTargetRules object, and add the [RequiresUniqueBuildEnvironment] attribute to ensure it's not overwritten incorrectly. This should cause CIS to better errors for compiling Odin editor. Change 3977934 by Ben.Marsh UBT: Allow setting additional compiler/linker arguments through properties on the TargetRules object. Change 3977953 by Ben.Marsh UBT: Enumerate all Visual Studio 2017 install locations using the Visual Studio Setup interop SDK. Multiple simultaneous Visual Studio installations are now supported, and using registry keys to determine installation directories has been deprecated. Allows choosing toolchains from preview versions as well as full versions. Change 3978544 by Ben.Marsh UBT: Include verbose timing information from compiler frontend if using VS2017 15.7 preview 2 or later. Change 3978780 by Ben.Marsh Add Visual C++ 2017 redist files to AppLocalDependencies, and update the prereq installer to include 2017 support DLLs. Change 3979313 by Ben.Marsh UBT: Add the EngineDirectory property to ModuleRules. Makes it easier to find paths to files under the engine folder. Change 3980499 by Ben.Marsh UBT: Automatically enable /DEBUG:FASTLINK if we're using the VS2017 15.7 toolchain or newer and not doing a formal build. This contains fixes for debugger OOM issues present in older versions. Change 3980890 by Ben.Marsh UBT: Update project file generator to support VS2017 solution options file; fixes C# projects being opened by default when generating new project files. Change 3981495 by Ben.Marsh Do not include embedded interop assemblies in the list of references required by a C# project; they are not required build products. #jira UE-54343 Change 3982157 by Ben.Marsh Only output a warning message if BuildConfiguration.xml schema validation fails; we may have settings that only apply to code in another branch. Change 3982239 by Ben.Marsh Update tooltip directing users to install Visual Studio 2017 instead of 2015. Change 3983395 by Graeme.Thornton Fix reference to BUILD_VERSION in BootstrapPackagedGame RC file Change 3983523 by Graeme.Thornton Backwards compatibility for pak files with compressed chunk offsets Change 3983769 by Ben.Marsh UAT: Allow using PDBCOPY.EXE installed as part of the Windows 10 SDK to strip symbols, and add a better message if it can't be found. Change 3984529 by Ben.Marsh BuildGraph: When run with the -Preprocess=... argument, no steps will be executed. Change 3984557 by Ben.Marsh BuildGraph: Return the updated patterns from FilePattern.CreateMapping(), so we can print accurate messages when displaying the source and target directories for a copy or move task. Change 3986520 by Ben.Marsh Remove hacks to uniquify response file name on Android and Linux. Change 3987166 by Steve.Robb Allow overloading of functions which take TFunctions or TFunctionRefs with mutually exclusive signatures. Change 3989061 by Graeme.Thornton TBA: Text asset loading/saving work - Start using FStructuredArchive flavours of UObject Serialize functions when loading and saving exports. - Only use FStructuredArchive interface for text assets, and for classes that have the CLASS_MatchingSerializers which tells us that the class can serialize to both FStructuredArchives and FArchives. - Add GetCacheableArchive to FArchive, which allows transient archives to return a pointer to another archive that will outlive it. Used by bulk data to get a pointer to an archive that can be held and used at a later time to lazy load things. For text assets where the bulk data might be held inside a base64 encoded FArchiveFromStructuredArchive block, we can't dynamically seek back to that location after the on-stack wrapper has been destroyed after the original serialize, so this will return null. For binary assets, we just return a pointer to the same binary archive which can be used freely. Change 3989109 by Graeme.Thornton TBA: TextAsset commandlet emits a warning when binary package determinism fails Change 3990823 by Ben.Marsh UGS: Allow project settings to specify a client path rather than a filesystem path. Not currently usable through UI. Change 3990832 by Ben.Marsh UGS: Make the schedule window resizable. Change 3991569 by Steve.Robb GitHub #4636 : Fixed typo in HeaderParser.cpp for "missed WithValidation keyword" error message Change 3991970 by Steve.Robb Fix for 4096 char limit on FParse::Value. Change 3992222 by Steve.Robb Advice added to the coding standard for using default member initializers. Change 3993675 by Ben.Marsh UGS: Add UI to allow creating new workspaces and selecting projects from existing workspaces that are not currently synced. Change 3994199 by Ben.Marsh UGS: Fix child processes being unable to spawn other child processes with the CREATE_BREAKAWAY_FROM_JOB flag, to add them to their own job objects. In Windows 7 or earlier job objects cannot be nested, so child processes have to create separate job objects and spawn processes with CREATE_BREAKAWAY_FROM_JOB to be able to add them. This fails unless parent process' job object was created with JOB_OBJECT_LIMIT_BREAKAWAY_OK. Discussed here: https://msdn.microsoft.com/en-us/library/windows/desktop/hh448388(v=vs.85).aspx Change 3994243 by Ben.Marsh UGS: Use the select stream dialog instead of displaying a drop list unless there's a stream filter specified. We have way too many streams for this to be useful in a menu unless it's filtered. Change 3994260 by Ben.Marsh UGS: Tweak the stream filter dialog to only use the previous selected node if the filter terms match. It may be a parent node of something that matches, even though it doesn't match itself. Change 3994350 by Ben.Marsh UGS: Automatically guess the correct root path for new workspaces based on the most common existing workspaces for the current user. Change 3995159 by Ben.Marsh UGS: Do not delete files which are outside the sync filter. People expect to be able to sync different projects within a stream without having to update sync filters. Indend to re-introduce this functionality through the manual 'clean workspace' operation. Change 3995169 by Ben.Marsh UGS: Show options as dimmed in the open project dialog, if the radio button for those controls is not checked. Automatically set the radio button if the focus is given to one of those controls. Change 3995228 by Ben.Marsh UGS: Update recently opened projects list when editing project for an existing tab. Change 3995312 by Ben.Marsh UGS: Stop showing all dialogs in the taskbar. Change 3995929 by Robert.Manuszewski Completely rewritten FReferenceChainSearch class used by 'obj refs' command. - 3+ times faster - Uses the same code as GC to track all the references down - Actually reports all reference chains properly - Less code that is more readable than the previous version Change 3995981 by Ben.Marsh UGS: Clean workspace window will now force-sync files that have been deleted or which are writable. Change 3996113 by Ben.Marsh UGS: Fix crash upgrading config files from older versions. Change 3997990 by Ben.Marsh UGS: Prevent error when syncing an empty workspace. Change 3998095 by Ben.Marsh UGS: Change logic for dealing with job objects: rather than creating breakaway jobs (requires co-operation with spawning process), always try to use nested job objects (requires Windows 8.1+). If it fails, ignore the error if we're already part of a job. Also forcibly terminate the process on dispose to handle cases where the job object wasn't created. Change 3998264 by Ben.Marsh UGS: Fix exception when switching projects in-place. Change 3998643 by Ben.Marsh Fix shared DDC not being used for installed engine builds. #jira UE-57631 Change 4000266 by Ben.Marsh UnrealPak: Add an option that allows rebuilding a set of PAK files with different settings. Usage is: UnrealPak [PakFile] -Repack [-Output=FileOrDirectory] [Options] The input pak file may be a single file or wildcard, and is overwritten unless the -Output parameter is specified. Change 4000293 by Ben.Marsh Add a compression flag that allows selecting compressor without using the default platform implementation. Change 4000315 by Ben.Marsh Add support for custom compressors implemented via modular features. Specify -compressor=<PathToDll> on the command line to UnrealPak to load a compressor from an external DLL. Change 4000610 by Ben.Marsh UnrealPak: Add a parameter for compression block size (-compressionblocksize=XXX). Accepts arguments with MB/KB suffixes, as well as byte counts. Change 4000627 by Ben.Marsh UBT: Include enabled plugin info in the UBT log. Change 4000793 by Ben.Marsh UBT: Remove some member variables from VCEnvironment that don't need to be stored. Change 4000909 by Ben.Marsh UBT: Add VS2017 installations to the list of paths checked for MSBuild installations. Change 4001923 by Ben.Marsh UBT: Allow any plugins which are enabled by default to be included in the enabled list, even if they don't have any modules for the current platform. This changes the build-time logic to match the runtime logic. At some point in the future we may add a separate SupportedHostPlatforms list to each plugin to do this explicitly, rather than guessing via the per-module whitelist. Change 4001927 by Ben.Marsh Fixes for compiling against the Windows 10 SDK. Change 4002439 by Robert.Manuszewski Added TDefaultReferenceCollector and FSimpleReferenceProcessorBase to extract common code for clients of TFastReferenceCollector Change 4003508 by Ben.Marsh UGS: Fix new workspaces not having the correct owner and host set. Change 4003622 by Ben.Marsh UGS: Add support for "skipped" as a build result. Change 4004049 by Robert.Manuszewski Significantly improved performance of Reference Chain Search for objects that are nested deep in the object hierarchy Change 4005077 by Ben.Marsh UGS: Update version number. Change 4005112 by Ben.Marsh UBT: Reduce number of times a target has to be constructed while generating project files. Change 4005513 by Ben.Marsh UBT: Reduce number of checks for directories existing when adding include paths to a module. Accounted for 40% of runtime time when generating project files. Change 4005516 by Ben.Marsh UBT: Add warnings whenever a module adds an include path or library path that doesn't exist Change 4006168 by Ben.Marsh CIS fixes. Change 4006236 by Ben.Marsh UGS: Populate the workspace name/root directory text box with the cue banner when focus moves to the control. Change 4006266 by Ben.Marsh UGS: Swap around the new workspace/existing file boxes on the open project dialog. Change 4006552 by Ben.Marsh If staging fails because a restricted folder name is found, include a list of them in the error message. Change 4007397 by Steve.Robb Comments added to make it clear that GetAllocatedSize() only counts direct allocations made by the container. Change 4007458 by Ben.Marsh UBT: Change RPC utility to abort early, rather than continue to try to build even though SSH init failed. Change 4009343 by Ben.Marsh UGS: Set the rmdir option on new workspaces by default. Change 4009501 by Ben.Marsh UBT: Add Windows include paths to the compiler command line, rather than setting through environment variables. This ensures that incremental builds work correctly when SDK versions change. Change 4009509 by Ben.Marsh UBT: Check in a non-versioned directory under the Windows 10 SDK for the resource compiler. Change 4010543 by Ben.Marsh Remove the "Device" and "Simulator" platform groups, because they're unused and overly generic for folder names. Also remove source code for the HTML5 simulator (which is no longer supported). Change 4010553 by Ben.Marsh UAT: Include platform groups in restricted folder names when staging. Change 4012030 by Ben.Marsh UGS: Increase the size of the main window, and set the current stream as the default when creating a new workspace. Change 4012204 by Chad.Garyet - Cleanup to get the POSTs returning 400s the same way the GETs would (now no longer returns the exception text) - Create directory for sqlite db if it doesn't exist #jira none Change 4014209 by Brandon.Schaefer New changes in breakpad dump_syms to allow for producing a symbol file for elf files on windows #review-3998840 @Arciel.Rekman, @Ben.Marsh, @Josh.Engebreston, @Anthony.Bills Change 4015606 by Brandon.Schaefer Missed a code project that needed updating for new Breakpad changes for Mac Change 4017795 by Robert.Manuszewski GC assumption verification should now be 3-4x faster. - Refactored Disregard For GC to use TFastReferenceCollector - Move both Disregard For GC and Cluster verification code to separate source files Change 4020381 by Ben.Marsh Add link to the new official doc page for UnrealGameSync. Change 4020665 by Ben.Marsh UBT: Prevent plugins being precompiled if they don't support the current target platform. Change 4021829 by Ben.Marsh Update message about downloading a new version of Visual Studio. Change 4022063 by Ben.Marsh UBT: Suppress toolchain output when generating project files. Change 4023248 by Ben.Marsh Install an unhandled exception filter to ensure we get crash reports from threads that are not spawned by the engine. At the moment, we only receive crashes that are routed through ReportCrash() via our structured exception handlers in WinMain() and FRunnableThreadWin::Run(). (Also fix an exception within the exception handler, if GError has not been created yet) Change 4025759 by Ben.Marsh Fix universal CRT include paths not being added to compile environment for VS2015. Change 4026002 by Ben.Marsh UBT: Check the old registry locations for the Windows SDK installation directory. Change 4026068 by Ben.Marsh UBT: Use the correct compiler version in the error message for not having the UCRT. Change 4026181 by Ben.Marsh Fix DebugGame editor configurations not enumerating modules correctly. #jira UE-58153 Change 4026285 by Ben.Marsh UBT: Add additional logging for enumerating Windows SDKs. Change 4026708 by Ben.Marsh UBT: Keep a separate list of installed Universal CRT versions to the list of Windows 10 SDK versions. It's possible to install C++ support without the Windows 10 SDK, which still includes UCRT files in Windows 10 SDK folders. Change 4029404 by Ben.Marsh Remove incorrect include paths to fix CIS warnings. Change 4031517 by Steve.Robb Fix for UHT errors not being clickable in the Message Log. #jira UE-58173 Change 4031544 by Ben.Marsh Fix errors building asset catalog for IOS due to modifying shared build environment. #jira UE-58240 Change 4032227 by Ben.Marsh BuildGraph: Print out a warning message when trying to submit without the -Submit argument in BuildGraph. Change 4032262 by Ben.Marsh BuildGraph: Remove the need to copy files to the staging directory in BuildEditorAndTools.xml. Change 4032288 by Ben.Marsh Remove UFE from the BuildEditorAndTools script. 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 3838569 by Steve.Robb Algo moved up a folder. Change 3848581 by Robert.Manuszewski Changing the UObjectArray to not be allocated up front but in 64K-FUObjectItem chunks. This is to fix strange OOM reports on editor startup where it's trying to allocate space for 1M+ FUObjectItems. #jira UE-49446 Change 3864743 by Steve.Robb Fix for buffer overrun when copying a context string. Fix for being unable to link to MallocLeakDetection. Fix to prefix for FMallocLeakDetection::ContextString. New MALLOCLEAK_SCOPED_CONTEXT macro to push/pop a context string. Overload for const TCHAR* added to FMallocLeakDetection::PushContext to save on redundant memory allocations. #jira UE-54612 Change 3865020 by Graeme.Thornton TBA: Changed FIELD_NAME macro to FIELD_NAME_TEXT so that FIELD_NAME can be used for non-literal name definitions Change 3869550 by Josh.Engebretson New SymGen and SymUpload tasks (ShooterGame usage example) Example C# symbolicator (using saved crash and data router formats) Updates for stack walking and crash runtime xml on Windows/Mac Change 3905453 by Steve.Robb USE_TUPLE_AUTO_RETURN_TYPES moved to PLATFORM_COMPILER_HAS_DECLTYPE_AUTO. Change 3910012 by Ben.Marsh UGS: Show an error window and allow setting default P4 server settings if syncing UGS fails. Change 3920044 by Graeme.Thornton TBA: Text asset loading * Added a structured archive layer to FLinkerLoad * Wrapped export loading in a ArchiveUObjectFromStructuredArchive * Updated TextAssetCommandlet to have a "loadtext" mode which will try to load every text asset in the project content * Changed text asset extensions to .utextasset and .utextmap. Couldn't go with the favourite .uasset.json because our various path functions (FPaths::GetCleanFilename etc.) will only strip one layer of extension, so leave a bogus filename. * Relaxed a few checks in structured archive where it was checking for field reentrance, which isn't a problem for loading. * Changed FArchiveFromStructuredArchive to not load all referenced objects at construction time. This introduced some changes to load order which don't work in the engine. Object names are resolved at the point that a reference to them is serialized from the main data block, same as with legacy archives. Change 3921587 by Steve.Robb Static asserts inside ensureMsgf() macros to prevent them being passed invalid arguments or non-literal formatting strings. Fixes for various misuses. #jira UE-55681 Change 3942873 by Ben.Marsh UBT: Allow link time code generation on any configurations where bAllowLTCG is set to true. Microsoft platforms were previously only allowing this option in shipping; the target can decide when to enable it or not. Change 3944629 by Graeme.Thornton Merging back a couple of fixes from Fortnite - Extra parenthesis around some calculations in the pakprecacher - Changed FChunkCacheWorker::DoSignatureCheck() back to ::CheckSignature() - Added documentation for build script crypto options Change 3945381 by Ben.Marsh Disable warning C4770 on Windows (partially validated enum 'xxx' used as index), which occurs when enabling LTCG. Can't find a reference online for this warning, but I suspect it's due to LTCG allowing the compiler to trace code paths where we don't validate that an enum is a known value. Change 3968969 by Steve.Robb Fixes to incorrect uses of FScriptMapHelper and FScriptSetHelper, which weren't accounting for gaps in the sparse array. Change 3969417 by Ben.Marsh Make Visual Studio 2017 the default compiler for UE4 projects, and add support using Visual C++ toolchains from an AutoSDKs. Also add support for selecting a specific toolchain version to use through the WindowsPlatform.CompilerVersion property, which can be configured via a Target.cs files or BuildConfiguration.xml (eg. <WindowsPlatform><CompilerVersion>14.13.26128</CompilerVersion></WindowsPlatform). As well as allowing a specific version number, you can always use the latest toolchain by setting it to "Latest". Change 3972443 by Ben.Marsh Change build scripts to allow running any steps on non-compile workspaces. Setup Dev-Core to just use a non-compile Win64 workspace for everything. Change 3977198 by Ben.Marsh Remove INI file override for editor stack size on Windows. This is rarely valid since editor targets share build products with other games by deafult. Fix to add linker response file as prerequisite exposed targets overriding this as a bug. Change 3979632 by Ben.Marsh Consolidate codepaths for embedding versioning information in the engine. Engine/Build/Build.version is now the authoritative place to read version information; Engine/Source/Runtime/Launch/Resources/Version.h no longer includes macros for the current branch and changelist. * Settings from Build.version are compiled into the (tiny) BuildSettings module via macros set in BuildSettings.build.cs, which is used to initialize version information inside the engine at runtime. * The IsPromotedBuild value is now set to zero by default (but set to 1 by the UpdateLocalVersion UAT command). * The -Licensee argument to the UpdateLocalVersion UAT command, and the IsLicenseeVersion setting for UnrealGameSync, is determined automatically by looking for the Engine/Build/NotForLicensees/EpicInternal.txt file. This path is not visible to licensees. Change 3981738 by Ben.Marsh Move utility classes for filtering files and matching wildcards into DotNETUtilities. Change 3983888 by Steve.Robb Warning C4868 disabled, about evaluation order of braced initializer lists. https://udn.unrealengine.com/questions/426081/help-with-error-c4868-braced-initializers.html Change 3984019 by Steve.Robb FString::Printf formatting argument checking added. Vararg support for FText::Format. All remaining usage fixed. Change 3985502 by Steve.Robb Change to TFunction debugger visualization to allow right-clicking on the [Lambda] and selecting 'Go To Source Code'. Change 3985999 by Graeme.Thornton TBA: Serialize function generation for FArchive and FStructuredArchive overloads on a UObject, using UHT. - Adds a restriction that UObject::Serialize() functions MUST be declared outside of any conditional compilation directives, except for WITH_EDITORONLY_DATA Change 3986461 by Ben.Marsh Fixup lots of platforms not adding response files as a prerequisite. This can cause incremental builds to fail if input files/compile arguments change, because the action graph does not know that the response file being updated invalidates the build artifacts. Change 3990081 by Ben.Marsh Remove custom output formatters for errors and warnings. These are not well supported by different executors, and cause fences between actions with the same formatter with external executors like XGE. Clang supports -fdiagnostics-format=msvc for all platforms, which should do a better job than our crude attempts at regexing errors (causing botched output in some cases). Change 3996714 by Chad.Garyet UGSRestAPI, conversion of UGS to use it. #jira none Change 4008287 by Ben.Marsh UBT: Change the engine to use the Windows 10 SDK by default. Also add support for switching between specific Windows SDK versions. The WindowsPlatform.WindowsSdkVersion property in the target rules can be used to select a desired version, which can also be configured by the <WindowsPlatform><WindowsSdkVersion>Foo</WindowsSdkVersion></WindowsPlatform> parameter in the BuildConfiguration.xml file. The version of Windows to target (ie. the WINVER macro) can be modified by setting WindowsPlatform.TargetWindowsVersion. The default is 0x0601 (Windows 7). Change 4008516 by Chad.Garyet - Adding support for both SQLite and MsSql - API now reads from only MsSql, but writes to both - Added support for POST to CIS for badges - PostBadgeStatus now writes out via API Url rather than a direct connection to the DB #jira none Change 4010296 by Chad.Garyet Moving SQLite db initilization into Application_Start. An exception thrown creating or seeding the db will unload the entire AppDomain and all pages will return a 404. #jira none Change 4024045 by Ben.Marsh Set the list of supported target platforms for OnlineSubsystemGameCircle. #jira UE-57887 Change 4031014 by Ben.Marsh UAT: Add a WhitelistDirectories list in DefaultEngine.ini, which allows specifying folders that can be staged despite having restricted folder names. [CL 4034515 by Ben Marsh in Main branch]
2018-04-26 14:11:04 -04:00
/// <summary>
/// Set of config files which are allow listed to be staged. By default, we warn for config files which are not well known to prevent internal data (eg. editor/server settings)
/// leaking in packaged builds. This list is read from the +WhitelistConfigFiles=... array in the [Staging] section of *Game.ini files.
/// </summary>
public HashSet<StagedFileReference> ConfigFilesAllowList = new HashSet<StagedFileReference>();
/// <summary>
/// Set of config files which are denied from staging. By default, we warn for config files which are not well known to prevent internal data (eg. editor/server settings)
/// leaking in packaged builds. This list is read from the +BlacklistConfigFiles=... array in the [Staging] section of *Game.ini files.
/// </summary>
public HashSet<StagedFileReference> ConfigFilesDenyList = new HashSet<StagedFileReference>();
/// <summary>
/// List of ini keys to strip when staging
/// </summary>
public List<string> IniKeyDenyList = null;
/// <summary>
/// List of ini sections to strip when staging
/// </summary>
public List<string> IniSectionDenyList = null;
/// <summary>
/// List of ini suffixes to always stage
/// </summary>
public List<string> IniSuffixAllowList = null;
/// <summary>
/// List of ini suffixes to never stage
/// </summary>
public List<string> IniSuffixDenyList = null;
/// <summary>
/// List of localization targets that are not included in staged build. By default, all project Content/Localization targets are automatically staged.
/// This list is read from the +BlacklistLocalizationTargets=... array in the [Staging] section of *Game.ini files.
/// </summary>
public List<string> LocalizationTargetsDenyList = new List<string>();
/// <summary>
/// Directory to archive all of the files in: d:\archivedir\Windows
/// </summary>
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
public DirectoryReference ArchiveDirectory;
/// <summary>
/// Directory to project binaries
/// </summary>
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
public DirectoryReference ProjectBinariesFolder;
/// <summary>
/// The client connects to dedicated server to get data
/// </summary>
public bool DedicatedServer;
/// <summary>
/// True if this build is staged
/// </summary>
public bool Stage;
/// <summary>
/// True if this build is archived
/// </summary>
public bool Archive;
/// <summary>
/// True if this project has code
/// </summary>
public bool IsCodeBasedProject;
/// <summary>
/// Project name (name of the uproject file without extension or directory name where the project is localed)
/// </summary>
public string ShortProjectName;
/// <summary>
/// If true, multiple platforms are being merged together - some behavior needs to change (but not much)
/// </summary>
public bool bIsCombiningMultiplePlatforms = false;
Copying //UE4/Fortnite-Staging to //UE4/Dev-Main (Source: //Fortnite/Main @ 3115282) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3114846 on 2016/09/06 by Bob.Tellez #UE4 The cooking process now respects the per-platform chunking manifest configuration in the game ini. If you specify -manifests it forces all platforms to generate a manifest. Change 3114805 on 2016/09/06 by Bob.Tellez #UE4 Attribute sets now work with their owning actor directly instead of asking the associated ability system component for the owning actor when updating the vis logger. #JIRA FORT-29511 Change 3112750 on 2016/09/02 by Bob.Tellez #UE4 bGenerateChunks from platform-specific Game.ini is now respected in pak generation code. Change 3108977 on 2016/08/31 by Jeff.Campeau Virtual keyboard support for Xbox One Text set by virtual keyboards is now submitted on the main thread through an internal tick Change 3108956 on 2016/08/31 by Chris.Gagnon Added "ClientOnly" module type to the build tools. Fixed "ServerOnly" which seems to have rotted, I assume it wasn't in use as it didn't work. Cleaned up some duplicated code which attributted to the rot most likely Change 3108879 on 2016/08/31 by Jeff.Campeau Eliminate binary renaming (allows side by side configs) Handle multiple binaries Temporary return of fixed extension SDK DLLs (required for multiplayer until they can be dynamically configured) Change 3108876 on 2016/08/31 by Jeff.Campeau Fix a manifest generation bug that was eating a character on conjoined values. Change 3108511 on 2016/08/31 by Billy.Bramer - Submit change from JoshM at my desk to make cloud mcp requests use shared pointers for net ids, enabling the use of AsShared on cloud-related callbacks which pass net ids as parameters - Note that this change does not have any validity checking as of yet Change 3108199 on 2016/08/31 by Ben.Woodhouse Disable r.lightshaftrendertoseparatetranslucency to 0 by default, but enable in fortnite via defaultEngine.ini. Change 3107825 on 2016/08/31 by Ben.Woodhouse Lightshaft rendering - add support for rendering the lightshafts to separate translucency (via the r.LightShaftRenderToSeparateTranslucency). This ensures postprocess materials with BL_BeforeTranslucency are rendered before lightshafts are applied. This fixes issues with the skin postprocess appearing too bright where it overlaps with lightshafts #jira UE-35359 Change 3107197 on 2016/08/30 by Chris.Gagnon Added ClientOnly option for Modules: ... "Modules" : [ { "Name" : "PluginName", "Type" : "ClientOnly", "LoadingPhase" : "Default" } ] ... (example taken from a plugin definition) Change 3104551 on 2016/08/29 by Lukasz.Furman potential fix for crash in ability cancelling #jira FORT-29200 Change 3104469 on 2016/08/29 by Lukasz.Furman added iteration limit to navmesh raycast loop to protect against invalid navmesh links creating an infinite loops #jira FORT-29198 Change 3103529 on 2016/08/26 by Jeff.Campeau Xbox One keyboard shift is sometimes unresponsive Change 3103523 on 2016/08/26 by Jeff.Campeau Aug XDK era launch bug fixed Change 3103183 on 2016/08/26 by Jeff.Campeau August XDK support Change 3102360 on 2016/08/26 by James.Hopkin Removed another load of float casts - these ones weren't causing problems, but are no longer necessary. Change 3099375 on 2016/08/24 by Lukasz.Furman added sanity check to UAnimInstance::Montage_Play #jira FORT-28140 Change 3097832 on 2016/08/23 by Chad.Garyet moving set_latest_build out of notifications section, was put there accidentally Change 3097139 on 2016/08/22 by Aaron.McLeran FORT-28502 Hard crash occurs on Win10 when locking computer and then unplugging audio device - Fix is modification of CL 3062338. Moving the checking of state change to head of audio update, adding new thread safe bool to immediately halt creatiing new voices if audio device changed. - Current theory is the xaudio2 in win10 doesn't properly handle audio device remove so this is a workaround till we update to XAudio2 2.8 -#rb Bob.Tellez #tests run game, lock computer, then disable or unplug audio device used by game, audio should stop gracefully without crashing Change 3096552 on 2016/08/22 by Ben.Marsh Fix killing adb.exe instead of notepad.exe. Change 3096473 on 2016/08/22 by Ben.Marsh Kill any ADB processes after a UAT command completes. The Android target platform in the editor spawns instances of ADB, and that spawns a background process to handle this and future requests. It can keep open handles to stdout, preventing the EC postprocessor from terminating. Change 3096459 on 2016/08/22 by Ben.Marsh Remove taskkill call for now. Change 3096450 on 2016/08/22 by Ben.Marsh Use system function instead of backticks to prevent errors killing job. Change 3096449 on 2016/08/22 by Ben.Marsh Kill ADB instances after running UAT; attempt to fix handle to stdout being kept open at the end of builds. Change 3096272 on 2016/08/22 by Chad.Garyet trying to remove postpfilter to see if that might be the stdout/err issue Change 3095369 on 2016/08/19 by Ben.Zeigler #Jira FORT-28683 Fix it so when using SimulateInEditor with Online PIE enabled, it disables trying to use the online service. Before it would half create the online instances, leading to issues in gameplay code when using simulate This will need updating when merging to Main to deal with the module changes Change 3095002 on 2016/08/19 by James.Hopkin Fixed another case of integers being cast to floats before being written to JSON. #jira FORT-28694 Change 3094834 on 2016/08/19 by Chad.Garyet trying a close of stdout and stderr to see if that remedies the ai test issue Change 3094719 on 2016/08/19 by John.Abercrombie Force a net update on the Avatar Actor whenever we start or stop a new Montage Change 3094487 on 2016/08/19 by James.Hopkin JSON writing of session settings no longer casts ints to floats (was causing INT_MIN to be written incorrectly). Change 3092389 on 2016/08/17 by Chad.Garyet more caveman debugging, skipping email notification if node is the fortnite ai test node. Change 3090898 on 2016/08/16 by Aaron.McLeran FORT-25911 Live OT7 crash in FVorbisAudioInfo::ReadCompressedData Implementing CL 3080958 in FN Change 3090761 on 2016/08/16 by Chris.Gagnon Added initial pass of safe zone suport to the front end. Change 3090734 on 2016/08/16 by John.Abercrombie Fix AbilitySystemComponent not ticking while playing a montage, and ticking when we're not playing a montage Here's the issue in the version of the code prior to this checkin: - UpdateShouldTick calls GetShouldTick, which checks the value of RepAnimMontageInfo.IsStopped - When we call UpdateShouldTick within AnimMontage_UpdateReplicatedData, we haven't set RepAnimMontageInfo.IsStopped yet to the correct value - So when we aren't playing any montages but are starting a new one, we were saying we shouldn't tick - It also means if we were playing a montage, and then stop, we'll start ticking - Ticking calls AnimMontage_UpdateReplicatedData, which should be called while we're playing Change 3090405 on 2016/08/16 by Chad.Garyet checking in caveman debugging for fortnite ai test node Change 3089743 on 2016/08/15 by Ben.Zeigler #jira FORT-28235 When a UWidget is added/removed from a UPanelWidget, invalidate layout. This fixes issues where removing a widget leaves it still visible on screen. There may be a better slate-level solution to this issue Change 3088178 on 2016/08/12 by Saul.Abreu Fixed bug in wrap box layout logic that would cause the inner slot vertical padding to only be added *after* the second row. Change 3087372 on 2016/08/12 by James.Hopkin Added a float overload from TJsonWriter::WriteValue - ever since I made doubles ultra precise to allow large numbers to be read properly, floats have been written with garbage on the end. Also removed 100 lines worth of code duplication while I was there. Automation tests still pass. Change 3084836 on 2016/08/10 by Lina.Halper Fix crash with retargeting additive anim montage Change 3083188 on 2016/08/09 by Bob.Tellez #UE4 UEnvQueryItemType_Point expects a FNavLocation instead of an FVector. Since passing an FVector in AddItemData() causes an assertion failure and the template specialization for FNavLocation has linkage problems, it is now required to pass in a FNavLocation instead of an FVector explicitly. Change 3082835 on 2016/08/09 by Bob.Tellez #UE4 Fix an issue where changing an array property in the defaults will leave the custom property chain stale until it is compiled, causing a crash in some circumstances. Change 3082621 on 2016/08/09 by Lukasz.Furman fixed accessing empty navigation data in crowd's path processing #jira FORT-27847 Change 3081749 on 2016/08/08 by Saul.Abreu #jira UE-34104 Implemented a customizable snapshot delay in the widget reflector - particularly handy for getting snapshots of tooltips. Change 3081596 on 2016/08/08 by John.Abercrombie Added a tick prerequisite for the mesh's primary actor tick of the FortGameState when a movement comp registers to be ticked by the game state Backed out change to CharacterMovementComponent to check to see if the pose had been ticked this frame. Tested root motion in PIE ded, PIE non-ded, and client/server configuration and it all looked good. (Basically it looks like there's some tick ordering issue with root motion in the engine, and I don't have the time right now to investigate it. This works.) #jira FORT-28139 - Hero's animation hitches when performing any action besides walking and jumping Change 3081536 on 2016/08/08 by Daniel.Broder Fixed bug in FGameplayTagContainer::AppendTags() where it was not reserving the correct amount of space for all of the tags it is about to add. #UE4 #NoReleaseNotes Change 3080679 on 2016/08/08 by Simon.Tovey Increased threshold to ignore stall warning on partilce async work. Increased precision of error message. May still fire and still needs looking into properly. If it does fire still I'll make it a higher priority. Change 3080652 on 2016/08/08 by Chad.Garyet Merging token scripts from ue4 main to fortnite changed fornite main json scheduled builds to all use skiptargetswithouttickets Change 3079357 on 2016/08/05 by John.Abercrombie Character movement components can now be throttled - This can be enabled/disabled by using the FortniteChar.ServerTickMovementAtNetUpdateRate console variable - game should be restarted after toggling it - Character movement components are throttled based on their current NetUpdateRate All character movement components are updated by the Game State - This can be enabled/disabled by using the FortniteChar.CentralCharMovementTick console variable - game should be restarted after toggling it Change 3078666 on 2016/08/05 by Simon.Tovey Disabling some log spam for particles. Change 3072992 on 2016/08/01 by Jonathan.Lindquist Fixing a bug related to weld object seams Change 3070991 on 2016/07/29 by Fred.Kimberley Allow aggregators to perform calculations while ignoring multiple GEs. Change 3070518 on 2016/07/29 by Bob.Tellez #UE4 Deprecated pin removal logic is now exclusively in UEdGraphNode::PostLoad. DeprecatedPinWatches fixup is now done in K2Node::PostLoad. Change 3069605 on 2016/07/28 by Bob.Tellez #UE4 SScrollBox now works with invalidation panels. Change 3069600 on 2016/07/28 by Bob.Tellez #UE4 SMenuAnchor now works with invalidation panels. Change 3069583 on 2016/07/28 by Bob.Tellez #UE4 Added some code to warn and recover from some invalid accounting of render instances in HierarchicalInstancedStaticMesh, if it exists in the future. Change 3068935 on 2016/07/28 by Bob.Tellez [AUTOMERGE] #UE4 Added a CVar to disable stencils on metal since they are very expensive right now. This is believed to be much better in OSX 10.12. #JIRA FORT-27836 -------- Integrated using branch //Fortnite/Main-To-//Fortnite/Release-Next (reversed) of change#3068932 by Bob.Tellez on 2016/07/28 15:50:40. Change 3068422 on 2016/07/28 by John.Pollard Fix FORT-27840 - Assertion failed: WriterState.Changed.Num() == 0 occurs when a Pitcher Husk hits the Player #tests Live game + replays Change 3067537 on 2016/07/27 by Bob.Tellez [AUTOMERGE] #UE4 Nullifying HierarchicalInstancedStaticMesh instances that were neither in the PerInstanceSMData list nor in the RemovedInstances list. #JIRA FORT-26696 -------- Integrated using branch //Fortnite/Main-To-//Fortnite/Release-Next (reversed) of change#3065681 by Bob.Tellez on 2016/07/26 21:02:55. Change 3065138 on 2016/07/26 by Josh.Markiewicz #UE4 - fixed rare case where CreateSession would crash (duplicate of Dev-Networking fix) - DestroySession now always adds a task to the async queue and never tries to complete its work within the same call - *BUG REPRO* - if CreateSession was called leaving a session in the Creating state followed by a call to DestroySession before session left Creating state this could happen - DestroySession would remove the named session while the previous CreateSession was in flight - A new CreateSession could be called afterward because the previous named session was removed - the first CreateSession would finish and give the session a valid SessionInfo - the second CreateSession would finish and assert that the SessionInfo should be invalid #tests contrived Create,Destroy,Create in same frame and saw crash, fixed code, crashes no more Change 3064932 on 2016/07/26 by Tim.Tillotson Fix for editor crash when loading unreal stats in the session frontend. Was a results of modifying EventMetadata while using a copy of the data. #JIRA UE-33426 Change 3064743 on 2016/07/26 by Mark.Satterthwaite Proper fix for FORT-27685 - on Metal it is invalid to fail to set uniform parameters on a shader - if you don't set the parameter the buffer binding may be nil or too small for the data accessed in the shader and the GPU will then crash. #jira FORT-27685 Change 3063870 on 2016/07/25 by Lukasz.Furman fixed navlink area class assignment, again custom link definitions were exporting from CDO without initializing data first #jira FORT-27713 Change 3063747 on 2016/07/25 by Bob.Tellez #Fortnite Fixed XB1 compile error due to use of DeviceDetails in XAudio2. Also removed a redundant #if XAUDIO_SUPPORTS_DEVICE_DETAILS #JIRA Change 3063500 on 2016/07/25 by Bob.Tellez #UE4 Fixing static analysis warning about not checking the return value of CoInitialize. Also initializing DeviceEnumerator to nullptr in case CoCreateInstance fails. Change 3063317 on 2016/07/25 by Lukasz.Furman fixed navlink deprecation in engine module, temporarily changed deprecation to private access since macro doesn't work with auto generated constructors #fortnite Change 3063224 on 2016/07/25 by Bob.Tellez #UE4 Unshelved change from Nick.Darnell. This is the less-invasive version of 3062014. Avoid adding widgets to the hittest grid more than once. Change 3063188 on 2016/07/25 by Lukasz.Furman removed all raw class pointers from link & area nav modifiers and replaced them with weak object pointers #jira FORT-27186 Change 3062338 on 2016/07/22 by Aaron.McLeran FORT-26470 Adding ability to stop sounds and switch audio engine into a no-sound mode when audio device is disabled/unplugged. #tests run game, disable or unplug audio device used by game, audio should stop gracefully without crashing Change 3061806 on 2016/07/22 by Ben.Zeigler #jira FORT-27519 Change error from moving a non registered component to an ensure instead of a fatal crash, this error is very old and I'm not sure what would cause it, but it went off without giving us a stack Change 3061790 on 2016/07/22 by Ben.Zeigler #jira FORT-26136 Stop a shipping game without blueprint guard enabled from printing useless stacks without an accompanying error message. This was slowing down shipping builds with no benefit Related to changes made on Orion in CL #2878992 Change 3060590 on 2016/07/21 by Mark.Satterthwaite Fix FORT-27340: Mac Metal cannot natively support PF_G8 + sRGB as not all Mac GPUs have single-channel sRGB formats (according to Apple) so we must manually pack & unpack to RGBA8_sRGB - the code to do this was missing from UpdateTexture2D. Change 3060542 on 2016/07/21 by Bob.Tellez #UE4 Made SetIsEnabled and SetVisibility virtual. Change 3058876 on 2016/07/20 by Aaron.McLeran FORT-25593 Mac crash when idling in zone with screen locked Adding logging when failing to update AuGraph and not asserting. Change 3058653 on 2016/07/20 by Bob.Tellez #UE4 Now actually removing deprecated pins from non-blueprint graphs. Also MarkPendingKill now happens in UEdGraphNode's BeginDestroy instead of its destructor to ensure supporting code can safely access references to other UObjects. Change 3058568 on 2016/07/20 by Bob.Tellez #UE4 Added an optional flag to IAssetRegistry::GetAssetByObjectPath to ignore in-memory assets for maxiumum performance. Change 3058203 on 2016/07/20 by Bob.Tellez #UE4 Clearing pin links for fixed up BT nodes so they are not asymmetrical by the time the node gets destroyed, causing an ensure to fail. Also removing the replaced nodes so they are no longer saved in the package. Change 3056767 on 2016/07/19 by Bob.Tellez #UE4 Speculative DetachLinker crash fix. #JIRA FORT-27335 Change 3056665 on 2016/07/19 by John.Abercrombie Fixed UPathFollowingComponent::HasReached not using the Goal's Radius when bUseNavAgentGoalLocation is false - When bUseNavAgentGoalLocation is true, we want to avoid using the Goal's location on the Nav Mesh, but the acceptability of a radius should be based on the Goal's radius Change 3054368 on 2016/07/18 by Lina.Halper - moved removing notifies to end of montage event - that way between blending out to terminate, it still can trigger notifies. #code review: Martin.Wilson, John.Abercrombie Change 3054109 on 2016/07/18 by Bob.Tellez #UE4 Fixed a bug where IAssetRegistry::GetAllAssets would not return data about live objects when passing bIncludeOnlyOnDiskAssets = false. Change 3053831 on 2016/07/18 by Lina.Halper #Anim montage recursive issue: Make sure to check valid before additive #code review: Bob.Tellez Change 3052641 on 2016/07/15 by Bob.Tellez #UE4 Fix a crash in OpusAudioInfo when InSrcBufferData is null. Change 3052601 on 2016/07/15 by Daniel.Broder EnvQueryInstanceBlueprintWrapper is now blueprintable, so you can make blueprints that allow more complex 'wrapper' behavior when using the blueprint node RunEQSQuery (on the EnvQueryManager). #ReleaseNoteAbove^^ Also, made EEnvQueryStatus a blueprint type, which makes it much easier to work with in blueprints. #UE4 #ReleaseNote! Change 3052201 on 2016/07/15 by Rob.Cannaday Fix for broken party state when timeout on receiving leave request response Execute delegate after marking the party in a disconnected state #jira FORT-25362 Change 3050944 on 2016/07/14 by Bob.Tellez #UE4 Fix an ensure that was incorrectly triggering when the number of hitches in a session is 0 Change 3050352 on 2016/07/14 by Olaf.Piesche #jira UE-32058 Making sure owned pointer to CurrentMaterial is set to RenderMaterial if we choose default material because of missing flags for particle systems. Change 3049049 on 2016/07/13 by Bob.Tellez #UE4 Fix an ensure and a crash in ParticleTrail2EmitterInstance for Ribbon particles. #JIRA FORT-27030 Change 3048186 on 2016/07/13 by John.Abercrombie Selecting Geometry trace mode will no longer project onto the nav mesh first in ProjectedPoints EQS generators Change 3046531 on 2016/07/12 by Bob.Tellez #UE4 Added more information to an ensure about BeginPlay being called on an actor that has already begun play. #JIRA FORT-26683 Change 3046134 on 2016/07/12 by Ian.Fox #UE4, #OnlineSubSystem - Hotfix in the ExpirationDate field early so we can update the OGF plugin Change 3045544 on 2016/07/11 by Bob.Tellez #UE4 Made Attribute fixup code only execute when loading the data from disk as it was intended. Change 3045101 on 2016/07/11 by Fred.Kimberley Changed PostSerialize logic to always use the attribute data if it is valid. Updated the details customization to set the owner and name properties when the attribute is changed. Change 3045035 on 2016/07/11 by John.Abercrombie UpdateMoveFocus will only clear the focus if the path following component is idle - Keeps the AI rotated in the correct direction when movements get paused Change 3044883 on 2016/07/11 by Mark.Satterthwaite Avoid FORT-26879 - when rendering into the viewport back-buffer the scene-viewport sets a null render-target array which MetalRHI wasn't handing, so add the necessary branches to clear the render-target array in MetalStateCache. #jira FORT-26879 Change 3044819 on 2016/07/11 by Carlos.Cuello Setting LOCKED_REPLAY_VERSION to 0 so that replays have valid changelists associated with them in ReplayMGR Change 3044683 on 2016/07/11 by Bob.Tellez #UE4 ActorPosition is now set to your AttachmentRootActor's position instead of your owning actor's position. Change 3044581 on 2016/07/11 by Nick.Cooper #UE4 - Added bSuppressStackingCues to UGameplayEffect, to allow the option avoid sending a GameplayCue RPC for each instance of a stacking UGameplayEffect #jira FORT-23140 Change 3043726 on 2016/07/08 by Billy.Bramer - Add ability for custom UGameplayModMagnitudeCalculations to specify that they have gameplay-code dependencies external to the ability system that can invalidate them aside from just routine attribute capture - UGameplayModMagnitudeCalculations can specify an external multicast delegate that the ability system component can bind to for notification of when the mod calculations are dirty and need to be refreshed - Add advanced support for UGameplayModMagnitudeCalculations opting into allowing this feature to work on client machines as well; Advanced feature to really only be used by games utilizing network dormancy on attributes that they don't mind the client attempting to calculate (ones that won't have gameplay impact); Client-based feature cannot work in tandem with attribute capture - Rename FGameplayEffectModifierMagnitude::AttemptRecalculateMagnitudeFromDependentChange to AttemptRecalculateMagnitudeFromDependentAggregatorChange to alleviate possible confusion from the newly added support for external dependencies - Rename FActiveGameplayEffectsContainer::PreDestroy to Uninitialize and move its call site from the destructor of the owning ASC to UnitializeComponents, where it can have enough information to be useful - Misc ability system cleanup (fix typos, etc.) Change 3043152 on 2016/07/08 by Daniel.Broder Re-enabled EQS details table on screen by default. (This matches the actual description of the variable, which says that enabled is the default. Also, we really need this as the default since those details are critical for debugging.) #UE4 #NoReleaseNotes Change 3041765 on 2016/07/07 by John.Abercrombie Fixed basing whether the AI should turn or not by comparing the current desired rotation vs the last update's desired rotation - The AI should be turning based on whether or not the current desired rotation is different from the rotation of the Pawn Change 3041664 on 2016/07/07 by Bob.Tellez #UE4 Removing UpdateActorPosition. This was not needed in a vast majority of use cases and was causing a crash due to multithreading issues during end of frame updates. #JIRA FORT-25983 Change 3040645 on 2016/07/06 by Bob.Tellez #UE4 Added a cvar to disable OpenGL support on Mac. If a mac that does not support Metal launches while this cvar is set to 1 then they will get a dialog box describing that they do not support metal and the process will close. Change 3039969 on 2016/07/06 by Billy.Bramer - Fix for non-snapshotted, attribute-based modifiers potentially not replicating correctly - When dependency magnitude results in a magnitude recalculation, mark the active effect dirty and wake the owner from dormancy, as the client is incapable of recalculating the value properly Change 3036256 on 2016/07/01 by Bob.Tellez #UE4 RequestExit(true) on Mac now exits without triggering exception handling, just like on Windows. Change 3036173 on 2016/07/01 by Ben.Salem Get FTests running sequentially. And, actually, running at all in non-editor. Known issues: Filename lookup needs to be changed to use asset registry instead of packages in directory. Will be worked on next. Change 3035551 on 2016/07/01 by John.Abercrombie Reworked use of the Montage pointer of the AnimNotifyEvent in UAnimInstance::OnMontageInstanceStopped based on Lina's feedback - CL 3034853 contained the original change Change 3035152 on 2016/06/30 by Daniel.Broder Added new API function for DrawDebugSolidBox, which takes an FBox instead of a Center and Extent. It also allows specifying a transform as well (but defaults to using the identity transform for convenience). #ReleaseNoteAbove The new version of DrawDebugSolidBox is more convenient and more efficient if you already have an FBox! No need to calculate the Center and Extent just to use them to recalculate the Box. Made the previous two versions of DrawDebugSolidBox call to the new one that takes an FBox and FTransform. This change keeps the implementation details more manageable for any future changes. Also, fixed typos in parameter names for DrawDebugSolidBox and DrawDebugBox versions where Extent was erroneously named "Box". NOTE: In the future, we should probably make the same changes to the DrawDebugBox API that were made for DrawDebugSolidBox, as well as similar changes for other shapes (such as DrawDebugSphere, Cylinder, etc.), which currently don't have versions that take the shape class directly/ #UE4 #ReleaseNoteAtTop Change 3034918 on 2016/06/30 by William.Ewen Updating Null RHI's max texture dimensions and max texture mip count to avoid a warning and match up with d3d11 and metal. Change 3034853 on 2016/06/30 by John.Abercrombie When a Montage is stopped we send out any anim notify state end notifications related to the Montage, and remove it from the list Change 3033507 on 2016/06/29 by Ben.Zeigler #jira UE-32651 Fix crash I had while auto saving a map with a reflection capture component. This has happened fairly often to licensees as well so we may want to merge it to a release branch Change 3033413 on 2016/06/29 by Daniel.Wright Added DistanceFieldBias to StaticMesh BuildSettings for mesh distance fields * Useful for reducing self shadowing on meshes that have ambient animation Change 3033343 on 2016/06/29 by Billy.Bramer - Fix typo in ability system: FMinimapReplicationTagCountMap should be FMinimalReplicationTagCountMap (it has nothing to do with minimaps!) Change 3032888 on 2016/06/29 by Billy.Bramer - Add ability to base a gameplay effect modifier's magnitude off of the magnitude of an attribute evaluated only up to a certain channel when using attribute-based modifiers Change 3031800 on 2016/06/28 by Jonathan.Lindquist new exr texture Change 3030807 on 2016/06/28 by Lukasz.Furman added more debug logs for rare navmesh raycast crash #jira FORT-22373 Change 3030624 on 2016/06/28 by Lukasz.Furman switching navgraph to use FMetaNavMeshPath #fortnite Change 3030002 on 2016/06/27 by Ben.Zeigler Fix crash I got in SGraphPin::OnDragEnter when the pin did not have an outer. GetOuter now calls the Unchecked version I'm not sure why it was allowed to be null here, but it was clearly supported on purpose before and was crashing with the pin changes. Change 3029720 on 2016/06/27 by Ben.Zeigler Fix TextFilterTests to pass the parameters in the correct order for > operators, and add tests that actually verify this. The real use cases were correct, only the test was broken Change 3029574 on 2016/06/27 by Bob.Tellez #UE4 Fixed a crash caused by attempting to render shadows while r.ShadowQuality was 0. Change 3027275 on 2016/06/24 by Billy.Bramer - First pass of adding evaluation channel support to non-instant gameplay effects - Evaluation channels allow for game-specific control over the order of modifier evaluation - Channels evaluate in order, with the output of one channel acting as the base value/input into the next channel in sequential order - Example: Sample Attribute: Base Value 100. Multiplicative Mod 1.1 in channel 0 and multplicative mod 1.1 in channel 1 will evaluate as ((100 * 1.1) * 1.1) instead of (100 * 1.2) - By default, evaluation channels are disabled (everything evaluates at channel 0), but a game can opt into using channels via INI - Game must specify bAllowGameplayModEvaluationChannels=true, as well as provide name aliases for the channels that the game is allowed to use via GameplayModEvaluationChannelAliases array - Game can also specify the DefaultGameplayModEvaluationChannel via INI; Gameplay effect modifiers will default into that channel - Evaluation channels show up per modifier (and per scoped modifier) in a new property on gameplay effects - Misc. clean-up and refactors within the ability system as a result of changes to support evaluation channels; Begin process of trying to remove heavy reliance on friend classes Change 3022931 on 2016/06/22 by Nick.Cooper #UE4 - Prevent camera anims without an FOV track from making any modifications to the camera FOV Change 3021845 on 2016/06/21 by Carlos.Cuello Fix for crash at startup on Mac, was asserting on !bPerformingOperation but there are codepaths where that wasn't being set to false at the end of an operation in failure cases. Fixed up those codepaths and changed the check() to an ensure() so we can still track where these cases happen but won't affect our shipping build. #jira Fort-25978 Change 3021800 on 2016/06/21 by Lukasz.Furman adding function to query if navmesh was initialized in given radius #jira FORT-24487 Change 3021777 on 2016/06/21 by Martin.Mittring UE-31921 The sub surface profile shader seems to be incorrectly ignoring post processes content that used SkyLight OcclusionTint feature will look different and might need a retweak. a brighter (~ 3-4 times) and less vibrant color results in a similar look #code_review:Jonathan.Lindquist [CL 3123852 by Bob Tellez in Main branch]
2016-09-13 18:15:38 -04:00
/// <summary>
/// If true if this platform is using streaming install chunk manifests
/// </summary>
public bool PlatformUsesChunkManifests = false;
/// <summary>
/// Temporary setting to exclude non cooked packages from I/O store container file(s)
/// </summary>
public bool OnlyAllowPackagesFromStdCookPathInIoStore = false;
/// <summary>
/// Allows a target to ignore PakFileRules.ini when the project rules are still needed for most cases
/// </summary>
public bool UsePakFileRulesIni = true;
public DeploymentContext(
FileReference RawProjectPathOrName,
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
DirectoryReference InLocalRoot,
DirectoryReference BaseStageDirectory,
DirectoryReference OptionalFileStageDirectory,
DirectoryReference OptionalFileInputDirectory,
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
DirectoryReference BaseArchiveDirectory,
Platform InSourcePlatform,
Platform InTargetPlatform,
List<UnrealTargetConfiguration> InTargetConfigurations,
IEnumerable<StageTarget> InStageTargets,
List<String> InStageExecutables,
bool InServer,
bool InCooked,
bool InStageCrashReporter,
bool InStage,
bool InCookOnTheFly,
bool InArchive,
bool InProgram,
Copying //UE4/Fortnite-Staging to //UE4/Main #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2806454 on 2015/12/16 by Bob.Tellez #UE4 Getting crash reporting working again on linux servers. Since -Unattended is now being passed BEFORE the target folder, the cmd line parsing code was failing so now it parses tokens and switches in a more general way. Also, diagnostics.txt had the incorrect case, since the d is supposed to be capitolized and the crash report processor is case sensitive. #rb Ben.Zeigler #codereview Dmitry.Rekman Change 2805502 on 2015/12/16 by Ben.Zeigler #UE4 Move ValidateEnumProperties into ValidateGeneratedClass, it was happening too early in the generation process so was being called at an invalid time. As a result of this ValidateEnumProperties will not be called correctly for compile on load blueprints, that issue is covered in UE-24569 #codereview mike.beach, bob.tellez Change 2805288 on 2015/12/16 by David.Nikdel #HTTP #HttpRetry - Add new Failed_ConnectionError code to EHttpRequestStatus to distinguish between connection errors and protocol errors. - Changed HTTP retry logic a little bit * If a response was received, retry on service-specific explicit HTTP codes (defaults to empty) * If a response was not received and we did not send a full request, automatically retry * If a response was not received and a request may have been sent, retry if the verb is GET or HEAD (should be idempotent) - Adjusted Curl/IOS/Mac/PS4/WinInet to try and distinguish Failed_ConnectionError where possible * Other systems will default to Failed which is ok (ConnectionError is an opportunistic categorization) * Opened a PS4 ticket to try to improve detection, but unfortunately there's no way (currently) to distinguish between send timeout, connection timeout, and receive timeout, the latter being the problematic case. - Removed the concept of global/default HTTP retry status codes. No system has enough knowledge to set those globally. * Individual requests still specify explicit "retryable" codes and McpServiceBase sets that on each request on a per-service basis #RB: Sam.Zamani #CodeReview: Sam.Zamani, Josh.Markiewicz, Alex.Fennell, Dmitry.Rekman, Sam.Spiro #Fixes: FORT-17804 Change 2803864 on 2015/12/15 by Bob.Tellez #UE4 Changed usage of !UE_SERVER to !IsRunningDedicatedServer in cases where we are preventing load attempts on UFonts. This is so running an editor build with -server works the same as running a cooked server. #rb Dmitry.Rekman #codereview Nick.Darnell Change 2803677 on 2015/12/15 by Billy.Bramer - Expose equality and inequality operators for gameplay attributes #rb Todd.Eckert Change 2802881 on 2015/12/14 by Bob.Tellez #UE4 InheritableComponentHandler no longer keeps records for components that we are no longer inheriting. #rb Phillip.Kavan, Maciej.Mroz #codereview Phillip.Kavan, Maciej.Mroz Change 2801636 on 2015/12/14 by Bob.Tellez #UE4 Returning package insert order for non-imports back to being after those of matching priorities unconditionally since this is what you want even when you are not using the asset registry to preload packages. #codereview Graeme.Thornton Change 2800400 on 2015/12/11 by Jonathan.Lindquist Submitting a new Pivot Painter Edition - now renders to textures - improved workflow - greater capabilities Change 2799579 on 2015/12/11 by John.Abercrombie [AUTOMERGE] Fixed EQS BP query wrappers getting GCed before wrapped query finishes #UE4 Fixes FORT-18649 - Patrols don't spawn consistently - The patrol blueprint was waiting (endlessly) for an EQS query to finish but because the wrapper could be GC-ed while the EQS query was running the delegate would never fire #rb me (this code was written by MieszkoZ) (removed code review for integration of Mieszko.Zielinski, Phil.Cole, Dominic.Barile) -------- Integrated using branch UE4-Fortnite-To-UE4-FortniteReleases/0.10 (reversed) of change#2799575 by John.Abercrombie on 2015/12/11 09:55:11. Change 2799018 on 2015/12/10 by Bob.Tellez #UE4 The asset registry tags stripped from cooked builds is now a blacklist by default that includes only the FiB tag. You can opt-in to using the whitelist by flipping the bUseAssetRegistryTagsWhitelistInsteadOfBlacklist flag. #rb Fred.Kimberley #codereview Peter.Knepley Change 2798926 on 2015/12/10 by Bob.Tellez #UE4 Removed some showflags from the list of "Fixed" showflags since they were actually in use at runtime in Fortnite in a scene capture. #jira FORT-18514 #codereview Martin.Mittring Change 2797758 on 2015/12/10 by Mark.Satterthwaite Defer calls to AUGraphUpdate into FCoreAudioDevice::UpdateHardware - this call will synchronise the calling thread with the CoreAudio thread/run-loop so that the CoreAudio graph is safe to modify and this may incur a significant stall. This means it is far more efficient to amortise the cost of all changes to the graph with a single call. To ensure correctness the audio format conversion components are cached and disposed of after the call to AUGraphUpdate so that any existing operations on the CoreAudio thread are completed prior to disposal. Change 2781204 on 2015/11/25 by Dmitry.Rekman Linux: use jemalloc by default if available. - Alleviates one of the reasons for player disconnect (FORT-18048), which was machines running OOM. #rb Bob.Tellez #codereview Bob.Tellez, Ben.Zeigler Change 2779398 on 2015/11/24 by Mark.Satterthwaite Switch the default graphics API on Mac back to OpenGL, but allow Metal to run with -metal (or -metalsm5 for experimental SM5 support).
2016-01-08 19:10:43 -05:00
bool IsClientInsteadOfNoEditor,
bool InForceChunkManifests,
bool InSeparateDebugStageDirectory,
DirectoryReference InDLCRoot
)
{
bStageCrashReporter = InStageCrashReporter;
RawProjectPath = RawProjectPathOrName;
DedicatedServer = InServer;
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
LocalRoot = InLocalRoot;
CookSourcePlatform = InSourcePlatform;
StageTargetPlatform = InTargetPlatform;
StageTargetConfigurations = new List<UnrealTargetConfiguration>(InTargetConfigurations);
StageTargets = new List<StageTarget>(InStageTargets);
StageExecutables = InStageExecutables;
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3821754 by Jamie.Dale [Python] Class property conversion now goes through NativizeClass/PythonizeClass This allows it to coerce from Python wrapped object types Change 3833107 by Patrick.Boutot Added functions to fill an existing DataTable from an existing CSV/JSON file. Change 3835044 by Aaron.Carlisle Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename. Change 3835466 by Patrick.Boutot Hide function from Python that need special compile command to be executed by the VM. Change 3839237 by Jamie.Dale Added a way to inspect the full chain of properties that are currently being serialized by an archive You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct). Change 3839974 by Jamie.Dale Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else Change 3842311 by Jamie.Dale Fixing potential null level assert Change 3842313 by Jamie.Dale Updated settings editor to handle external properties Change 3842316 by Jamie.Dale Allowing a console command to be given to GEditor/GEngine even if there's a player CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue. Change 3842867 by Jamie.Dale Added a way to generate diffs from editor transactions The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted. These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events. Change 3844428 by Patrick.Boutot Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script. Change 3845966 by Jamie.Dale Added support for minimal game RPC worlds These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world) Change 3848844 by Patrick.Boutot Expose EComponentMobility to blueprint. Change 3854616 by Patrick.Boutot Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise. Change 3856650 by Jamie.Dale Fixed a bug where transaction finalization could miss changes since the last snapshot Change 3864951 by Patrick.Boutot Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed. Change 3867158 by JeanMichel.Dignard UBT - Added the ability for dll programs to export symbols. #jira UEENT-541 Change 3872342 by Jamie.Dale Merging static analysis fixes from 4.19 Change 3879305 by Jamie.Dale Improved the processing of py files from exec commands The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments. Change 3879306 by Jamie.Dale Added a minimal commandlet for invoking Python scripts Change 3881631 by Jamie.Dale Added basic RTTI to Python meta-data types Change 3885384 by Jamie.Dale [Python] Prevent glue code using reserved names Change 3888957 by Patrick.Boutot In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject. The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing. Change 3888961 by Patrick.Boutot Fix FInterval::IsValid return type. Change 3888980 by Patrick.Boutot Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948. Change 3889165 by Patrick.Boutot Fix build. Missing include for Timespan. Introduce with CL 3888980. Change 3889261 by Jamie.Dale [Python] Fixing some more name conflicts in generated code Change 3889504 by Darren.Pegg Add option to change PreferredPixelFormat Change 3891193 by Patrick.Boutot Fix build. Missing include for Interval. Introduce with CL 3888980. Change 3897108 by Patrick.Boutot TTinterval use it own traits. Create a Interval traits for Timespan. #jira UEENT-947 Change 3899669 by Jamie.Dale Fixed Functions sometimes being exposed to Python as if they were Structs Change 3900692 by Jamie.Dale Removed some boilerplate associated with wrapping a basic type to Python You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example) Change 3901066 by conan.reis UE4 editor script bindings (Cobra) and helper functions for version control - exposed SourceControl class with common source control methods and associated SourceControlState structure - commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard) - commands store any errors in a shared error text object which is optionally printed to the error log - renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile() - included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages. Change 3901388 by Jamie.Dale Minimal Slate hooks for Python Change 3901456 by Jamie.Dale Added missing file Change 3901549 by Jamie.Dale Removing some more Windows defines that were causing build issues Change 3904518 by conan.reis Source Control - ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider Change 3905612 by Francis.Hurteau Optimize RemoveDuplicates somewhat using a TSet #jira UEENT-217 Change 3912626 by Jamie.Dale Fixed ShouldExcludeDerivedClasses option not working RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering. Change 3917739 by Jamie.Dale Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget Change 3917744 by Jamie.Dale Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime. Change 3918832 by Jamie.Dale Removed field iteration from Python function calls We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields. Change 3920648 by Patrick.Boutot Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen. Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization. Change 3921396 by Jamie.Dale Split up the generated type data to correspond to the type being wrapped A lot of types can just use the minimal set, but classes and structs have some extra data. Change 3921619 by conan.reis - add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again. - also added result info to FSourceControlWindows::PromptForCheckin() #jira UE-55255 Change 3921624 by conan.reis Removed Source Control common files from pre compiled header - main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp - remaining files have includes changed to accomodate Change 3921958 by conan.reis Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619 Change 3922740 by conan.reis Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion. They were previously removed in CL3921624 Change 3923375 by Jamie.Dale Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings Change 3926547 by Jamie.Dale Added support for struct method "hoisting" This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python. Change 3927050 by conan.reis Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers #JIRA UE-55256 Change 3929268 by conan.reis - fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected - removed Perforce error message about file folders outside of the workspace client mappings - clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled() #JIRA UE-55254 Change 3931024 by Rex.Hill Expose FBX and Texture import to python Change 3931273 by Rex.Hill Hide re-import slate notification pop-up during python automated asset import Change 3931368 by Jamie.Dale Stopped bools coercing to numeric types in Python nativization Change 3931374 by Jamie.Dale Added support for struct math operator "hoisting" This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python. Change 3932586 by Rex.Hill Removed file read into unused memory buffer during Fbx import Change 3934308 by Jamie.Dale Added a public interface for the Python plugin Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log. Change 3935088 by conan.reis - Added info/warning and error message storage to all the source control operation structures so additional information can be made available. - Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion. #JIRA UE-55257 Change 3936668 by Rex.Hill #jira UE-55985 Avoid re-allocation of memory buffer holding file bytes during asset import Change 3940596 by Rex.Hill #jira UE-55989 Optimize skeletal mesh import performance scaling Overlapping vertex check was O (N^2) 100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds Change 3942629 by Rex.Hill #jira UE-55995 Read fbx file only once during import Fixes a memory leak of FbxScene and reduces wait time during import. Change 3942884 by Rex.Hill Python asset import can now customize destination asset name Change 3946278 by Jamie.Dale Added stricter conversion for math operator arguments PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion. This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads). Change 3948455 by Jamie.Dale Added generic Tick function to FPythonScriptPlugin This can also handle init logic for after the engine is fully initialized Change 3948888 by Jamie.Dale Added settings for the Python plugin You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings). Change 3948982 by Jamie.Dale Fixed Python 3 build error caused by CObject being removed in Python 3.2 Change 3949614 by Francis.Hurteau Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer #jira UEENT-1053 Change 3950829 by Rex.Hill Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION Change 3953452 by Jamie.Dale Fixed some dependencies Change 3953645 by Jamie.Dale Fixed Python parameter packing treating bool output paramers as potential return values void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool. Change 3953850 by Jamie.Dale Fixed doc string generation for a function with multiple output paramters and no return value Change 3954279 by Jamie.Dale Initial support for exposing deprecated properties and functions to Python This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left. Change 3954922 by Rex.Hill Expose UnloadPackages to python Change 3955209 by Jamie.Dale Initial support for exposing deprecated classes to Python Change 3955248 by Jamie.Dale Added a way to load Unreal modules via Python unreal.load_module("modulename") Change 3955561 by Rex.Hill Expose asset export to python Change 3956068 by Rex.Hill Linux compile fix. Change 3960449 by Rex.Hill Fix automated test using bCombineMeshes Change 3960495 by Patrick.Boutot Add a temporary menu to show the MetaData of an asset. The menu will need to be updated to have a look and feel of the Detail View and support edition at one point. Change 3961599 by Rex.Hill Reduced peak memory during import of meshes related to duplicate vertex tracking Change 3962104 by Rex.Hill Disable import mesh overlapping corners memory optimization to because it can change uv generation Change 3962507 by Rex.Hill Fix uv generation Change 3965285 by Rex.Hill Add support for FBX export as ASCII #jira UE-56465 Change 3965287 by Rex.Hill Forgotten file, fbx export as ascii Change 3966772 by Simon.Tourangeau Fix MaterialExpressionFunctions for ExternalTexture support Change 3967014 by Jamie.Dale Added a way to get the CDO in Python Wrapped objects now have a get_default_object class method Change 3967151 by Jamie.Dale Added stats to track Python generation time Change 3968006 by Simon.Therriault Media Samples - Removed Locks and Min/Max SampleTime from queues - Added methods to fetch NextSampleTime and SampleCount in queues - Added MediaSource base class for players that want to be time synchronized #jira UEENT-948 Change 3969119 by Patrick.Boutot Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other. [CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
IsCodeBasedProject = ProjectUtils.IsCodeBasedUProjectFile(RawProjectPath, StageTargetConfigurations);
ShortProjectName = ProjectUtils.GetShortProjectName(RawProjectPath);
Stage = InStage;
Archive = InArchive;
DLCRoot = InDLCRoot;
if (CookSourcePlatform != null && InCooked)
{
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3056055) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3011102 on 2016/06/13 by Steve.Cano After taking a screenshot using glReadPixels, transfer the data to the target buffer from bottom row up to fix the "upside-down" render that OpenGL does. Confirmed with QA (owen.stupka_volt) that this does not appear to be happening on iOS (non-metal devices, inclusion of iOS in write-up was a mistake), verified on an ipod touch 5. Also confirmed that this does not happen on html5, and that Mobile HDR flag does not make a difference in function. #jira UE-26421 #ue4 #android Change 3015801 on 2016/06/16 by Dmitriy.Dyomin Probbably fix for UE-30878, was not able to repro an actual crash(FFoliageInstanceBaseCache::AddInstanceBaseId). Added even more logging in case fix does not work. #jira UE-30878 Change 3015903 on 2016/06/16 by Dmitriy.Dyomin Fixed: Levels window has Refresh/UI issues when World Composition is active #jira UE-26160 Change 3018352 on 2016/06/17 by Chris.Babcock Handle Android media prepare failure (URL without internet for example) #jira UE-32029 #ue4 #android Change 3026387 on 2016/06/24 by Jack.Porter Remove FFuncTestManager warning about PIE when running on a standalone game binary Change 3026398 on 2016/06/24 by Jack.Porter Prevent FSocketBSD::Recv returning false on SE_EWOULDBLOCK Change 3027553 on 2016/06/25 by Niklas.Smedberg OpenGL: Made some block size calculation work for arbitrary block sizes (e.g. not pow-of-two). Change 3027554 on 2016/06/25 by Niklas.Smedberg Metal: copyFromTexture now gets block-aligned size parameter (e.g. used for texture streaming) Change 3028061 on 2016/06/26 by Jack.Porter Fixed a problem where newly discovered instances were not added to an existing session in the Session Browser. Fixed a problem where selecting an instance in a session with multiple instances didn't deselect the previously selected instance correctly. Change 3029220 on 2016/06/27 by Steve.Cano Change Android Tilt values to use GetRotationMatrix/GetOrientation logic, same as java-side android would use, and adjust slightly to match as closely as possible to iOS values for tilt. There is drift and some differences in the "Y" value but the same sort of inconsistencies are also seen on iOS. #jira UE-6135 #ue4 #android Change 3030420 on 2016/06/28 by Jack.Porter Fix crash with RenderOutputValidation when running with cooked content Change 3030426 on 2016/06/28 by Jack.Porter Fix to CL 3026398 - make FSocketBSD(IPv6)::Recv(From) return false when recv returns 0. A return value of 0 indicates the connection was shutdown in an orderly manner. Change 3030973 on 2016/06/28 by Steve.Cano Added a landscape downloader background along with the options to change it from within Android settings #ue4 #android #jira UE-32318 Change 3031757 on 2016/06/28 by Chris.Babcock Remove unused methods from AndroidJNI header #ue4 #android Change 3032387 on 2016/06/29 by Allan.Bentham Rename android es31+aep -> glesdeferred. Change 3032711 on 2016/06/29 by Allan.Bentham Rename GLSL_310_ES_EXT shader define: ES31_AEP_PROFILE -> ESDEFERRED_PROFILE bumped UE_SHADER_GLSL_310_ES_EXT_VER version number. Change 3033698 on 2016/06/29 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3034210 on 2016/06/30 by Steve.Cano Added a new AndroidRuntimeSettings variable that allows creation of installers for both Windows and Mac/Linux if set to true. #jira UE-32302 #ue4 #android Change 3034530 on 2016/06/30 by Chris.Babcock Rename FManifestReader to FAndroidFileManifestReader in AndroidFile #jira UE-32679 #ue4 #android Change 3034612 on 2016/06/30 by Steve.Cano Change Alpha from being set to a range of 0-255 to being in a range of 0-1 (which is the correct range of values) #jira UE-25325 #ue4 #android Change 3034679 on 2016/06/30 by Chris.Babcock Fix tooltip (.command for mac, not .sh) #jira UE-32302 #ue4 #android Change 3038881 on 2016/07/05 by Jack.Porter Package and launch on multiple Android devices simultaneously using the -Device=xxxxxxx+yyyyyyyy+zzzzzzzz format generated by a Project Launcher profile when you select multiple devices #jira UEMOB-115 Change 3039240 on 2016/07/06 by Jack.Porter TcpMessageTransport - connection-based message bus transport. #jira UEMOB-112 #jira UEMOB-113 Change 3039252 on 2016/07/06 by Jack.Porter Enable messaging and session services and functional testing on Android when launched with -messaging Android device detection module support for adding port forwarding and connection announcement for TcpMessageTransport #jira UEMOB-112 #jira UEMOB-113 Change 3039264 on 2016/07/06 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3040041 on 2016/07/06 by Chris.Babcock Pass proper value to script generator functions #jira UE-32861 #ue4 #android Change 3040890 on 2016/07/07 by Allan.Bentham Fix shadow crash #jira UE-32884 Change 3041458 on 2016/07/07 by Peter.Sauerbrei fix for IOS launch on failures Change 3041542 on 2016/07/07 by Peter.Sauerbrei better fix for the multi-device deployment issue Change 3041774 on 2016/07/07 by Steve.Cano Fixing crash that occurs when a games app id for Google Play is set before configuring the apk packaging. Also validating the value that is inserted and using it to override any values that have been hand-inserted into the GooglePlayAppID.xml #jira UE-16992 #android #ue4 Change 3042222 on 2016/07/08 by Dmitriy.Dyomin Mobile packaging scenarious Added a wizard for creating launcher profiles (Android & IOS) for scenario: Minimal App + Downloadable content Added Archive step to launcher profiles to be able to store build product into specified directory Changes to a cooker to be able to pack DLC based with a different flavor to a release App Changes to DLC packaging to be able to build streaming data without chunking pak files #jira UEMOB-119 Change 3042244 on 2016/07/08 by Dmitriy.Dyomin Fixed crash in FTcpMessageTransportConnection::Stop Change 3042270 on 2016/07/08 by Dmitriy.Dyomin GitHub #2320 : [ULevelStreamingKismet] Load Level Instance, Enables UE4 Users to create multiple transformed instances of a .umap without having to include in persistent level's list ? Rama contributed by: EverNewJoy #jira UE-29867 Change 3042449 on 2016/07/08 by Dmitriy.Dyomin Fixing Mac Editor build erros from CL# 3042222 Change 3042480 on 2016/07/08 by Allan.Bentham Add ES3.1 profile & compiler_glsl_es3_1 to shaders. Change 3042481 on 2016/07/08 by Allan.Bentham hlslcc - ES3.1 changes. set ES3.1 version number to 310 Do not use ES2 keywords for ES3.1. Generate Layout Locations for ES3.1 bump version. Change 3042483 on 2016/07/08 by Allan.Bentham Add mobile ES3.1 support. Recreates EGL and ES3.1 context during PlatformInitOpenGL if ES3.1 is required. Change 3042485 on 2016/07/08 by Allan.Bentham Undo android XGE change. Change 3042506 on 2016/07/08 by Dmitriy.Dyomin One more compile fix from CL# 3042222 Change 3044173 on 2016/07/10 by Dmitriy.Dyomin UAT: Added support for building target platforms with multiple cook flavors ex: -targetplatform=Android -cookflavor=ETC1+ETC2 Change 3044213 on 2016/07/11 by Dmitriy.Dyomin Fixed: Can't stream in a level whose name is a substring of another streaming level #jira UE-32999 Change 3044221 on 2016/07/11 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3044815 on 2016/07/11 by Allan.Bentham Corrected NAME_GLSL_ES3_1_ANDROID format string. Change 3046911 on 2016/07/12 by Chris.Babcock Add handling of OnTextChanged for virtual keyboard input on Android #jira UE-32348 #ue4 #android Change 3046958 on 2016/07/12 by Chris.Babcock Rename some functions with Error in the name to prevent false coloring in the logs #jira UE-30541 #ue4 #android Change 3047169 on 2016/07/12 by Chris.Babcock Return player ID and handle auth token for Google Play Games on Android (contributed by gameDNAstudio) #jira UE-30610 #pr #2372 #ue4 #android Change 3047406 on 2016/07/12 by Jack.Porter Add missing import to GameActivity.java Change 3047442 on 2016/07/13 by Dmitriy.Dyomin Added: Mobile custom post-process Limitations: can fetch only from PostProcessInput0 (SceneColor) other scene textures are not supported. Does not support "Replacing the Tonemapper" blendable location. #jira UEMOB-147 Change 3047466 on 2016/07/13 by Dmitriy.Dyomin Disabled engine crash handler on Android, system crash handler works more reliably across different os versions/devices Change 3047746 on 2016/07/13 by Jack.Porter Rename FBasePassFowardDynamicPointLightInfo Change 3047778 on 2016/07/13 by Jack.Porter Missing file for rename FBasePassFowardDynamicPointLightInfo Change 3047788 on 2016/07/13 by Allan.Bentham Fix incorrect TargetPlatformDescriptor string generation. Change 3047790 on 2016/07/13 by Allan.Bentham Fixed half3x3 matrix use with ES3.1 glsl Fixed couple of interpolator precision mismatch. Fixed ES3.1 support detection issues Change 3047816 on 2016/07/13 by Allan.Bentham Remove AndroidGL4 remnants. Change 3048926 on 2016/07/13 by Chris.Babcock Added detection of Amazon Fire TV to disable requiring virtual joysticks #ue4 #android Change 3049335 on 2016/07/14 by Dmitriy.Dyomin Fixing UAT crash when packaging project for iOS Change 3049390 on 2016/07/14 by Jack.Porter Disabled error for warning 4819 "The file contains a character that cannot be represented in the current code page (xxx). Save the file in Unicode format to prevent data loss" This is triggered by European characters and copyright symbols in source saved as latin-1 when compiling on non-US windows. Seen often in 3rd party headers, eg nvapi. #code_review: Ben.Marsh Change 3049391 on 2016/07/14 by Jack.Porter Fixed incorrect comment order in CL 3049390 Change 3049545 on 2016/07/14 by Dmitriy.Dyomin Reworking some code from CL#3047442 to make static analizer happy Change 3049626 on 2016/07/14 by Allan.Bentham Automatic CSM shader toggling #jira UE-27429 Change 3051574 on 2016/07/15 by Jack.Porter Support for lighting channels on Mobile - Multiple directional lights are supported in different channels but primitives are only affected by the directional light in the first channel they have set - CSM shadows from stationary or movable directional lights correctly follow their lighting channels - No channel limitations for dynamic point lights Notes: Removed mobile-specific directional light shadowing fields from View uniform buffer and mobile no longers uses SimpleDirectionalLight. Separate uniform buffers for mobile directional light are generated for each lighting channel. CSM culling information is now stored in FViewInfo and not per FVisibleLightViewInfo as the visibility bits are per view. #code_review Daniel.Wright #jira UEMOB-110 Change 3051699 on 2016/07/15 by Steve.Cano Preserve the original, pre-transformed input vertices for Slate shaders, which is required to properly do anti-aliasing (the ViewProjection-transformed values were causing the lines to not be drawn). #jira UE-20320 #ue4 #android Change 3051744 on 2016/07/15 by Chris.Babcock Fix Android Vulkan include path checks (contributed by kodomastro) #jira UE-33311 #PR #2602 #ue4 #android Change 3052023 on 2016/07/15 by Chris.Babcock Fix shadowed variables Change 3052110 on 2016/07/15 by Chris.Babcock Compile fixes for light channel support on mobile - missing template - accessor function for MobileDirectionalLights from scene Change 3052242 on 2016/07/15 by Chris.Babcock Compile fixes for light channel support on mobile - removed dependency on C++14 feature Change 3052730 on 2016/07/16 by Dmitriy.Dyomin Win32 build fix Change 3053041 on 2016/07/17 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3053054 on 2016/07/17 by Jack.Porter Changed use of old function ShouldUseDeferredRenderer() to new GetShadingPath() Change 3053055 on 2016/07/17 by Jack.Porter Fixed local variable aliasing in unity build Change 3053206 on 2016/07/18 by Jack.Porter Support ExecuteJavascript on iOS and Android Expose ExecuteJavascript to widget blueprint Fix ExecuteJavascript unicode string support on desktop platforms #jira UEMOB-152 Change 3053323 on 2016/07/18 by Dmitriy.Dyomin Added: Ability to set thread affinity for a device in Device Profiles (ex: +CVars=android.SetThreadAffinity=RT 0x02 GT 0x01) #jira UEMOB-107 Change 3053723 on 2016/07/18 by Jack.Porter Fix for UnrealTournamentProto.Automation.cs build errors Change 3055090 on 2016/07/19 by Dmitriy.Dyomin Junk OnlineBlueprintSupport module binaries [CL 3056789 by Jack Porter in Main branch]
2016-07-19 19:13:01 -04:00
CookPlatform = CookSourcePlatform.GetCookPlatform(DedicatedServer, IsClientInsteadOfNoEditor);
}
else if (CookSourcePlatform != null && InProgram)
{
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3056055) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3011102 on 2016/06/13 by Steve.Cano After taking a screenshot using glReadPixels, transfer the data to the target buffer from bottom row up to fix the "upside-down" render that OpenGL does. Confirmed with QA (owen.stupka_volt) that this does not appear to be happening on iOS (non-metal devices, inclusion of iOS in write-up was a mistake), verified on an ipod touch 5. Also confirmed that this does not happen on html5, and that Mobile HDR flag does not make a difference in function. #jira UE-26421 #ue4 #android Change 3015801 on 2016/06/16 by Dmitriy.Dyomin Probbably fix for UE-30878, was not able to repro an actual crash(FFoliageInstanceBaseCache::AddInstanceBaseId). Added even more logging in case fix does not work. #jira UE-30878 Change 3015903 on 2016/06/16 by Dmitriy.Dyomin Fixed: Levels window has Refresh/UI issues when World Composition is active #jira UE-26160 Change 3018352 on 2016/06/17 by Chris.Babcock Handle Android media prepare failure (URL without internet for example) #jira UE-32029 #ue4 #android Change 3026387 on 2016/06/24 by Jack.Porter Remove FFuncTestManager warning about PIE when running on a standalone game binary Change 3026398 on 2016/06/24 by Jack.Porter Prevent FSocketBSD::Recv returning false on SE_EWOULDBLOCK Change 3027553 on 2016/06/25 by Niklas.Smedberg OpenGL: Made some block size calculation work for arbitrary block sizes (e.g. not pow-of-two). Change 3027554 on 2016/06/25 by Niklas.Smedberg Metal: copyFromTexture now gets block-aligned size parameter (e.g. used for texture streaming) Change 3028061 on 2016/06/26 by Jack.Porter Fixed a problem where newly discovered instances were not added to an existing session in the Session Browser. Fixed a problem where selecting an instance in a session with multiple instances didn't deselect the previously selected instance correctly. Change 3029220 on 2016/06/27 by Steve.Cano Change Android Tilt values to use GetRotationMatrix/GetOrientation logic, same as java-side android would use, and adjust slightly to match as closely as possible to iOS values for tilt. There is drift and some differences in the "Y" value but the same sort of inconsistencies are also seen on iOS. #jira UE-6135 #ue4 #android Change 3030420 on 2016/06/28 by Jack.Porter Fix crash with RenderOutputValidation when running with cooked content Change 3030426 on 2016/06/28 by Jack.Porter Fix to CL 3026398 - make FSocketBSD(IPv6)::Recv(From) return false when recv returns 0. A return value of 0 indicates the connection was shutdown in an orderly manner. Change 3030973 on 2016/06/28 by Steve.Cano Added a landscape downloader background along with the options to change it from within Android settings #ue4 #android #jira UE-32318 Change 3031757 on 2016/06/28 by Chris.Babcock Remove unused methods from AndroidJNI header #ue4 #android Change 3032387 on 2016/06/29 by Allan.Bentham Rename android es31+aep -> glesdeferred. Change 3032711 on 2016/06/29 by Allan.Bentham Rename GLSL_310_ES_EXT shader define: ES31_AEP_PROFILE -> ESDEFERRED_PROFILE bumped UE_SHADER_GLSL_310_ES_EXT_VER version number. Change 3033698 on 2016/06/29 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3034210 on 2016/06/30 by Steve.Cano Added a new AndroidRuntimeSettings variable that allows creation of installers for both Windows and Mac/Linux if set to true. #jira UE-32302 #ue4 #android Change 3034530 on 2016/06/30 by Chris.Babcock Rename FManifestReader to FAndroidFileManifestReader in AndroidFile #jira UE-32679 #ue4 #android Change 3034612 on 2016/06/30 by Steve.Cano Change Alpha from being set to a range of 0-255 to being in a range of 0-1 (which is the correct range of values) #jira UE-25325 #ue4 #android Change 3034679 on 2016/06/30 by Chris.Babcock Fix tooltip (.command for mac, not .sh) #jira UE-32302 #ue4 #android Change 3038881 on 2016/07/05 by Jack.Porter Package and launch on multiple Android devices simultaneously using the -Device=xxxxxxx+yyyyyyyy+zzzzzzzz format generated by a Project Launcher profile when you select multiple devices #jira UEMOB-115 Change 3039240 on 2016/07/06 by Jack.Porter TcpMessageTransport - connection-based message bus transport. #jira UEMOB-112 #jira UEMOB-113 Change 3039252 on 2016/07/06 by Jack.Porter Enable messaging and session services and functional testing on Android when launched with -messaging Android device detection module support for adding port forwarding and connection announcement for TcpMessageTransport #jira UEMOB-112 #jira UEMOB-113 Change 3039264 on 2016/07/06 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3040041 on 2016/07/06 by Chris.Babcock Pass proper value to script generator functions #jira UE-32861 #ue4 #android Change 3040890 on 2016/07/07 by Allan.Bentham Fix shadow crash #jira UE-32884 Change 3041458 on 2016/07/07 by Peter.Sauerbrei fix for IOS launch on failures Change 3041542 on 2016/07/07 by Peter.Sauerbrei better fix for the multi-device deployment issue Change 3041774 on 2016/07/07 by Steve.Cano Fixing crash that occurs when a games app id for Google Play is set before configuring the apk packaging. Also validating the value that is inserted and using it to override any values that have been hand-inserted into the GooglePlayAppID.xml #jira UE-16992 #android #ue4 Change 3042222 on 2016/07/08 by Dmitriy.Dyomin Mobile packaging scenarious Added a wizard for creating launcher profiles (Android & IOS) for scenario: Minimal App + Downloadable content Added Archive step to launcher profiles to be able to store build product into specified directory Changes to a cooker to be able to pack DLC based with a different flavor to a release App Changes to DLC packaging to be able to build streaming data without chunking pak files #jira UEMOB-119 Change 3042244 on 2016/07/08 by Dmitriy.Dyomin Fixed crash in FTcpMessageTransportConnection::Stop Change 3042270 on 2016/07/08 by Dmitriy.Dyomin GitHub #2320 : [ULevelStreamingKismet] Load Level Instance, Enables UE4 Users to create multiple transformed instances of a .umap without having to include in persistent level's list ? Rama contributed by: EverNewJoy #jira UE-29867 Change 3042449 on 2016/07/08 by Dmitriy.Dyomin Fixing Mac Editor build erros from CL# 3042222 Change 3042480 on 2016/07/08 by Allan.Bentham Add ES3.1 profile & compiler_glsl_es3_1 to shaders. Change 3042481 on 2016/07/08 by Allan.Bentham hlslcc - ES3.1 changes. set ES3.1 version number to 310 Do not use ES2 keywords for ES3.1. Generate Layout Locations for ES3.1 bump version. Change 3042483 on 2016/07/08 by Allan.Bentham Add mobile ES3.1 support. Recreates EGL and ES3.1 context during PlatformInitOpenGL if ES3.1 is required. Change 3042485 on 2016/07/08 by Allan.Bentham Undo android XGE change. Change 3042506 on 2016/07/08 by Dmitriy.Dyomin One more compile fix from CL# 3042222 Change 3044173 on 2016/07/10 by Dmitriy.Dyomin UAT: Added support for building target platforms with multiple cook flavors ex: -targetplatform=Android -cookflavor=ETC1+ETC2 Change 3044213 on 2016/07/11 by Dmitriy.Dyomin Fixed: Can't stream in a level whose name is a substring of another streaming level #jira UE-32999 Change 3044221 on 2016/07/11 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3044815 on 2016/07/11 by Allan.Bentham Corrected NAME_GLSL_ES3_1_ANDROID format string. Change 3046911 on 2016/07/12 by Chris.Babcock Add handling of OnTextChanged for virtual keyboard input on Android #jira UE-32348 #ue4 #android Change 3046958 on 2016/07/12 by Chris.Babcock Rename some functions with Error in the name to prevent false coloring in the logs #jira UE-30541 #ue4 #android Change 3047169 on 2016/07/12 by Chris.Babcock Return player ID and handle auth token for Google Play Games on Android (contributed by gameDNAstudio) #jira UE-30610 #pr #2372 #ue4 #android Change 3047406 on 2016/07/12 by Jack.Porter Add missing import to GameActivity.java Change 3047442 on 2016/07/13 by Dmitriy.Dyomin Added: Mobile custom post-process Limitations: can fetch only from PostProcessInput0 (SceneColor) other scene textures are not supported. Does not support "Replacing the Tonemapper" blendable location. #jira UEMOB-147 Change 3047466 on 2016/07/13 by Dmitriy.Dyomin Disabled engine crash handler on Android, system crash handler works more reliably across different os versions/devices Change 3047746 on 2016/07/13 by Jack.Porter Rename FBasePassFowardDynamicPointLightInfo Change 3047778 on 2016/07/13 by Jack.Porter Missing file for rename FBasePassFowardDynamicPointLightInfo Change 3047788 on 2016/07/13 by Allan.Bentham Fix incorrect TargetPlatformDescriptor string generation. Change 3047790 on 2016/07/13 by Allan.Bentham Fixed half3x3 matrix use with ES3.1 glsl Fixed couple of interpolator precision mismatch. Fixed ES3.1 support detection issues Change 3047816 on 2016/07/13 by Allan.Bentham Remove AndroidGL4 remnants. Change 3048926 on 2016/07/13 by Chris.Babcock Added detection of Amazon Fire TV to disable requiring virtual joysticks #ue4 #android Change 3049335 on 2016/07/14 by Dmitriy.Dyomin Fixing UAT crash when packaging project for iOS Change 3049390 on 2016/07/14 by Jack.Porter Disabled error for warning 4819 "The file contains a character that cannot be represented in the current code page (xxx). Save the file in Unicode format to prevent data loss" This is triggered by European characters and copyright symbols in source saved as latin-1 when compiling on non-US windows. Seen often in 3rd party headers, eg nvapi. #code_review: Ben.Marsh Change 3049391 on 2016/07/14 by Jack.Porter Fixed incorrect comment order in CL 3049390 Change 3049545 on 2016/07/14 by Dmitriy.Dyomin Reworking some code from CL#3047442 to make static analizer happy Change 3049626 on 2016/07/14 by Allan.Bentham Automatic CSM shader toggling #jira UE-27429 Change 3051574 on 2016/07/15 by Jack.Porter Support for lighting channels on Mobile - Multiple directional lights are supported in different channels but primitives are only affected by the directional light in the first channel they have set - CSM shadows from stationary or movable directional lights correctly follow their lighting channels - No channel limitations for dynamic point lights Notes: Removed mobile-specific directional light shadowing fields from View uniform buffer and mobile no longers uses SimpleDirectionalLight. Separate uniform buffers for mobile directional light are generated for each lighting channel. CSM culling information is now stored in FViewInfo and not per FVisibleLightViewInfo as the visibility bits are per view. #code_review Daniel.Wright #jira UEMOB-110 Change 3051699 on 2016/07/15 by Steve.Cano Preserve the original, pre-transformed input vertices for Slate shaders, which is required to properly do anti-aliasing (the ViewProjection-transformed values were causing the lines to not be drawn). #jira UE-20320 #ue4 #android Change 3051744 on 2016/07/15 by Chris.Babcock Fix Android Vulkan include path checks (contributed by kodomastro) #jira UE-33311 #PR #2602 #ue4 #android Change 3052023 on 2016/07/15 by Chris.Babcock Fix shadowed variables Change 3052110 on 2016/07/15 by Chris.Babcock Compile fixes for light channel support on mobile - missing template - accessor function for MobileDirectionalLights from scene Change 3052242 on 2016/07/15 by Chris.Babcock Compile fixes for light channel support on mobile - removed dependency on C++14 feature Change 3052730 on 2016/07/16 by Dmitriy.Dyomin Win32 build fix Change 3053041 on 2016/07/17 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3053054 on 2016/07/17 by Jack.Porter Changed use of old function ShouldUseDeferredRenderer() to new GetShadingPath() Change 3053055 on 2016/07/17 by Jack.Porter Fixed local variable aliasing in unity build Change 3053206 on 2016/07/18 by Jack.Porter Support ExecuteJavascript on iOS and Android Expose ExecuteJavascript to widget blueprint Fix ExecuteJavascript unicode string support on desktop platforms #jira UEMOB-152 Change 3053323 on 2016/07/18 by Dmitriy.Dyomin Added: Ability to set thread affinity for a device in Device Profiles (ex: +CVars=android.SetThreadAffinity=RT 0x02 GT 0x01) #jira UEMOB-107 Change 3053723 on 2016/07/18 by Jack.Porter Fix for UnrealTournamentProto.Automation.cs build errors Change 3055090 on 2016/07/19 by Dmitriy.Dyomin Junk OnlineBlueprintSupport module binaries [CL 3056789 by Jack Porter in Main branch]
2016-07-19 19:13:01 -04:00
CookPlatform = CookSourcePlatform.GetCookPlatform(false, false);
}
else
{
CookPlatform = "";
}
if (StageTargetPlatform != null && InCooked)
{
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3056055) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3011102 on 2016/06/13 by Steve.Cano After taking a screenshot using glReadPixels, transfer the data to the target buffer from bottom row up to fix the "upside-down" render that OpenGL does. Confirmed with QA (owen.stupka_volt) that this does not appear to be happening on iOS (non-metal devices, inclusion of iOS in write-up was a mistake), verified on an ipod touch 5. Also confirmed that this does not happen on html5, and that Mobile HDR flag does not make a difference in function. #jira UE-26421 #ue4 #android Change 3015801 on 2016/06/16 by Dmitriy.Dyomin Probbably fix for UE-30878, was not able to repro an actual crash(FFoliageInstanceBaseCache::AddInstanceBaseId). Added even more logging in case fix does not work. #jira UE-30878 Change 3015903 on 2016/06/16 by Dmitriy.Dyomin Fixed: Levels window has Refresh/UI issues when World Composition is active #jira UE-26160 Change 3018352 on 2016/06/17 by Chris.Babcock Handle Android media prepare failure (URL without internet for example) #jira UE-32029 #ue4 #android Change 3026387 on 2016/06/24 by Jack.Porter Remove FFuncTestManager warning about PIE when running on a standalone game binary Change 3026398 on 2016/06/24 by Jack.Porter Prevent FSocketBSD::Recv returning false on SE_EWOULDBLOCK Change 3027553 on 2016/06/25 by Niklas.Smedberg OpenGL: Made some block size calculation work for arbitrary block sizes (e.g. not pow-of-two). Change 3027554 on 2016/06/25 by Niklas.Smedberg Metal: copyFromTexture now gets block-aligned size parameter (e.g. used for texture streaming) Change 3028061 on 2016/06/26 by Jack.Porter Fixed a problem where newly discovered instances were not added to an existing session in the Session Browser. Fixed a problem where selecting an instance in a session with multiple instances didn't deselect the previously selected instance correctly. Change 3029220 on 2016/06/27 by Steve.Cano Change Android Tilt values to use GetRotationMatrix/GetOrientation logic, same as java-side android would use, and adjust slightly to match as closely as possible to iOS values for tilt. There is drift and some differences in the "Y" value but the same sort of inconsistencies are also seen on iOS. #jira UE-6135 #ue4 #android Change 3030420 on 2016/06/28 by Jack.Porter Fix crash with RenderOutputValidation when running with cooked content Change 3030426 on 2016/06/28 by Jack.Porter Fix to CL 3026398 - make FSocketBSD(IPv6)::Recv(From) return false when recv returns 0. A return value of 0 indicates the connection was shutdown in an orderly manner. Change 3030973 on 2016/06/28 by Steve.Cano Added a landscape downloader background along with the options to change it from within Android settings #ue4 #android #jira UE-32318 Change 3031757 on 2016/06/28 by Chris.Babcock Remove unused methods from AndroidJNI header #ue4 #android Change 3032387 on 2016/06/29 by Allan.Bentham Rename android es31+aep -> glesdeferred. Change 3032711 on 2016/06/29 by Allan.Bentham Rename GLSL_310_ES_EXT shader define: ES31_AEP_PROFILE -> ESDEFERRED_PROFILE bumped UE_SHADER_GLSL_310_ES_EXT_VER version number. Change 3033698 on 2016/06/29 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3034210 on 2016/06/30 by Steve.Cano Added a new AndroidRuntimeSettings variable that allows creation of installers for both Windows and Mac/Linux if set to true. #jira UE-32302 #ue4 #android Change 3034530 on 2016/06/30 by Chris.Babcock Rename FManifestReader to FAndroidFileManifestReader in AndroidFile #jira UE-32679 #ue4 #android Change 3034612 on 2016/06/30 by Steve.Cano Change Alpha from being set to a range of 0-255 to being in a range of 0-1 (which is the correct range of values) #jira UE-25325 #ue4 #android Change 3034679 on 2016/06/30 by Chris.Babcock Fix tooltip (.command for mac, not .sh) #jira UE-32302 #ue4 #android Change 3038881 on 2016/07/05 by Jack.Porter Package and launch on multiple Android devices simultaneously using the -Device=xxxxxxx+yyyyyyyy+zzzzzzzz format generated by a Project Launcher profile when you select multiple devices #jira UEMOB-115 Change 3039240 on 2016/07/06 by Jack.Porter TcpMessageTransport - connection-based message bus transport. #jira UEMOB-112 #jira UEMOB-113 Change 3039252 on 2016/07/06 by Jack.Porter Enable messaging and session services and functional testing on Android when launched with -messaging Android device detection module support for adding port forwarding and connection announcement for TcpMessageTransport #jira UEMOB-112 #jira UEMOB-113 Change 3039264 on 2016/07/06 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3040041 on 2016/07/06 by Chris.Babcock Pass proper value to script generator functions #jira UE-32861 #ue4 #android Change 3040890 on 2016/07/07 by Allan.Bentham Fix shadow crash #jira UE-32884 Change 3041458 on 2016/07/07 by Peter.Sauerbrei fix for IOS launch on failures Change 3041542 on 2016/07/07 by Peter.Sauerbrei better fix for the multi-device deployment issue Change 3041774 on 2016/07/07 by Steve.Cano Fixing crash that occurs when a games app id for Google Play is set before configuring the apk packaging. Also validating the value that is inserted and using it to override any values that have been hand-inserted into the GooglePlayAppID.xml #jira UE-16992 #android #ue4 Change 3042222 on 2016/07/08 by Dmitriy.Dyomin Mobile packaging scenarious Added a wizard for creating launcher profiles (Android & IOS) for scenario: Minimal App + Downloadable content Added Archive step to launcher profiles to be able to store build product into specified directory Changes to a cooker to be able to pack DLC based with a different flavor to a release App Changes to DLC packaging to be able to build streaming data without chunking pak files #jira UEMOB-119 Change 3042244 on 2016/07/08 by Dmitriy.Dyomin Fixed crash in FTcpMessageTransportConnection::Stop Change 3042270 on 2016/07/08 by Dmitriy.Dyomin GitHub #2320 : [ULevelStreamingKismet] Load Level Instance, Enables UE4 Users to create multiple transformed instances of a .umap without having to include in persistent level's list ? Rama contributed by: EverNewJoy #jira UE-29867 Change 3042449 on 2016/07/08 by Dmitriy.Dyomin Fixing Mac Editor build erros from CL# 3042222 Change 3042480 on 2016/07/08 by Allan.Bentham Add ES3.1 profile & compiler_glsl_es3_1 to shaders. Change 3042481 on 2016/07/08 by Allan.Bentham hlslcc - ES3.1 changes. set ES3.1 version number to 310 Do not use ES2 keywords for ES3.1. Generate Layout Locations for ES3.1 bump version. Change 3042483 on 2016/07/08 by Allan.Bentham Add mobile ES3.1 support. Recreates EGL and ES3.1 context during PlatformInitOpenGL if ES3.1 is required. Change 3042485 on 2016/07/08 by Allan.Bentham Undo android XGE change. Change 3042506 on 2016/07/08 by Dmitriy.Dyomin One more compile fix from CL# 3042222 Change 3044173 on 2016/07/10 by Dmitriy.Dyomin UAT: Added support for building target platforms with multiple cook flavors ex: -targetplatform=Android -cookflavor=ETC1+ETC2 Change 3044213 on 2016/07/11 by Dmitriy.Dyomin Fixed: Can't stream in a level whose name is a substring of another streaming level #jira UE-32999 Change 3044221 on 2016/07/11 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3044815 on 2016/07/11 by Allan.Bentham Corrected NAME_GLSL_ES3_1_ANDROID format string. Change 3046911 on 2016/07/12 by Chris.Babcock Add handling of OnTextChanged for virtual keyboard input on Android #jira UE-32348 #ue4 #android Change 3046958 on 2016/07/12 by Chris.Babcock Rename some functions with Error in the name to prevent false coloring in the logs #jira UE-30541 #ue4 #android Change 3047169 on 2016/07/12 by Chris.Babcock Return player ID and handle auth token for Google Play Games on Android (contributed by gameDNAstudio) #jira UE-30610 #pr #2372 #ue4 #android Change 3047406 on 2016/07/12 by Jack.Porter Add missing import to GameActivity.java Change 3047442 on 2016/07/13 by Dmitriy.Dyomin Added: Mobile custom post-process Limitations: can fetch only from PostProcessInput0 (SceneColor) other scene textures are not supported. Does not support "Replacing the Tonemapper" blendable location. #jira UEMOB-147 Change 3047466 on 2016/07/13 by Dmitriy.Dyomin Disabled engine crash handler on Android, system crash handler works more reliably across different os versions/devices Change 3047746 on 2016/07/13 by Jack.Porter Rename FBasePassFowardDynamicPointLightInfo Change 3047778 on 2016/07/13 by Jack.Porter Missing file for rename FBasePassFowardDynamicPointLightInfo Change 3047788 on 2016/07/13 by Allan.Bentham Fix incorrect TargetPlatformDescriptor string generation. Change 3047790 on 2016/07/13 by Allan.Bentham Fixed half3x3 matrix use with ES3.1 glsl Fixed couple of interpolator precision mismatch. Fixed ES3.1 support detection issues Change 3047816 on 2016/07/13 by Allan.Bentham Remove AndroidGL4 remnants. Change 3048926 on 2016/07/13 by Chris.Babcock Added detection of Amazon Fire TV to disable requiring virtual joysticks #ue4 #android Change 3049335 on 2016/07/14 by Dmitriy.Dyomin Fixing UAT crash when packaging project for iOS Change 3049390 on 2016/07/14 by Jack.Porter Disabled error for warning 4819 "The file contains a character that cannot be represented in the current code page (xxx). Save the file in Unicode format to prevent data loss" This is triggered by European characters and copyright symbols in source saved as latin-1 when compiling on non-US windows. Seen often in 3rd party headers, eg nvapi. #code_review: Ben.Marsh Change 3049391 on 2016/07/14 by Jack.Porter Fixed incorrect comment order in CL 3049390 Change 3049545 on 2016/07/14 by Dmitriy.Dyomin Reworking some code from CL#3047442 to make static analizer happy Change 3049626 on 2016/07/14 by Allan.Bentham Automatic CSM shader toggling #jira UE-27429 Change 3051574 on 2016/07/15 by Jack.Porter Support for lighting channels on Mobile - Multiple directional lights are supported in different channels but primitives are only affected by the directional light in the first channel they have set - CSM shadows from stationary or movable directional lights correctly follow their lighting channels - No channel limitations for dynamic point lights Notes: Removed mobile-specific directional light shadowing fields from View uniform buffer and mobile no longers uses SimpleDirectionalLight. Separate uniform buffers for mobile directional light are generated for each lighting channel. CSM culling information is now stored in FViewInfo and not per FVisibleLightViewInfo as the visibility bits are per view. #code_review Daniel.Wright #jira UEMOB-110 Change 3051699 on 2016/07/15 by Steve.Cano Preserve the original, pre-transformed input vertices for Slate shaders, which is required to properly do anti-aliasing (the ViewProjection-transformed values were causing the lines to not be drawn). #jira UE-20320 #ue4 #android Change 3051744 on 2016/07/15 by Chris.Babcock Fix Android Vulkan include path checks (contributed by kodomastro) #jira UE-33311 #PR #2602 #ue4 #android Change 3052023 on 2016/07/15 by Chris.Babcock Fix shadowed variables Change 3052110 on 2016/07/15 by Chris.Babcock Compile fixes for light channel support on mobile - missing template - accessor function for MobileDirectionalLights from scene Change 3052242 on 2016/07/15 by Chris.Babcock Compile fixes for light channel support on mobile - removed dependency on C++14 feature Change 3052730 on 2016/07/16 by Dmitriy.Dyomin Win32 build fix Change 3053041 on 2016/07/17 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3053054 on 2016/07/17 by Jack.Porter Changed use of old function ShouldUseDeferredRenderer() to new GetShadingPath() Change 3053055 on 2016/07/17 by Jack.Porter Fixed local variable aliasing in unity build Change 3053206 on 2016/07/18 by Jack.Porter Support ExecuteJavascript on iOS and Android Expose ExecuteJavascript to widget blueprint Fix ExecuteJavascript unicode string support on desktop platforms #jira UEMOB-152 Change 3053323 on 2016/07/18 by Dmitriy.Dyomin Added: Ability to set thread affinity for a device in Device Profiles (ex: +CVars=android.SetThreadAffinity=RT 0x02 GT 0x01) #jira UEMOB-107 Change 3053723 on 2016/07/18 by Jack.Porter Fix for UnrealTournamentProto.Automation.cs build errors Change 3055090 on 2016/07/19 by Dmitriy.Dyomin Junk OnlineBlueprintSupport module binaries [CL 3056789 by Jack Porter in Main branch]
2016-07-19 19:13:01 -04:00
FinalCookPlatform = StageTargetPlatform.GetCookPlatform(DedicatedServer, IsClientInsteadOfNoEditor);
}
else if (StageTargetPlatform != null && InProgram)
{
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3056055) #lockdown Nick.Penwarden #rb None ========================== MAJOR FEATURES + CHANGES ========================== Change 3011102 on 2016/06/13 by Steve.Cano After taking a screenshot using glReadPixels, transfer the data to the target buffer from bottom row up to fix the "upside-down" render that OpenGL does. Confirmed with QA (owen.stupka_volt) that this does not appear to be happening on iOS (non-metal devices, inclusion of iOS in write-up was a mistake), verified on an ipod touch 5. Also confirmed that this does not happen on html5, and that Mobile HDR flag does not make a difference in function. #jira UE-26421 #ue4 #android Change 3015801 on 2016/06/16 by Dmitriy.Dyomin Probbably fix for UE-30878, was not able to repro an actual crash(FFoliageInstanceBaseCache::AddInstanceBaseId). Added even more logging in case fix does not work. #jira UE-30878 Change 3015903 on 2016/06/16 by Dmitriy.Dyomin Fixed: Levels window has Refresh/UI issues when World Composition is active #jira UE-26160 Change 3018352 on 2016/06/17 by Chris.Babcock Handle Android media prepare failure (URL without internet for example) #jira UE-32029 #ue4 #android Change 3026387 on 2016/06/24 by Jack.Porter Remove FFuncTestManager warning about PIE when running on a standalone game binary Change 3026398 on 2016/06/24 by Jack.Porter Prevent FSocketBSD::Recv returning false on SE_EWOULDBLOCK Change 3027553 on 2016/06/25 by Niklas.Smedberg OpenGL: Made some block size calculation work for arbitrary block sizes (e.g. not pow-of-two). Change 3027554 on 2016/06/25 by Niklas.Smedberg Metal: copyFromTexture now gets block-aligned size parameter (e.g. used for texture streaming) Change 3028061 on 2016/06/26 by Jack.Porter Fixed a problem where newly discovered instances were not added to an existing session in the Session Browser. Fixed a problem where selecting an instance in a session with multiple instances didn't deselect the previously selected instance correctly. Change 3029220 on 2016/06/27 by Steve.Cano Change Android Tilt values to use GetRotationMatrix/GetOrientation logic, same as java-side android would use, and adjust slightly to match as closely as possible to iOS values for tilt. There is drift and some differences in the "Y" value but the same sort of inconsistencies are also seen on iOS. #jira UE-6135 #ue4 #android Change 3030420 on 2016/06/28 by Jack.Porter Fix crash with RenderOutputValidation when running with cooked content Change 3030426 on 2016/06/28 by Jack.Porter Fix to CL 3026398 - make FSocketBSD(IPv6)::Recv(From) return false when recv returns 0. A return value of 0 indicates the connection was shutdown in an orderly manner. Change 3030973 on 2016/06/28 by Steve.Cano Added a landscape downloader background along with the options to change it from within Android settings #ue4 #android #jira UE-32318 Change 3031757 on 2016/06/28 by Chris.Babcock Remove unused methods from AndroidJNI header #ue4 #android Change 3032387 on 2016/06/29 by Allan.Bentham Rename android es31+aep -> glesdeferred. Change 3032711 on 2016/06/29 by Allan.Bentham Rename GLSL_310_ES_EXT shader define: ES31_AEP_PROFILE -> ESDEFERRED_PROFILE bumped UE_SHADER_GLSL_310_ES_EXT_VER version number. Change 3033698 on 2016/06/29 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3034210 on 2016/06/30 by Steve.Cano Added a new AndroidRuntimeSettings variable that allows creation of installers for both Windows and Mac/Linux if set to true. #jira UE-32302 #ue4 #android Change 3034530 on 2016/06/30 by Chris.Babcock Rename FManifestReader to FAndroidFileManifestReader in AndroidFile #jira UE-32679 #ue4 #android Change 3034612 on 2016/06/30 by Steve.Cano Change Alpha from being set to a range of 0-255 to being in a range of 0-1 (which is the correct range of values) #jira UE-25325 #ue4 #android Change 3034679 on 2016/06/30 by Chris.Babcock Fix tooltip (.command for mac, not .sh) #jira UE-32302 #ue4 #android Change 3038881 on 2016/07/05 by Jack.Porter Package and launch on multiple Android devices simultaneously using the -Device=xxxxxxx+yyyyyyyy+zzzzzzzz format generated by a Project Launcher profile when you select multiple devices #jira UEMOB-115 Change 3039240 on 2016/07/06 by Jack.Porter TcpMessageTransport - connection-based message bus transport. #jira UEMOB-112 #jira UEMOB-113 Change 3039252 on 2016/07/06 by Jack.Porter Enable messaging and session services and functional testing on Android when launched with -messaging Android device detection module support for adding port forwarding and connection announcement for TcpMessageTransport #jira UEMOB-112 #jira UEMOB-113 Change 3039264 on 2016/07/06 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3040041 on 2016/07/06 by Chris.Babcock Pass proper value to script generator functions #jira UE-32861 #ue4 #android Change 3040890 on 2016/07/07 by Allan.Bentham Fix shadow crash #jira UE-32884 Change 3041458 on 2016/07/07 by Peter.Sauerbrei fix for IOS launch on failures Change 3041542 on 2016/07/07 by Peter.Sauerbrei better fix for the multi-device deployment issue Change 3041774 on 2016/07/07 by Steve.Cano Fixing crash that occurs when a games app id for Google Play is set before configuring the apk packaging. Also validating the value that is inserted and using it to override any values that have been hand-inserted into the GooglePlayAppID.xml #jira UE-16992 #android #ue4 Change 3042222 on 2016/07/08 by Dmitriy.Dyomin Mobile packaging scenarious Added a wizard for creating launcher profiles (Android & IOS) for scenario: Minimal App + Downloadable content Added Archive step to launcher profiles to be able to store build product into specified directory Changes to a cooker to be able to pack DLC based with a different flavor to a release App Changes to DLC packaging to be able to build streaming data without chunking pak files #jira UEMOB-119 Change 3042244 on 2016/07/08 by Dmitriy.Dyomin Fixed crash in FTcpMessageTransportConnection::Stop Change 3042270 on 2016/07/08 by Dmitriy.Dyomin GitHub #2320 : [ULevelStreamingKismet] Load Level Instance, Enables UE4 Users to create multiple transformed instances of a .umap without having to include in persistent level's list ? Rama contributed by: EverNewJoy #jira UE-29867 Change 3042449 on 2016/07/08 by Dmitriy.Dyomin Fixing Mac Editor build erros from CL# 3042222 Change 3042480 on 2016/07/08 by Allan.Bentham Add ES3.1 profile & compiler_glsl_es3_1 to shaders. Change 3042481 on 2016/07/08 by Allan.Bentham hlslcc - ES3.1 changes. set ES3.1 version number to 310 Do not use ES2 keywords for ES3.1. Generate Layout Locations for ES3.1 bump version. Change 3042483 on 2016/07/08 by Allan.Bentham Add mobile ES3.1 support. Recreates EGL and ES3.1 context during PlatformInitOpenGL if ES3.1 is required. Change 3042485 on 2016/07/08 by Allan.Bentham Undo android XGE change. Change 3042506 on 2016/07/08 by Dmitriy.Dyomin One more compile fix from CL# 3042222 Change 3044173 on 2016/07/10 by Dmitriy.Dyomin UAT: Added support for building target platforms with multiple cook flavors ex: -targetplatform=Android -cookflavor=ETC1+ETC2 Change 3044213 on 2016/07/11 by Dmitriy.Dyomin Fixed: Can't stream in a level whose name is a substring of another streaming level #jira UE-32999 Change 3044221 on 2016/07/11 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3044815 on 2016/07/11 by Allan.Bentham Corrected NAME_GLSL_ES3_1_ANDROID format string. Change 3046911 on 2016/07/12 by Chris.Babcock Add handling of OnTextChanged for virtual keyboard input on Android #jira UE-32348 #ue4 #android Change 3046958 on 2016/07/12 by Chris.Babcock Rename some functions with Error in the name to prevent false coloring in the logs #jira UE-30541 #ue4 #android Change 3047169 on 2016/07/12 by Chris.Babcock Return player ID and handle auth token for Google Play Games on Android (contributed by gameDNAstudio) #jira UE-30610 #pr #2372 #ue4 #android Change 3047406 on 2016/07/12 by Jack.Porter Add missing import to GameActivity.java Change 3047442 on 2016/07/13 by Dmitriy.Dyomin Added: Mobile custom post-process Limitations: can fetch only from PostProcessInput0 (SceneColor) other scene textures are not supported. Does not support "Replacing the Tonemapper" blendable location. #jira UEMOB-147 Change 3047466 on 2016/07/13 by Dmitriy.Dyomin Disabled engine crash handler on Android, system crash handler works more reliably across different os versions/devices Change 3047746 on 2016/07/13 by Jack.Porter Rename FBasePassFowardDynamicPointLightInfo Change 3047778 on 2016/07/13 by Jack.Porter Missing file for rename FBasePassFowardDynamicPointLightInfo Change 3047788 on 2016/07/13 by Allan.Bentham Fix incorrect TargetPlatformDescriptor string generation. Change 3047790 on 2016/07/13 by Allan.Bentham Fixed half3x3 matrix use with ES3.1 glsl Fixed couple of interpolator precision mismatch. Fixed ES3.1 support detection issues Change 3047816 on 2016/07/13 by Allan.Bentham Remove AndroidGL4 remnants. Change 3048926 on 2016/07/13 by Chris.Babcock Added detection of Amazon Fire TV to disable requiring virtual joysticks #ue4 #android Change 3049335 on 2016/07/14 by Dmitriy.Dyomin Fixing UAT crash when packaging project for iOS Change 3049390 on 2016/07/14 by Jack.Porter Disabled error for warning 4819 "The file contains a character that cannot be represented in the current code page (xxx). Save the file in Unicode format to prevent data loss" This is triggered by European characters and copyright symbols in source saved as latin-1 when compiling on non-US windows. Seen often in 3rd party headers, eg nvapi. #code_review: Ben.Marsh Change 3049391 on 2016/07/14 by Jack.Porter Fixed incorrect comment order in CL 3049390 Change 3049545 on 2016/07/14 by Dmitriy.Dyomin Reworking some code from CL#3047442 to make static analizer happy Change 3049626 on 2016/07/14 by Allan.Bentham Automatic CSM shader toggling #jira UE-27429 Change 3051574 on 2016/07/15 by Jack.Porter Support for lighting channels on Mobile - Multiple directional lights are supported in different channels but primitives are only affected by the directional light in the first channel they have set - CSM shadows from stationary or movable directional lights correctly follow their lighting channels - No channel limitations for dynamic point lights Notes: Removed mobile-specific directional light shadowing fields from View uniform buffer and mobile no longers uses SimpleDirectionalLight. Separate uniform buffers for mobile directional light are generated for each lighting channel. CSM culling information is now stored in FViewInfo and not per FVisibleLightViewInfo as the visibility bits are per view. #code_review Daniel.Wright #jira UEMOB-110 Change 3051699 on 2016/07/15 by Steve.Cano Preserve the original, pre-transformed input vertices for Slate shaders, which is required to properly do anti-aliasing (the ViewProjection-transformed values were causing the lines to not be drawn). #jira UE-20320 #ue4 #android Change 3051744 on 2016/07/15 by Chris.Babcock Fix Android Vulkan include path checks (contributed by kodomastro) #jira UE-33311 #PR #2602 #ue4 #android Change 3052023 on 2016/07/15 by Chris.Babcock Fix shadowed variables Change 3052110 on 2016/07/15 by Chris.Babcock Compile fixes for light channel support on mobile - missing template - accessor function for MobileDirectionalLights from scene Change 3052242 on 2016/07/15 by Chris.Babcock Compile fixes for light channel support on mobile - removed dependency on C++14 feature Change 3052730 on 2016/07/16 by Dmitriy.Dyomin Win32 build fix Change 3053041 on 2016/07/17 by Jack.Porter Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile) Change 3053054 on 2016/07/17 by Jack.Porter Changed use of old function ShouldUseDeferredRenderer() to new GetShadingPath() Change 3053055 on 2016/07/17 by Jack.Porter Fixed local variable aliasing in unity build Change 3053206 on 2016/07/18 by Jack.Porter Support ExecuteJavascript on iOS and Android Expose ExecuteJavascript to widget blueprint Fix ExecuteJavascript unicode string support on desktop platforms #jira UEMOB-152 Change 3053323 on 2016/07/18 by Dmitriy.Dyomin Added: Ability to set thread affinity for a device in Device Profiles (ex: +CVars=android.SetThreadAffinity=RT 0x02 GT 0x01) #jira UEMOB-107 Change 3053723 on 2016/07/18 by Jack.Porter Fix for UnrealTournamentProto.Automation.cs build errors Change 3055090 on 2016/07/19 by Dmitriy.Dyomin Junk OnlineBlueprintSupport module binaries [CL 3056789 by Jack Porter in Main branch]
2016-07-19 19:13:01 -04:00
FinalCookPlatform = StageTargetPlatform.GetCookPlatform(false, false);
}
else
{
FinalCookPlatform = "";
}
PlatformDir = StageTargetPlatform.PlatformType.ToString();
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
if (BaseStageDirectory != null)
{
StageDirectory = DirectoryReference.Combine(BaseStageDirectory, FinalCookPlatform);
DebugStageDirectory = InSeparateDebugStageDirectory? DirectoryReference.Combine(BaseStageDirectory, FinalCookPlatform + "Debug") : StageDirectory;
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
}
this.OptionalFileStageDirectory = OptionalFileStageDirectory;
this.OptionalFileInputDirectory = OptionalFileInputDirectory;
if (BaseArchiveDirectory != null)
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
{
// If the user specifies a path that contains the platform or cooked platform names, don't append to it.
string PlatformName = StageTargetPlatform.GetStagePlatforms().FirstOrDefault().ToString();
IEnumerable<string> PathComponents = new DirectoryInfo(BaseArchiveDirectory.FullName).FullName.Split(Path.DirectorySeparatorChar, StringSplitOptions.RemoveEmptyEntries);
if (!PathComponents.Any(C => C.StartsWith(FinalCookPlatform, StringComparison.OrdinalIgnoreCase) || C.StartsWith(PlatformName, StringComparison.OrdinalIgnoreCase)))
{
ArchiveDirectory = DirectoryReference.Combine(BaseArchiveDirectory, FinalCookPlatform);
}
else
{
ArchiveDirectory = BaseArchiveDirectory;
}
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
}
if (!FileReference.Exists(RawProjectPath))
{
throw new AutomationException("Can't find uproject file {0}.", RawProjectPathOrName);
}
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
EngineRoot = DirectoryReference.Combine(LocalRoot, "Engine");
ProjectRoot = RawProjectPath.Directory;
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
RelativeProjectRootForStage = new StagedDirectoryReference(ShortProjectName);
ProjectArgForCommandLines = CommandUtils.MakePathSafeToUseWithCommandLine(RawProjectPath.FullName);
CookSourceRuntimeRootDir = RuntimeRootDir = LocalRoot;
RuntimeProjectRootDir = ProjectRoot;
// Parse the custom config dir out of the receipts
foreach (StageTarget Target in StageTargets)
{
var Results = Target.Receipt.AdditionalProperties.Where(x => x.Name == "CustomConfig");
foreach (var Property in Results)
{
string FoundCustomConfig = Property.Value;
if (String.IsNullOrEmpty(FoundCustomConfig))
{
continue;
}
else if (String.IsNullOrEmpty(CustomConfig))
{
CustomConfig = FoundCustomConfig;
}
else if (CustomConfig != FoundCustomConfig)
{
throw new AutomationException("Cannot deploy targts with conflicting CustomConfig values! {0} does not match {1}", FoundCustomConfig, CustomConfig);
}
}
}
if (Stage)
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
CommandUtils.CreateDirectory(StageDirectory.FullName);
RuntimeRootDir = StageDirectory;
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
CookSourceRuntimeRootDir = DirectoryReference.Combine(BaseStageDirectory, CookPlatform);
RuntimeProjectRootDir = DirectoryReference.Combine(StageDirectory, RelativeProjectRootForStage.Name);
ProjectArgForCommandLines = CommandUtils.MakePathSafeToUseWithCommandLine(UProjectCommandLineArgInternalRoot + RelativeProjectRootForStage.Name + "/" + ShortProjectName + ".uproject");
}
if (Archive)
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
CommandUtils.CreateDirectory(ArchiveDirectory.FullName);
}
ProjectArgForCommandLines = ProjectArgForCommandLines.Replace("\\", "/");
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
ProjectBinariesFolder = DirectoryReference.Combine(ProjectUtils.GetClientProjectBinariesRootPath(RawProjectPath, TargetType.Game, IsCodeBasedProject), PlatformDir);
Copying //UE4/Fortnite-Staging to //UE4/Dev-Main (Source: //Fortnite/Main @ 3115282) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3114846 on 2016/09/06 by Bob.Tellez #UE4 The cooking process now respects the per-platform chunking manifest configuration in the game ini. If you specify -manifests it forces all platforms to generate a manifest. Change 3114805 on 2016/09/06 by Bob.Tellez #UE4 Attribute sets now work with their owning actor directly instead of asking the associated ability system component for the owning actor when updating the vis logger. #JIRA FORT-29511 Change 3112750 on 2016/09/02 by Bob.Tellez #UE4 bGenerateChunks from platform-specific Game.ini is now respected in pak generation code. Change 3108977 on 2016/08/31 by Jeff.Campeau Virtual keyboard support for Xbox One Text set by virtual keyboards is now submitted on the main thread through an internal tick Change 3108956 on 2016/08/31 by Chris.Gagnon Added "ClientOnly" module type to the build tools. Fixed "ServerOnly" which seems to have rotted, I assume it wasn't in use as it didn't work. Cleaned up some duplicated code which attributted to the rot most likely Change 3108879 on 2016/08/31 by Jeff.Campeau Eliminate binary renaming (allows side by side configs) Handle multiple binaries Temporary return of fixed extension SDK DLLs (required for multiplayer until they can be dynamically configured) Change 3108876 on 2016/08/31 by Jeff.Campeau Fix a manifest generation bug that was eating a character on conjoined values. Change 3108511 on 2016/08/31 by Billy.Bramer - Submit change from JoshM at my desk to make cloud mcp requests use shared pointers for net ids, enabling the use of AsShared on cloud-related callbacks which pass net ids as parameters - Note that this change does not have any validity checking as of yet Change 3108199 on 2016/08/31 by Ben.Woodhouse Disable r.lightshaftrendertoseparatetranslucency to 0 by default, but enable in fortnite via defaultEngine.ini. Change 3107825 on 2016/08/31 by Ben.Woodhouse Lightshaft rendering - add support for rendering the lightshafts to separate translucency (via the r.LightShaftRenderToSeparateTranslucency). This ensures postprocess materials with BL_BeforeTranslucency are rendered before lightshafts are applied. This fixes issues with the skin postprocess appearing too bright where it overlaps with lightshafts #jira UE-35359 Change 3107197 on 2016/08/30 by Chris.Gagnon Added ClientOnly option for Modules: ... "Modules" : [ { "Name" : "PluginName", "Type" : "ClientOnly", "LoadingPhase" : "Default" } ] ... (example taken from a plugin definition) Change 3104551 on 2016/08/29 by Lukasz.Furman potential fix for crash in ability cancelling #jira FORT-29200 Change 3104469 on 2016/08/29 by Lukasz.Furman added iteration limit to navmesh raycast loop to protect against invalid navmesh links creating an infinite loops #jira FORT-29198 Change 3103529 on 2016/08/26 by Jeff.Campeau Xbox One keyboard shift is sometimes unresponsive Change 3103523 on 2016/08/26 by Jeff.Campeau Aug XDK era launch bug fixed Change 3103183 on 2016/08/26 by Jeff.Campeau August XDK support Change 3102360 on 2016/08/26 by James.Hopkin Removed another load of float casts - these ones weren't causing problems, but are no longer necessary. Change 3099375 on 2016/08/24 by Lukasz.Furman added sanity check to UAnimInstance::Montage_Play #jira FORT-28140 Change 3097832 on 2016/08/23 by Chad.Garyet moving set_latest_build out of notifications section, was put there accidentally Change 3097139 on 2016/08/22 by Aaron.McLeran FORT-28502 Hard crash occurs on Win10 when locking computer and then unplugging audio device - Fix is modification of CL 3062338. Moving the checking of state change to head of audio update, adding new thread safe bool to immediately halt creatiing new voices if audio device changed. - Current theory is the xaudio2 in win10 doesn't properly handle audio device remove so this is a workaround till we update to XAudio2 2.8 -#rb Bob.Tellez #tests run game, lock computer, then disable or unplug audio device used by game, audio should stop gracefully without crashing Change 3096552 on 2016/08/22 by Ben.Marsh Fix killing adb.exe instead of notepad.exe. Change 3096473 on 2016/08/22 by Ben.Marsh Kill any ADB processes after a UAT command completes. The Android target platform in the editor spawns instances of ADB, and that spawns a background process to handle this and future requests. It can keep open handles to stdout, preventing the EC postprocessor from terminating. Change 3096459 on 2016/08/22 by Ben.Marsh Remove taskkill call for now. Change 3096450 on 2016/08/22 by Ben.Marsh Use system function instead of backticks to prevent errors killing job. Change 3096449 on 2016/08/22 by Ben.Marsh Kill ADB instances after running UAT; attempt to fix handle to stdout being kept open at the end of builds. Change 3096272 on 2016/08/22 by Chad.Garyet trying to remove postpfilter to see if that might be the stdout/err issue Change 3095369 on 2016/08/19 by Ben.Zeigler #Jira FORT-28683 Fix it so when using SimulateInEditor with Online PIE enabled, it disables trying to use the online service. Before it would half create the online instances, leading to issues in gameplay code when using simulate This will need updating when merging to Main to deal with the module changes Change 3095002 on 2016/08/19 by James.Hopkin Fixed another case of integers being cast to floats before being written to JSON. #jira FORT-28694 Change 3094834 on 2016/08/19 by Chad.Garyet trying a close of stdout and stderr to see if that remedies the ai test issue Change 3094719 on 2016/08/19 by John.Abercrombie Force a net update on the Avatar Actor whenever we start or stop a new Montage Change 3094487 on 2016/08/19 by James.Hopkin JSON writing of session settings no longer casts ints to floats (was causing INT_MIN to be written incorrectly). Change 3092389 on 2016/08/17 by Chad.Garyet more caveman debugging, skipping email notification if node is the fortnite ai test node. Change 3090898 on 2016/08/16 by Aaron.McLeran FORT-25911 Live OT7 crash in FVorbisAudioInfo::ReadCompressedData Implementing CL 3080958 in FN Change 3090761 on 2016/08/16 by Chris.Gagnon Added initial pass of safe zone suport to the front end. Change 3090734 on 2016/08/16 by John.Abercrombie Fix AbilitySystemComponent not ticking while playing a montage, and ticking when we're not playing a montage Here's the issue in the version of the code prior to this checkin: - UpdateShouldTick calls GetShouldTick, which checks the value of RepAnimMontageInfo.IsStopped - When we call UpdateShouldTick within AnimMontage_UpdateReplicatedData, we haven't set RepAnimMontageInfo.IsStopped yet to the correct value - So when we aren't playing any montages but are starting a new one, we were saying we shouldn't tick - It also means if we were playing a montage, and then stop, we'll start ticking - Ticking calls AnimMontage_UpdateReplicatedData, which should be called while we're playing Change 3090405 on 2016/08/16 by Chad.Garyet checking in caveman debugging for fortnite ai test node Change 3089743 on 2016/08/15 by Ben.Zeigler #jira FORT-28235 When a UWidget is added/removed from a UPanelWidget, invalidate layout. This fixes issues where removing a widget leaves it still visible on screen. There may be a better slate-level solution to this issue Change 3088178 on 2016/08/12 by Saul.Abreu Fixed bug in wrap box layout logic that would cause the inner slot vertical padding to only be added *after* the second row. Change 3087372 on 2016/08/12 by James.Hopkin Added a float overload from TJsonWriter::WriteValue - ever since I made doubles ultra precise to allow large numbers to be read properly, floats have been written with garbage on the end. Also removed 100 lines worth of code duplication while I was there. Automation tests still pass. Change 3084836 on 2016/08/10 by Lina.Halper Fix crash with retargeting additive anim montage Change 3083188 on 2016/08/09 by Bob.Tellez #UE4 UEnvQueryItemType_Point expects a FNavLocation instead of an FVector. Since passing an FVector in AddItemData() causes an assertion failure and the template specialization for FNavLocation has linkage problems, it is now required to pass in a FNavLocation instead of an FVector explicitly. Change 3082835 on 2016/08/09 by Bob.Tellez #UE4 Fix an issue where changing an array property in the defaults will leave the custom property chain stale until it is compiled, causing a crash in some circumstances. Change 3082621 on 2016/08/09 by Lukasz.Furman fixed accessing empty navigation data in crowd's path processing #jira FORT-27847 Change 3081749 on 2016/08/08 by Saul.Abreu #jira UE-34104 Implemented a customizable snapshot delay in the widget reflector - particularly handy for getting snapshots of tooltips. Change 3081596 on 2016/08/08 by John.Abercrombie Added a tick prerequisite for the mesh's primary actor tick of the FortGameState when a movement comp registers to be ticked by the game state Backed out change to CharacterMovementComponent to check to see if the pose had been ticked this frame. Tested root motion in PIE ded, PIE non-ded, and client/server configuration and it all looked good. (Basically it looks like there's some tick ordering issue with root motion in the engine, and I don't have the time right now to investigate it. This works.) #jira FORT-28139 - Hero's animation hitches when performing any action besides walking and jumping Change 3081536 on 2016/08/08 by Daniel.Broder Fixed bug in FGameplayTagContainer::AppendTags() where it was not reserving the correct amount of space for all of the tags it is about to add. #UE4 #NoReleaseNotes Change 3080679 on 2016/08/08 by Simon.Tovey Increased threshold to ignore stall warning on partilce async work. Increased precision of error message. May still fire and still needs looking into properly. If it does fire still I'll make it a higher priority. Change 3080652 on 2016/08/08 by Chad.Garyet Merging token scripts from ue4 main to fortnite changed fornite main json scheduled builds to all use skiptargetswithouttickets Change 3079357 on 2016/08/05 by John.Abercrombie Character movement components can now be throttled - This can be enabled/disabled by using the FortniteChar.ServerTickMovementAtNetUpdateRate console variable - game should be restarted after toggling it - Character movement components are throttled based on their current NetUpdateRate All character movement components are updated by the Game State - This can be enabled/disabled by using the FortniteChar.CentralCharMovementTick console variable - game should be restarted after toggling it Change 3078666 on 2016/08/05 by Simon.Tovey Disabling some log spam for particles. Change 3072992 on 2016/08/01 by Jonathan.Lindquist Fixing a bug related to weld object seams Change 3070991 on 2016/07/29 by Fred.Kimberley Allow aggregators to perform calculations while ignoring multiple GEs. Change 3070518 on 2016/07/29 by Bob.Tellez #UE4 Deprecated pin removal logic is now exclusively in UEdGraphNode::PostLoad. DeprecatedPinWatches fixup is now done in K2Node::PostLoad. Change 3069605 on 2016/07/28 by Bob.Tellez #UE4 SScrollBox now works with invalidation panels. Change 3069600 on 2016/07/28 by Bob.Tellez #UE4 SMenuAnchor now works with invalidation panels. Change 3069583 on 2016/07/28 by Bob.Tellez #UE4 Added some code to warn and recover from some invalid accounting of render instances in HierarchicalInstancedStaticMesh, if it exists in the future. Change 3068935 on 2016/07/28 by Bob.Tellez [AUTOMERGE] #UE4 Added a CVar to disable stencils on metal since they are very expensive right now. This is believed to be much better in OSX 10.12. #JIRA FORT-27836 -------- Integrated using branch //Fortnite/Main-To-//Fortnite/Release-Next (reversed) of change#3068932 by Bob.Tellez on 2016/07/28 15:50:40. Change 3068422 on 2016/07/28 by John.Pollard Fix FORT-27840 - Assertion failed: WriterState.Changed.Num() == 0 occurs when a Pitcher Husk hits the Player #tests Live game + replays Change 3067537 on 2016/07/27 by Bob.Tellez [AUTOMERGE] #UE4 Nullifying HierarchicalInstancedStaticMesh instances that were neither in the PerInstanceSMData list nor in the RemovedInstances list. #JIRA FORT-26696 -------- Integrated using branch //Fortnite/Main-To-//Fortnite/Release-Next (reversed) of change#3065681 by Bob.Tellez on 2016/07/26 21:02:55. Change 3065138 on 2016/07/26 by Josh.Markiewicz #UE4 - fixed rare case where CreateSession would crash (duplicate of Dev-Networking fix) - DestroySession now always adds a task to the async queue and never tries to complete its work within the same call - *BUG REPRO* - if CreateSession was called leaving a session in the Creating state followed by a call to DestroySession before session left Creating state this could happen - DestroySession would remove the named session while the previous CreateSession was in flight - A new CreateSession could be called afterward because the previous named session was removed - the first CreateSession would finish and give the session a valid SessionInfo - the second CreateSession would finish and assert that the SessionInfo should be invalid #tests contrived Create,Destroy,Create in same frame and saw crash, fixed code, crashes no more Change 3064932 on 2016/07/26 by Tim.Tillotson Fix for editor crash when loading unreal stats in the session frontend. Was a results of modifying EventMetadata while using a copy of the data. #JIRA UE-33426 Change 3064743 on 2016/07/26 by Mark.Satterthwaite Proper fix for FORT-27685 - on Metal it is invalid to fail to set uniform parameters on a shader - if you don't set the parameter the buffer binding may be nil or too small for the data accessed in the shader and the GPU will then crash. #jira FORT-27685 Change 3063870 on 2016/07/25 by Lukasz.Furman fixed navlink area class assignment, again custom link definitions were exporting from CDO without initializing data first #jira FORT-27713 Change 3063747 on 2016/07/25 by Bob.Tellez #Fortnite Fixed XB1 compile error due to use of DeviceDetails in XAudio2. Also removed a redundant #if XAUDIO_SUPPORTS_DEVICE_DETAILS #JIRA Change 3063500 on 2016/07/25 by Bob.Tellez #UE4 Fixing static analysis warning about not checking the return value of CoInitialize. Also initializing DeviceEnumerator to nullptr in case CoCreateInstance fails. Change 3063317 on 2016/07/25 by Lukasz.Furman fixed navlink deprecation in engine module, temporarily changed deprecation to private access since macro doesn't work with auto generated constructors #fortnite Change 3063224 on 2016/07/25 by Bob.Tellez #UE4 Unshelved change from Nick.Darnell. This is the less-invasive version of 3062014. Avoid adding widgets to the hittest grid more than once. Change 3063188 on 2016/07/25 by Lukasz.Furman removed all raw class pointers from link & area nav modifiers and replaced them with weak object pointers #jira FORT-27186 Change 3062338 on 2016/07/22 by Aaron.McLeran FORT-26470 Adding ability to stop sounds and switch audio engine into a no-sound mode when audio device is disabled/unplugged. #tests run game, disable or unplug audio device used by game, audio should stop gracefully without crashing Change 3061806 on 2016/07/22 by Ben.Zeigler #jira FORT-27519 Change error from moving a non registered component to an ensure instead of a fatal crash, this error is very old and I'm not sure what would cause it, but it went off without giving us a stack Change 3061790 on 2016/07/22 by Ben.Zeigler #jira FORT-26136 Stop a shipping game without blueprint guard enabled from printing useless stacks without an accompanying error message. This was slowing down shipping builds with no benefit Related to changes made on Orion in CL #2878992 Change 3060590 on 2016/07/21 by Mark.Satterthwaite Fix FORT-27340: Mac Metal cannot natively support PF_G8 + sRGB as not all Mac GPUs have single-channel sRGB formats (according to Apple) so we must manually pack & unpack to RGBA8_sRGB - the code to do this was missing from UpdateTexture2D. Change 3060542 on 2016/07/21 by Bob.Tellez #UE4 Made SetIsEnabled and SetVisibility virtual. Change 3058876 on 2016/07/20 by Aaron.McLeran FORT-25593 Mac crash when idling in zone with screen locked Adding logging when failing to update AuGraph and not asserting. Change 3058653 on 2016/07/20 by Bob.Tellez #UE4 Now actually removing deprecated pins from non-blueprint graphs. Also MarkPendingKill now happens in UEdGraphNode's BeginDestroy instead of its destructor to ensure supporting code can safely access references to other UObjects. Change 3058568 on 2016/07/20 by Bob.Tellez #UE4 Added an optional flag to IAssetRegistry::GetAssetByObjectPath to ignore in-memory assets for maxiumum performance. Change 3058203 on 2016/07/20 by Bob.Tellez #UE4 Clearing pin links for fixed up BT nodes so they are not asymmetrical by the time the node gets destroyed, causing an ensure to fail. Also removing the replaced nodes so they are no longer saved in the package. Change 3056767 on 2016/07/19 by Bob.Tellez #UE4 Speculative DetachLinker crash fix. #JIRA FORT-27335 Change 3056665 on 2016/07/19 by John.Abercrombie Fixed UPathFollowingComponent::HasReached not using the Goal's Radius when bUseNavAgentGoalLocation is false - When bUseNavAgentGoalLocation is true, we want to avoid using the Goal's location on the Nav Mesh, but the acceptability of a radius should be based on the Goal's radius Change 3054368 on 2016/07/18 by Lina.Halper - moved removing notifies to end of montage event - that way between blending out to terminate, it still can trigger notifies. #code review: Martin.Wilson, John.Abercrombie Change 3054109 on 2016/07/18 by Bob.Tellez #UE4 Fixed a bug where IAssetRegistry::GetAllAssets would not return data about live objects when passing bIncludeOnlyOnDiskAssets = false. Change 3053831 on 2016/07/18 by Lina.Halper #Anim montage recursive issue: Make sure to check valid before additive #code review: Bob.Tellez Change 3052641 on 2016/07/15 by Bob.Tellez #UE4 Fix a crash in OpusAudioInfo when InSrcBufferData is null. Change 3052601 on 2016/07/15 by Daniel.Broder EnvQueryInstanceBlueprintWrapper is now blueprintable, so you can make blueprints that allow more complex 'wrapper' behavior when using the blueprint node RunEQSQuery (on the EnvQueryManager). #ReleaseNoteAbove^^ Also, made EEnvQueryStatus a blueprint type, which makes it much easier to work with in blueprints. #UE4 #ReleaseNote! Change 3052201 on 2016/07/15 by Rob.Cannaday Fix for broken party state when timeout on receiving leave request response Execute delegate after marking the party in a disconnected state #jira FORT-25362 Change 3050944 on 2016/07/14 by Bob.Tellez #UE4 Fix an ensure that was incorrectly triggering when the number of hitches in a session is 0 Change 3050352 on 2016/07/14 by Olaf.Piesche #jira UE-32058 Making sure owned pointer to CurrentMaterial is set to RenderMaterial if we choose default material because of missing flags for particle systems. Change 3049049 on 2016/07/13 by Bob.Tellez #UE4 Fix an ensure and a crash in ParticleTrail2EmitterInstance for Ribbon particles. #JIRA FORT-27030 Change 3048186 on 2016/07/13 by John.Abercrombie Selecting Geometry trace mode will no longer project onto the nav mesh first in ProjectedPoints EQS generators Change 3046531 on 2016/07/12 by Bob.Tellez #UE4 Added more information to an ensure about BeginPlay being called on an actor that has already begun play. #JIRA FORT-26683 Change 3046134 on 2016/07/12 by Ian.Fox #UE4, #OnlineSubSystem - Hotfix in the ExpirationDate field early so we can update the OGF plugin Change 3045544 on 2016/07/11 by Bob.Tellez #UE4 Made Attribute fixup code only execute when loading the data from disk as it was intended. Change 3045101 on 2016/07/11 by Fred.Kimberley Changed PostSerialize logic to always use the attribute data if it is valid. Updated the details customization to set the owner and name properties when the attribute is changed. Change 3045035 on 2016/07/11 by John.Abercrombie UpdateMoveFocus will only clear the focus if the path following component is idle - Keeps the AI rotated in the correct direction when movements get paused Change 3044883 on 2016/07/11 by Mark.Satterthwaite Avoid FORT-26879 - when rendering into the viewport back-buffer the scene-viewport sets a null render-target array which MetalRHI wasn't handing, so add the necessary branches to clear the render-target array in MetalStateCache. #jira FORT-26879 Change 3044819 on 2016/07/11 by Carlos.Cuello Setting LOCKED_REPLAY_VERSION to 0 so that replays have valid changelists associated with them in ReplayMGR Change 3044683 on 2016/07/11 by Bob.Tellez #UE4 ActorPosition is now set to your AttachmentRootActor's position instead of your owning actor's position. Change 3044581 on 2016/07/11 by Nick.Cooper #UE4 - Added bSuppressStackingCues to UGameplayEffect, to allow the option avoid sending a GameplayCue RPC for each instance of a stacking UGameplayEffect #jira FORT-23140 Change 3043726 on 2016/07/08 by Billy.Bramer - Add ability for custom UGameplayModMagnitudeCalculations to specify that they have gameplay-code dependencies external to the ability system that can invalidate them aside from just routine attribute capture - UGameplayModMagnitudeCalculations can specify an external multicast delegate that the ability system component can bind to for notification of when the mod calculations are dirty and need to be refreshed - Add advanced support for UGameplayModMagnitudeCalculations opting into allowing this feature to work on client machines as well; Advanced feature to really only be used by games utilizing network dormancy on attributes that they don't mind the client attempting to calculate (ones that won't have gameplay impact); Client-based feature cannot work in tandem with attribute capture - Rename FGameplayEffectModifierMagnitude::AttemptRecalculateMagnitudeFromDependentChange to AttemptRecalculateMagnitudeFromDependentAggregatorChange to alleviate possible confusion from the newly added support for external dependencies - Rename FActiveGameplayEffectsContainer::PreDestroy to Uninitialize and move its call site from the destructor of the owning ASC to UnitializeComponents, where it can have enough information to be useful - Misc ability system cleanup (fix typos, etc.) Change 3043152 on 2016/07/08 by Daniel.Broder Re-enabled EQS details table on screen by default. (This matches the actual description of the variable, which says that enabled is the default. Also, we really need this as the default since those details are critical for debugging.) #UE4 #NoReleaseNotes Change 3041765 on 2016/07/07 by John.Abercrombie Fixed basing whether the AI should turn or not by comparing the current desired rotation vs the last update's desired rotation - The AI should be turning based on whether or not the current desired rotation is different from the rotation of the Pawn Change 3041664 on 2016/07/07 by Bob.Tellez #UE4 Removing UpdateActorPosition. This was not needed in a vast majority of use cases and was causing a crash due to multithreading issues during end of frame updates. #JIRA FORT-25983 Change 3040645 on 2016/07/06 by Bob.Tellez #UE4 Added a cvar to disable OpenGL support on Mac. If a mac that does not support Metal launches while this cvar is set to 1 then they will get a dialog box describing that they do not support metal and the process will close. Change 3039969 on 2016/07/06 by Billy.Bramer - Fix for non-snapshotted, attribute-based modifiers potentially not replicating correctly - When dependency magnitude results in a magnitude recalculation, mark the active effect dirty and wake the owner from dormancy, as the client is incapable of recalculating the value properly Change 3036256 on 2016/07/01 by Bob.Tellez #UE4 RequestExit(true) on Mac now exits without triggering exception handling, just like on Windows. Change 3036173 on 2016/07/01 by Ben.Salem Get FTests running sequentially. And, actually, running at all in non-editor. Known issues: Filename lookup needs to be changed to use asset registry instead of packages in directory. Will be worked on next. Change 3035551 on 2016/07/01 by John.Abercrombie Reworked use of the Montage pointer of the AnimNotifyEvent in UAnimInstance::OnMontageInstanceStopped based on Lina's feedback - CL 3034853 contained the original change Change 3035152 on 2016/06/30 by Daniel.Broder Added new API function for DrawDebugSolidBox, which takes an FBox instead of a Center and Extent. It also allows specifying a transform as well (but defaults to using the identity transform for convenience). #ReleaseNoteAbove The new version of DrawDebugSolidBox is more convenient and more efficient if you already have an FBox! No need to calculate the Center and Extent just to use them to recalculate the Box. Made the previous two versions of DrawDebugSolidBox call to the new one that takes an FBox and FTransform. This change keeps the implementation details more manageable for any future changes. Also, fixed typos in parameter names for DrawDebugSolidBox and DrawDebugBox versions where Extent was erroneously named "Box". NOTE: In the future, we should probably make the same changes to the DrawDebugBox API that were made for DrawDebugSolidBox, as well as similar changes for other shapes (such as DrawDebugSphere, Cylinder, etc.), which currently don't have versions that take the shape class directly/ #UE4 #ReleaseNoteAtTop Change 3034918 on 2016/06/30 by William.Ewen Updating Null RHI's max texture dimensions and max texture mip count to avoid a warning and match up with d3d11 and metal. Change 3034853 on 2016/06/30 by John.Abercrombie When a Montage is stopped we send out any anim notify state end notifications related to the Montage, and remove it from the list Change 3033507 on 2016/06/29 by Ben.Zeigler #jira UE-32651 Fix crash I had while auto saving a map with a reflection capture component. This has happened fairly often to licensees as well so we may want to merge it to a release branch Change 3033413 on 2016/06/29 by Daniel.Wright Added DistanceFieldBias to StaticMesh BuildSettings for mesh distance fields * Useful for reducing self shadowing on meshes that have ambient animation Change 3033343 on 2016/06/29 by Billy.Bramer - Fix typo in ability system: FMinimapReplicationTagCountMap should be FMinimalReplicationTagCountMap (it has nothing to do with minimaps!) Change 3032888 on 2016/06/29 by Billy.Bramer - Add ability to base a gameplay effect modifier's magnitude off of the magnitude of an attribute evaluated only up to a certain channel when using attribute-based modifiers Change 3031800 on 2016/06/28 by Jonathan.Lindquist new exr texture Change 3030807 on 2016/06/28 by Lukasz.Furman added more debug logs for rare navmesh raycast crash #jira FORT-22373 Change 3030624 on 2016/06/28 by Lukasz.Furman switching navgraph to use FMetaNavMeshPath #fortnite Change 3030002 on 2016/06/27 by Ben.Zeigler Fix crash I got in SGraphPin::OnDragEnter when the pin did not have an outer. GetOuter now calls the Unchecked version I'm not sure why it was allowed to be null here, but it was clearly supported on purpose before and was crashing with the pin changes. Change 3029720 on 2016/06/27 by Ben.Zeigler Fix TextFilterTests to pass the parameters in the correct order for > operators, and add tests that actually verify this. The real use cases were correct, only the test was broken Change 3029574 on 2016/06/27 by Bob.Tellez #UE4 Fixed a crash caused by attempting to render shadows while r.ShadowQuality was 0. Change 3027275 on 2016/06/24 by Billy.Bramer - First pass of adding evaluation channel support to non-instant gameplay effects - Evaluation channels allow for game-specific control over the order of modifier evaluation - Channels evaluate in order, with the output of one channel acting as the base value/input into the next channel in sequential order - Example: Sample Attribute: Base Value 100. Multiplicative Mod 1.1 in channel 0 and multplicative mod 1.1 in channel 1 will evaluate as ((100 * 1.1) * 1.1) instead of (100 * 1.2) - By default, evaluation channels are disabled (everything evaluates at channel 0), but a game can opt into using channels via INI - Game must specify bAllowGameplayModEvaluationChannels=true, as well as provide name aliases for the channels that the game is allowed to use via GameplayModEvaluationChannelAliases array - Game can also specify the DefaultGameplayModEvaluationChannel via INI; Gameplay effect modifiers will default into that channel - Evaluation channels show up per modifier (and per scoped modifier) in a new property on gameplay effects - Misc. clean-up and refactors within the ability system as a result of changes to support evaluation channels; Begin process of trying to remove heavy reliance on friend classes Change 3022931 on 2016/06/22 by Nick.Cooper #UE4 - Prevent camera anims without an FOV track from making any modifications to the camera FOV Change 3021845 on 2016/06/21 by Carlos.Cuello Fix for crash at startup on Mac, was asserting on !bPerformingOperation but there are codepaths where that wasn't being set to false at the end of an operation in failure cases. Fixed up those codepaths and changed the check() to an ensure() so we can still track where these cases happen but won't affect our shipping build. #jira Fort-25978 Change 3021800 on 2016/06/21 by Lukasz.Furman adding function to query if navmesh was initialized in given radius #jira FORT-24487 Change 3021777 on 2016/06/21 by Martin.Mittring UE-31921 The sub surface profile shader seems to be incorrectly ignoring post processes content that used SkyLight OcclusionTint feature will look different and might need a retweak. a brighter (~ 3-4 times) and less vibrant color results in a similar look #code_review:Jonathan.Lindquist [CL 3123852 by Bob Tellez in Main branch]
2016-09-13 18:15:38 -04:00
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3494741 by Steve.Robb Generated code size savings. #jira UE-43048 Change 3495484 by Steve.Robb Fix for generated indices of static arrays when saving configs. Change 3497926 by Robert.Manuszewski Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything. Change 3498077 by Robert.Manuszewski Only use the recursion guard in async loading code when the event driven loader is enabled. Change 3498112 by Ben.Marsh UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own. Change 3500239 by Robert.Manuszewski Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes. Change 3500395 by Steve.Robb Extra codegen savings when not in hot reload. Change 3501004 by Steve.Robb EObjectFlags now have constexpr operators. Change 3502079 by Ben.Marsh UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary. Change 3502527 by Steve.Robb Fix for zero-sized array compile error in generated code when all functions are editor-only. Change 3502542 by Ben.Marsh UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead. Change 3502868 by Steve.Robb Workaround for inefficient generated code with stateless lambdas on Clang. Change 3503550 by Steve.Robb Another generated code lambda optimization. Change 3503582 by Ben.Marsh BuildGraph: Add support for nullable parameter types. Change 3504424 by Steve.Robb New AllOf, AnyOf and NoneOf algorithms. Change 3504712 by Ben.Marsh UAT: Less spammy log and error output from UAT. * Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception). * Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information. * AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log) * Name of the calling function is not included in console output by default, but still included in the log. Change 3504808 by Ben.Marsh UAT: Suppress P4 output when running a recursive instance of UAT. Change 3505044 by Steve.Robb Code generation improved for TCppClassType code. Change 3505485 by Ben.Marsh Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module. Change 3505699 by Ben.Marsh Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins. Change 3506055 by Ben.Marsh UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output. Change 3507745 by Robert.Manuszewski Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses). Change 3507911 by Ben.Marsh Plugins: Minor changes to plugin descriptors. * Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors. * Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from. Change 3508669 by Ben.Marsh EC: Parse multi-line messages from UBT and UAT. Change 3508691 by Ben.Marsh Fix double-spacing of cook stats. Change 3509245 by Steve.Robb UHT makefiles removed. Flag audit removed. Change 3509275 by Steve.Robb Fix for mismatched stat categories in AudioMixer. #jira UE-46129 Change 3509289 by Robert.Manuszewski Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably. Change 3509294 by Robert.Manuszewski UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it. Change 3509312 by Steve.Robb GitHub# 3679: Add TArray constructor that takes a raw pointer and a count Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too. #jira UE-46136 Change 3509396 by Steve.Robb GitHub# 3676: Fix TUnion operator<< compile error #jira UE-46099 Change 3509633 by Steve.Robb Fix for line numbers on multiline macros. Change 3509938 by Gil.Gribb UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading. Change 3510593 by Daniel.Lamb Fixed up unsoilicited files getting populated with files which aren't finished being created yet. #test None Change 3510594 by Daniel.Lamb Fixed up temp files directory for patching. Thanks David Yerkess @ Milestone #review@Ben.Marsh Change 3511628 by Ben.Marsh PR #3707: Fixed UBT stack size (Contributed by gildor2) Change 3511808 by Ben.Marsh Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git) #jira UE-46540 Change 3512017 by Ben.Marsh Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface. Change 3513935 by Steve.Robb Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477. Change 3514142 by Steve.Robb MemoryProfiler2 added to generated solution. Change 3516463 by Ben.Marsh Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user. Change 3517860 by Ben.Marsh PR #3727: FString Dereference Fixes (Contributed by jovisgCL) Change 3517967 by Ben.Marsh Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line. Change 3518070 by Steve.Robb Disable Binned2 stats in shipping non-editor builds. Change 3520079 by Steve.Robb Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions. #jira UE-24034 Change 3520080 by Robert.Manuszewski Made max package summary size to be configurable with ini setting Change 3520083 by Steve.Robb Force a GC after hot reload to clean up reinstanced objects which may still tick. #jira UE-40421 Change 3520480 by Robert.Manuszewski Improved assert message when the initial package read request was too small. Change 3520590 by Graeme.Thornton SignedArchiveReader optimizations - Loads more stats - Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader - Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time - Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries Change 3521023 by Graeme.Thornton Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing Change 3521787 by Ben.Marsh PR #3736: Small static code analysis fixes (Contributed by jovisgCL) Change 3521789 by Ben.Marsh PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar) Change 3524721 by Ben.Marsh Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core. Change 3524741 by Ben.Marsh Move PumpMessages() into FPlatformApplicationMisc. Change 3525399 by Ben.Marsh UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment. Change 3525743 by Ben.Marsh UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds. Change 3525746 by Ben.Marsh EC: Include the clobber option on new workspaces, to allow overriding version files when syncing. Change 3526453 by Ben.Marsh UGS: Do not generate project files when syncing precompiled binaries. Change 3527045 by Ben.Marsh Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting. Change 3527420 by Ben.Marsh UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing). Config files are now read from: Engine/Programs/UnrealGameSync/UnrealGameSync.ini Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini If a project is selected: <ProjectDir>/Build/UnrealGameSync.ini <ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini If the .uprojectdirs file is selected: Engine/Programs/UnrealGameSync/DefaultProject.ini Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini Change 3528063 by Ben.Marsh Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse. Change 3528415 by Ben.Marsh UAT: Remove \r characters from the end of multiline log messages. Change 3528427 by Ben.Marsh EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent. Change 3528485 by Ben.Marsh EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places. Change 3528505 by Steve.Robb PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL) #jira UE-46819 Change 3528772 by Robert.Manuszewski Enabling actor and blueprint clustering in ShooterGame Change 3528786 by Robert.Manuszewski PR #3760: Fix typo (Contributed by jesseyeh) Change 3528792 by Steve.Robb PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL) #jira UE-46962 Change 3528941 by Robert.Manuszewski Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object. #jira UE-44996 Change 3530241 by Ben.Marsh UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value. Change 3531377 by Ben.Marsh Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it. This has several advantages over the per-module platform whitelist/blacklist: * Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore. * References to dependent plugins from platform-specific plugins can now be eliminated. * Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly). * The editor can load any plugins without having to whitelist supported editor host platforms. UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime. Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary. Change 3531502 by Jin.Zhang Add support for GPUCrash #rb Change 3531664 by Ben.Marsh UBT: Change output format from C# JSON writer to match output by the engine. Change 3531848 by Ben.Marsh UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable. Change 3531869 by Ben.Marsh UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field. Change 3532474 by Ben.Marsh UBT: Use the same mechanism as UAT for logging exceptions. Change 3532734 by Graeme.Thornton Initial VSCode Support - Tasks generated for building all game/engine/program targets - Debugging support for targets on Win64 Change 3532789 by Steve.Robb FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap. Set_Add and Map_Add no longer have a return value. FScriptSet::Find and FScriptMap::Find functions are now FindIndex. FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash. Change 3532845 by Steve.Robb Obsolete UHT settings deleted. Change 3532875 by Graeme.Thornton VSCode - Add debug targets for different target configurations - Choose between VS debugger (windows) and GDB (mac/linux) Change 3532906 by Graeme.Thornton VSCode - Point all builds directly at UBT rather than the batch files - Adjust mac build tasks to run through mono Change 3532924 by Ben.Marsh UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root. Change 3535234 by Graeme.Thornton VSCode - Pass intellisense system a list of paths to use for header resolution Change 3535247 by Graeme.Thornton UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation Change 3535376 by Graeme.Thornton VSCode - Added build jobs for C# projects - Linked launch tasks to relevant build task Change 3537083 by Ben.Marsh EC: Change P4 swarm links to start at the changelist for a build. Change 3537368 by Graeme.Thornton Fix for crash in FSignedArchiveReader when multithreading is disabled Change 3537550 by Graeme.Thornton Fixed a crash in the taskgraph when running single threaded Change 3537922 by Steve.Robb Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT. Change 3539691 by Graeme.Thornton VSCode - Various updates to get PC and Mac C++ projects building and debugging. - Some other changes to C# setup to allow compilation. Debugging doesn't work. Change 3539775 by Ben.Marsh Plugins: Various fixes to settings for enabling plugins. * Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled). * Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed. * Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them. Change 3540788 by Ben.Marsh UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile). Example usage: public class UnrealPakTarget : TargetRules { public UnrealPakTarget(TargetInfo Target) : base(Target) { Type = TargetType.Program; LinkType = TargetLinkType.Monolithic; LaunchModuleName = "UnrealPak"; if(HostPlatform == UnrealTargetPlatform.Win64) { PreBuildSteps.Add("echo Before building:"); PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); PostBuildSteps.Add("echo After building!"); PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); } } } Change 3541664 by Graeme.Thornton VSCode - Add problemMatcher tag to cpp build targets Change 3541732 by Graeme.Thornton VSCode - Change UBT command line switch to "-vscode" for simplicity Change 3541967 by Graeme.Thornton VSCode - Fixes for Mac/Linux build steps Change 3541968 by Ben.Marsh CRP: Pass through the EnabledPlugins element in crash context XML files. #jira UE-46912 Change 3542519 by Ben.Marsh UBT: Add chain of references to error messages when configuring plugins. Change 3542523 by Ben.Marsh UBT: Add more useful error message when attempt to parse a JSON object fails. Change 3542658 by Ben.Marsh UBT: Include a chain of references when reporting errors instantiating modules. Change 3543432 by Ben.Marsh Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set. Change 3543436 by Ben.Marsh UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails. Change 3543536 by Ben.Marsh UBT: Downgrade message about redundant plugin references to a warning. Change 3543871 by Gil.Gribb UE4 - Fixed a critical crash bug with non-EDL loading from pak files. Change 3543924 by Robert.Manuszewski Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes. +Small optimization to token stream generation code. Change 3544469 by Jin.Zhang Crashes page displays the list of plugins from the crash context #rb Change 3544608 by Steve.Robb Fix for nativized generated code. #jira UE-47452 Change 3544612 by Ben.Marsh Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages(). #jira UE-47449 Change 3545954 by Gil.Gribb Fixed a critical crash bug relating to a race condition in async package summary reading. Change 3545968 by Ben.Marsh UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same. #jira UE-47419 Change 3545976 by Ben.Marsh EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch. Change 3546185 by Ben.Marsh Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped. Change 3547084 by Gil.Gribb Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms. Change 3547968 by Gil.Gribb Fixed critical race which potentially could cause a crash in the pak precacher. Change 3504722 by Ben.Marsh BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run. For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as: ERROR: Unable to write to foo.txt while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" /> at Engine\Build\InstalledEngineBuild.xml(91) (see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace) Change 3512255 by Ben.Marsh Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated. Change 3512332 by Ben.Marsh Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4. Change 3512393 by Ben.Marsh Rename FPaths::GameLogDir() to FPaths::ProjectLogDir(). Change 3513452 by Ben.Marsh Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project. Change 3516262 by Ben.Marsh Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor. * Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod. * The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders). Change 3517565 by Ben.Marsh Remove fixed engine version numbers from OSS plugins. Change 3518005 by Ben.Marsh UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false. Change 3518054 by Ben.Marsh UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard. Change 3524496 by Ben.Marsh Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core. Change 3524641 by Ben.Marsh Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc. Change 3528723 by Steve.Robb MoveTemp now static asserts if passed a const reference or rvalue. MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious. Fixes to violations of these new rules. Change 3528876 by Ben.Marsh Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste. Change 3529073 by Ben.Marsh Add script to package ShooterGame for any platforms. Change 3531493 by Ben.Marsh Update platform-specific plugins to declare the target platforms they support. Change 3531611 by Ben.Marsh UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates. Change 3531868 by Ben.Marsh Resaving project descriptors to remove invalid fields. Change 3531983 by Ben.Marsh UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders. * Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer. * Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type) * Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo")) * An error is output if any restricted folder names other than the output platform are in the staged output. Change 3540315 by Ben.Marsh UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers. Change 3542410 by Ben.Marsh UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already. Change 3543018 by Ben.Marsh UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions. Change 3544371 by Steve.Robb Fixes to TSet_Add and TMap_Add BPs. #jira UE-47441 [CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
// Build a list of restricted folder names. This will comprise all other restricted platforms, plus standard restricted folder names such as NoRedist, NotForLicensees, etc...
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 4034418) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3851142 by Robert.Manuszewski When BP clustering is enabled, make sure to add the template to the BP cluster when replacing it. Change 3853797 by Ben.Marsh BuildGraph: Add a <Trace> element, which allows logging messages after the string is parsed (as opposed to the Log task, which logs them at runtime). Useful for debugging macro expansion, etc... Also add a -showdiagnostics parameter, to have diagnostic messages output even when running with the -listonly option. Change 3857540 by Graeme.Thornton Properly process the uexp file for a umap asset when generating a pak patch. Stop those uexp files being included in the patch even when they haven't changed Change 3860062 by Steve.Robb Fix for FString::Reset()'s buffer not being an empty null-terminated string (affects FString::ParseIntoArray, for example). Change 3860138 by Steve.Robb Fix for FString::ParseIntoArray() for when string memory has been allocated but has no characters. Change 3860273 by Steve.Robb Tidy up of FHotReloadClassReinstancer::FCDOWriter to not do stuff in constructors. Change 3863203 by Steve.Robb Crash fix for UObjects whose constructors are defined as = default;, which would re-null the UObject state (ClassPrivate, OuterPrivate etc.). See: https://udn.unrealengine.com/questions/412930/crash-due-to-default-constructor.html Change 3864588 by Graeme.Thornton Crypto Keys Improvements - Removed UAT command line params for encryption. Centrally configured by the editor settings now. - UAT staging now creates a small json file containing the keys and settings used for encryption and signing and stores it in the build metadata - Minor refactoring of UAT encryption processing to use the new cryptokeys json file - UnrealPak can be told to get its encryption settings from a json crypto file with the "-CryptoKeys=<filename>" - UnrealPak can now accept a "PatchCryptoKeys=<filename" parameter which gives it a filename to a cryptokeys json file that it can use to unpack the patch reference paks Change 3864691 by Robert.Manuszewski Don't add objects that are in root set to GC clusters to prevent them from keeping the clusters alive forever. Change 3864744 by Robert.Manuszewski Added the ability to get the actual filename of the log file FOutputDeviceFile writes to. Change 3864816 by Graeme.Thornton TBA: Minor formatting improvements to textasset commandlet Change 3868939 by Graeme.Thornton TBA: If -outputPath isn't supplied to TextAsset commandlet, output converted files to the {ProjectSaved}/TextAssets directory Change 3869031 by Graeme.Thornton TBA: Changed timing logs in TextAsset commandlet to be Display so we can see them in the EC log Change 3871802 by Steve.Robb Class cast flags and property flags are now visible in the debugger. Change 3871863 by Robert.Manuszewski Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage. Change 3874413 by Steve.Robb Algo::MinElement and Algo::MaxElement, for finding the minimum and maximum element in a range, and *By versions which take projections. TRangePointerType moved to its own file and used in Algo::MinElement and Algo::MaxElement. Change 3874457 by Ben.Marsh When spawning child processes, only allow them to inherit the writable ends of the stderr and stdout pipe. Fixes an issue related to AutomationTool hanging when the editor closes after running automation tests. The editor launches ADB.EXE (Android Debug Bridge) on editor startup, which forks itself to initialize a server. Even though the child process has its own stdout and stderr pipes, it also inherits the pipes for the editor. When run from C#, as we do for automation tests, Process.WaitForExit() waits for all pipes to be closed before returning. This can't happen if the forked ADB instance still has a reference to the editor's pipes. Change 3876435 by Robert.Manuszewski Don't add root set objects to level actor container to prevent situations where clusters are kept alive forever Change 3878762 by Robert.Manuszewski Fixing potential LinkerLoad leak when a package that still has a linker associated with it is being destroyed. Change 3878850 by Robert.Manuszewski SerializePreloadDependencies will now serialize raw data into the array instead of serializing one element at a time to speed up serialization performance. Change 3881331 by Graeme.Thornton TBA: SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter Change 3886983 by Ben.Marsh UGS: Fix notification window not expanding to fit long captions. Change 3887006 by Ben.Marsh UGS: Change modal dialog to regular window style to avoid weird alignment issues under Windows 10. Change 3887500 by Ben.Marsh UGS: Add support for grouping build badges by a prefix. Badges such as "Foo:Bar1", "Foo:Bar2" will be grouped together (with "Foo:" stripped from the displayed badge names). Also add a separate column showing the type of each change, rather than including it in the CIS column, and change badges to a more angular Windows 10 style. Change 3887513 by Ben.Marsh UGS: Fix badge text drawing outside the clipping bounds. Change 3888010 by Josh.Engebretson Fix UVS logging to UnrealVersionSelector/Saved/Logs and instead use project's log path #jira none Change 3888418 by Ben.Marsh UGS: Add a cache for computed badge layout information. Improves responsiveness when redrawing. Change 3889457 by Steve.Robb GitHub #4457 : Display abbreviations properly when converting FNames to display string #jira UE-54611 Change 3889547 by Ben.Marsh UGS: Add an extensible method for adding arbitrary badges to the right of the "description" column, by running a regular expression over the changelist description. Epic uses a "#tag" style annotations in changelist descriptions and Perforce triggers to verify them. "#jira" is used to link a changelist to an issue tracked in Jira, for example. A matcher to add a badge next to every changelist with a #jira tag, and link to the corresponding issue in Jira, could be set up with an addition to the project's Build/UnrealGameSync.ini file like this: [Badges] +DescriptionBadges=(Pattern="(?i)#\\s*jira\\s*:?\\s+([A-Za-z]+-[0-9]+)", Name="$1", Group="Jira", Color="#c0c0c0", HoverColor="#e0e0e0", Url="https://jira.it.epicgames.net/browse/$1") The "Pattern" attribute specifies the regex to match, and may capture portions of the matched text to be substituted later. "Label" specifies the label to appear on the badge. "Group" specifies an arbitrary identifier used to group related badges together rather than separating them with whitespace. "Color" and "HoverColor" specify hex RGB colors for the badges. "Url" specifies the path to open with a C# Process.Open call if the badge is clicked. Change 3889726 by Ben.Marsh UGS: Fix description badges that don't have any associated URL. Change 3889995 by Ben.Marsh UGS: Fix issue where popup menus can create top level windows in the taskbar. Seemlingly caused by capturing mouse before the window has been activated - removed capture code, and replaced with handling of OnMouseLeave() event instead. Change 3890007 by Ben.Marsh UGS: Add a caption underneath the project logo which shows the current stream, to make it more obvious. Change 3890057 by Ben.Marsh UGS: Fix repainting glitch when resizing window; bounds for status panel lines was not being reset correctly. Change 3891069 by Robert.Manuszewski Fixing a crash in MallocBinned2 when running with malloc profiler enabled. Change 3891084 by Steve.Robb Back out changelist 3881331 because it's causing cook errors. Change 3891100 by Ben.Marsh UGS: Add support for a per-branch "message of the day"-style feature. Messages can be specified in a project's config file in Perforce (eg. <ProjectDir>/Build/UnrealGameSync.ini) as follows: [//UE4/Main/Samples/Games/ShooterGame.uproject] Message=:alert: Lockdown for fixes is **5pm on Friday**. Only fixes for the 2.0 release should be submitted to this branch. [34 issues](https://jira.it.epicgames.net) are remaining as of 2/15. A limited subset of Markdown is supported: [web links](http://www.google.com), *italic*, _italic_, **bold**, __bold__. Icons will be supported through :icon: syntax; the only icon currently available is :alert: Change 3891346 by Steve.Robb TSharedPtr::operator bool, and some usage of it. Change 3891787 by Steve.Robb Fix for buffer overflow in FDebug::LogFormattedMessageWithCallstack(). Change 3892379 by Ben.Marsh UGS: Fix notification window containing the group fix for each build type. Change 3892400 by Ben.Marsh UGS: Shrink the size of the alert panel. Change 3892496 by Ben.Marsh UGS: Dim badges for changes which aren't eligable for syncing. Change 3893932 by Steve.Robb Re-removal of SetShouldHandleAsWeakRef, which was originally removed in CL# 3437205. Change 3895872 by Ben.Marsh UGS: Show the stream name in tab labels by default. Change 3896366 by Ben.Marsh UGS: Automatically resize columns when the main window is resized, and allow specifying desired column widths for projects that have a large number of CIS badges. Columns are now resized proportionally, clamped to a minimum size. Columns will automatically expand up to a desired maximum size, though can be explicitly resized larger if necessary. Columns will not be resized if they are already larger than the window can show, or smaller than the window has space to show. Change 3896367 by Ben.Marsh UGS: UI tweaks - change and time columns are now centered, "Unknown" badge is displayed until a change's type has been determined, increase height of status panel. Change 3896425 by Ben.Marsh UGS: Speculative fix for race condition on clients displaying "under investigation" state. If the DB event is received before a change where an investigation is cancelled is polled from Perforce, we will exclude the resolve event from the list of active investigations. Change 3896461 by Ben.Marsh UGS: Add an option to allow setting a tint color to be applied to the status panel, to allow identifying streams more easily. To use, add a setting similar to the following to a project's Build/UnrealGameSync.ini file: [//UE4/Main/Samples/Games/ShooterGame/ShooterGame.uproject] StatusPanelColor=#dcdcf0 Change 3899530 by Ben.Marsh Add unified syntax for overriding branch specific settings. Checks branch settings first, then [Default] section. Change 3901164 by Ben.Marsh UGS: Add a class to store all the resources for the status panel. Change 3901165 by Graeme.Thornton TBA: Attempt #2 at submitting the text asset saving code. SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter. Minimal amount of structured archive serialization functions added to allow this data to be written Change 3901301 by Ben.Marsh UGS: Add support for reading the latest version of the project config file from Perforce. Some settings should be read depending on the CL you are synced to (eg. build steps), whereas others (MOTD, branch status) should always use the latest version. Will read the local version if checked out, to allow testing local changes. Change 3902454 by Ben.Marsh UGS: Fix logo not being redrawn in the correct position when starting to sync. Change 3903416 by Ben.Marsh UGS: Group badges explicitly through INI file rather than by expecting name to contain ':'. Change 3904154 by Josh.Engebretson Adding Breakpad to ThirdParty sources (Git Commit: 49907e1c3457570f56d959ae26dec6c3a5edd417 https://chromium.googlesource.com/breakpad/breakpad) #jira UE-55442 Change 3904648 by Ben.Marsh UGS: Remove files from the workspace that are excluded by the sync filter. The user's config file stores a hash of the last sync filter. During syncing, if this hash doesn not match the previous value, we enumerate all the files in the #have list and remove anything masked out by the filter. #jira UE-47335 Change 3905442 by Steve.Robb Change of the ConvertFromType() multi-bool return value to a more descriptive enum. Some return values here do not make sense - this is because the existing logic is being preserved and will be fixed in a separate change. Change 3905629 by Ben.Marsh UGS: Fix race condition between two child processes starting on different threads, and inheriting the other's intended stdout/stderr pipes. This prevents pipes being closed when one of the child processes shuts down, and causes waits on the read ends of those pipes to continue indefinitely. Change 3906447 by Steve.Robb Rename EConvertFromTypeResult enumerators. Change 3906574 by Steve.Robb Crash fix for container conversion failure during tagged property import. Change 3909255 by Daniel.Lamb Fixed issue with DLCpackaging crashing on windows #jira UE-42880 #test EngineTest windows Change 3909270 by Steve.Robb Seek instead of skipping bad properties byte-by-byte. Change 3909324 by Steve.Robb Use switch statement instead of repeated if/else. Change 3909525 by Ben.Marsh UGS: Use the StudioEditor target when syncing content-only Enterprise projects. Change 3911754 by Daniel.Lamb Fix for building pak patches. #jira UE-55340 Change 3911942 by Robert.Manuszewski Fixing an ensure when MediaPlayer is being constructed from any thread other than the main one. Change 3913067 by Ben.Marsh UGS: Allow workspace sync filter categories to re-enable categories that are disabled by the global filter. Change 3913209 by Ben.Marsh UGS: Fix incorrect target name when compiling Enterprise projects. Change 3917358 by Steve.Robb Fix for GetLen(FString). Change 3919610 by Ben.Marsh Put data for CrashReportClient in a PAK file of its own (under Engine/Programs/CrashReportClient/Content/Paks/CrashReportClient.pak). There are a large number of small files required for it to run with loose files, which takes a lot of space on disk (due to cluster sizes), and is unweildy to move around. CrashReporter UFS files are tracked in a separate dictionary to regular UFS files to allow construction of the additional PAK file. Change 3921002 by Ben.Marsh UGS: Add option for syncing all projects in a branch. Off by default. Also add support for masking in additional paths to be synced (eg. one or two extra projects). Change 3921008 by Ben.Marsh UGS: Prevent pause waiting for mutual exclusivity when syncing precompiled binaries. We don't need to generate project files or build, so there's no need to wait in line. Change 3921906 by Steve.Robb New interpolation functions for quaternions. https://udn.unrealengine.com/questions/419028/quaternion-interp-to-functions.html Change 3921978 by Graeme.Thornton TBA: Make "Loader" member of FLinkerLoad private to prevent use outside of FLinkerLoad. This archive could be something unexpected if the linker is for a text asset package, so we need to stop people accessing it. Change 3924520 by Graeme.Thornton UnrealPak: Improve encryption summary log messages Change 3924522 by Graeme.Thornton UAT: Add *Encryption.ini to the list of auto-blacklisted config filenames Change 3924604 by Graeme.Thornton UnrealPak: If encryption keys are parsed and fail the encrypt/decrypt test, throw a fatal error. The exectutable will have those same keys embedded so there is no point allowing the paks to be created with broken keys. Change 3924638 by Graeme.Thornton Crypto: Improvements to parsing of old fashioned encryption.ini settings: - AES keys that are too long or short (need to be 32 bytes) will now emit a warning when being parsed, and be truncated or expanded before adding to the crypto settings. - Signing keys will emit an error when they are too long (>64bytes) - Unrealpak will still assert when invalid settings are passed via the other mechanisms (command line or -encryptionini mode). Settings via the crypto json file should now be sanitized and not cause issues #jira UE-55080 Change 3924747 by Steve.Robb Fix for degrees. Change 3925459 by Chad.Garyet Adding check to not to attempt to delete autosdk workspace if it doesn't already exist. Change 3926703 by Ben.Marsh BuildGraph: Include the path to the XML file when displaying an XML parse error. Change 3926917 by Ben.Marsh UBT: Allow overriding the name of the UE4 solution on a branch-specific basis. Useful for switching between multiple UE4 workspaces. Also add support to the editor and UGS for opening the correct solution (determined via a text file saved to Engine/Intermediate/ProjectFiles). Set the solution name using an entry in BuildConfiguration.xml as follows: <ProjectFileGenerator> <MasterProjectName>UE4_Main</MasterProjectName> </ProjectFileGenerator> Change 3927683 by Graeme.Thornton UAT: When building with chunk installs enabled, don't generate the master manifest from each pak creation thread. Just do it once after all pak files have been created. Avoids intermittent crash with multiple threads trying to write the same json file. Change 3928111 by Ben.Marsh UBT: Add an option <bMasterProjectNameFromFolder> which allows setting the solution name based on the folder that it's in. Change 3928926 by Ben.Marsh BuildGraph: Add support for enumerating content copied by the <CsCompile> task. Also add support for invoking methods on string properties. Change 3931041 by Graeme.Thornton TBA: Add option to textasset commandlet to also include engine content in a resave Change 3931043 by Graeme.Thornton TBA: Redirect some more FArchive members in FArchiveProxy Change 3931913 by Ben.Marsh UGS: Do not create a modal dialog if a scheduled sync is unable to run because the editor is open, and do not run the editor after a scheduled sync. #jira UE-47368 Change 3932419 by Ben.Marsh UGS: Allow selecting which projects to sync on schedule. Any projects not already opened at the time the schedule is triggered will be opened first. #jira UE-33541 Change 3932483 by Ben.Marsh PR #3949: UnrealGameSync: Add environment path field to custom BuildStep (Contributed by frankie-dipietro-epic) Change 3932624 by Ben.Marsh UGS: Add an error dialog when trying to clean the workspace before closing the editor. #jira UE-42308 Change 3932679 by Ben.Marsh UGS: Add the date/time to the end of the sync log. #jira UE-33540 Change 3932705 by Ben.Marsh UGS: Prompt to close the editor before allowing the user to enter a changelist to sync to, when syncing to a specific changelist. #jira UE-53182 Change 3933318 by Ben.Marsh UGS: Detect more programs running before allowing a sync to start, show a dialog listing them, and add an option to ignore if necessary. #jira UE-33535, UE-53914 Change 3933840 by Graeme.Thornton TBA: When loading assets, only use structured archive adapters for exports when loading text files. Change 3936040 by Ben.Marsh UGS: Rewrite application lifecycle to fix issues with scheduled syncs on background windows not activating, and window jumping to the front after auto-update. Now uses a custom application context to allow creating separate 'main' windows (first the "opening projects" form, then the regular form), and does not require any forms to be shown in order to be updating in the background. #jira UE-52870 Change 3940230 by Robert.Manuszewski Fixes for FilenameToLongPackageName crashes when runnign commandlets Change 3940240 by Graeme.Thornton Automated cycling of encryption and signing keys Change 3940243 by Graeme.Thornton UAT: CryptoKeys automation script Change 3940321 by Ben.Marsh UGS: Add a "Bisect" mode for regressing bugs between a certain range of changes. To use, select a range of changes by holding down the shift key or individual changes by holidng the control key, then right click and select "Bisect these changes". Individual changes in the list can be marked as "Bisect: Pass" or "Bisect: Fail" from the context menu, and syncing will find the next change in the center of the range. Change 3940538 by Ben.Marsh UBT: Always determine whether a project is a foreign project or not from the valid .uprojectdirs entries, rather than relying on the user passing -game on the command line. Change 3941285 by Gil.Gribb UE4 - Removed PRAGMA_DISABLE_OPTIMIZATION from PlatformFileCommon.h. It was an oversight. #jira none Change 3942404 by Graeme.Thornton Pak Signing: - Unify naming of pak precacher and signedarchivereader signature check functions to make it easier to search for them in crash reporter - Format the signedarchivereader output to match the pak precacher - When signedarchivereader detects a signature check, do the same master signature hash check that the pak precacher does to confirm that the .sig file contents haven't been corrupted since load. - Add PAK_SIGNATURE_CHECK_FAILS_ARE_FATAL guarded exit to signedarchivereader signature failure - Optimization for pakprecacher signature checks. Instead of locking the cached files mutex for every decoded signature, take a local copy in blocks of 16. Only re-lock if we need more. Grab the initial batch when setting up. In most cases, reduces the number of locks to 1 per signature check call. Change 3942825 by Ben.Marsh UAT: Allow passing -Project<N>=Foo.uproject arguments to the MegaXGE commandlet (eg. -Target1="ShooterGame Win64 Development" -Project1="D:\ShooterGame\ShooterGame.uproject") so it can be used from an installed engine build. Change 3942839 by Ben.Marsh UBT: Explicitly query the number of logical processors in the system, to fix Environment.ProcessorCount just returning the number available to the .NET framework. For machines with > 64 cores, processors in a different processor group will not be included in this number. Change 3943153 by Ben.Marsh Use the correct logical processor count in ParallelExecutor. Change 3943210 by Ben.Marsh UGS: Add an option to the editor arguments window that allows prompting before launching the editor. Change 3943329 by Ben.Marsh UGS: Tweak appearance of bisect mode; now shows slightly transparent version of pass/fail icons, and includes remaining CL range in status panel. Change 3944294 by Ben.Marsh UGS: Prompt for confirmation before removing any files from the workspace. Change 3945283 by Ben.Marsh UGS: Add support for project-specific connection settings, and detection of Perforce login tickets expiring. Change 3945325 by Ben.Marsh PR #4558: Changed incorrect obsolete message for ReceiptPropertyList in Modules.cs (Contributed by ryanjon2040) Change 3947359 by Graeme.Thornton TBA: Fixes to loading code to allow bulk data to get a pointer from its loader archive to an archive that it can load from at a later date. For binary archives, this is just a pointer back to the same archive, but for text assets it is a pointer to a "child reader" which maintains its own structured archive that is scoped to the current location in the file. Change 3947360 by Graeme.Thornton TBA: Added RoundTrip mode to text asset commandlet. Performs determinism tests in project assets to see whether they save deterministically to binary and text files, and also when they are ping-ponged between the two formats. Change 3949431 by Graeme.Thornton TBA: Refactored string escaping code in json output formatter FString serializer into a common function which is now used by FName and UObject path serialization too. Fixes some odd cases where an FName contained quotation marks Change 3950843 by Ben.Marsh UBT: Add a better error if an XML config file is corrupt. Change 3952504 by Steve.Robb GitHub #4545 : UE-55924: CaseSensitive token recognition #jira UE-55961 #jira UE-55924 Change 3952707 by Graeme.Thornton Make RandInit(...) log message verbose Change 3954694 by Ben.Marsh BuildGraph: Add support for user-defined macros, which can contain a list of buildgraph commands and be expanded within a node. Example script in Engine/Build/Graph/Examples/Macros.xml. To define a Macro, use the syntax: <Macro Name="MyTestMacro" Arguments="PrintFirstMessage;PrintSecondMessage" OptionalArguments="PrintThirdMessage"> <Log Message="First message" If="$(PrintFirstMessage)"/> <Log Message="Second message" If="$(PrintSecondMessage)"/> <Log Message="Third message" If="'$(PrintThirdMessage)' == 'true'"/> </Macro> To expand a macro, use the syntax: <Expand Name="MyTestMacro" PrintFirstMessage="true" PrintSecondMessage="true"/> An error will be thrown if any required arguments are missing. Optional arguments default to empty if not specified. Tasks within a macro are validated by the schema at the point of definition using the same rules as apply to a <Node> element, but properties are not evaluated until the macro is expanded. This allows macros to get and set properties in scope at the point that it is expanded. Local properties that are introduced within a macro do not otherwise leak to the scope that they are expanded. Change 3954695 by Ben.Marsh PR #4582: Fixed incorrect condition in StagedFileSystemReference.cs (Contributed by moadib) #jira UE-56283 Change 3954961 by Ben.Marsh UBT: Fix issues caused by toolchain assuming that the editor target will be the name of the project with an "Editor" suffix. This is not necessarily the case; the launcher will allow you to instantiate a project with any name, and it will not rename the target files. #jira UE-56040 Change 3955785 by Steve.Robb GitHub #4546 : Don't discard errors from zlib inflate #jira UE-55969 Change 3955940 by Steve.Robb Redundant and confusing macro check removed. Change 3956809 by Ben.Marsh Guard against project paths passed on the command line to UBT being treated as project names. Previous code used to just take the first, which would mask this problem. Change 3959590 by Steve.Robb Useless IsIntrinsic constant and COMPILED_IN_INTRINSIC macro removed. Change 3959864 by Robert.Manuszewski Increasing the size of permanent object pool to fix warnings in cooked ShooterGame #jira UE-56001 Change 3960956 by Steve.Robb New ToCStr function which generically gets a TCHAR* from a 'string-like' argument. Change 3963628 by Ben.Marsh UBT: Fix intellisense issues caused by _API macros being defined as DLLIMPORT (imported symbols cause an error if they are defined). Generate intellisense macros with the -Monolithic argument to work around it. Change 3964349 by Ben.Marsh Move support for reading .modules files into FModuleManager, and always use it in modular builds. Pathway which discovers modules by filename only is no longer supported for simplicity, and due to platform-specific version checks being unreliable on any platforms other than Windows. Change 3964821 by Ben.Marsh Use a custom tool for deleting directories on Windows, to handle paths longer than MAX_PATH correctly. Change 3965269 by Ben.Marsh Add more [RequiresUniqueBuildEnvironment] attributes to target settings that modify the global environment. Change 3966554 by James.Hopkin #core Removed redundant cast Change 3966558 by James.Hopkin #core Removed redundant casts and changed some MakeShareables to MakeShared #robomerge #fortnite Change 3966754 by Ben.Marsh Always use the compiled-in app name when looking for a module manifest. Fixes issues with XGEControlWorker.exe being a renamed copy of ShaderCompileWorker.exe. Change 3967397 by Ben.Marsh Fix "copy local" files not being included in build products enumerated from C# projects. Remove files with "Embed Interop Types" from the output list. Change 3967664 by Ben.Marsh Update UGS solution to use Visual Studio 2017. Change 3967838 by Ben.Marsh Couple of fixes to conform scripts. Change 3968767 by Ben.Marsh Compile the name of the module manifest into the executable via a define explicitly set by UBT, rather than guessing at runtime. Change 3968771 by Ben.Marsh Fix compiled-in engine path being subject to macro expansion. #jira UE-56504 Change 3968886 by Robert.Manuszewski Merging 3914301: Remove any references we had added to the GGCObjectReferencer during Init Change 3968978 by Steve.Robb FString->FName fixes for module names in HotReload. Change 3969019 by Steve.Robb Minor refactor of property skipping logic in SerializeTaggedProperties(). Change 3969041 by Steve.Robb Simplification of Build.version filename construction. Change 3969049 by Steve.Robb Always do rolling names when recompiling in editor, because an unloaded module may still actually by loaded-but-abandoned by the executable. This also removes HotReload's dependence on FModuleManager::GetCleanModuleFilename(). #jira UE-52405 Change 3969120 by Ben.Marsh Enable errors for using undefined identifiers in conditional expressions by default. Change 3969161 by Ben.Marsh Remove log line that should only be included in the log. Change 3969216 by Steve.Robb Dump a list of module names - rather than DLL filenames - when the editor detects modules which need recompiling. This removes the only remaining use of FModuleManager::GetCleanModuleFilename(), which is also now removed. #jira UE-52405 Change 3969346 by Steve.Robb Missed some bad FScript(Map/Set)Helper usage from CL# 3698969. Change 3969598 by Ben.Marsh Fix warning from VS2017. Change 3971101 by Graeme.Thornton TBA: Added RoundTrip mode to TextAsset commandlet which does a sequence of saves and checks for determinism. It will do 3 binary saves, 3 text saves, then 3 alternate binary->text saves. Change 3971407 by Ben.Marsh UBT: Fix exception when enumerating toolchains if the directory does not exist yet. Change 3971523 by Graeme.Thornton Make compressed block offsets in a pak file store offsets relative to the file header, rather than absolute. Reduces the amount of entropy when data changes in the pak file, making it play nicely with patching Change 3971613 by Ben.Marsh Fix Lightmass non-unity compile errors. Change 3971649 by Ben.Marsh Disable optimization around FTickerObjectBase constructor on Win32 due to ICE. Change 3971829 by Ben.Marsh Fix deprecated header warning from PVS Studio. Change 3972503 by Ben.Marsh Changes to build failure notifications: * Only people that submitted between builds with different error messages will be included on emails by default. * Email subject line will be different for each failing build step, but will include the CL of the first failing step. This will result in one thread for each build failure (a success email is sent with the same subject line). * Anyone that starts a build will be included on all failure emails. Change 3972732 by Ben.Marsh Changes to ensure notification messages are stable. Change 3972810 by Ben.Marsh Write debug information about the digest computed for a change, to assist with debugging it if it's not stable. Change 3973331 by Ben.Marsh Fix missing dependency on linker response file. Prevents target being relinked when build environment changes. Change 3973343 by Ben.Marsh PR #4612: Adding support for PVS-Studio settings file to PVS-Studio Unreal Build Tool toolchain. (Contributed by PaulEremeeff) Change 3973820 by Ben.Marsh Fix incorrect error message when unable to find Visual C++ install directory. Change 3974295 by Robert.Manuszewski Made sure that lazy object pointers are only fixed up for PIE in actual PIE worlds. Change 3975336 by Robert.Manuszewski CIS fix after the last merge from main Change 3976999 by Ben.Marsh Move the Windows stack size settings onto the WindowsTargetRules object, and add the [RequiresUniqueBuildEnvironment] attribute to ensure it's not overwritten incorrectly. This should cause CIS to better errors for compiling Odin editor. Change 3977934 by Ben.Marsh UBT: Allow setting additional compiler/linker arguments through properties on the TargetRules object. Change 3977953 by Ben.Marsh UBT: Enumerate all Visual Studio 2017 install locations using the Visual Studio Setup interop SDK. Multiple simultaneous Visual Studio installations are now supported, and using registry keys to determine installation directories has been deprecated. Allows choosing toolchains from preview versions as well as full versions. Change 3978544 by Ben.Marsh UBT: Include verbose timing information from compiler frontend if using VS2017 15.7 preview 2 or later. Change 3978780 by Ben.Marsh Add Visual C++ 2017 redist files to AppLocalDependencies, and update the prereq installer to include 2017 support DLLs. Change 3979313 by Ben.Marsh UBT: Add the EngineDirectory property to ModuleRules. Makes it easier to find paths to files under the engine folder. Change 3980499 by Ben.Marsh UBT: Automatically enable /DEBUG:FASTLINK if we're using the VS2017 15.7 toolchain or newer and not doing a formal build. This contains fixes for debugger OOM issues present in older versions. Change 3980890 by Ben.Marsh UBT: Update project file generator to support VS2017 solution options file; fixes C# projects being opened by default when generating new project files. Change 3981495 by Ben.Marsh Do not include embedded interop assemblies in the list of references required by a C# project; they are not required build products. #jira UE-54343 Change 3982157 by Ben.Marsh Only output a warning message if BuildConfiguration.xml schema validation fails; we may have settings that only apply to code in another branch. Change 3982239 by Ben.Marsh Update tooltip directing users to install Visual Studio 2017 instead of 2015. Change 3983395 by Graeme.Thornton Fix reference to BUILD_VERSION in BootstrapPackagedGame RC file Change 3983523 by Graeme.Thornton Backwards compatibility for pak files with compressed chunk offsets Change 3983769 by Ben.Marsh UAT: Allow using PDBCOPY.EXE installed as part of the Windows 10 SDK to strip symbols, and add a better message if it can't be found. Change 3984529 by Ben.Marsh BuildGraph: When run with the -Preprocess=... argument, no steps will be executed. Change 3984557 by Ben.Marsh BuildGraph: Return the updated patterns from FilePattern.CreateMapping(), so we can print accurate messages when displaying the source and target directories for a copy or move task. Change 3986520 by Ben.Marsh Remove hacks to uniquify response file name on Android and Linux. Change 3987166 by Steve.Robb Allow overloading of functions which take TFunctions or TFunctionRefs with mutually exclusive signatures. Change 3989061 by Graeme.Thornton TBA: Text asset loading/saving work - Start using FStructuredArchive flavours of UObject Serialize functions when loading and saving exports. - Only use FStructuredArchive interface for text assets, and for classes that have the CLASS_MatchingSerializers which tells us that the class can serialize to both FStructuredArchives and FArchives. - Add GetCacheableArchive to FArchive, which allows transient archives to return a pointer to another archive that will outlive it. Used by bulk data to get a pointer to an archive that can be held and used at a later time to lazy load things. For text assets where the bulk data might be held inside a base64 encoded FArchiveFromStructuredArchive block, we can't dynamically seek back to that location after the on-stack wrapper has been destroyed after the original serialize, so this will return null. For binary assets, we just return a pointer to the same binary archive which can be used freely. Change 3989109 by Graeme.Thornton TBA: TextAsset commandlet emits a warning when binary package determinism fails Change 3990823 by Ben.Marsh UGS: Allow project settings to specify a client path rather than a filesystem path. Not currently usable through UI. Change 3990832 by Ben.Marsh UGS: Make the schedule window resizable. Change 3991569 by Steve.Robb GitHub #4636 : Fixed typo in HeaderParser.cpp for "missed WithValidation keyword" error message Change 3991970 by Steve.Robb Fix for 4096 char limit on FParse::Value. Change 3992222 by Steve.Robb Advice added to the coding standard for using default member initializers. Change 3993675 by Ben.Marsh UGS: Add UI to allow creating new workspaces and selecting projects from existing workspaces that are not currently synced. Change 3994199 by Ben.Marsh UGS: Fix child processes being unable to spawn other child processes with the CREATE_BREAKAWAY_FROM_JOB flag, to add them to their own job objects. In Windows 7 or earlier job objects cannot be nested, so child processes have to create separate job objects and spawn processes with CREATE_BREAKAWAY_FROM_JOB to be able to add them. This fails unless parent process' job object was created with JOB_OBJECT_LIMIT_BREAKAWAY_OK. Discussed here: https://msdn.microsoft.com/en-us/library/windows/desktop/hh448388(v=vs.85).aspx Change 3994243 by Ben.Marsh UGS: Use the select stream dialog instead of displaying a drop list unless there's a stream filter specified. We have way too many streams for this to be useful in a menu unless it's filtered. Change 3994260 by Ben.Marsh UGS: Tweak the stream filter dialog to only use the previous selected node if the filter terms match. It may be a parent node of something that matches, even though it doesn't match itself. Change 3994350 by Ben.Marsh UGS: Automatically guess the correct root path for new workspaces based on the most common existing workspaces for the current user. Change 3995159 by Ben.Marsh UGS: Do not delete files which are outside the sync filter. People expect to be able to sync different projects within a stream without having to update sync filters. Indend to re-introduce this functionality through the manual 'clean workspace' operation. Change 3995169 by Ben.Marsh UGS: Show options as dimmed in the open project dialog, if the radio button for those controls is not checked. Automatically set the radio button if the focus is given to one of those controls. Change 3995228 by Ben.Marsh UGS: Update recently opened projects list when editing project for an existing tab. Change 3995312 by Ben.Marsh UGS: Stop showing all dialogs in the taskbar. Change 3995929 by Robert.Manuszewski Completely rewritten FReferenceChainSearch class used by 'obj refs' command. - 3+ times faster - Uses the same code as GC to track all the references down - Actually reports all reference chains properly - Less code that is more readable than the previous version Change 3995981 by Ben.Marsh UGS: Clean workspace window will now force-sync files that have been deleted or which are writable. Change 3996113 by Ben.Marsh UGS: Fix crash upgrading config files from older versions. Change 3997990 by Ben.Marsh UGS: Prevent error when syncing an empty workspace. Change 3998095 by Ben.Marsh UGS: Change logic for dealing with job objects: rather than creating breakaway jobs (requires co-operation with spawning process), always try to use nested job objects (requires Windows 8.1+). If it fails, ignore the error if we're already part of a job. Also forcibly terminate the process on dispose to handle cases where the job object wasn't created. Change 3998264 by Ben.Marsh UGS: Fix exception when switching projects in-place. Change 3998643 by Ben.Marsh Fix shared DDC not being used for installed engine builds. #jira UE-57631 Change 4000266 by Ben.Marsh UnrealPak: Add an option that allows rebuilding a set of PAK files with different settings. Usage is: UnrealPak [PakFile] -Repack [-Output=FileOrDirectory] [Options] The input pak file may be a single file or wildcard, and is overwritten unless the -Output parameter is specified. Change 4000293 by Ben.Marsh Add a compression flag that allows selecting compressor without using the default platform implementation. Change 4000315 by Ben.Marsh Add support for custom compressors implemented via modular features. Specify -compressor=<PathToDll> on the command line to UnrealPak to load a compressor from an external DLL. Change 4000610 by Ben.Marsh UnrealPak: Add a parameter for compression block size (-compressionblocksize=XXX). Accepts arguments with MB/KB suffixes, as well as byte counts. Change 4000627 by Ben.Marsh UBT: Include enabled plugin info in the UBT log. Change 4000793 by Ben.Marsh UBT: Remove some member variables from VCEnvironment that don't need to be stored. Change 4000909 by Ben.Marsh UBT: Add VS2017 installations to the list of paths checked for MSBuild installations. Change 4001923 by Ben.Marsh UBT: Allow any plugins which are enabled by default to be included in the enabled list, even if they don't have any modules for the current platform. This changes the build-time logic to match the runtime logic. At some point in the future we may add a separate SupportedHostPlatforms list to each plugin to do this explicitly, rather than guessing via the per-module whitelist. Change 4001927 by Ben.Marsh Fixes for compiling against the Windows 10 SDK. Change 4002439 by Robert.Manuszewski Added TDefaultReferenceCollector and FSimpleReferenceProcessorBase to extract common code for clients of TFastReferenceCollector Change 4003508 by Ben.Marsh UGS: Fix new workspaces not having the correct owner and host set. Change 4003622 by Ben.Marsh UGS: Add support for "skipped" as a build result. Change 4004049 by Robert.Manuszewski Significantly improved performance of Reference Chain Search for objects that are nested deep in the object hierarchy Change 4005077 by Ben.Marsh UGS: Update version number. Change 4005112 by Ben.Marsh UBT: Reduce number of times a target has to be constructed while generating project files. Change 4005513 by Ben.Marsh UBT: Reduce number of checks for directories existing when adding include paths to a module. Accounted for 40% of runtime time when generating project files. Change 4005516 by Ben.Marsh UBT: Add warnings whenever a module adds an include path or library path that doesn't exist Change 4006168 by Ben.Marsh CIS fixes. Change 4006236 by Ben.Marsh UGS: Populate the workspace name/root directory text box with the cue banner when focus moves to the control. Change 4006266 by Ben.Marsh UGS: Swap around the new workspace/existing file boxes on the open project dialog. Change 4006552 by Ben.Marsh If staging fails because a restricted folder name is found, include a list of them in the error message. Change 4007397 by Steve.Robb Comments added to make it clear that GetAllocatedSize() only counts direct allocations made by the container. Change 4007458 by Ben.Marsh UBT: Change RPC utility to abort early, rather than continue to try to build even though SSH init failed. Change 4009343 by Ben.Marsh UGS: Set the rmdir option on new workspaces by default. Change 4009501 by Ben.Marsh UBT: Add Windows include paths to the compiler command line, rather than setting through environment variables. This ensures that incremental builds work correctly when SDK versions change. Change 4009509 by Ben.Marsh UBT: Check in a non-versioned directory under the Windows 10 SDK for the resource compiler. Change 4010543 by Ben.Marsh Remove the "Device" and "Simulator" platform groups, because they're unused and overly generic for folder names. Also remove source code for the HTML5 simulator (which is no longer supported). Change 4010553 by Ben.Marsh UAT: Include platform groups in restricted folder names when staging. Change 4012030 by Ben.Marsh UGS: Increase the size of the main window, and set the current stream as the default when creating a new workspace. Change 4012204 by Chad.Garyet - Cleanup to get the POSTs returning 400s the same way the GETs would (now no longer returns the exception text) - Create directory for sqlite db if it doesn't exist #jira none Change 4014209 by Brandon.Schaefer New changes in breakpad dump_syms to allow for producing a symbol file for elf files on windows #review-3998840 @Arciel.Rekman, @Ben.Marsh, @Josh.Engebreston, @Anthony.Bills Change 4015606 by Brandon.Schaefer Missed a code project that needed updating for new Breakpad changes for Mac Change 4017795 by Robert.Manuszewski GC assumption verification should now be 3-4x faster. - Refactored Disregard For GC to use TFastReferenceCollector - Move both Disregard For GC and Cluster verification code to separate source files Change 4020381 by Ben.Marsh Add link to the new official doc page for UnrealGameSync. Change 4020665 by Ben.Marsh UBT: Prevent plugins being precompiled if they don't support the current target platform. Change 4021829 by Ben.Marsh Update message about downloading a new version of Visual Studio. Change 4022063 by Ben.Marsh UBT: Suppress toolchain output when generating project files. Change 4023248 by Ben.Marsh Install an unhandled exception filter to ensure we get crash reports from threads that are not spawned by the engine. At the moment, we only receive crashes that are routed through ReportCrash() via our structured exception handlers in WinMain() and FRunnableThreadWin::Run(). (Also fix an exception within the exception handler, if GError has not been created yet) Change 4025759 by Ben.Marsh Fix universal CRT include paths not being added to compile environment for VS2015. Change 4026002 by Ben.Marsh UBT: Check the old registry locations for the Windows SDK installation directory. Change 4026068 by Ben.Marsh UBT: Use the correct compiler version in the error message for not having the UCRT. Change 4026181 by Ben.Marsh Fix DebugGame editor configurations not enumerating modules correctly. #jira UE-58153 Change 4026285 by Ben.Marsh UBT: Add additional logging for enumerating Windows SDKs. Change 4026708 by Ben.Marsh UBT: Keep a separate list of installed Universal CRT versions to the list of Windows 10 SDK versions. It's possible to install C++ support without the Windows 10 SDK, which still includes UCRT files in Windows 10 SDK folders. Change 4029404 by Ben.Marsh Remove incorrect include paths to fix CIS warnings. Change 4031517 by Steve.Robb Fix for UHT errors not being clickable in the Message Log. #jira UE-58173 Change 4031544 by Ben.Marsh Fix errors building asset catalog for IOS due to modifying shared build environment. #jira UE-58240 Change 4032227 by Ben.Marsh BuildGraph: Print out a warning message when trying to submit without the -Submit argument in BuildGraph. Change 4032262 by Ben.Marsh BuildGraph: Remove the need to copy files to the staging directory in BuildEditorAndTools.xml. Change 4032288 by Ben.Marsh Remove UFE from the BuildEditorAndTools script. 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 3838569 by Steve.Robb Algo moved up a folder. Change 3848581 by Robert.Manuszewski Changing the UObjectArray to not be allocated up front but in 64K-FUObjectItem chunks. This is to fix strange OOM reports on editor startup where it's trying to allocate space for 1M+ FUObjectItems. #jira UE-49446 Change 3864743 by Steve.Robb Fix for buffer overrun when copying a context string. Fix for being unable to link to MallocLeakDetection. Fix to prefix for FMallocLeakDetection::ContextString. New MALLOCLEAK_SCOPED_CONTEXT macro to push/pop a context string. Overload for const TCHAR* added to FMallocLeakDetection::PushContext to save on redundant memory allocations. #jira UE-54612 Change 3865020 by Graeme.Thornton TBA: Changed FIELD_NAME macro to FIELD_NAME_TEXT so that FIELD_NAME can be used for non-literal name definitions Change 3869550 by Josh.Engebretson New SymGen and SymUpload tasks (ShooterGame usage example) Example C# symbolicator (using saved crash and data router formats) Updates for stack walking and crash runtime xml on Windows/Mac Change 3905453 by Steve.Robb USE_TUPLE_AUTO_RETURN_TYPES moved to PLATFORM_COMPILER_HAS_DECLTYPE_AUTO. Change 3910012 by Ben.Marsh UGS: Show an error window and allow setting default P4 server settings if syncing UGS fails. Change 3920044 by Graeme.Thornton TBA: Text asset loading * Added a structured archive layer to FLinkerLoad * Wrapped export loading in a ArchiveUObjectFromStructuredArchive * Updated TextAssetCommandlet to have a "loadtext" mode which will try to load every text asset in the project content * Changed text asset extensions to .utextasset and .utextmap. Couldn't go with the favourite .uasset.json because our various path functions (FPaths::GetCleanFilename etc.) will only strip one layer of extension, so leave a bogus filename. * Relaxed a few checks in structured archive where it was checking for field reentrance, which isn't a problem for loading. * Changed FArchiveFromStructuredArchive to not load all referenced objects at construction time. This introduced some changes to load order which don't work in the engine. Object names are resolved at the point that a reference to them is serialized from the main data block, same as with legacy archives. Change 3921587 by Steve.Robb Static asserts inside ensureMsgf() macros to prevent them being passed invalid arguments or non-literal formatting strings. Fixes for various misuses. #jira UE-55681 Change 3942873 by Ben.Marsh UBT: Allow link time code generation on any configurations where bAllowLTCG is set to true. Microsoft platforms were previously only allowing this option in shipping; the target can decide when to enable it or not. Change 3944629 by Graeme.Thornton Merging back a couple of fixes from Fortnite - Extra parenthesis around some calculations in the pakprecacher - Changed FChunkCacheWorker::DoSignatureCheck() back to ::CheckSignature() - Added documentation for build script crypto options Change 3945381 by Ben.Marsh Disable warning C4770 on Windows (partially validated enum 'xxx' used as index), which occurs when enabling LTCG. Can't find a reference online for this warning, but I suspect it's due to LTCG allowing the compiler to trace code paths where we don't validate that an enum is a known value. Change 3968969 by Steve.Robb Fixes to incorrect uses of FScriptMapHelper and FScriptSetHelper, which weren't accounting for gaps in the sparse array. Change 3969417 by Ben.Marsh Make Visual Studio 2017 the default compiler for UE4 projects, and add support using Visual C++ toolchains from an AutoSDKs. Also add support for selecting a specific toolchain version to use through the WindowsPlatform.CompilerVersion property, which can be configured via a Target.cs files or BuildConfiguration.xml (eg. <WindowsPlatform><CompilerVersion>14.13.26128</CompilerVersion></WindowsPlatform). As well as allowing a specific version number, you can always use the latest toolchain by setting it to "Latest". Change 3972443 by Ben.Marsh Change build scripts to allow running any steps on non-compile workspaces. Setup Dev-Core to just use a non-compile Win64 workspace for everything. Change 3977198 by Ben.Marsh Remove INI file override for editor stack size on Windows. This is rarely valid since editor targets share build products with other games by deafult. Fix to add linker response file as prerequisite exposed targets overriding this as a bug. Change 3979632 by Ben.Marsh Consolidate codepaths for embedding versioning information in the engine. Engine/Build/Build.version is now the authoritative place to read version information; Engine/Source/Runtime/Launch/Resources/Version.h no longer includes macros for the current branch and changelist. * Settings from Build.version are compiled into the (tiny) BuildSettings module via macros set in BuildSettings.build.cs, which is used to initialize version information inside the engine at runtime. * The IsPromotedBuild value is now set to zero by default (but set to 1 by the UpdateLocalVersion UAT command). * The -Licensee argument to the UpdateLocalVersion UAT command, and the IsLicenseeVersion setting for UnrealGameSync, is determined automatically by looking for the Engine/Build/NotForLicensees/EpicInternal.txt file. This path is not visible to licensees. Change 3981738 by Ben.Marsh Move utility classes for filtering files and matching wildcards into DotNETUtilities. Change 3983888 by Steve.Robb Warning C4868 disabled, about evaluation order of braced initializer lists. https://udn.unrealengine.com/questions/426081/help-with-error-c4868-braced-initializers.html Change 3984019 by Steve.Robb FString::Printf formatting argument checking added. Vararg support for FText::Format. All remaining usage fixed. Change 3985502 by Steve.Robb Change to TFunction debugger visualization to allow right-clicking on the [Lambda] and selecting 'Go To Source Code'. Change 3985999 by Graeme.Thornton TBA: Serialize function generation for FArchive and FStructuredArchive overloads on a UObject, using UHT. - Adds a restriction that UObject::Serialize() functions MUST be declared outside of any conditional compilation directives, except for WITH_EDITORONLY_DATA Change 3986461 by Ben.Marsh Fixup lots of platforms not adding response files as a prerequisite. This can cause incremental builds to fail if input files/compile arguments change, because the action graph does not know that the response file being updated invalidates the build artifacts. Change 3990081 by Ben.Marsh Remove custom output formatters for errors and warnings. These are not well supported by different executors, and cause fences between actions with the same formatter with external executors like XGE. Clang supports -fdiagnostics-format=msvc for all platforms, which should do a better job than our crude attempts at regexing errors (causing botched output in some cases). Change 3996714 by Chad.Garyet UGSRestAPI, conversion of UGS to use it. #jira none Change 4008287 by Ben.Marsh UBT: Change the engine to use the Windows 10 SDK by default. Also add support for switching between specific Windows SDK versions. The WindowsPlatform.WindowsSdkVersion property in the target rules can be used to select a desired version, which can also be configured by the <WindowsPlatform><WindowsSdkVersion>Foo</WindowsSdkVersion></WindowsPlatform> parameter in the BuildConfiguration.xml file. The version of Windows to target (ie. the WINVER macro) can be modified by setting WindowsPlatform.TargetWindowsVersion. The default is 0x0601 (Windows 7). Change 4008516 by Chad.Garyet - Adding support for both SQLite and MsSql - API now reads from only MsSql, but writes to both - Added support for POST to CIS for badges - PostBadgeStatus now writes out via API Url rather than a direct connection to the DB #jira none Change 4010296 by Chad.Garyet Moving SQLite db initilization into Application_Start. An exception thrown creating or seeding the db will unload the entire AppDomain and all pages will return a 404. #jira none Change 4024045 by Ben.Marsh Set the list of supported target platforms for OnlineSubsystemGameCircle. #jira UE-57887 Change 4031014 by Ben.Marsh UAT: Add a WhitelistDirectories list in DefaultEngine.ini, which allows specifying folders that can be staged despite having restricted folder names. [CL 4034515 by Ben Marsh in Main branch]
2018-04-26 14:11:04 -04:00
RestrictedFolderNames.UnionWith(PlatformExports.GetPlatformFolderNames());
RestrictedFolderNames.UnionWith(RestrictedFolder.GetNames());
foreach (UnrealTargetPlatform StagePlatform in StageTargetPlatform.GetStagePlatforms())
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 4034418) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3851142 by Robert.Manuszewski When BP clustering is enabled, make sure to add the template to the BP cluster when replacing it. Change 3853797 by Ben.Marsh BuildGraph: Add a <Trace> element, which allows logging messages after the string is parsed (as opposed to the Log task, which logs them at runtime). Useful for debugging macro expansion, etc... Also add a -showdiagnostics parameter, to have diagnostic messages output even when running with the -listonly option. Change 3857540 by Graeme.Thornton Properly process the uexp file for a umap asset when generating a pak patch. Stop those uexp files being included in the patch even when they haven't changed Change 3860062 by Steve.Robb Fix for FString::Reset()'s buffer not being an empty null-terminated string (affects FString::ParseIntoArray, for example). Change 3860138 by Steve.Robb Fix for FString::ParseIntoArray() for when string memory has been allocated but has no characters. Change 3860273 by Steve.Robb Tidy up of FHotReloadClassReinstancer::FCDOWriter to not do stuff in constructors. Change 3863203 by Steve.Robb Crash fix for UObjects whose constructors are defined as = default;, which would re-null the UObject state (ClassPrivate, OuterPrivate etc.). See: https://udn.unrealengine.com/questions/412930/crash-due-to-default-constructor.html Change 3864588 by Graeme.Thornton Crypto Keys Improvements - Removed UAT command line params for encryption. Centrally configured by the editor settings now. - UAT staging now creates a small json file containing the keys and settings used for encryption and signing and stores it in the build metadata - Minor refactoring of UAT encryption processing to use the new cryptokeys json file - UnrealPak can be told to get its encryption settings from a json crypto file with the "-CryptoKeys=<filename>" - UnrealPak can now accept a "PatchCryptoKeys=<filename" parameter which gives it a filename to a cryptokeys json file that it can use to unpack the patch reference paks Change 3864691 by Robert.Manuszewski Don't add objects that are in root set to GC clusters to prevent them from keeping the clusters alive forever. Change 3864744 by Robert.Manuszewski Added the ability to get the actual filename of the log file FOutputDeviceFile writes to. Change 3864816 by Graeme.Thornton TBA: Minor formatting improvements to textasset commandlet Change 3868939 by Graeme.Thornton TBA: If -outputPath isn't supplied to TextAsset commandlet, output converted files to the {ProjectSaved}/TextAssets directory Change 3869031 by Graeme.Thornton TBA: Changed timing logs in TextAsset commandlet to be Display so we can see them in the EC log Change 3871802 by Steve.Robb Class cast flags and property flags are now visible in the debugger. Change 3871863 by Robert.Manuszewski Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage. Change 3874413 by Steve.Robb Algo::MinElement and Algo::MaxElement, for finding the minimum and maximum element in a range, and *By versions which take projections. TRangePointerType moved to its own file and used in Algo::MinElement and Algo::MaxElement. Change 3874457 by Ben.Marsh When spawning child processes, only allow them to inherit the writable ends of the stderr and stdout pipe. Fixes an issue related to AutomationTool hanging when the editor closes after running automation tests. The editor launches ADB.EXE (Android Debug Bridge) on editor startup, which forks itself to initialize a server. Even though the child process has its own stdout and stderr pipes, it also inherits the pipes for the editor. When run from C#, as we do for automation tests, Process.WaitForExit() waits for all pipes to be closed before returning. This can't happen if the forked ADB instance still has a reference to the editor's pipes. Change 3876435 by Robert.Manuszewski Don't add root set objects to level actor container to prevent situations where clusters are kept alive forever Change 3878762 by Robert.Manuszewski Fixing potential LinkerLoad leak when a package that still has a linker associated with it is being destroyed. Change 3878850 by Robert.Manuszewski SerializePreloadDependencies will now serialize raw data into the array instead of serializing one element at a time to speed up serialization performance. Change 3881331 by Graeme.Thornton TBA: SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter Change 3886983 by Ben.Marsh UGS: Fix notification window not expanding to fit long captions. Change 3887006 by Ben.Marsh UGS: Change modal dialog to regular window style to avoid weird alignment issues under Windows 10. Change 3887500 by Ben.Marsh UGS: Add support for grouping build badges by a prefix. Badges such as "Foo:Bar1", "Foo:Bar2" will be grouped together (with "Foo:" stripped from the displayed badge names). Also add a separate column showing the type of each change, rather than including it in the CIS column, and change badges to a more angular Windows 10 style. Change 3887513 by Ben.Marsh UGS: Fix badge text drawing outside the clipping bounds. Change 3888010 by Josh.Engebretson Fix UVS logging to UnrealVersionSelector/Saved/Logs and instead use project's log path #jira none Change 3888418 by Ben.Marsh UGS: Add a cache for computed badge layout information. Improves responsiveness when redrawing. Change 3889457 by Steve.Robb GitHub #4457 : Display abbreviations properly when converting FNames to display string #jira UE-54611 Change 3889547 by Ben.Marsh UGS: Add an extensible method for adding arbitrary badges to the right of the "description" column, by running a regular expression over the changelist description. Epic uses a "#tag" style annotations in changelist descriptions and Perforce triggers to verify them. "#jira" is used to link a changelist to an issue tracked in Jira, for example. A matcher to add a badge next to every changelist with a #jira tag, and link to the corresponding issue in Jira, could be set up with an addition to the project's Build/UnrealGameSync.ini file like this: [Badges] +DescriptionBadges=(Pattern="(?i)#\\s*jira\\s*:?\\s+([A-Za-z]+-[0-9]+)", Name="$1", Group="Jira", Color="#c0c0c0", HoverColor="#e0e0e0", Url="https://jira.it.epicgames.net/browse/$1") The "Pattern" attribute specifies the regex to match, and may capture portions of the matched text to be substituted later. "Label" specifies the label to appear on the badge. "Group" specifies an arbitrary identifier used to group related badges together rather than separating them with whitespace. "Color" and "HoverColor" specify hex RGB colors for the badges. "Url" specifies the path to open with a C# Process.Open call if the badge is clicked. Change 3889726 by Ben.Marsh UGS: Fix description badges that don't have any associated URL. Change 3889995 by Ben.Marsh UGS: Fix issue where popup menus can create top level windows in the taskbar. Seemlingly caused by capturing mouse before the window has been activated - removed capture code, and replaced with handling of OnMouseLeave() event instead. Change 3890007 by Ben.Marsh UGS: Add a caption underneath the project logo which shows the current stream, to make it more obvious. Change 3890057 by Ben.Marsh UGS: Fix repainting glitch when resizing window; bounds for status panel lines was not being reset correctly. Change 3891069 by Robert.Manuszewski Fixing a crash in MallocBinned2 when running with malloc profiler enabled. Change 3891084 by Steve.Robb Back out changelist 3881331 because it's causing cook errors. Change 3891100 by Ben.Marsh UGS: Add support for a per-branch "message of the day"-style feature. Messages can be specified in a project's config file in Perforce (eg. <ProjectDir>/Build/UnrealGameSync.ini) as follows: [//UE4/Main/Samples/Games/ShooterGame.uproject] Message=:alert: Lockdown for fixes is **5pm on Friday**. Only fixes for the 2.0 release should be submitted to this branch. [34 issues](https://jira.it.epicgames.net) are remaining as of 2/15. A limited subset of Markdown is supported: [web links](http://www.google.com), *italic*, _italic_, **bold**, __bold__. Icons will be supported through :icon: syntax; the only icon currently available is :alert: Change 3891346 by Steve.Robb TSharedPtr::operator bool, and some usage of it. Change 3891787 by Steve.Robb Fix for buffer overflow in FDebug::LogFormattedMessageWithCallstack(). Change 3892379 by Ben.Marsh UGS: Fix notification window containing the group fix for each build type. Change 3892400 by Ben.Marsh UGS: Shrink the size of the alert panel. Change 3892496 by Ben.Marsh UGS: Dim badges for changes which aren't eligable for syncing. Change 3893932 by Steve.Robb Re-removal of SetShouldHandleAsWeakRef, which was originally removed in CL# 3437205. Change 3895872 by Ben.Marsh UGS: Show the stream name in tab labels by default. Change 3896366 by Ben.Marsh UGS: Automatically resize columns when the main window is resized, and allow specifying desired column widths for projects that have a large number of CIS badges. Columns are now resized proportionally, clamped to a minimum size. Columns will automatically expand up to a desired maximum size, though can be explicitly resized larger if necessary. Columns will not be resized if they are already larger than the window can show, or smaller than the window has space to show. Change 3896367 by Ben.Marsh UGS: UI tweaks - change and time columns are now centered, "Unknown" badge is displayed until a change's type has been determined, increase height of status panel. Change 3896425 by Ben.Marsh UGS: Speculative fix for race condition on clients displaying "under investigation" state. If the DB event is received before a change where an investigation is cancelled is polled from Perforce, we will exclude the resolve event from the list of active investigations. Change 3896461 by Ben.Marsh UGS: Add an option to allow setting a tint color to be applied to the status panel, to allow identifying streams more easily. To use, add a setting similar to the following to a project's Build/UnrealGameSync.ini file: [//UE4/Main/Samples/Games/ShooterGame/ShooterGame.uproject] StatusPanelColor=#dcdcf0 Change 3899530 by Ben.Marsh Add unified syntax for overriding branch specific settings. Checks branch settings first, then [Default] section. Change 3901164 by Ben.Marsh UGS: Add a class to store all the resources for the status panel. Change 3901165 by Graeme.Thornton TBA: Attempt #2 at submitting the text asset saving code. SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter. Minimal amount of structured archive serialization functions added to allow this data to be written Change 3901301 by Ben.Marsh UGS: Add support for reading the latest version of the project config file from Perforce. Some settings should be read depending on the CL you are synced to (eg. build steps), whereas others (MOTD, branch status) should always use the latest version. Will read the local version if checked out, to allow testing local changes. Change 3902454 by Ben.Marsh UGS: Fix logo not being redrawn in the correct position when starting to sync. Change 3903416 by Ben.Marsh UGS: Group badges explicitly through INI file rather than by expecting name to contain ':'. Change 3904154 by Josh.Engebretson Adding Breakpad to ThirdParty sources (Git Commit: 49907e1c3457570f56d959ae26dec6c3a5edd417 https://chromium.googlesource.com/breakpad/breakpad) #jira UE-55442 Change 3904648 by Ben.Marsh UGS: Remove files from the workspace that are excluded by the sync filter. The user's config file stores a hash of the last sync filter. During syncing, if this hash doesn not match the previous value, we enumerate all the files in the #have list and remove anything masked out by the filter. #jira UE-47335 Change 3905442 by Steve.Robb Change of the ConvertFromType() multi-bool return value to a more descriptive enum. Some return values here do not make sense - this is because the existing logic is being preserved and will be fixed in a separate change. Change 3905629 by Ben.Marsh UGS: Fix race condition between two child processes starting on different threads, and inheriting the other's intended stdout/stderr pipes. This prevents pipes being closed when one of the child processes shuts down, and causes waits on the read ends of those pipes to continue indefinitely. Change 3906447 by Steve.Robb Rename EConvertFromTypeResult enumerators. Change 3906574 by Steve.Robb Crash fix for container conversion failure during tagged property import. Change 3909255 by Daniel.Lamb Fixed issue with DLCpackaging crashing on windows #jira UE-42880 #test EngineTest windows Change 3909270 by Steve.Robb Seek instead of skipping bad properties byte-by-byte. Change 3909324 by Steve.Robb Use switch statement instead of repeated if/else. Change 3909525 by Ben.Marsh UGS: Use the StudioEditor target when syncing content-only Enterprise projects. Change 3911754 by Daniel.Lamb Fix for building pak patches. #jira UE-55340 Change 3911942 by Robert.Manuszewski Fixing an ensure when MediaPlayer is being constructed from any thread other than the main one. Change 3913067 by Ben.Marsh UGS: Allow workspace sync filter categories to re-enable categories that are disabled by the global filter. Change 3913209 by Ben.Marsh UGS: Fix incorrect target name when compiling Enterprise projects. Change 3917358 by Steve.Robb Fix for GetLen(FString). Change 3919610 by Ben.Marsh Put data for CrashReportClient in a PAK file of its own (under Engine/Programs/CrashReportClient/Content/Paks/CrashReportClient.pak). There are a large number of small files required for it to run with loose files, which takes a lot of space on disk (due to cluster sizes), and is unweildy to move around. CrashReporter UFS files are tracked in a separate dictionary to regular UFS files to allow construction of the additional PAK file. Change 3921002 by Ben.Marsh UGS: Add option for syncing all projects in a branch. Off by default. Also add support for masking in additional paths to be synced (eg. one or two extra projects). Change 3921008 by Ben.Marsh UGS: Prevent pause waiting for mutual exclusivity when syncing precompiled binaries. We don't need to generate project files or build, so there's no need to wait in line. Change 3921906 by Steve.Robb New interpolation functions for quaternions. https://udn.unrealengine.com/questions/419028/quaternion-interp-to-functions.html Change 3921978 by Graeme.Thornton TBA: Make "Loader" member of FLinkerLoad private to prevent use outside of FLinkerLoad. This archive could be something unexpected if the linker is for a text asset package, so we need to stop people accessing it. Change 3924520 by Graeme.Thornton UnrealPak: Improve encryption summary log messages Change 3924522 by Graeme.Thornton UAT: Add *Encryption.ini to the list of auto-blacklisted config filenames Change 3924604 by Graeme.Thornton UnrealPak: If encryption keys are parsed and fail the encrypt/decrypt test, throw a fatal error. The exectutable will have those same keys embedded so there is no point allowing the paks to be created with broken keys. Change 3924638 by Graeme.Thornton Crypto: Improvements to parsing of old fashioned encryption.ini settings: - AES keys that are too long or short (need to be 32 bytes) will now emit a warning when being parsed, and be truncated or expanded before adding to the crypto settings. - Signing keys will emit an error when they are too long (>64bytes) - Unrealpak will still assert when invalid settings are passed via the other mechanisms (command line or -encryptionini mode). Settings via the crypto json file should now be sanitized and not cause issues #jira UE-55080 Change 3924747 by Steve.Robb Fix for degrees. Change 3925459 by Chad.Garyet Adding check to not to attempt to delete autosdk workspace if it doesn't already exist. Change 3926703 by Ben.Marsh BuildGraph: Include the path to the XML file when displaying an XML parse error. Change 3926917 by Ben.Marsh UBT: Allow overriding the name of the UE4 solution on a branch-specific basis. Useful for switching between multiple UE4 workspaces. Also add support to the editor and UGS for opening the correct solution (determined via a text file saved to Engine/Intermediate/ProjectFiles). Set the solution name using an entry in BuildConfiguration.xml as follows: <ProjectFileGenerator> <MasterProjectName>UE4_Main</MasterProjectName> </ProjectFileGenerator> Change 3927683 by Graeme.Thornton UAT: When building with chunk installs enabled, don't generate the master manifest from each pak creation thread. Just do it once after all pak files have been created. Avoids intermittent crash with multiple threads trying to write the same json file. Change 3928111 by Ben.Marsh UBT: Add an option <bMasterProjectNameFromFolder> which allows setting the solution name based on the folder that it's in. Change 3928926 by Ben.Marsh BuildGraph: Add support for enumerating content copied by the <CsCompile> task. Also add support for invoking methods on string properties. Change 3931041 by Graeme.Thornton TBA: Add option to textasset commandlet to also include engine content in a resave Change 3931043 by Graeme.Thornton TBA: Redirect some more FArchive members in FArchiveProxy Change 3931913 by Ben.Marsh UGS: Do not create a modal dialog if a scheduled sync is unable to run because the editor is open, and do not run the editor after a scheduled sync. #jira UE-47368 Change 3932419 by Ben.Marsh UGS: Allow selecting which projects to sync on schedule. Any projects not already opened at the time the schedule is triggered will be opened first. #jira UE-33541 Change 3932483 by Ben.Marsh PR #3949: UnrealGameSync: Add environment path field to custom BuildStep (Contributed by frankie-dipietro-epic) Change 3932624 by Ben.Marsh UGS: Add an error dialog when trying to clean the workspace before closing the editor. #jira UE-42308 Change 3932679 by Ben.Marsh UGS: Add the date/time to the end of the sync log. #jira UE-33540 Change 3932705 by Ben.Marsh UGS: Prompt to close the editor before allowing the user to enter a changelist to sync to, when syncing to a specific changelist. #jira UE-53182 Change 3933318 by Ben.Marsh UGS: Detect more programs running before allowing a sync to start, show a dialog listing them, and add an option to ignore if necessary. #jira UE-33535, UE-53914 Change 3933840 by Graeme.Thornton TBA: When loading assets, only use structured archive adapters for exports when loading text files. Change 3936040 by Ben.Marsh UGS: Rewrite application lifecycle to fix issues with scheduled syncs on background windows not activating, and window jumping to the front after auto-update. Now uses a custom application context to allow creating separate 'main' windows (first the "opening projects" form, then the regular form), and does not require any forms to be shown in order to be updating in the background. #jira UE-52870 Change 3940230 by Robert.Manuszewski Fixes for FilenameToLongPackageName crashes when runnign commandlets Change 3940240 by Graeme.Thornton Automated cycling of encryption and signing keys Change 3940243 by Graeme.Thornton UAT: CryptoKeys automation script Change 3940321 by Ben.Marsh UGS: Add a "Bisect" mode for regressing bugs between a certain range of changes. To use, select a range of changes by holding down the shift key or individual changes by holidng the control key, then right click and select "Bisect these changes". Individual changes in the list can be marked as "Bisect: Pass" or "Bisect: Fail" from the context menu, and syncing will find the next change in the center of the range. Change 3940538 by Ben.Marsh UBT: Always determine whether a project is a foreign project or not from the valid .uprojectdirs entries, rather than relying on the user passing -game on the command line. Change 3941285 by Gil.Gribb UE4 - Removed PRAGMA_DISABLE_OPTIMIZATION from PlatformFileCommon.h. It was an oversight. #jira none Change 3942404 by Graeme.Thornton Pak Signing: - Unify naming of pak precacher and signedarchivereader signature check functions to make it easier to search for them in crash reporter - Format the signedarchivereader output to match the pak precacher - When signedarchivereader detects a signature check, do the same master signature hash check that the pak precacher does to confirm that the .sig file contents haven't been corrupted since load. - Add PAK_SIGNATURE_CHECK_FAILS_ARE_FATAL guarded exit to signedarchivereader signature failure - Optimization for pakprecacher signature checks. Instead of locking the cached files mutex for every decoded signature, take a local copy in blocks of 16. Only re-lock if we need more. Grab the initial batch when setting up. In most cases, reduces the number of locks to 1 per signature check call. Change 3942825 by Ben.Marsh UAT: Allow passing -Project<N>=Foo.uproject arguments to the MegaXGE commandlet (eg. -Target1="ShooterGame Win64 Development" -Project1="D:\ShooterGame\ShooterGame.uproject") so it can be used from an installed engine build. Change 3942839 by Ben.Marsh UBT: Explicitly query the number of logical processors in the system, to fix Environment.ProcessorCount just returning the number available to the .NET framework. For machines with > 64 cores, processors in a different processor group will not be included in this number. Change 3943153 by Ben.Marsh Use the correct logical processor count in ParallelExecutor. Change 3943210 by Ben.Marsh UGS: Add an option to the editor arguments window that allows prompting before launching the editor. Change 3943329 by Ben.Marsh UGS: Tweak appearance of bisect mode; now shows slightly transparent version of pass/fail icons, and includes remaining CL range in status panel. Change 3944294 by Ben.Marsh UGS: Prompt for confirmation before removing any files from the workspace. Change 3945283 by Ben.Marsh UGS: Add support for project-specific connection settings, and detection of Perforce login tickets expiring. Change 3945325 by Ben.Marsh PR #4558: Changed incorrect obsolete message for ReceiptPropertyList in Modules.cs (Contributed by ryanjon2040) Change 3947359 by Graeme.Thornton TBA: Fixes to loading code to allow bulk data to get a pointer from its loader archive to an archive that it can load from at a later date. For binary archives, this is just a pointer back to the same archive, but for text assets it is a pointer to a "child reader" which maintains its own structured archive that is scoped to the current location in the file. Change 3947360 by Graeme.Thornton TBA: Added RoundTrip mode to text asset commandlet. Performs determinism tests in project assets to see whether they save deterministically to binary and text files, and also when they are ping-ponged between the two formats. Change 3949431 by Graeme.Thornton TBA: Refactored string escaping code in json output formatter FString serializer into a common function which is now used by FName and UObject path serialization too. Fixes some odd cases where an FName contained quotation marks Change 3950843 by Ben.Marsh UBT: Add a better error if an XML config file is corrupt. Change 3952504 by Steve.Robb GitHub #4545 : UE-55924: CaseSensitive token recognition #jira UE-55961 #jira UE-55924 Change 3952707 by Graeme.Thornton Make RandInit(...) log message verbose Change 3954694 by Ben.Marsh BuildGraph: Add support for user-defined macros, which can contain a list of buildgraph commands and be expanded within a node. Example script in Engine/Build/Graph/Examples/Macros.xml. To define a Macro, use the syntax: <Macro Name="MyTestMacro" Arguments="PrintFirstMessage;PrintSecondMessage" OptionalArguments="PrintThirdMessage"> <Log Message="First message" If="$(PrintFirstMessage)"/> <Log Message="Second message" If="$(PrintSecondMessage)"/> <Log Message="Third message" If="'$(PrintThirdMessage)' == 'true'"/> </Macro> To expand a macro, use the syntax: <Expand Name="MyTestMacro" PrintFirstMessage="true" PrintSecondMessage="true"/> An error will be thrown if any required arguments are missing. Optional arguments default to empty if not specified. Tasks within a macro are validated by the schema at the point of definition using the same rules as apply to a <Node> element, but properties are not evaluated until the macro is expanded. This allows macros to get and set properties in scope at the point that it is expanded. Local properties that are introduced within a macro do not otherwise leak to the scope that they are expanded. Change 3954695 by Ben.Marsh PR #4582: Fixed incorrect condition in StagedFileSystemReference.cs (Contributed by moadib) #jira UE-56283 Change 3954961 by Ben.Marsh UBT: Fix issues caused by toolchain assuming that the editor target will be the name of the project with an "Editor" suffix. This is not necessarily the case; the launcher will allow you to instantiate a project with any name, and it will not rename the target files. #jira UE-56040 Change 3955785 by Steve.Robb GitHub #4546 : Don't discard errors from zlib inflate #jira UE-55969 Change 3955940 by Steve.Robb Redundant and confusing macro check removed. Change 3956809 by Ben.Marsh Guard against project paths passed on the command line to UBT being treated as project names. Previous code used to just take the first, which would mask this problem. Change 3959590 by Steve.Robb Useless IsIntrinsic constant and COMPILED_IN_INTRINSIC macro removed. Change 3959864 by Robert.Manuszewski Increasing the size of permanent object pool to fix warnings in cooked ShooterGame #jira UE-56001 Change 3960956 by Steve.Robb New ToCStr function which generically gets a TCHAR* from a 'string-like' argument. Change 3963628 by Ben.Marsh UBT: Fix intellisense issues caused by _API macros being defined as DLLIMPORT (imported symbols cause an error if they are defined). Generate intellisense macros with the -Monolithic argument to work around it. Change 3964349 by Ben.Marsh Move support for reading .modules files into FModuleManager, and always use it in modular builds. Pathway which discovers modules by filename only is no longer supported for simplicity, and due to platform-specific version checks being unreliable on any platforms other than Windows. Change 3964821 by Ben.Marsh Use a custom tool for deleting directories on Windows, to handle paths longer than MAX_PATH correctly. Change 3965269 by Ben.Marsh Add more [RequiresUniqueBuildEnvironment] attributes to target settings that modify the global environment. Change 3966554 by James.Hopkin #core Removed redundant cast Change 3966558 by James.Hopkin #core Removed redundant casts and changed some MakeShareables to MakeShared #robomerge #fortnite Change 3966754 by Ben.Marsh Always use the compiled-in app name when looking for a module manifest. Fixes issues with XGEControlWorker.exe being a renamed copy of ShaderCompileWorker.exe. Change 3967397 by Ben.Marsh Fix "copy local" files not being included in build products enumerated from C# projects. Remove files with "Embed Interop Types" from the output list. Change 3967664 by Ben.Marsh Update UGS solution to use Visual Studio 2017. Change 3967838 by Ben.Marsh Couple of fixes to conform scripts. Change 3968767 by Ben.Marsh Compile the name of the module manifest into the executable via a define explicitly set by UBT, rather than guessing at runtime. Change 3968771 by Ben.Marsh Fix compiled-in engine path being subject to macro expansion. #jira UE-56504 Change 3968886 by Robert.Manuszewski Merging 3914301: Remove any references we had added to the GGCObjectReferencer during Init Change 3968978 by Steve.Robb FString->FName fixes for module names in HotReload. Change 3969019 by Steve.Robb Minor refactor of property skipping logic in SerializeTaggedProperties(). Change 3969041 by Steve.Robb Simplification of Build.version filename construction. Change 3969049 by Steve.Robb Always do rolling names when recompiling in editor, because an unloaded module may still actually by loaded-but-abandoned by the executable. This also removes HotReload's dependence on FModuleManager::GetCleanModuleFilename(). #jira UE-52405 Change 3969120 by Ben.Marsh Enable errors for using undefined identifiers in conditional expressions by default. Change 3969161 by Ben.Marsh Remove log line that should only be included in the log. Change 3969216 by Steve.Robb Dump a list of module names - rather than DLL filenames - when the editor detects modules which need recompiling. This removes the only remaining use of FModuleManager::GetCleanModuleFilename(), which is also now removed. #jira UE-52405 Change 3969346 by Steve.Robb Missed some bad FScript(Map/Set)Helper usage from CL# 3698969. Change 3969598 by Ben.Marsh Fix warning from VS2017. Change 3971101 by Graeme.Thornton TBA: Added RoundTrip mode to TextAsset commandlet which does a sequence of saves and checks for determinism. It will do 3 binary saves, 3 text saves, then 3 alternate binary->text saves. Change 3971407 by Ben.Marsh UBT: Fix exception when enumerating toolchains if the directory does not exist yet. Change 3971523 by Graeme.Thornton Make compressed block offsets in a pak file store offsets relative to the file header, rather than absolute. Reduces the amount of entropy when data changes in the pak file, making it play nicely with patching Change 3971613 by Ben.Marsh Fix Lightmass non-unity compile errors. Change 3971649 by Ben.Marsh Disable optimization around FTickerObjectBase constructor on Win32 due to ICE. Change 3971829 by Ben.Marsh Fix deprecated header warning from PVS Studio. Change 3972503 by Ben.Marsh Changes to build failure notifications: * Only people that submitted between builds with different error messages will be included on emails by default. * Email subject line will be different for each failing build step, but will include the CL of the first failing step. This will result in one thread for each build failure (a success email is sent with the same subject line). * Anyone that starts a build will be included on all failure emails. Change 3972732 by Ben.Marsh Changes to ensure notification messages are stable. Change 3972810 by Ben.Marsh Write debug information about the digest computed for a change, to assist with debugging it if it's not stable. Change 3973331 by Ben.Marsh Fix missing dependency on linker response file. Prevents target being relinked when build environment changes. Change 3973343 by Ben.Marsh PR #4612: Adding support for PVS-Studio settings file to PVS-Studio Unreal Build Tool toolchain. (Contributed by PaulEremeeff) Change 3973820 by Ben.Marsh Fix incorrect error message when unable to find Visual C++ install directory. Change 3974295 by Robert.Manuszewski Made sure that lazy object pointers are only fixed up for PIE in actual PIE worlds. Change 3975336 by Robert.Manuszewski CIS fix after the last merge from main Change 3976999 by Ben.Marsh Move the Windows stack size settings onto the WindowsTargetRules object, and add the [RequiresUniqueBuildEnvironment] attribute to ensure it's not overwritten incorrectly. This should cause CIS to better errors for compiling Odin editor. Change 3977934 by Ben.Marsh UBT: Allow setting additional compiler/linker arguments through properties on the TargetRules object. Change 3977953 by Ben.Marsh UBT: Enumerate all Visual Studio 2017 install locations using the Visual Studio Setup interop SDK. Multiple simultaneous Visual Studio installations are now supported, and using registry keys to determine installation directories has been deprecated. Allows choosing toolchains from preview versions as well as full versions. Change 3978544 by Ben.Marsh UBT: Include verbose timing information from compiler frontend if using VS2017 15.7 preview 2 or later. Change 3978780 by Ben.Marsh Add Visual C++ 2017 redist files to AppLocalDependencies, and update the prereq installer to include 2017 support DLLs. Change 3979313 by Ben.Marsh UBT: Add the EngineDirectory property to ModuleRules. Makes it easier to find paths to files under the engine folder. Change 3980499 by Ben.Marsh UBT: Automatically enable /DEBUG:FASTLINK if we're using the VS2017 15.7 toolchain or newer and not doing a formal build. This contains fixes for debugger OOM issues present in older versions. Change 3980890 by Ben.Marsh UBT: Update project file generator to support VS2017 solution options file; fixes C# projects being opened by default when generating new project files. Change 3981495 by Ben.Marsh Do not include embedded interop assemblies in the list of references required by a C# project; they are not required build products. #jira UE-54343 Change 3982157 by Ben.Marsh Only output a warning message if BuildConfiguration.xml schema validation fails; we may have settings that only apply to code in another branch. Change 3982239 by Ben.Marsh Update tooltip directing users to install Visual Studio 2017 instead of 2015. Change 3983395 by Graeme.Thornton Fix reference to BUILD_VERSION in BootstrapPackagedGame RC file Change 3983523 by Graeme.Thornton Backwards compatibility for pak files with compressed chunk offsets Change 3983769 by Ben.Marsh UAT: Allow using PDBCOPY.EXE installed as part of the Windows 10 SDK to strip symbols, and add a better message if it can't be found. Change 3984529 by Ben.Marsh BuildGraph: When run with the -Preprocess=... argument, no steps will be executed. Change 3984557 by Ben.Marsh BuildGraph: Return the updated patterns from FilePattern.CreateMapping(), so we can print accurate messages when displaying the source and target directories for a copy or move task. Change 3986520 by Ben.Marsh Remove hacks to uniquify response file name on Android and Linux. Change 3987166 by Steve.Robb Allow overloading of functions which take TFunctions or TFunctionRefs with mutually exclusive signatures. Change 3989061 by Graeme.Thornton TBA: Text asset loading/saving work - Start using FStructuredArchive flavours of UObject Serialize functions when loading and saving exports. - Only use FStructuredArchive interface for text assets, and for classes that have the CLASS_MatchingSerializers which tells us that the class can serialize to both FStructuredArchives and FArchives. - Add GetCacheableArchive to FArchive, which allows transient archives to return a pointer to another archive that will outlive it. Used by bulk data to get a pointer to an archive that can be held and used at a later time to lazy load things. For text assets where the bulk data might be held inside a base64 encoded FArchiveFromStructuredArchive block, we can't dynamically seek back to that location after the on-stack wrapper has been destroyed after the original serialize, so this will return null. For binary assets, we just return a pointer to the same binary archive which can be used freely. Change 3989109 by Graeme.Thornton TBA: TextAsset commandlet emits a warning when binary package determinism fails Change 3990823 by Ben.Marsh UGS: Allow project settings to specify a client path rather than a filesystem path. Not currently usable through UI. Change 3990832 by Ben.Marsh UGS: Make the schedule window resizable. Change 3991569 by Steve.Robb GitHub #4636 : Fixed typo in HeaderParser.cpp for "missed WithValidation keyword" error message Change 3991970 by Steve.Robb Fix for 4096 char limit on FParse::Value. Change 3992222 by Steve.Robb Advice added to the coding standard for using default member initializers. Change 3993675 by Ben.Marsh UGS: Add UI to allow creating new workspaces and selecting projects from existing workspaces that are not currently synced. Change 3994199 by Ben.Marsh UGS: Fix child processes being unable to spawn other child processes with the CREATE_BREAKAWAY_FROM_JOB flag, to add them to their own job objects. In Windows 7 or earlier job objects cannot be nested, so child processes have to create separate job objects and spawn processes with CREATE_BREAKAWAY_FROM_JOB to be able to add them. This fails unless parent process' job object was created with JOB_OBJECT_LIMIT_BREAKAWAY_OK. Discussed here: https://msdn.microsoft.com/en-us/library/windows/desktop/hh448388(v=vs.85).aspx Change 3994243 by Ben.Marsh UGS: Use the select stream dialog instead of displaying a drop list unless there's a stream filter specified. We have way too many streams for this to be useful in a menu unless it's filtered. Change 3994260 by Ben.Marsh UGS: Tweak the stream filter dialog to only use the previous selected node if the filter terms match. It may be a parent node of something that matches, even though it doesn't match itself. Change 3994350 by Ben.Marsh UGS: Automatically guess the correct root path for new workspaces based on the most common existing workspaces for the current user. Change 3995159 by Ben.Marsh UGS: Do not delete files which are outside the sync filter. People expect to be able to sync different projects within a stream without having to update sync filters. Indend to re-introduce this functionality through the manual 'clean workspace' operation. Change 3995169 by Ben.Marsh UGS: Show options as dimmed in the open project dialog, if the radio button for those controls is not checked. Automatically set the radio button if the focus is given to one of those controls. Change 3995228 by Ben.Marsh UGS: Update recently opened projects list when editing project for an existing tab. Change 3995312 by Ben.Marsh UGS: Stop showing all dialogs in the taskbar. Change 3995929 by Robert.Manuszewski Completely rewritten FReferenceChainSearch class used by 'obj refs' command. - 3+ times faster - Uses the same code as GC to track all the references down - Actually reports all reference chains properly - Less code that is more readable than the previous version Change 3995981 by Ben.Marsh UGS: Clean workspace window will now force-sync files that have been deleted or which are writable. Change 3996113 by Ben.Marsh UGS: Fix crash upgrading config files from older versions. Change 3997990 by Ben.Marsh UGS: Prevent error when syncing an empty workspace. Change 3998095 by Ben.Marsh UGS: Change logic for dealing with job objects: rather than creating breakaway jobs (requires co-operation with spawning process), always try to use nested job objects (requires Windows 8.1+). If it fails, ignore the error if we're already part of a job. Also forcibly terminate the process on dispose to handle cases where the job object wasn't created. Change 3998264 by Ben.Marsh UGS: Fix exception when switching projects in-place. Change 3998643 by Ben.Marsh Fix shared DDC not being used for installed engine builds. #jira UE-57631 Change 4000266 by Ben.Marsh UnrealPak: Add an option that allows rebuilding a set of PAK files with different settings. Usage is: UnrealPak [PakFile] -Repack [-Output=FileOrDirectory] [Options] The input pak file may be a single file or wildcard, and is overwritten unless the -Output parameter is specified. Change 4000293 by Ben.Marsh Add a compression flag that allows selecting compressor without using the default platform implementation. Change 4000315 by Ben.Marsh Add support for custom compressors implemented via modular features. Specify -compressor=<PathToDll> on the command line to UnrealPak to load a compressor from an external DLL. Change 4000610 by Ben.Marsh UnrealPak: Add a parameter for compression block size (-compressionblocksize=XXX). Accepts arguments with MB/KB suffixes, as well as byte counts. Change 4000627 by Ben.Marsh UBT: Include enabled plugin info in the UBT log. Change 4000793 by Ben.Marsh UBT: Remove some member variables from VCEnvironment that don't need to be stored. Change 4000909 by Ben.Marsh UBT: Add VS2017 installations to the list of paths checked for MSBuild installations. Change 4001923 by Ben.Marsh UBT: Allow any plugins which are enabled by default to be included in the enabled list, even if they don't have any modules for the current platform. This changes the build-time logic to match the runtime logic. At some point in the future we may add a separate SupportedHostPlatforms list to each plugin to do this explicitly, rather than guessing via the per-module whitelist. Change 4001927 by Ben.Marsh Fixes for compiling against the Windows 10 SDK. Change 4002439 by Robert.Manuszewski Added TDefaultReferenceCollector and FSimpleReferenceProcessorBase to extract common code for clients of TFastReferenceCollector Change 4003508 by Ben.Marsh UGS: Fix new workspaces not having the correct owner and host set. Change 4003622 by Ben.Marsh UGS: Add support for "skipped" as a build result. Change 4004049 by Robert.Manuszewski Significantly improved performance of Reference Chain Search for objects that are nested deep in the object hierarchy Change 4005077 by Ben.Marsh UGS: Update version number. Change 4005112 by Ben.Marsh UBT: Reduce number of times a target has to be constructed while generating project files. Change 4005513 by Ben.Marsh UBT: Reduce number of checks for directories existing when adding include paths to a module. Accounted for 40% of runtime time when generating project files. Change 4005516 by Ben.Marsh UBT: Add warnings whenever a module adds an include path or library path that doesn't exist Change 4006168 by Ben.Marsh CIS fixes. Change 4006236 by Ben.Marsh UGS: Populate the workspace name/root directory text box with the cue banner when focus moves to the control. Change 4006266 by Ben.Marsh UGS: Swap around the new workspace/existing file boxes on the open project dialog. Change 4006552 by Ben.Marsh If staging fails because a restricted folder name is found, include a list of them in the error message. Change 4007397 by Steve.Robb Comments added to make it clear that GetAllocatedSize() only counts direct allocations made by the container. Change 4007458 by Ben.Marsh UBT: Change RPC utility to abort early, rather than continue to try to build even though SSH init failed. Change 4009343 by Ben.Marsh UGS: Set the rmdir option on new workspaces by default. Change 4009501 by Ben.Marsh UBT: Add Windows include paths to the compiler command line, rather than setting through environment variables. This ensures that incremental builds work correctly when SDK versions change. Change 4009509 by Ben.Marsh UBT: Check in a non-versioned directory under the Windows 10 SDK for the resource compiler. Change 4010543 by Ben.Marsh Remove the "Device" and "Simulator" platform groups, because they're unused and overly generic for folder names. Also remove source code for the HTML5 simulator (which is no longer supported). Change 4010553 by Ben.Marsh UAT: Include platform groups in restricted folder names when staging. Change 4012030 by Ben.Marsh UGS: Increase the size of the main window, and set the current stream as the default when creating a new workspace. Change 4012204 by Chad.Garyet - Cleanup to get the POSTs returning 400s the same way the GETs would (now no longer returns the exception text) - Create directory for sqlite db if it doesn't exist #jira none Change 4014209 by Brandon.Schaefer New changes in breakpad dump_syms to allow for producing a symbol file for elf files on windows #review-3998840 @Arciel.Rekman, @Ben.Marsh, @Josh.Engebreston, @Anthony.Bills Change 4015606 by Brandon.Schaefer Missed a code project that needed updating for new Breakpad changes for Mac Change 4017795 by Robert.Manuszewski GC assumption verification should now be 3-4x faster. - Refactored Disregard For GC to use TFastReferenceCollector - Move both Disregard For GC and Cluster verification code to separate source files Change 4020381 by Ben.Marsh Add link to the new official doc page for UnrealGameSync. Change 4020665 by Ben.Marsh UBT: Prevent plugins being precompiled if they don't support the current target platform. Change 4021829 by Ben.Marsh Update message about downloading a new version of Visual Studio. Change 4022063 by Ben.Marsh UBT: Suppress toolchain output when generating project files. Change 4023248 by Ben.Marsh Install an unhandled exception filter to ensure we get crash reports from threads that are not spawned by the engine. At the moment, we only receive crashes that are routed through ReportCrash() via our structured exception handlers in WinMain() and FRunnableThreadWin::Run(). (Also fix an exception within the exception handler, if GError has not been created yet) Change 4025759 by Ben.Marsh Fix universal CRT include paths not being added to compile environment for VS2015. Change 4026002 by Ben.Marsh UBT: Check the old registry locations for the Windows SDK installation directory. Change 4026068 by Ben.Marsh UBT: Use the correct compiler version in the error message for not having the UCRT. Change 4026181 by Ben.Marsh Fix DebugGame editor configurations not enumerating modules correctly. #jira UE-58153 Change 4026285 by Ben.Marsh UBT: Add additional logging for enumerating Windows SDKs. Change 4026708 by Ben.Marsh UBT: Keep a separate list of installed Universal CRT versions to the list of Windows 10 SDK versions. It's possible to install C++ support without the Windows 10 SDK, which still includes UCRT files in Windows 10 SDK folders. Change 4029404 by Ben.Marsh Remove incorrect include paths to fix CIS warnings. Change 4031517 by Steve.Robb Fix for UHT errors not being clickable in the Message Log. #jira UE-58173 Change 4031544 by Ben.Marsh Fix errors building asset catalog for IOS due to modifying shared build environment. #jira UE-58240 Change 4032227 by Ben.Marsh BuildGraph: Print out a warning message when trying to submit without the -Submit argument in BuildGraph. Change 4032262 by Ben.Marsh BuildGraph: Remove the need to copy files to the staging directory in BuildEditorAndTools.xml. Change 4032288 by Ben.Marsh Remove UFE from the BuildEditorAndTools script. 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 3838569 by Steve.Robb Algo moved up a folder. Change 3848581 by Robert.Manuszewski Changing the UObjectArray to not be allocated up front but in 64K-FUObjectItem chunks. This is to fix strange OOM reports on editor startup where it's trying to allocate space for 1M+ FUObjectItems. #jira UE-49446 Change 3864743 by Steve.Robb Fix for buffer overrun when copying a context string. Fix for being unable to link to MallocLeakDetection. Fix to prefix for FMallocLeakDetection::ContextString. New MALLOCLEAK_SCOPED_CONTEXT macro to push/pop a context string. Overload for const TCHAR* added to FMallocLeakDetection::PushContext to save on redundant memory allocations. #jira UE-54612 Change 3865020 by Graeme.Thornton TBA: Changed FIELD_NAME macro to FIELD_NAME_TEXT so that FIELD_NAME can be used for non-literal name definitions Change 3869550 by Josh.Engebretson New SymGen and SymUpload tasks (ShooterGame usage example) Example C# symbolicator (using saved crash and data router formats) Updates for stack walking and crash runtime xml on Windows/Mac Change 3905453 by Steve.Robb USE_TUPLE_AUTO_RETURN_TYPES moved to PLATFORM_COMPILER_HAS_DECLTYPE_AUTO. Change 3910012 by Ben.Marsh UGS: Show an error window and allow setting default P4 server settings if syncing UGS fails. Change 3920044 by Graeme.Thornton TBA: Text asset loading * Added a structured archive layer to FLinkerLoad * Wrapped export loading in a ArchiveUObjectFromStructuredArchive * Updated TextAssetCommandlet to have a "loadtext" mode which will try to load every text asset in the project content * Changed text asset extensions to .utextasset and .utextmap. Couldn't go with the favourite .uasset.json because our various path functions (FPaths::GetCleanFilename etc.) will only strip one layer of extension, so leave a bogus filename. * Relaxed a few checks in structured archive where it was checking for field reentrance, which isn't a problem for loading. * Changed FArchiveFromStructuredArchive to not load all referenced objects at construction time. This introduced some changes to load order which don't work in the engine. Object names are resolved at the point that a reference to them is serialized from the main data block, same as with legacy archives. Change 3921587 by Steve.Robb Static asserts inside ensureMsgf() macros to prevent them being passed invalid arguments or non-literal formatting strings. Fixes for various misuses. #jira UE-55681 Change 3942873 by Ben.Marsh UBT: Allow link time code generation on any configurations where bAllowLTCG is set to true. Microsoft platforms were previously only allowing this option in shipping; the target can decide when to enable it or not. Change 3944629 by Graeme.Thornton Merging back a couple of fixes from Fortnite - Extra parenthesis around some calculations in the pakprecacher - Changed FChunkCacheWorker::DoSignatureCheck() back to ::CheckSignature() - Added documentation for build script crypto options Change 3945381 by Ben.Marsh Disable warning C4770 on Windows (partially validated enum 'xxx' used as index), which occurs when enabling LTCG. Can't find a reference online for this warning, but I suspect it's due to LTCG allowing the compiler to trace code paths where we don't validate that an enum is a known value. Change 3968969 by Steve.Robb Fixes to incorrect uses of FScriptMapHelper and FScriptSetHelper, which weren't accounting for gaps in the sparse array. Change 3969417 by Ben.Marsh Make Visual Studio 2017 the default compiler for UE4 projects, and add support using Visual C++ toolchains from an AutoSDKs. Also add support for selecting a specific toolchain version to use through the WindowsPlatform.CompilerVersion property, which can be configured via a Target.cs files or BuildConfiguration.xml (eg. <WindowsPlatform><CompilerVersion>14.13.26128</CompilerVersion></WindowsPlatform). As well as allowing a specific version number, you can always use the latest toolchain by setting it to "Latest". Change 3972443 by Ben.Marsh Change build scripts to allow running any steps on non-compile workspaces. Setup Dev-Core to just use a non-compile Win64 workspace for everything. Change 3977198 by Ben.Marsh Remove INI file override for editor stack size on Windows. This is rarely valid since editor targets share build products with other games by deafult. Fix to add linker response file as prerequisite exposed targets overriding this as a bug. Change 3979632 by Ben.Marsh Consolidate codepaths for embedding versioning information in the engine. Engine/Build/Build.version is now the authoritative place to read version information; Engine/Source/Runtime/Launch/Resources/Version.h no longer includes macros for the current branch and changelist. * Settings from Build.version are compiled into the (tiny) BuildSettings module via macros set in BuildSettings.build.cs, which is used to initialize version information inside the engine at runtime. * The IsPromotedBuild value is now set to zero by default (but set to 1 by the UpdateLocalVersion UAT command). * The -Licensee argument to the UpdateLocalVersion UAT command, and the IsLicenseeVersion setting for UnrealGameSync, is determined automatically by looking for the Engine/Build/NotForLicensees/EpicInternal.txt file. This path is not visible to licensees. Change 3981738 by Ben.Marsh Move utility classes for filtering files and matching wildcards into DotNETUtilities. Change 3983888 by Steve.Robb Warning C4868 disabled, about evaluation order of braced initializer lists. https://udn.unrealengine.com/questions/426081/help-with-error-c4868-braced-initializers.html Change 3984019 by Steve.Robb FString::Printf formatting argument checking added. Vararg support for FText::Format. All remaining usage fixed. Change 3985502 by Steve.Robb Change to TFunction debugger visualization to allow right-clicking on the [Lambda] and selecting 'Go To Source Code'. Change 3985999 by Graeme.Thornton TBA: Serialize function generation for FArchive and FStructuredArchive overloads on a UObject, using UHT. - Adds a restriction that UObject::Serialize() functions MUST be declared outside of any conditional compilation directives, except for WITH_EDITORONLY_DATA Change 3986461 by Ben.Marsh Fixup lots of platforms not adding response files as a prerequisite. This can cause incremental builds to fail if input files/compile arguments change, because the action graph does not know that the response file being updated invalidates the build artifacts. Change 3990081 by Ben.Marsh Remove custom output formatters for errors and warnings. These are not well supported by different executors, and cause fences between actions with the same formatter with external executors like XGE. Clang supports -fdiagnostics-format=msvc for all platforms, which should do a better job than our crude attempts at regexing errors (causing botched output in some cases). Change 3996714 by Chad.Garyet UGSRestAPI, conversion of UGS to use it. #jira none Change 4008287 by Ben.Marsh UBT: Change the engine to use the Windows 10 SDK by default. Also add support for switching between specific Windows SDK versions. The WindowsPlatform.WindowsSdkVersion property in the target rules can be used to select a desired version, which can also be configured by the <WindowsPlatform><WindowsSdkVersion>Foo</WindowsSdkVersion></WindowsPlatform> parameter in the BuildConfiguration.xml file. The version of Windows to target (ie. the WINVER macro) can be modified by setting WindowsPlatform.TargetWindowsVersion. The default is 0x0601 (Windows 7). Change 4008516 by Chad.Garyet - Adding support for both SQLite and MsSql - API now reads from only MsSql, but writes to both - Added support for POST to CIS for badges - PostBadgeStatus now writes out via API Url rather than a direct connection to the DB #jira none Change 4010296 by Chad.Garyet Moving SQLite db initilization into Application_Start. An exception thrown creating or seeding the db will unload the entire AppDomain and all pages will return a 404. #jira none Change 4024045 by Ben.Marsh Set the list of supported target platforms for OnlineSubsystemGameCircle. #jira UE-57887 Change 4031014 by Ben.Marsh UAT: Add a WhitelistDirectories list in DefaultEngine.ini, which allows specifying folders that can be staged despite having restricted folder names. [CL 4034515 by Ben Marsh in Main branch]
2018-04-26 14:11:04 -04:00
{
RestrictedFolderNames.ExceptWith(PlatformExports.GetIncludedFolderNames(StagePlatform));
}
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 4285612) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3836829 by Ben.Marsh UBT: Fix ability to precompile plugins from installed engine builds. 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 4042043 by Steve.Robb GitHub #4705 : Added weak lambda's for delegates and multicast delegates. Change 4042056 by Robert.Manuszewski Optimized Mark Phase of GC by up to 10ms by making it run in parallel and removing a huge array presize which we didn't need. Change 4042104 by Robert.Manuszewski Set the minimum GC cluster size to 5 so that GC doesn't have to process micro clusters which are more expensive than processing individual objects + Exposed the minimum cluster size to ini and project settings as gc.MinGCClusterSize + Added the ability to sort clusters by name/object count/mutable object count/referenced clusters count when dumping them with gc.ListClusters command Change 4042377 by Robert.Manuszewski Reworked how GC and other threads (ALT specifically) interact - GC will now notify the ALT it wants to run and ALT will immediately try to finish its current work to allow that. Also the entire ALT tick is now protected against GC running at the same time to improve ALT stability. + added gc.ForceCollectGarbageEveryFrame console variable that triggers a forced GC every frame Change 4042427 by Robert.Manuszewski Changed FGCCSyncObject to use events when waiting for GC to finish so that it doesn't spin on non-game threads when GC is running Change 4042482 by Robert.Manuszewski Unhashing unreachable objects (ConditionalBeginDestroy) will now also be done incrementally, just like the purge phase of Garbage Collection Change 4042635 by Robert.Manuszewski Fix for a potential assert when incremental purge garbage is pending and something forces a full purge Change 4044092 by Steve.Robb Fix for forward declared CoreUObject weakobject types in delegates when building in Clang. Change 4044102 by Robert.Manuszewski Fix for a possible hang when worker threads are preventing GC from running and something is later trying to FlushAsyncLoading with the Async Loading Thread enabled Change 4044113 by Steve.Robb Another Clang fix. Change 4044160 by Robert.Manuszewski Disregard For GC pool will now be enabled by default in cooked builds Change 4044287 by Steve.Robb Typo fix. Change 4047723 by Graeme.Thornton TBA: Fixes for import/export name cache and object resolving Change 4048015 by Graeme.Thornton TBA: Weak/Soft/Lazy pointer serialization changes * Remove FWeakObjectPtr::Serialize, move it's logic into, and replace usages of with calls to, FArchiveUObject::SerializeWeakObjectPtr(). Ensures that something is always sent to the archive so that structured archives can be kept happy in the future. * Added Weak/Soft/Lazy pointer handling to the structured archive slot interface and all the formatters. Binary formatters just forward the call onto their inner and text archives store as a string path reference. * FArchiveUObjectFromStructuredArchive caches all these pointer types and stores indices in the binary block, same as with a UObject*. All pointers are then forwarded to the underlying formatter in one go on finalization. Change 4048021 by Steve.Robb Fix for binding an unbound TFunction to another TFunction with a different signature. Also all null pointers now count as unbindings, not just nullptr. TIsMemberPointer added. TIsATFunction and TIsATFunctionRef renamed to remove the 'A's. Change 4048544 by Robert.Manuszewski Fixing ConditionalBeginDestroy profiling after changes to incremental CBD. Change 4051028 by Graeme.Thornton TBA: ArchiveFromStructuredArchive adapter uses Inner to determine if it is outputting to text, and sets it's own ArIsTextFormat to false Change 4051056 by Graeme.Thornton TBA: High level tagged property / UObject base class text serialization - UObject serialize converted to structured archive - Properties written to text individually with text tags, and then binary adapted values - Only saves, doesn't load Change 4051111 by Graeme.Thornton TBA: Temporarily disable loading of text assets until tagged property serialization path is fixed up Change 4051154 by Graeme.Thornton TBA: Convert a few uobject serializers to structured archive format for example purposes Change 4051181 by Graeme.Thornton TBA: Added default structured archive implementation of SerializeItem to UProperty, which just calls the FArchive version on an FArchiveUObjectFromStructuredArchive adapter. Implemented structured archive SerializeItem for UArrayProperty Change 4051197 by Graeme.Thornton TBA: ObjectProperty text serialization Change 4051216 by Graeme.Thornton Restored a modified FWeakObjectPtr::Serialize function to keep backwards compatibility in code I don't have access to. Change 4051261 by Graeme.Thornton TBA: Convert UMetaData to structured archive Change 4051374 by Steve.Robb Incorrect assert removed. Change 4051562 by Robert.Manuszewski Adding stats for the new GC internal functions Change 4051614 by Graeme.Thornton TBA: Removed UProperty::SerializeItem(FArchive, ...) and replaced with UProperty::SerializeItem(FStructuredArchive::FSlot, ...). Fixed up most of them to work properly and added adapters in for any that were non-trivial. Change 4052512 by Graeme.Thornton TBA: Temporary workaround for softobjectptr and lazyobjectptr uproperties not serialization anything when they know the archive is a reference collector. They should always be serializing their pointers and letting the underlying archive itself ignore them. Change 4053917 by Robert.Manuszewski Clustered objects from clusters that are no longer reachable will now be marked as unreachable immediately when gathering unreachable objects Change 4053919 by Robert.Manuszewski Added the ability to disable incremental BeginDestroy in ini/project settings Change 4055518 by Daniel.Lamb Fixup for deterministic audio generation issue. Submitted on behalf of Rich.Whitehouse #jira nojira #test prefilght automated test. Change 4056854 by Graeme.Thornton TBA: Added a test asset to EngineTest which contains all the different property types and test cases. Change 4056858 by Graeme.Thornton TBA: Updated USetProperty to proper structured archive usage Change 4056872 by Graeme.Thornton TBA: Add map property field to test object Change 4056873 by Graeme.Thornton TBA: Convert UMapProperty to full structured archive Change 4056994 by Graeme.Thornton TBA: Converted FText over to structured archive. Implemented saving, but not loading. Change 4059728 by Ben.Marsh UBT: Add support for using adaptive non-unity builds when the engine and project are in separate repositories. Change 4059805 by Graeme.Thornton Fixed typo in text serialization. Fixes CIS automation test errors Change 4060007 by Graeme.Thornton TBA: FArchiveFromStructuredArchive will now access it's host slot lazily, i.e. only when a value is actually written to the archive. Change 4060092 by Stefan.Boberg Added optimized Windows console window output path to GenericConsoleOutput since this slowed down cooking considerably (2 minutes spent in wprintf alone for one large dataset) When stdout is attached to a console we use the WriteConsoleW function instead of wprintf since the latter is very slow especially in unbuffered mode which the engine currently configures for stdout (see setvbuf call in LaunchEngineLoop.cpp). At some point we should reconsider this buffering policy since it's likely to slow down other platforms as well but I wanted to do a safe change for now as I don't yet fully understand why the setvbuf call is there in the first place. Change 4060108 by Stefan.Boberg Introduced some additional target platform utilities to help with asset cook optimizations * We now assign each ITargetPlatform a zero-based ordinal value * Introduced FTargetPlatform and FTargetPlatformSet types to help store platform references and platform sets efficiently. These are not currently used in the engine but are designed to replace the existing ITargetPlatform/string/FName representations in the cooking data structures. Change 4060143 by Graeme.Thornton Undo //UE4/Dev-Core/Engine/Source/Runtime/... changelist 4060007 Needs some other changes that I haven't checked in yet... Change 4062432 by Ben.Marsh Fix error message when enumerating P4 changes. Change 4062648 by Ben.Marsh Add missing p4 integration action. Change 4063620 by Graeme.Thornton Integrated a fix from UDN where the engine would crash when trying to load a very small encrypted file (<16bytes) from a pak file, where the read address wasn't already aligned to the AES block size. (https://udn.unrealengine.com/questions/431989/crash-while-reading-a-very-small-file-in-encrypted.html) Change 4066963 by Robert.Manuszewski Fixing GC cluster verification code reporting false positives when a cluster is referencing another cluster through 'mutable' objects list. Change 4067133 by Robert.Manuszewski Changed log verbosity when reporting individual cases of GC cluster assumption violations as they are followed by an asser anyway and this way we get the chance to see all issues before we assert at the end of these checks. Change 4067443 by Steve.Robb FString can now be constructed from any char pointer type and length. Change 4068156 by Steve.Robb Fix necessary because of FString constructor change in CL# 4067443. Change 4070258 by Graeme.Thornton Fixes for VSCode Change 4070372 by Graeme.Thornton TBA: Script struct serialization to structured archives Change 4071913 by Ben.Marsh Move bulk of the code for UnrealPak into an engine developer module, so it can be used in the editor. Change 4071914 by Ben.Marsh Missing files. Change 4071937 by Ben.Marsh Missing header. Change 4072015 by Ben.Marsh Fixes for compiling PakFileUtilities as part of the editor. Change 4072826 by Steve.Robb TBitArray::Reserve() added. TBitArray::Add() overloaded to allow adding multiple bits. TSparseArray::Reserve() optimized to call the overloaded Add(). Change 4073271 by Daniel.Lamb Fixed add patch tier in project launcher passing the wrong commandline option to UAT. #test none Change 4074708 by James.Hopkin #core Removed redundant Casts Change 4074763 by Steve.Robb Fix for TSparseArray::Reserve() size. Change 4076063 by Ben.Marsh Add an "UnrealPak" commandlet with the same functionality as the standalone UnrealPak program. Invoke by running the editor with -run=UnrealPak and the standard UnrealPak commandline options. Change 4077064 by Robert.Manuszewski Fixing compile error in PakFileUtilities Change 4077144 by Graeme.Thornton TBA: TextAssetCommandlet improvements * Collect lists of broken assets during roundtrip tests and print a summary of packages that failed each phase at the end * After resaving as text, load the file back as a plain JSON hierarchy to ensure the output was valid Change 4077412 by Ben.Marsh Set the correct exit code for UnrealPak. Should return 0 on success, not 1. Change 4077760 by Graeme.Thornton TBA: Loading fixed for tagged property serialization Includes conversion of all UProperty::ConvertFromType() and SerializeFromMismatchedTag() functions to use structured archives Lazy initialization of FArchiveFromStructruredArchive when loading, to support the possibility of an adapter being create around an object property serialize call to its inner UStruct, which then decides not to do anything and return false. Stops the ArchiveFromStructuredArchive from consuming the slot and getting upset later on when we try to serialize normal tagged properties from it. Disabled lazy bulk data loading from text assets. Requires a bigger change to make it work. Added some debug checks to json input formatter which track the current value stack size when a new object is pushed onto the stack, and makes sure that the stack has returned to the same size when the object is popped. Catches cases where we unpack an array/stream to the value stack but then don't consume all the items. Change 4078800 by Ben.Marsh Change UAT to using the editor's UnrealPak commandlet rather than invoking the standalone UnrealPak executable. To improve performance when building several PAK files, also add a new -batch=<file> command which reads commands to execute in parallel from a text file. Change 4079745 by Graeme.Thornton TBA: Migrated a couple of UObject Serialize functions to FStructuredArchive (SoundCue / MaterialExpressions / Editor strip flags) Change 4079847 by Graeme.Thornton TBA: Add 'FindMismatchedSerializers' mode to text asset commandlet, which dumps out a list of all UClasses which don't have the CLASS_MatchedSerializers flag, meaning we can't guarantee the have Serialize functions for FArchive AND FStructuredArchive, therefore we can't use the new structured archive based serialize path. Should only ever be native instrinsic classes as UHT takes care of all other cases. Change 4079925 by Ben.Marsh Fix incorrect assignment when deriving name for chunked pak file. Change 4080214 by Ben.Marsh Move the ThreadPoolWorkQueue class into DotNETUtilities so it can be used by other projects. Change 4082394 by Graeme.Thornton CIS fix for variable shadowing warning Change 4082583 by Ben.Marsh Add a IBinarySerializable interface for types that support reading from a BinaryReader and writing to a BinaryWriter. Implementing IBinarySerializable implies a constructor taking a BinaryReader argument is available for deserializing. Change 4082652 by Ben.Marsh Fix FileReference.Directory not returning a directory with a trailing backslash for files in the root directory. Change 4082755 by Graeme.Thornton Fixed an erroneous usage of TUniquePtr<uint8>as a pointer to a uint8 array when creating pak files. Caused a crash when compression was enabled, and has probably surfaced because pak generation is now done by an editor commandlet rather than a standalone program. Change 4082756 by Graeme.Thornton Fixed some incorrect documentation for pakfile compressed chunk headers Change 4082883 by Graeme.Thornton Static analysis warning fix Change 4082912 by Ben.Marsh Move ExceptionUtils into DotNETUtilities. Change 4085291 by Graeme.Thornton TBA: In the Json output formatter, write float and double values out with enough precision for successful roundtripping. Added some debug only code which will immediately reconvert the string back to its original value and compare the the input Change 4085523 by Graeme.Thornton TBA: Remove only explicit usage of DECLARE_FSTRUCTUREDARCHIVE_SERIALIZER. Should only be used from UHT generated code. Change 4086037 by Robert.Manuszewski Fix for a potential race condition when two threads want to acquire GC lock Change 4088655 by Graeme.Thornton Pak creation now uses the bEnablePakSigning setting from the crypto config json file Change 4091474 by Steve.Robb Fix for TStaticBitArray::FindFirstSetBit() and TStaticBitArray::FindFirstClearBit(). Unused variables removed. Change 4093632 by Steve.Robb CIS fixes. Change 4093656 by Graeme.Thornton Build fix Change 4093744 by Ben.Marsh Allow per-chunk settings for whether to enable compression in UnrealPak. Change 4099712 by Gil.Gribb UE4 - Fixed rare case where insufficient space was preallocated for cooldown ticks. #jira UE-59686 Change 4099912 by Stefan.Boberg Cooking timer optimizations: - Replaced data structures for FScopeTimer and FHierarchicalTimerInfo. Previous implementation used FString for many things and caused *lots* of heap and string concatenation activity. Replaced with a compile-time node id (using __COUNTER__) and raw string literals. - Removed PERPACKAGE_TIMER support (was disabled by default and was difficult to test) - Made it possible to toggle OUTPUT_TIMING and ENABLE_COOK_STATS independently - Removed some extremely tight timers because the overhead from calling QPC significantly exceeded the measured code This change shaved some 15% off a clean cook of Fortnite WindowsClient (en) with fully populated local DDC Change 4100519 by Stefan.Boberg Quick fix for Linux build issue introduced in 4099927 Change 4105327 by Stefan.Boberg Cooker: Changed FHierarchicalTimerInfo so it uses a linked list for tracking child nodes, to be able to deal with any child count. Previously we assumed there would never be more than 9 children but it turns out there are cooker modes that need more. Fixes check when using -FullLoadAndSave to cook Change 4105448 by Stefan.Boberg - Fixed Linux build warning re: member initialization order - Also eliminated OUTPUT_HIERARCHYTIMERS/CLEAR_HIEARCHYTIMERS macros (plain functions are fine) - Moved finishing-up code for FullLoadAndSave() to TickCookOnTheSide() call site to improve timer output. Previously some of the scopes would not have been closed before printing and thus the output was misleading. Change 4109031 by Ben.Marsh Attribute-driven Perforce wrapper (old Epic Friday project). Offers a more complete implementation than the current P4 wrapper in UAT without requiring any platform-specific libraries. Uses the Python binary output for parsing. Change 4109588 by Ben.Marsh UBT: Add extension methods for serializing a nullable type to a BinaryReader/BinaryWriter. Change 4109595 by Ben.Marsh Missing project file for DotNETUtilities. Change 4110724 by Stefan.Boberg Removed annotation map locking in UObjectMarks, eliminating around one minute (~3.5%) from Fortnite cook time. The locking was redundant since the annotation maps are managed per thread anyway. Change 4111304 by Ben.Marsh UAT: Add support for setting a status message through the log class. Allows writing transient messages (eg. progress messages) which will be cleared out before writing other messages. Best used through the LogStatusScope class, which can set a status message for the duration of a using() block. As part of this change, the console no longer has to be added as a dedicated trace listener. Since we already special-case this listener when formatting log output, it's easier to just keep the implementation separate to the other trace listeners. Change 4112708 by Steve.Robb Fix for TBitArray::MaxBits in assignment. Change 4114133 by Stefan.Boberg Tweaked how low-level memory (LLM) tracker is implemented to reduce overheads. Previously FMemory functions would acquire the LLM singleton and call OnLowLevelFree/OnLowLevelAlloc etc which would check the bIsDisabled flag and early out if it was set. Due to how frequently these functions were called this ended up costing quite a bit. - This change makes the flag a static member variable instead of a member variable and therefore enables a simpler early-out to be implemented. - The singleton getter is also simplified to avoid hitting the threadsafe singleton construction path on every call. - The enable flag is no longer TAtomic - this also incurs extra overhead for no clear benefit Shaves approximately 3.5% (one minute) off a Fortnite cook test scenario (using -FullLoadAndSave) Change 4115010 by Robert.Manuszewski Fixing CIS Change 4115249 by Robert.Manuszewski Fixing async loading code asserts when exiting game very early due to an error #jira UE-56267 Change 4117091 by Ben.Marsh Prevent doubled-up lines when writing status updates with console log verbosity. Change 4117207 by Ben.Marsh UGS: Do not include executables in diagnostics zip file, and ignore "no such files" error when cleaning workspace. Change 4119175 by Ben.Marsh UGS: Fix crash writing version files when directory does not already exist. Change 4119987 by Ben.Marsh UGS: Show a dialog box while the launcher is updating executables from Perforce, which allows cancelling the operation if necessary. Allow setting the username on the settings window, and prompt for login credentials if necessary. Should prevent situations where users have to update settings from the command prompt. Holding down shift during launch now shows the settings dialog rather than an immediate prompt to launch the unstable version (unstable version is shown as a checkbox on this dialog). Change 4119991 by Ben.Marsh Update version number for UGS launcher to 1.13. Change 4121943 by Robert.Manuszewski Don't use FArchiveAsync2 for reading packages with non-async path in editor builds as its performance is worse than the standard archive's (saves about 1 minute when doing larger cooks and 7 seconds when loading into PIE) Change 4122592 by Steve.Robb GitHub #4762 : Improve wording and grammar of Math comments Also includes improved accuracy in FMath::ComputeBoundingSphereForCone(). Change 4122819 by Stefan.Boberg Don't call CreateDirectory redundantly when opening files for writing using FFileManagerGeneric::CreateFileWriter This change avoids calling IPlatformFile::CreateDirectoryTree if possible since this is a very expensive function especially for deep hierarchies as it performs directory creation from the root directory onwards instead of from the leaf downwards. That function should also be fixed but this change improves performance in the meantime. Change 4122872 by Stefan.Boberg CreateDirectoryTree now creates directories leaf-to-root instead of the other way around. This is much more efficient since we don't spend time on system API calls for directories which already exist. This accounted for a very large amount of CPU time in cooking as the full target file directory hierarchy would be "created" for every single output file. Change 4123109 by Stefan.Boberg - Disable overlapped I/O in editor / cooker. Synchronous I/O reduces the number of syscalls and Windows performs prefetching on our behalf anyway for sequential reads - Eliminated syscall which was issued for every write to update cached file size -- since we're the only writers to the file (file access allows read sharing at most) we can authoritatively update the file size on write completion Change 4123455 by Ben.Marsh PR #4775: New build param PCHMemoryAllocationFactor to set /Zm VS build param. (Contributed by lucaswall) Change 4124207 by Ben.Marsh UBT: Remove some unnecessary indirection for generated code paths. Change 4124217 by Ben.Marsh UBT: Remove another unused variable from UEBuildModuleCPP. Change 4124377 by Stefan.Boberg In IPlatformFile::DeleteDirectoryRecursively, attempt to delete file first and if it fails clear the readonly flag and try again Previously there was a call to clear the readonly flag for every deleted file and this is a waste of resources 99% of the time. The SetFileAttributes call accounted for a significant amount of time during cooker sandbox directory deletion Change 4125071 by Stefan.Boberg Some tweaks to FQueuedThreadPoolBase scheduling and memory management - Explicitly pass in false for TArray::RemoveAt(..., bool bAllowShrinking) argument to prevent memory reallocation when arrays are drained and inevitably repopulated shortly afterwards - Use a MRU strategy instead of LRU when picking a thread to wake up. The MRU thread is the most likely to have a 'hot' cache for the stack etc. Picking from the back of the array also happens to be cheaper since no memory movement is necessary when RemoveAt is called. (This was the strategy in place before CL2600362 which seems to have changed it unintentionally) - Release lock as soon as a thread has been chosen, before asking the worker thread to wake up and do the work Change 4126132 by Ben.Marsh UAT: Detect when stdout is redirected and prevent using backspace characters to move the cursor. Change 4126867 by Graeme.Thornton TBA: Fix tagged binary formatter Change 4127010 by Robert.Manuszewski AnimScriptInstances created at runtime will now also be added to the owning omponent's cluster to avoid GC issues. Change 4127932 by Ben.Marsh WorkspaceTool: Reduce unnecessary logging of status messages when console output is not redirected. Change 4129050 by Ben.Marsh UGS: Check for NET Framework 4.5 being installed before running the installer. Also fix warning trying to kill existing UGS instances before upgrade. Change 4129459 by Graeme.Thornton TBA: TextAssetCommandlet - When outputting converted assets to an output path, replicate the workspace relative path in the output directory Change 4129515 by Graeme.Thornton TBA: Add EnterRecord overload that allows outputting of available field names when loading. Change 4129517 by Graeme.Thornton TBA: Tagged properties are written out as named fields on the "Properties" record, rather than as a stream with a null tag at the end Change 4129518 by Graeme.Thornton TBA: Added a local const bool to allow easy hacking out of text asset loading support Change 4129558 by Graeme.Thornton TBA: Build fix for textasset-less configs Change 4129614 by Ben.Marsh UGS: Main window is now restored to normal size when activated by clicking on the tray icon. #jira UE-60490 Change 4129618 by Ben.Marsh UGS: Speculative fix for unreproduced exception accessing disposed window while shutting down. Change 4131936 by Robert.Manuszewski Removing some WIP code accidentally checked in with CL #4121943 Change 4133490 by Ben.Marsh UGS: Allow the $(Change) variable to be used in more places than just the context menu. #jira UE-60573 Change 4133550 by Ben.Marsh UGS: Setting for whether or not to use incremental builds is now exposed through the variable "$(UseIncrementalBuilds)" for use by custom build steps. #jira UE-60554 Change 4133681 by Ben.Marsh UGS: A per-project list of folders and extensions to be deleted by default when running the 'clean workspace' tool can now be specified through the <ProjectDir>/Build/UnrealGameSync.ini file. Settings may be specified for an individual branch (via a category with the depot path to the project) or for wherever the project is currently open (via the [Default] category). The SafeToDeleteFolders list specifies a substring that will be checked against folder paths. Anything containing this folder will be marked as safe for delete by default. The SafeToDeleteExtensions list specifies a list of extensions for files that can always be deleted. Example: [Default] +SafeToDeleteFolders=/MyGame/Test/ +SafeToDeleteFolders=/DataService/ +SafeToDeleteExtensions=.xx1 +SafeToDeleteExtensions=.xx2 #jira UE-60575 Change 4135449 by Ben.Marsh Fix allowing use of Job objects on Windows platforms (debug code submitted by mistake) Change 4135730 by Ben.Marsh UBT: Plugins can now be enabled and disabled from the .target.cs file (for targets that do not use the shared compile environment), by compiling the list of enabled/disabled plugin names into the Projects module. Change 4135823 by Ben.Marsh UBT: Remove legacy code to handle disabling optional plugins; now that this is compiled into the target, it will work for any plugins we choose. Change 4135945 by Ben.Marsh UBT: Fix error running programs with no explicitly enabled or disabled plugins. Change 4137207 by Ben.Marsh UGS: Align all badges with the same name, to make it easier to see which CIS steps are being run. Allow overriding the slot taken by a particular badge by calling it "SlotName:LabelName". Change 4137311 by Stefan.Boberg Removed child cooker support. In practice it is not a useful feature as it provides no performance improvement (quite the opposite in fact) and adds testing and maintenance complexity. Change 4137393 by Ben.Marsh UGS: Fix display of multiline errors in the status panel. Change 4141708 by Steve.Robb GitHub #3631 : Incorrect default argument in WeakObjectPtrTemplate #jira UE-45490 Change 4146655 by Stefan.Boberg Removed FullGCAssetClasses logic - no longer necessary nor useful Change 4147318 by Ben.Marsh UGS: Compress build badges in a column if it shrinks below the size that they would be visible. Change 4148207 by Ben.Marsh UGS: Added support for showing the latest completed build from a specific list of badges in the status panel. To declare a badge as one that should appear in the status panel rather than the CIS column, add it to the project's UnrealGameSync.ini in the project or [Default] section like so: +ServiceBadges=RoboMerge Change 4148282 by Stefan.Boberg Fixed bug in UCookOnTheFlyServer::GetCookOnTheFlyUnsolicitedFiles - UnsolicitedFiles should be passed by reference not by value Change 4148344 by Stefan.Boberg Fixed minor indentation error (most likely caused by sloppy merge) Change 4148521 by Stefan.Boberg Removed accidentally checked in PRAGMA_DISABLE_OPTIMIZATION from CookOnTheFlyServer.cpp Change 4148639 by Ben.Marsh UGS: Fix tooltips not showing for changes that have description badges. Change 4149373 by Ben.Marsh UGS: Allow adding additional columns to display particular badges by adding entries from the project config file. Example syntax: +Columns=(Name="Desktop",MinWidth=50,DesiredWidth=100,Weight=3,Badges="Editor") +Columns=(Name="Mobile",MinWidth=50,DesiredWidth=100,Weight=3,Badges="IOS,Android") Same form can be used to control how default columns are displayed (though badge settings are ignored). Also allow PerforceMonitor to detect local changes to project config files and update settings automatically. Change 4149399 by Ben.Marsh UGS: Update version to 1.143. Change 4155660 by Steve.Robb PROJECTION and PROJECTION_MEMBER macros which provide the correct behavior when creating projections using functions which are overloaded or use default arguments. Change 4157117 by Ben.Marsh Fix warning due to plugins disabled in .target.cs file. Change 4158011 by Ben.Marsh UBT: Add a check that the UnrealHeaderTool target file exists, rather than throwing an exception when reading it fails. Change 4158646 by Ben.Marsh UGS: Fix exception when login is discovered to have expired during a workspace update. Change 4158678 by Ben.Marsh UGS: Fix an exception on shutdown due to the icon being hidden after it's already been disposed. Change 4158683 by Ben.Marsh UGS: Add an unhandled exception filter which sends the exception data to the backend. Change 4159131 by Ben.Marsh UGS: Reduce the number of characters displayed for build badges based on the available space. Change 4159194 by Graeme.Thornton TBA: Fix incorrect map property conversion code when converting an old property that contains a map with different key/value types Change 4159239 by Steve.Robb Improved readability and compliance with coding standards. Change 4159246 by Ben.Marsh UGS: Allow syncing projects where source code is not available (and various version files don't exist). #jira UE-60985 Change 4159286 by Ben.Marsh UGS: Remove requirement for UE4Editor.target.cs to be visible in the depot in order to open a project. #jira UE-60986 Change 4159302 by Ben.Marsh UGS: Update version to 1.144. Change 4160308 by Ben.Marsh All staging client executables for blueprint projects. #jira UE-60983 Change 4161567 by Steve.Robb GitHub #4816 : UE-60771: Handle escaped double quote in FParse::LineExtended Change 4162641 by Ben.Marsh UGS: Allow customizing the position of custom columns, via the Index=N attribute. Change 4162647 by Ben.Marsh UGS: Update version to 1.145. Change 4165319 by Robert.Manuszewski PR #4812: Fix inconsistent command-line argument handling under Windows (Contributed by adamrehn) Change 4166150 by Ben.Marsh UGS: Include *.inl when looking for code changes. Change 4166551 by Steve.Robb Whitespace fixes caused by a bad merge. Change 4168483 by Ben.Marsh UGS: Add a more useful error if a file to be synced exceeds the max allowed path length. Change 4168490 by Ben.Marsh UGS: Update version to 1.146. Change 4168551 by Ben.Marsh UBT: Move bBuildLargeAddressAwareBinary into an exposed setting. Change 4168560 by Ben.Marsh UBT: Remove static config variable for controlling which configuration of UHT to use. Change 4171296 by Ben.Marsh UGS: Move the check for overlong paths earlier. Change 4171531 by Ben.Marsh UBT: Fix exception if BuildConfiguration.xml contains an unknown category. Change 4183371 by Robert.Manuszewski Fix for a crash in Async Loading Graph's CheckCycles when GC kicks in on the game thread and forces ALT to exit early Change 4184312 by Ben.Marsh UGS: Update version to 1.148 Change 4184480 by Robert.Manuszewski Removing unused async loading stat Change 4186390 by Ben.Marsh UBT: Format XML validation errors in a format that allows double-clicking on the message in Visual Studio. Change 4188644 by Ben.Marsh UBT: Add the MakePathSafeToUseWithCommandLine() function to UBT. Change 4188647 by Ben.Marsh UBT: Fix exception in target receipt when architecture is null. Change 4189617 by Ben.Marsh Change FileSystemReference, FileReference and DirectoryReference objects to use OrdinalIgnoreCase comparisons without creating a separate copy of the string to compare. The filesystem does not use the invariant culture, and it can produce the wrong results in some cases (the ordinal comparison is faster, too). Change 4189740 by Ben.Marsh UAT: Remote code to build UnrealPak when packaging; we use the editor now. Change 4189860 by Ben.Marsh UGS: Make the filter for excluding automated lighting rebuilds more explicit. Change 4190082 by Ben.Marsh Fixes to allow enabling edit and continue for Windows builds. Have experienced quite a few VS crashes when testing it in editor; not yet recommended for general use. - Allow edit and continue for any configuration, not just debug. - Fixed PDB errors compiling files that use a shared PCH with edit and continue enabled. Path to the generated PDB file was using the wrong directory. - Removed code that tracks PDB output files, since they're modified multiple times during a build. - Enable debug information when compiling generated CPP files, since it causes errors if the shared PCH PDB doesn't have the same option. - Disable support for remote execution of steps that modify the PDB, since the same file has to be modified many times. Remote execution causes the PDB files to be corrupted. Unfortunately, this makes E&C builds significantly slower. #jira Change 4192949 by Ben.Marsh UBT: Minor tidy-up (merging UEBuildBinary.Build and UEBuildBinary.SetupOutputFiles) Change 4193218 by Ben.Marsh Fix formatting. Change 4197252 by Mike.Erwin UAT: Fix log output w/ correct count of non-code projects. #jira none Change 4197941 by Ben.Marsh UGS: Add support for DebugGame editors that have an executable with a DebugGame suffix. Change 4197964 by Ben.Marsh UGS: Prevent attempts to automatically reopen projects while a modal dialog is up, or the workspace is syncing. Change 4198144 by Ben.Marsh UGS: Prevent modal dialogs when login expires in P4, and prompt for password when hitting "retry". Change 4198413 by Ben.Marsh UGS: Always show the main window when launched manually, and run with -RestoreState when launched at startup. Also add a couple more places that save the visibility state, since logging off seems like it can terminate the process abrubtly. Change 4198779 by Ben.Marsh UBT: Allow generating manifests to any arbitrary locations with the -Manifest=<Path> argument. Change 4198825 by Ben.Marsh UBT: Move code to enumerate Slate runtime dependencies into the Slate module. Doesn't need to be done inside core UBT. Change 4199341 by Ben.Marsh UGS: Update version to 1.149 Change 4199642 by Chad.Garyet - Deprecate CISController - Add BuildController to replace CIS GET/POST for builds - Add LatestController, GET does what CIS/GET used to do - Change Latest/GET to return the last 25 builds filtered by project, rather than the last 5000 individual Ids - Latest/GET now returns "LatestData" object instead of array of longs - Updated EventMonitor to match all API changes - Fixed bug where IDs were getting reset to initial startup values every update loop Change 4199663 by Chad.Garyet CIS controller still needs to return an array of longs #jira none Change 4199680 by Ben.Marsh UGS: Update version to 1.150 Change 4200457 by Ben.Marsh Merging CIS fix for non-development configurations. Change 4200472 by Mike.Erwin UAT: fix -skipbuildclient param default It was defaulting to skipbuildeditor's value, likely a copy-paste error. #jira none Change 4202595 by Ben.Marsh Fix static analysis warning due to constant comparison against macro. Change 4203250 by Ben.Marsh UGS: Always show the "Sync Precompiled Editor" option, but disable it and show a tooltip explaining why if it is not available. Change 4206191 by Ben.Marsh Exclude editor target files from installed builds, since they leak info about DLLs that have been stripped out. Change 4213011 by Ben.Marsh UBT: Include contents of modified intermediate files in the log, to make it easier to debug hidden dependencies. Change 4213487 by Ben.Marsh UBT: Fix assumption that bPrecompile is equivalent to bBuildAllModules. This is no longer the case; they are now controlled by separate options. Should fix CIS errors building the editor. Change 4213609 by Ben.Marsh Ensure that strings formatted using FMicrosoftPlatformString::GetVarArgs() are always null terminated, whether we use the secure CRT or not. Change 4215971 by Ben.Marsh UBT: Remove action graph visualization code; no longer used. Change 4215996 by Ben.Marsh UBT: Remove unqiue id from all actions in the action graph. This is only used for printing debug info in the case of a (rare) cycle in the action graph, so just look it up when needed. Change 4216022 by Ben.Marsh UBT: Rename Crypto.cs to EncryptionAndSigning.cs to match the name of the class inside it, and move it under the System folder. Change 4216031 by Ben.Marsh UBT: Move all the action executors into their own folder in the project. Change 4216526 by Ben.Marsh Fix CIS warnings. Change 4216544 by Ben.Marsh Replace custom code to ensure FMicrosoftPlatformString::GetVarArgs() null terminates its buffer with Microsoft's standards-compliant implementation. Change 4216633 by Ben.Marsh Add support for UnrealPak plugins. * Project and plugin modules can now specify an array of supported programs in the "WhitelistPrograms" field of their module descriptors, to allow modules to be loaded by programs. * Programs can now load any runtime modules, as long as they are whitelisted. * Programs under the engine directory can now use a shared build environment, so that building with a project file does not cause output binaries to be output to the project directory. * UnrealPak is now always built by default when packaging * Convert UnrealPak to a modular configuration Change 4216736 by Ben.Marsh UnrealPak: Move "ExportDependencies" command into an editor commandlet, since it relies on the UObject system, asset registry, etc... Change 4217447 by Ben.Marsh Back out revision 50 from //UE4/Dev-Core/Engine/Build/InstalledEngineBuild.xml Change 4217451 by Ben.Marsh Back out revision 11 from //UE4/Dev-Core/Engine/Plugins/Developer/VisualStudioSourceCodeAccess/Source/VisualStudioSourceCodeAccess/VisualStudioSourceCodeAccess.Build.cs Change 4217617 by Ben.Marsh Back out changelist 4217451 Change 4222552 by Ben.Marsh Don't use #import <TypeLib> for VS source code accessor when building with Clang; it's not supported. Change 4222630 by Ben.Marsh UBT: Fix spam while generating project files if Clang isn't installed. Change 4223316 by Ben.Marsh UBT: Change the order in which Visual C++ toolchains are enumerated to prefer full releases over preview releases. Change 4223318 by Ben.Marsh UBT: Add a build setting which allows creating a dedicated PCH for every file that's excluded from the unity working set (disabled by default). Improves iteration times when working on individual cpp files, but slows down iterating on header changes (and can take a lot of disk space for large changes). Dedicated PCH contains all includes scraped from the top of each cpp file, until a non-#include directive is encountered. Change 4223401 by Ben.Marsh UBT: Add an option to automatically enable edit and continue for files in the adaptive non-unity working set. E&C doesn't seem very useful for UE4 projects right now; compile time is comparable to regular build times, but it can take several minutes to apply code changes for large projects. Change 4223899 by Ben.Marsh UBT: Fix loading XML config files on Mono; Type.GetField(Name) does not seem to return values unless binding flags are specified. Change 4224637 by Ben.Marsh Add a "SupportedPrograms" field to plugin descriptors, which allows plugins to declare which plugins they support independently of individual modules. Programs now respect the "bEnabledByDefault" setting in plugins. Plugins that are compatible with a program now need to list that program in the SupportedPrograms list, and whitelist any modules that should load for that program. Change 4224710 by Ben.Marsh UBT: Don't add import libraries as final build products unless the target is being precompiled. Prevents the need for building them for leaf nodes in the action graph. Change 4224715 by Ben.Marsh UBT: Remove hack to allow Stats2.cpp to not follow IWYU convention. Change 4224726 by Ben.Marsh Remove commented out line. Change 4224903 by Ben.Marsh Fix non-unity compile error in Stats2.h. Change 4225051 by Ben.Marsh Back out changelist 4224710; causing CIS errors due to receipts not matching. Change 4225134 by Ben.Marsh Fixing non-unity errors. Change 4225203 by Ben.Marsh Another non-unity fix. Change 4225249 by Ben.Marsh Fix Linux dependencies being copied for the Windows editor; they can be added as requirements for the Linux target platform on Windows instead, so it respects the user's chosen platforms. #jira UE-62001 Change 4225512 by Ben.Marsh BuildGraph: Allow setting the target to build when using the <CsCompile> task. Change 4228815 by Ben.Marsh UBT: Always add the generated code directory to the list of include paths when generating project files. It may only be created after UHT has been run. Change 4228944 by Ben.Marsh UBT: Remove legacy CppCompileEnvironment and LinkEnvironment wrappers from TargetRules that were deprecated in 4.19. Change 4229028 by Ben.Marsh UBT: Fix editor targets with unique build environment having the wrong executable path in generated project files. Move move logic to configure target rules post-construction by the rules assembly to ensure it's valid. Change 4229065 by Ben.Marsh UBT: Move another target setting into the rules assembly. Change 4229105 by Ben.Marsh Fix BPT exception when generating project files. Change 4229311 by Ben.Marsh UBT: Store the module rules file location on the ModuleRules instance, as well as the plugin that it was created from. Also expose the plugin directory as a property on the ModuleRules instance. Change 4229421 by Ben.Marsh UBT: Consolidate functionality for UHT module setup in ExternalExecution.cs. Change 4229817 by Ben.Marsh UBT: Modules must now explicitly specify the path to the header used to generate a PCH if one is desired, rather than the header being determined automatically by attempting to parse the source code. Now that PCHs are force-included anyway, this removes a lot of dependencies inside UBT. Change 4229824 by Ben.Marsh UBT: Remove unused lists inside UEBuildModuleCPP.SourceFilesClass. Change 4229841 by Ben.Marsh UBT: Remove some legacy code from auto-detecting PCHs. Change 4230521 by Ben.Marsh UBT: Add utility functions to the log class to allow formatting errors and warnings in Visual Studio output format (eg. File(Line): warning: Message) Change 4230871 by Ben.Marsh UAT: Remove StreamUtilis utility class; there is a simpler way to implement the one place it's used. Change 4230882 by Ben.Marsh UAT: Add StreamUtils back into UAT, seems like it's still used there. Change 4230896 by Ben.Marsh UBT: Remove some redundant parameters from UEBuildModule/UEBuildModuleCPP/UEBuildModuleExternal constructors. Change 4231014 by Ben.Marsh WorkspaceTool: Include a dump of raw bytes when garbage is read from the P4 process, for diagnostic purposes. Change 4231032 by Ben.Marsh Fix CIS. Change 4231096 by Ben.Marsh Bump the FlatCPPIncludeDependencyCache version, to prevent errors trying to load old files. Change 4231446 by Ben.Marsh UBT: Added support for expanding UE-specific variables in include paths and library paths: $(EngineDir), $(ProjectDir), $(PluginDir), $(ModuleDir). Change 4231460 by Ben.Marsh Modules may now explicitly specify rpaths on Linux via the PublicRuntimeLibraryPaths and PrivateRuntimeLibraryPaths properties. Change 4233909 by Robert.Manuszewski PR #4779: Reason fails as the supplied variable is incorrect (Contributed by projectgheist) Change 4233910 by Ben.Marsh Enable PCHs on IOS. Reduces build time by ~25%. Change 4234176 by Ben.Marsh UBT: Add better messaging for modules that need to have a private PCH set. Now detects the likely PCH using the same method as legacy code and includes it as a suggestion. Change 4234193 by Ben.Marsh Add the Delete command to Perforce wrapper in DotNETUtilities. Change 4234688 by Ben.Marsh UBT: Simplify handling of installed/precompiled builds. Settings for whether a folder is installed/read-only or not is now stored on the RulesAssembly instance, allowing multiple things to be configured separately and stacked together (eg. engine/enterprise/project). RulesAssembly.IsReadOnly() allows determining if a flie can be modified or not and replaces many previous IsXXXInstalledCalls(), and traverses the chain of assemblies. Change 4234711 by Ben.Marsh UBT: Runtime dependencies can now be copied to output directories as part of the build. When adding a runtime dependency, an optional source location can be specified to copy from. Both the source and target paths can use variables can be used as part of the path, eg. $(OutputDir), $(ModuleDir), $(PluginDir). Example usage (from a .build.cs file): RuntimeDependencies.Add("$(OutputDir)/Foo.dll", "$(PluginDir)/Source/ThirdParty/Foo.dll", StagedFileType.NonUFS); Change 4234872 by Ben.Marsh Expose a flag for whether the engine is installed, to fix issues generating project files. Change 4234929 by Ben.Marsh Fix null reference generating receipts when UBT makefiles are active. Change 4235883 by Chad.Garyet Merging 4231245 to core Giving Coordinator its own sln. This should fix what 4158155 was supposed to. #jira UE-61955 Change 4236075 by Ben.Marsh CIS fix Change 4237066 by Robert.Manuszewski Fix for a potential crash when terminating the engine while it's being initialized #jira UE-60545 Change 4237078 by Robert.Manuszewski The engine will no longer be resetting all linkers causing massive load times when renaming the world package when entering Play In Editor Change 4237116 by Ben.Marsh Rewrite some Windows utility functions to support paths longer than MAX_PATH. Change 4237158 by Ben.Marsh Add const TCHAR* overloads of FString::RemoveFromStart() and FString::RemoveFromEnd(). Change 4237159 by Ben.Marsh Fix FWindowsPlatformFile::GetFilenameOnDisk() support for paths longer than MAX_PATH, and simplify some of the other long path functions to avoid copying string buffers. Change 4239050 by Ben.Marsh Missing file Change 4239318 by Ben.Marsh Linux CIS fix. Change 4239685 by Ben.Marsh Static analysis CIS fix. Change 4240800 by Ben.Marsh WorkspaceTool: Include the full command line in the log for any P4 commands. Change 4240903 by Ben.Marsh PR #4909: Update copyright notices to 2018 (Contributed by projectgheist) Change 4241025 by Ben.Marsh UBT: Exclude mobile pipeline caches from generated project files. Causes huge slowdown when using 'Find in Files' through the IDE. Change 4241770 by Ben.Marsh UBT: Include action number in parallel executor output. #jira UE-62032 Change 4243469 by Ben.Marsh TBA: Merge FAnnotatedStructuredArchiveFormatter with FStructuredArchiveFormatter. Any functions that are only implemented for text archives now have a _TextOnly suffix, and are exposed through the FStructuredArchive interface. Change 4245723 by Robert.Manuszewski Fixing another creash when terminating the engine while initializing. #jira UE-60545 Change 4245862 by Steve.Robb VectorLoadFloat2(Ptr) added, which loads { Ptr[0], Ptr[1], Ptr[0], Ptr[1] } into a VectorRegister. Change 4246412 by Robert.Manuszewski The warning 'Calling StaticLoadObject during PostLoad may result in hitches during streaming' will now also report the object which had the PostLoad called on it when StaticLoadObject call happened. Change 4246612 by Ben.Marsh UBT: Fix spelling of "Intellisense". Change 4249454 by Robert.Manuszewski Added extra checks to catch scenarios where the EDL Precache Buffer is flushed before a package header is fully read Change 4249513 by Robert.Manuszewski Made sure the Async Loading Thread doesn't continue running after creating new async packages when garbage collector wants to run on the game thread Change 4255207 by Ben.Marsh UGS: Add additional logging whenever a P4 command fails, and when the user is logged out. Change 4255288 by Ben.Marsh PR #4921: Honor ModuleRules' bEnableExceptions flag when creating precompiled h. (Contributed by surakin) Change 4256422 by Ben.Marsh UBT: Add an error if a module referenced by a plugin descriptor doesn't exist. Change 4257385 by Robert.Manuszewski Creating new objects from within ForEachObjectWithOuter will now result in a fatal error as it's unsafe to change internal UObject hash tables when iterating over them. Change 4257454 by Robert.Manuszewski Added the option to filter clusters listed with gc.ListClusters by objects within them. Usage: gc.ListClusters Hierachy With=ObjectName1,ObjectName2... Change 4257526 by Robert.Manuszewski It's now possible to filter clusters that get logged with verbose cluster logging enabled (UE_GCCLUSTER_VERBOSE_LOGGING=1) by objects within them by specifying -DumpClustersWithObjects=ObjectName1,ObjectName2 in the command line Change 4257822 by Ben.Marsh Fixes for PlatformShowcase compile errors. Change 4258771 by Ben.Marsh UBT: Fix project files not being generated for foreign projects when creating .stub files. #jira UE-62462 Change 4258790 by Ben.Marsh UBT: Clean up the logic around generating project files before creating a stub IPA, so that it fails loudly if project files do not exist, and can accept target names not matching project names. Change 4259276 by Ben.Marsh UBT: Make it an error if a framework doesn't exist, rather than failing silently. Also remove some remote toolchain stuff that's no longer necessary. Change 4259280 by Ben.Marsh UBT: Fix embedded framework zips not being uploaded for plugins. #jira UE-62485 Change 4260236 by Ben.Marsh UBT: Fix path to generated engine project file. Change 4260334 by Ben.Marsh UGS: Fix custom build steps dialog inadvertantly modifying config file settings in-place. Change 4260361 by Ben.Marsh UGS: Allow for p4 login commands to fail, even though the user is logged in (due to a bad connection, etc...) Change 4260559 by Ben.Marsh UGS: Update version. Change 4261160 by Robert.Manuszewski MediaPlaylist will now be added to root set if the owning MediaPlayer is in the disregard for GC set (fixes GC assumption violation crash) #jira UE-62495 Change 4261421 by Ben.Marsh Force-sync files for building documentation, to fix issues with files not being updated. #jira UE-62413 Change 4261425 by Ben.Marsh UBT: Remove some leftover functions for handling the remote toolchain. Change 4261530 by Ben.Marsh UBT: Speculative fix (and better error reporting) for IOS mobile provision not being found in CIS. Change 4261611 by Ben.Marsh UBT: Downgrade warning to a log message, since it appears when generating project files. Change 4261710 by Ben.Marsh Remove assert that GLogConsole is set; it won't be for command line utilities that don't depend on ApplicationCore. #jira UE-62545 Change 4261831 by Ben.Marsh Fix compile errors due to missing include path when hot-reloading a module from the editor. There are not necessarily source files to compile when -modulewithsuffix is specified on the command line, which was results in GeneratedCodeWildcard not being set. #jira UE-62463, UE-62384 Change 4262723 by Ben.Marsh Whitelist plugins that need to be loaded by UFE. #jira UE-62564 Change 4265444 by Ben.Marsh Fix incorrect executable name for DebugGame configurations in Xcode. #jira UE-62574 Change 4265892 by Ben.Marsh Fix incremental compile failures due to dependency checking for unity files. CachedIncludePaths was not correctly being set on file items, so dependencies were being ignored. #jira UE-62575, UE-62603, UE-62597 Change 4266019 by Josh.Adams - Fixed the CopyAction for runtime dependencies that need to be copied to different location, on non-XGE Change 4266264 by Ben.Marsh Remove override for the __IPHONE_OS_VERSION_MIN_REQUIRED macro on TVOS. This macro is already defined by system headers (in <AvailabilityInternal.h>). Now that we support PCHs on IOS and TVOS, manually defining this macro results in it being defined three times (once for the PCH, once by AvailabilityInternal.h, and once by the force-included list of definitions for the source file being built). The errors for redefining the macro in AvailabilityInternal.h are suppressed due to it being a system header, but the error for redefining it for the source file being compiled are not. #jira UE-62578 Change 4266273 by Ben.Marsh Fixes incremental build failure when compile arguments for PCH have changed on IOS/TVOS. Compile action needs to have a dependency on PCH build action. Change 4266614 by Graeme.Thornton Fix crash when cooking nativized blueprints due to removal of child cooker system. Change 4266763 by Ben.Marsh Always build UnrealPak when building client targets. The ProjectParams.Pak option is not reliable, because it can be forced on later by the target platform. #jira UE-62584 Change 4267985 by Robert.Manuszewski When iterating with ForEachObjectWithouter, don't lock the entire has table but only the hash bucket that is currently being iterated #jira UE-62600 Change 4268558 by Robert.Manuszewski PurgeLegacyBlueprints will no longer be called from within ForEachObjectWithOuter is it renames objects that reside in hash tables that are being iterated over which may lead to undefined behavior. #jira UE-62600 Change 4269011 by Chad.Garyet - Fixing Wildcard match issue, the change to ugsapi sends projects as //Depot/Stream instead of //Depot/Stream/ Wildcard match was only substringing to 3 chars. - Checking in the change a while back that increases the number of queried jobs up to 432 based on some maths from Bob about how many builds we want to grab Published to ugsapi server 8/8/17 #jira none Change 4270788 by Ben.Marsh Fix IOS provisioning data being using when remote compiling on TVOS. #jira UE-62705 Change 4271916 by Ben.Marsh Tag the XGEControlWorker executable as a build product after compiling SCW, to make sure it's included in the UGS zip file. Change 4271934 by Ben.Marsh Upload all static libraries in plugin folders as part of remote builds. #jira UE-62694 Change 4273368 by Ben.Marsh Fix Slate dependencies not being enumerated, and rules assembly not being rebuilt when building remotely. #jira UE-62705 Change 4274049 by Ben.Marsh Always parse the team UUID out of the mobile provision when doing a remote compile. The provision installed on the remote Mac (and selected for signing) may be different. #jira UE-62751 Change 4274823 by Ben.Marsh Add the -VersionCookedContent argument to disable the -unversioned parameter on the cooker command line. Change 4275838 by Ben.Marsh Fix BuildVersion string not being passed through from <SetVersion> task. Also add a -BuildVersion command line argument to UBT to override it for a particular build. Change 4275913 by Ben.Marsh Add a dummy exported symbol to the XGEController module, to fix build errors due to missing .lib file when it's built with WITH_XGE_CONTROLLER = 0. Change 4284161 by Ben.Marsh Allow mirroring Oodle files to remote Mac. Change 4074774 by Steve.Robb Vast simplification of TFunction, making it smaller in footprint, easier to follow and extend, and more correct. TUniqueFunction added, which is a move-only TFunction which can hold move-only functors. Fix for UWidgetBlueprint::ForEachSourceWidget() which should never have compiled but did. FFunctionGraphTask and TFuture<> updated to use TUniqueFunction to make them more general. TArray::HeapPop() made to work with move-only types. Change 4082591 by Ben.Marsh Move the Log class from UBT to DotNetUtilities. Change 4083236 by Ben.Marsh Add a Log.WriteException() method to dump an exception message to the console (and write the exception trace to the log) Change 4084107 by Ben.Marsh UAT: Remove the unused -SkipHeader argument to UE4Build. Change 4089771 by Steve.Robb GitHub #4743 : modified VirtualAlloc function flag https://blogs.msdn.microsoft.com/oldnewthing/20151008-00/?p=91411 Change 4091456 by Steve.Robb Unification of all platforms' FMath::CountTrailingZeros() and FMath::CountLeadingZeros() for both 32-bit and 64-bit. Change 4156437 by Ben.Marsh Lots and lots of fixes compiling for Clang on Windows. Editor now compiles cleanly without warnings, but crashes on startup due to error in intrinsics test. Disabling that runs further, but crashes accessing freed memory. Switching to the ANSI allocator runs further, but crashes in Slate after the splash screen and before the editor window opens. // TODO! * Switching between Clang/ICL/VS2015/VS2017 is now supported through the same mechanism as switching Visual Studio versions, without requiring any source level changes. To use Clang, set WindowsPlatform.Compiler = WindowsCompiler.Clang from a .target.cs file, or set <WindowsPlatform><Compiler>Clang</Compiler></WindowsPlatform> from BuildConfiguration.xml. To pick a specific toolchain version, set WindowsPlatform.CompilerVersion. * Clang is now supported through AutoSDKs; will be added to CIS. * The Samples/Sandbox/Clang project forces Clang to be used from its target.cs file, and allows easily building all editor modules and plugins with Clang on Windows. * UnrealMathSSE intrinsics have been re-enabled for Clang due to missing functions from the UnrealMathFPU implementation, but causes failure in tests at startup. * SSE4_CRC32() is disabled in D3D12Pipelinestate.cpp, since intrinsics are only allowed if enabled for the whole target (rather than being used in specific functions due to runtime checks) Change 4157389 by Ben.Marsh Few more fixes for compiling the editor with Clang. Change 4183911 by Ben.Marsh Fixes to support incremental linking on Windows. Does not seem to have any net benefit right now; may improve once minimal rebuild is enabled. * Incremental linking no longer forces PDB files to be enabled for source files. * Actions can specify specific files to be deleted before each build. Code to forcibly delete PDB files has been moved to the MSVC toolchain. * Unused libraries produced by the cross-referenced link are no longer added as build products, since (a) deleting them breaks dependency checking for incremental linking and causes a full link, and (b) not deleting them breaks UBT dependency checking and causes actions to be run over and over again. * Icon update is disabled for Windows when incremental linking is enabled. * Removed rarely-used setting to always delete produced items before each build. Change 4184311 by Ben.Marsh UGS: Added a dialog which shows all the required platform SDKs for a branch, linked from the status panel in UGS. The llist is configured via the UGS config file submitted to Engine/Programs/UnrealGameSync/UnrealGameSync.ini (and may be overridden by the project config file if necessary): [Default] ; Set this to a network share which contains the SDK installers for your site SdkInstallerDir= ; All the required SDKs for the current version of the engine +SdkInfo=(Category="Android", Description="NDK r21", Browse="$(SdkInstallerDir)\\Android") +SdkInfo=(Category="Windows", Description="Visual Studio 2017") +SdkInfo=(Category="Windows", Description="Visual C++ Toolchain 14.13.26128") +SdkInfo=(Category="Windows", Description="Windows SDK 10.0.16299.0") Similar entries for console platforms are added in console subdirectories. Each entry may contain an Install="Foo.exe" and/or Browse="C:\Foo" style attribute, specifying the path to an installer to run or directory to open in explorer respectively. The SdkInstallerDir setting is used as a base directory for the default installers, seen above for Android. Licensees may override this with a network path specific to the site that UGS is being deployed to (either in this file, in a project specific config file, or in a Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini file). Change 4200452 by Ben.Marsh UBT: Change DebugGame configurations to output a separate executable rather than requiring a -Debug argument at runtime. Previous behavior was a common source of errors. Engine modules are still shared between Development and DebugGame, but the launch module sets a flag in Core on startup indicating the game configuration. Change 4206189 by Ben.Marsh UBT: Simplify logic for precompiling binaries. * Target no longer has separate list of "precompile only" binaries or modules. New -AllModules option allows adding every module to a target, which can be used with -Precompile and -NoLink to precompile object files for monolithic builds. * Precompiled file lists have been removed from target receipts. * The manifest now includes all generated headers and precompiled files when run with the -Precompile option. * Separate -DependencyList=Foo.txt has been added to write a list of all dependencies required to use precompiled binaries. This file list can be read using the <Tag> task in buildgraph. Change 4215466 by Ben.Marsh UBT: Remove indirect calls to determine extensions for object files and precompiled headers. The toolchain knows the correct convention for the platform. Change 4215975 by Ben.Marsh UBT: Remove telemetry code. This has never proved useful for analyzing performance due to the number of incidental factors that affect build times (eg. number of files being compiled). Change 4220154 by Ben.Marsh Move text-only implementations of FOutputDeviceError back into Core, so we can build command-line applications that don't depend on ApplicationCore. Change 4224708 by Ben.Marsh Add a bCompileAgainstApplicationCore setting to the target rules, which allows compiling out references to the ApplicationCore module (which should only be necessary for applications with a GUI). Removed ApplicationCore from several engine tools and utilities. Change 4224958 by Ben.Marsh Remove CoreMinimal.h includes from Core. Change 4229059 by Ben.Marsh UBT: Remove the UEBuildPlatform.ShouldNotBuildEditor() hook for target platforms. We shouldn't be modifying a target's build environment to disable the editor; it is invalid to build the editor for these target platforms at all, and this is already enforced by the GetSupportedPlatforms() function. Change 4230508 by Ben.Marsh Fixup precompiled header setting for samples and games. Change 4231457 by Ben.Marsh Fix exceptions in log messages having trailing newlines. Change 4232406 by Ben.Marsh UBT: Always force include a PCH for generated code if there's one set; the code may depend on it to compile. Change 4234177 by Ben.Marsh Set up private PCH files everywhere that previously used them. Change 4235973 by Ben.Marsh Change FPlatformMisc::GetEnvironmentVariable() to return an FString() rather than requiring a fixed size buffer to be passed in. Removes references to MAX_PATH. Change 4238842 by Ben.Marsh Add support for paths longer than MAX_PATH in the editor. Requires Windows 10 version 1607, and the functionality to be enabled via a registry key or group policy (see https://docs.microsoft.com/en-us/windows/desktop/FileIO/naming-a-file). Only a subset of Win32 functions support long paths (executables can only be started from paths shorter than MAX_PATH, for example). * Added a FPlatformMisc::GetMaxPathLength() function to return the maximum length of a path on the current system. On Windows, this returns a different value for systems with long paths enabled to those without. * The MAX_PATH define is no longer set by non-Windows platforms. Instead, there is a MAC_MAX_PATH, UNIX_MAX_PATH, etc... for any platform-specific code that still relies on the previous macro. * The MAX_UNREAL_FILENAME_LENGTH macro has been renamed to MAX_UNREAL_FILENAME_LENGTH_DEPRECATED * The PLATFORM_MAX_FILEPATH_LENGTH macro has been renamed to PLATFORM_MAX_FILEPATH_LENGTH_DEPRECATED. * Removed custom resource files for programs, since they are just copies of the base UE4 one (which is used by default anyway). The base UE4 manifest declares support for long paths. * Fix 512 character maximum length on editor commands. 260 character limit remains in place for cooking at the moment (see ContentBrowserUtils.h), until C# staging code supports long paths. Change 4255042 by Ben.Marsh UBT: Remote compilation now uploads the entire workspace to the remote Mac and executes a separate remote instance of UBT rather than synchronizing individual actions. This makes the remote compile codepath much simpler, and removes a lot of special cases that exist to support it previously. The list of files to be transferred to the remote are listed as rsync filter rules in Engine/Build/Rsync/RsyncEngine.txt and RsyncProject.txt, which are applied to the root engine directory and project directory respectively. Projects that need to customize which files are uploaded can add their own <ProjectDir>/Build/Rsync/RsyncProject.txt file, which will be included in the filter before the default version. Change 4260567 by Ben.Marsh UAT: Rename CommandUtils.Log to CommandUtils.LogInformation, to avoid conflicts with the underlying Tools.DotNETCommon.Log class. #rb none [CL 4285673 by Ben Marsh in Main branch]
2018-08-14 18:32:34 -04:00
RestrictedFolderNames.Remove(StageTargetPlatform.IniPlatformType.ToString());
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3494741 by Steve.Robb Generated code size savings. #jira UE-43048 Change 3495484 by Steve.Robb Fix for generated indices of static arrays when saving configs. Change 3497926 by Robert.Manuszewski Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything. Change 3498077 by Robert.Manuszewski Only use the recursion guard in async loading code when the event driven loader is enabled. Change 3498112 by Ben.Marsh UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own. Change 3500239 by Robert.Manuszewski Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes. Change 3500395 by Steve.Robb Extra codegen savings when not in hot reload. Change 3501004 by Steve.Robb EObjectFlags now have constexpr operators. Change 3502079 by Ben.Marsh UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary. Change 3502527 by Steve.Robb Fix for zero-sized array compile error in generated code when all functions are editor-only. Change 3502542 by Ben.Marsh UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead. Change 3502868 by Steve.Robb Workaround for inefficient generated code with stateless lambdas on Clang. Change 3503550 by Steve.Robb Another generated code lambda optimization. Change 3503582 by Ben.Marsh BuildGraph: Add support for nullable parameter types. Change 3504424 by Steve.Robb New AllOf, AnyOf and NoneOf algorithms. Change 3504712 by Ben.Marsh UAT: Less spammy log and error output from UAT. * Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception). * Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information. * AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log) * Name of the calling function is not included in console output by default, but still included in the log. Change 3504808 by Ben.Marsh UAT: Suppress P4 output when running a recursive instance of UAT. Change 3505044 by Steve.Robb Code generation improved for TCppClassType code. Change 3505485 by Ben.Marsh Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module. Change 3505699 by Ben.Marsh Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins. Change 3506055 by Ben.Marsh UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output. Change 3507745 by Robert.Manuszewski Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses). Change 3507911 by Ben.Marsh Plugins: Minor changes to plugin descriptors. * Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors. * Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from. Change 3508669 by Ben.Marsh EC: Parse multi-line messages from UBT and UAT. Change 3508691 by Ben.Marsh Fix double-spacing of cook stats. Change 3509245 by Steve.Robb UHT makefiles removed. Flag audit removed. Change 3509275 by Steve.Robb Fix for mismatched stat categories in AudioMixer. #jira UE-46129 Change 3509289 by Robert.Manuszewski Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably. Change 3509294 by Robert.Manuszewski UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it. Change 3509312 by Steve.Robb GitHub# 3679: Add TArray constructor that takes a raw pointer and a count Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too. #jira UE-46136 Change 3509396 by Steve.Robb GitHub# 3676: Fix TUnion operator<< compile error #jira UE-46099 Change 3509633 by Steve.Robb Fix for line numbers on multiline macros. Change 3509938 by Gil.Gribb UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading. Change 3510593 by Daniel.Lamb Fixed up unsoilicited files getting populated with files which aren't finished being created yet. #test None Change 3510594 by Daniel.Lamb Fixed up temp files directory for patching. Thanks David Yerkess @ Milestone #review@Ben.Marsh Change 3511628 by Ben.Marsh PR #3707: Fixed UBT stack size (Contributed by gildor2) Change 3511808 by Ben.Marsh Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git) #jira UE-46540 Change 3512017 by Ben.Marsh Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface. Change 3513935 by Steve.Robb Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477. Change 3514142 by Steve.Robb MemoryProfiler2 added to generated solution. Change 3516463 by Ben.Marsh Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user. Change 3517860 by Ben.Marsh PR #3727: FString Dereference Fixes (Contributed by jovisgCL) Change 3517967 by Ben.Marsh Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line. Change 3518070 by Steve.Robb Disable Binned2 stats in shipping non-editor builds. Change 3520079 by Steve.Robb Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions. #jira UE-24034 Change 3520080 by Robert.Manuszewski Made max package summary size to be configurable with ini setting Change 3520083 by Steve.Robb Force a GC after hot reload to clean up reinstanced objects which may still tick. #jira UE-40421 Change 3520480 by Robert.Manuszewski Improved assert message when the initial package read request was too small. Change 3520590 by Graeme.Thornton SignedArchiveReader optimizations - Loads more stats - Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader - Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time - Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries Change 3521023 by Graeme.Thornton Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing Change 3521787 by Ben.Marsh PR #3736: Small static code analysis fixes (Contributed by jovisgCL) Change 3521789 by Ben.Marsh PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar) Change 3524721 by Ben.Marsh Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core. Change 3524741 by Ben.Marsh Move PumpMessages() into FPlatformApplicationMisc. Change 3525399 by Ben.Marsh UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment. Change 3525743 by Ben.Marsh UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds. Change 3525746 by Ben.Marsh EC: Include the clobber option on new workspaces, to allow overriding version files when syncing. Change 3526453 by Ben.Marsh UGS: Do not generate project files when syncing precompiled binaries. Change 3527045 by Ben.Marsh Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting. Change 3527420 by Ben.Marsh UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing). Config files are now read from: Engine/Programs/UnrealGameSync/UnrealGameSync.ini Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini If a project is selected: <ProjectDir>/Build/UnrealGameSync.ini <ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini If the .uprojectdirs file is selected: Engine/Programs/UnrealGameSync/DefaultProject.ini Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini Change 3528063 by Ben.Marsh Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse. Change 3528415 by Ben.Marsh UAT: Remove \r characters from the end of multiline log messages. Change 3528427 by Ben.Marsh EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent. Change 3528485 by Ben.Marsh EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places. Change 3528505 by Steve.Robb PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL) #jira UE-46819 Change 3528772 by Robert.Manuszewski Enabling actor and blueprint clustering in ShooterGame Change 3528786 by Robert.Manuszewski PR #3760: Fix typo (Contributed by jesseyeh) Change 3528792 by Steve.Robb PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL) #jira UE-46962 Change 3528941 by Robert.Manuszewski Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object. #jira UE-44996 Change 3530241 by Ben.Marsh UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value. Change 3531377 by Ben.Marsh Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it. This has several advantages over the per-module platform whitelist/blacklist: * Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore. * References to dependent plugins from platform-specific plugins can now be eliminated. * Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly). * The editor can load any plugins without having to whitelist supported editor host platforms. UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime. Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary. Change 3531502 by Jin.Zhang Add support for GPUCrash #rb Change 3531664 by Ben.Marsh UBT: Change output format from C# JSON writer to match output by the engine. Change 3531848 by Ben.Marsh UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable. Change 3531869 by Ben.Marsh UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field. Change 3532474 by Ben.Marsh UBT: Use the same mechanism as UAT for logging exceptions. Change 3532734 by Graeme.Thornton Initial VSCode Support - Tasks generated for building all game/engine/program targets - Debugging support for targets on Win64 Change 3532789 by Steve.Robb FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap. Set_Add and Map_Add no longer have a return value. FScriptSet::Find and FScriptMap::Find functions are now FindIndex. FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash. Change 3532845 by Steve.Robb Obsolete UHT settings deleted. Change 3532875 by Graeme.Thornton VSCode - Add debug targets for different target configurations - Choose between VS debugger (windows) and GDB (mac/linux) Change 3532906 by Graeme.Thornton VSCode - Point all builds directly at UBT rather than the batch files - Adjust mac build tasks to run through mono Change 3532924 by Ben.Marsh UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root. Change 3535234 by Graeme.Thornton VSCode - Pass intellisense system a list of paths to use for header resolution Change 3535247 by Graeme.Thornton UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation Change 3535376 by Graeme.Thornton VSCode - Added build jobs for C# projects - Linked launch tasks to relevant build task Change 3537083 by Ben.Marsh EC: Change P4 swarm links to start at the changelist for a build. Change 3537368 by Graeme.Thornton Fix for crash in FSignedArchiveReader when multithreading is disabled Change 3537550 by Graeme.Thornton Fixed a crash in the taskgraph when running single threaded Change 3537922 by Steve.Robb Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT. Change 3539691 by Graeme.Thornton VSCode - Various updates to get PC and Mac C++ projects building and debugging. - Some other changes to C# setup to allow compilation. Debugging doesn't work. Change 3539775 by Ben.Marsh Plugins: Various fixes to settings for enabling plugins. * Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled). * Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed. * Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them. Change 3540788 by Ben.Marsh UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile). Example usage: public class UnrealPakTarget : TargetRules { public UnrealPakTarget(TargetInfo Target) : base(Target) { Type = TargetType.Program; LinkType = TargetLinkType.Monolithic; LaunchModuleName = "UnrealPak"; if(HostPlatform == UnrealTargetPlatform.Win64) { PreBuildSteps.Add("echo Before building:"); PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); PostBuildSteps.Add("echo After building!"); PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); } } } Change 3541664 by Graeme.Thornton VSCode - Add problemMatcher tag to cpp build targets Change 3541732 by Graeme.Thornton VSCode - Change UBT command line switch to "-vscode" for simplicity Change 3541967 by Graeme.Thornton VSCode - Fixes for Mac/Linux build steps Change 3541968 by Ben.Marsh CRP: Pass through the EnabledPlugins element in crash context XML files. #jira UE-46912 Change 3542519 by Ben.Marsh UBT: Add chain of references to error messages when configuring plugins. Change 3542523 by Ben.Marsh UBT: Add more useful error message when attempt to parse a JSON object fails. Change 3542658 by Ben.Marsh UBT: Include a chain of references when reporting errors instantiating modules. Change 3543432 by Ben.Marsh Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set. Change 3543436 by Ben.Marsh UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails. Change 3543536 by Ben.Marsh UBT: Downgrade message about redundant plugin references to a warning. Change 3543871 by Gil.Gribb UE4 - Fixed a critical crash bug with non-EDL loading from pak files. Change 3543924 by Robert.Manuszewski Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes. +Small optimization to token stream generation code. Change 3544469 by Jin.Zhang Crashes page displays the list of plugins from the crash context #rb Change 3544608 by Steve.Robb Fix for nativized generated code. #jira UE-47452 Change 3544612 by Ben.Marsh Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages(). #jira UE-47449 Change 3545954 by Gil.Gribb Fixed a critical crash bug relating to a race condition in async package summary reading. Change 3545968 by Ben.Marsh UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same. #jira UE-47419 Change 3545976 by Ben.Marsh EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch. Change 3546185 by Ben.Marsh Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped. Change 3547084 by Gil.Gribb Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms. Change 3547968 by Gil.Gribb Fixed critical race which potentially could cause a crash in the pak precacher. Change 3504722 by Ben.Marsh BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run. For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as: ERROR: Unable to write to foo.txt while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" /> at Engine\Build\InstalledEngineBuild.xml(91) (see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace) Change 3512255 by Ben.Marsh Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated. Change 3512332 by Ben.Marsh Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4. Change 3512393 by Ben.Marsh Rename FPaths::GameLogDir() to FPaths::ProjectLogDir(). Change 3513452 by Ben.Marsh Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project. Change 3516262 by Ben.Marsh Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor. * Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod. * The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders). Change 3517565 by Ben.Marsh Remove fixed engine version numbers from OSS plugins. Change 3518005 by Ben.Marsh UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false. Change 3518054 by Ben.Marsh UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard. Change 3524496 by Ben.Marsh Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core. Change 3524641 by Ben.Marsh Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc. Change 3528723 by Steve.Robb MoveTemp now static asserts if passed a const reference or rvalue. MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious. Fixes to violations of these new rules. Change 3528876 by Ben.Marsh Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste. Change 3529073 by Ben.Marsh Add script to package ShooterGame for any platforms. Change 3531493 by Ben.Marsh Update platform-specific plugins to declare the target platforms they support. Change 3531611 by Ben.Marsh UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates. Change 3531868 by Ben.Marsh Resaving project descriptors to remove invalid fields. Change 3531983 by Ben.Marsh UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders. * Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer. * Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type) * Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo")) * An error is output if any restricted folder names other than the output platform are in the staged output. Change 3540315 by Ben.Marsh UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers. Change 3542410 by Ben.Marsh UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already. Change 3543018 by Ben.Marsh UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions. Change 3544371 by Steve.Robb Fixes to TSet_Add and TMap_Add BPs. #jira UE-47441 [CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
// Read the game config files
ConfigHierarchy GameConfig = ConfigCache.ReadHierarchy(ConfigHierarchyType.Game, ProjectRoot, InTargetPlatform.PlatformType, CustomConfig);
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3494741 by Steve.Robb Generated code size savings. #jira UE-43048 Change 3495484 by Steve.Robb Fix for generated indices of static arrays when saving configs. Change 3497926 by Robert.Manuszewski Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything. Change 3498077 by Robert.Manuszewski Only use the recursion guard in async loading code when the event driven loader is enabled. Change 3498112 by Ben.Marsh UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own. Change 3500239 by Robert.Manuszewski Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes. Change 3500395 by Steve.Robb Extra codegen savings when not in hot reload. Change 3501004 by Steve.Robb EObjectFlags now have constexpr operators. Change 3502079 by Ben.Marsh UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary. Change 3502527 by Steve.Robb Fix for zero-sized array compile error in generated code when all functions are editor-only. Change 3502542 by Ben.Marsh UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead. Change 3502868 by Steve.Robb Workaround for inefficient generated code with stateless lambdas on Clang. Change 3503550 by Steve.Robb Another generated code lambda optimization. Change 3503582 by Ben.Marsh BuildGraph: Add support for nullable parameter types. Change 3504424 by Steve.Robb New AllOf, AnyOf and NoneOf algorithms. Change 3504712 by Ben.Marsh UAT: Less spammy log and error output from UAT. * Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception). * Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information. * AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log) * Name of the calling function is not included in console output by default, but still included in the log. Change 3504808 by Ben.Marsh UAT: Suppress P4 output when running a recursive instance of UAT. Change 3505044 by Steve.Robb Code generation improved for TCppClassType code. Change 3505485 by Ben.Marsh Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module. Change 3505699 by Ben.Marsh Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins. Change 3506055 by Ben.Marsh UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output. Change 3507745 by Robert.Manuszewski Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses). Change 3507911 by Ben.Marsh Plugins: Minor changes to plugin descriptors. * Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors. * Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from. Change 3508669 by Ben.Marsh EC: Parse multi-line messages from UBT and UAT. Change 3508691 by Ben.Marsh Fix double-spacing of cook stats. Change 3509245 by Steve.Robb UHT makefiles removed. Flag audit removed. Change 3509275 by Steve.Robb Fix for mismatched stat categories in AudioMixer. #jira UE-46129 Change 3509289 by Robert.Manuszewski Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably. Change 3509294 by Robert.Manuszewski UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it. Change 3509312 by Steve.Robb GitHub# 3679: Add TArray constructor that takes a raw pointer and a count Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too. #jira UE-46136 Change 3509396 by Steve.Robb GitHub# 3676: Fix TUnion operator<< compile error #jira UE-46099 Change 3509633 by Steve.Robb Fix for line numbers on multiline macros. Change 3509938 by Gil.Gribb UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading. Change 3510593 by Daniel.Lamb Fixed up unsoilicited files getting populated with files which aren't finished being created yet. #test None Change 3510594 by Daniel.Lamb Fixed up temp files directory for patching. Thanks David Yerkess @ Milestone #review@Ben.Marsh Change 3511628 by Ben.Marsh PR #3707: Fixed UBT stack size (Contributed by gildor2) Change 3511808 by Ben.Marsh Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git) #jira UE-46540 Change 3512017 by Ben.Marsh Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface. Change 3513935 by Steve.Robb Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477. Change 3514142 by Steve.Robb MemoryProfiler2 added to generated solution. Change 3516463 by Ben.Marsh Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user. Change 3517860 by Ben.Marsh PR #3727: FString Dereference Fixes (Contributed by jovisgCL) Change 3517967 by Ben.Marsh Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line. Change 3518070 by Steve.Robb Disable Binned2 stats in shipping non-editor builds. Change 3520079 by Steve.Robb Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions. #jira UE-24034 Change 3520080 by Robert.Manuszewski Made max package summary size to be configurable with ini setting Change 3520083 by Steve.Robb Force a GC after hot reload to clean up reinstanced objects which may still tick. #jira UE-40421 Change 3520480 by Robert.Manuszewski Improved assert message when the initial package read request was too small. Change 3520590 by Graeme.Thornton SignedArchiveReader optimizations - Loads more stats - Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader - Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time - Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries Change 3521023 by Graeme.Thornton Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing Change 3521787 by Ben.Marsh PR #3736: Small static code analysis fixes (Contributed by jovisgCL) Change 3521789 by Ben.Marsh PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar) Change 3524721 by Ben.Marsh Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core. Change 3524741 by Ben.Marsh Move PumpMessages() into FPlatformApplicationMisc. Change 3525399 by Ben.Marsh UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment. Change 3525743 by Ben.Marsh UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds. Change 3525746 by Ben.Marsh EC: Include the clobber option on new workspaces, to allow overriding version files when syncing. Change 3526453 by Ben.Marsh UGS: Do not generate project files when syncing precompiled binaries. Change 3527045 by Ben.Marsh Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting. Change 3527420 by Ben.Marsh UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing). Config files are now read from: Engine/Programs/UnrealGameSync/UnrealGameSync.ini Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini If a project is selected: <ProjectDir>/Build/UnrealGameSync.ini <ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini If the .uprojectdirs file is selected: Engine/Programs/UnrealGameSync/DefaultProject.ini Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini Change 3528063 by Ben.Marsh Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse. Change 3528415 by Ben.Marsh UAT: Remove \r characters from the end of multiline log messages. Change 3528427 by Ben.Marsh EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent. Change 3528485 by Ben.Marsh EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places. Change 3528505 by Steve.Robb PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL) #jira UE-46819 Change 3528772 by Robert.Manuszewski Enabling actor and blueprint clustering in ShooterGame Change 3528786 by Robert.Manuszewski PR #3760: Fix typo (Contributed by jesseyeh) Change 3528792 by Steve.Robb PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL) #jira UE-46962 Change 3528941 by Robert.Manuszewski Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object. #jira UE-44996 Change 3530241 by Ben.Marsh UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value. Change 3531377 by Ben.Marsh Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it. This has several advantages over the per-module platform whitelist/blacklist: * Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore. * References to dependent plugins from platform-specific plugins can now be eliminated. * Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly). * The editor can load any plugins without having to whitelist supported editor host platforms. UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime. Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary. Change 3531502 by Jin.Zhang Add support for GPUCrash #rb Change 3531664 by Ben.Marsh UBT: Change output format from C# JSON writer to match output by the engine. Change 3531848 by Ben.Marsh UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable. Change 3531869 by Ben.Marsh UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field. Change 3532474 by Ben.Marsh UBT: Use the same mechanism as UAT for logging exceptions. Change 3532734 by Graeme.Thornton Initial VSCode Support - Tasks generated for building all game/engine/program targets - Debugging support for targets on Win64 Change 3532789 by Steve.Robb FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap. Set_Add and Map_Add no longer have a return value. FScriptSet::Find and FScriptMap::Find functions are now FindIndex. FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash. Change 3532845 by Steve.Robb Obsolete UHT settings deleted. Change 3532875 by Graeme.Thornton VSCode - Add debug targets for different target configurations - Choose between VS debugger (windows) and GDB (mac/linux) Change 3532906 by Graeme.Thornton VSCode - Point all builds directly at UBT rather than the batch files - Adjust mac build tasks to run through mono Change 3532924 by Ben.Marsh UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root. Change 3535234 by Graeme.Thornton VSCode - Pass intellisense system a list of paths to use for header resolution Change 3535247 by Graeme.Thornton UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation Change 3535376 by Graeme.Thornton VSCode - Added build jobs for C# projects - Linked launch tasks to relevant build task Change 3537083 by Ben.Marsh EC: Change P4 swarm links to start at the changelist for a build. Change 3537368 by Graeme.Thornton Fix for crash in FSignedArchiveReader when multithreading is disabled Change 3537550 by Graeme.Thornton Fixed a crash in the taskgraph when running single threaded Change 3537922 by Steve.Robb Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT. Change 3539691 by Graeme.Thornton VSCode - Various updates to get PC and Mac C++ projects building and debugging. - Some other changes to C# setup to allow compilation. Debugging doesn't work. Change 3539775 by Ben.Marsh Plugins: Various fixes to settings for enabling plugins. * Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled). * Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed. * Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them. Change 3540788 by Ben.Marsh UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile). Example usage: public class UnrealPakTarget : TargetRules { public UnrealPakTarget(TargetInfo Target) : base(Target) { Type = TargetType.Program; LinkType = TargetLinkType.Monolithic; LaunchModuleName = "UnrealPak"; if(HostPlatform == UnrealTargetPlatform.Win64) { PreBuildSteps.Add("echo Before building:"); PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); PostBuildSteps.Add("echo After building!"); PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); } } } Change 3541664 by Graeme.Thornton VSCode - Add problemMatcher tag to cpp build targets Change 3541732 by Graeme.Thornton VSCode - Change UBT command line switch to "-vscode" for simplicity Change 3541967 by Graeme.Thornton VSCode - Fixes for Mac/Linux build steps Change 3541968 by Ben.Marsh CRP: Pass through the EnabledPlugins element in crash context XML files. #jira UE-46912 Change 3542519 by Ben.Marsh UBT: Add chain of references to error messages when configuring plugins. Change 3542523 by Ben.Marsh UBT: Add more useful error message when attempt to parse a JSON object fails. Change 3542658 by Ben.Marsh UBT: Include a chain of references when reporting errors instantiating modules. Change 3543432 by Ben.Marsh Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set. Change 3543436 by Ben.Marsh UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails. Change 3543536 by Ben.Marsh UBT: Downgrade message about redundant plugin references to a warning. Change 3543871 by Gil.Gribb UE4 - Fixed a critical crash bug with non-EDL loading from pak files. Change 3543924 by Robert.Manuszewski Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes. +Small optimization to token stream generation code. Change 3544469 by Jin.Zhang Crashes page displays the list of plugins from the crash context #rb Change 3544608 by Steve.Robb Fix for nativized generated code. #jira UE-47452 Change 3544612 by Ben.Marsh Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages(). #jira UE-47449 Change 3545954 by Gil.Gribb Fixed a critical crash bug relating to a race condition in async package summary reading. Change 3545968 by Ben.Marsh UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same. #jira UE-47419 Change 3545976 by Ben.Marsh EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch. Change 3546185 by Ben.Marsh Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped. Change 3547084 by Gil.Gribb Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms. Change 3547968 by Gil.Gribb Fixed critical race which potentially could cause a crash in the pak precacher. Change 3504722 by Ben.Marsh BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run. For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as: ERROR: Unable to write to foo.txt while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" /> at Engine\Build\InstalledEngineBuild.xml(91) (see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace) Change 3512255 by Ben.Marsh Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated. Change 3512332 by Ben.Marsh Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4. Change 3512393 by Ben.Marsh Rename FPaths::GameLogDir() to FPaths::ProjectLogDir(). Change 3513452 by Ben.Marsh Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project. Change 3516262 by Ben.Marsh Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor. * Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod. * The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders). Change 3517565 by Ben.Marsh Remove fixed engine version numbers from OSS plugins. Change 3518005 by Ben.Marsh UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false. Change 3518054 by Ben.Marsh UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard. Change 3524496 by Ben.Marsh Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core. Change 3524641 by Ben.Marsh Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc. Change 3528723 by Steve.Robb MoveTemp now static asserts if passed a const reference or rvalue. MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious. Fixes to violations of these new rules. Change 3528876 by Ben.Marsh Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste. Change 3529073 by Ben.Marsh Add script to package ShooterGame for any platforms. Change 3531493 by Ben.Marsh Update platform-specific plugins to declare the target platforms they support. Change 3531611 by Ben.Marsh UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates. Change 3531868 by Ben.Marsh Resaving project descriptors to remove invalid fields. Change 3531983 by Ben.Marsh UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders. * Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer. * Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type) * Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo")) * An error is output if any restricted folder names other than the output platform are in the staged output. Change 3540315 by Ben.Marsh UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers. Change 3542410 by Ben.Marsh UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already. Change 3543018 by Ben.Marsh UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions. Change 3544371 by Steve.Robb Fixes to TSet_Add and TMap_Add BPs. #jira UE-47441 [CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
// Read the list of directories to remap when staging
List<string> RemapDirectoriesList;
if (GameConfig.GetArray("Staging", "RemapDirectories", out RemapDirectoriesList))
{
foreach (string RemapDirectory in RemapDirectoriesList)
{
Dictionary<string, string> Properties;
if (!ConfigHierarchy.TryParse(RemapDirectory, out Properties))
{
throw new AutomationException("Unable to parse '{0}'", RemapDirectory);
}
string FromDir;
if (!Properties.TryGetValue("From", out FromDir))
{
throw new AutomationException("Missing 'From' property in '{0}'", RemapDirectory);
}
string ToDir;
if(!Properties.TryGetValue("To", out ToDir))
{
throw new AutomationException("Missing 'To' property in '{0}'", RemapDirectory);
}
RemapDirectories.Add(Tuple.Create(new StagedDirectoryReference(FromDir), new StagedDirectoryReference(ToDir)));
}
}
// Read the list of directories to allow (prevent from warning about from restricted folders)
List<string> DirectoriesAllowListStrings;
if (GameConfig.GetArray("Staging", "WhitelistDirectories", out DirectoriesAllowListStrings))
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 4034418) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3851142 by Robert.Manuszewski When BP clustering is enabled, make sure to add the template to the BP cluster when replacing it. Change 3853797 by Ben.Marsh BuildGraph: Add a <Trace> element, which allows logging messages after the string is parsed (as opposed to the Log task, which logs them at runtime). Useful for debugging macro expansion, etc... Also add a -showdiagnostics parameter, to have diagnostic messages output even when running with the -listonly option. Change 3857540 by Graeme.Thornton Properly process the uexp file for a umap asset when generating a pak patch. Stop those uexp files being included in the patch even when they haven't changed Change 3860062 by Steve.Robb Fix for FString::Reset()'s buffer not being an empty null-terminated string (affects FString::ParseIntoArray, for example). Change 3860138 by Steve.Robb Fix for FString::ParseIntoArray() for when string memory has been allocated but has no characters. Change 3860273 by Steve.Robb Tidy up of FHotReloadClassReinstancer::FCDOWriter to not do stuff in constructors. Change 3863203 by Steve.Robb Crash fix for UObjects whose constructors are defined as = default;, which would re-null the UObject state (ClassPrivate, OuterPrivate etc.). See: https://udn.unrealengine.com/questions/412930/crash-due-to-default-constructor.html Change 3864588 by Graeme.Thornton Crypto Keys Improvements - Removed UAT command line params for encryption. Centrally configured by the editor settings now. - UAT staging now creates a small json file containing the keys and settings used for encryption and signing and stores it in the build metadata - Minor refactoring of UAT encryption processing to use the new cryptokeys json file - UnrealPak can be told to get its encryption settings from a json crypto file with the "-CryptoKeys=<filename>" - UnrealPak can now accept a "PatchCryptoKeys=<filename" parameter which gives it a filename to a cryptokeys json file that it can use to unpack the patch reference paks Change 3864691 by Robert.Manuszewski Don't add objects that are in root set to GC clusters to prevent them from keeping the clusters alive forever. Change 3864744 by Robert.Manuszewski Added the ability to get the actual filename of the log file FOutputDeviceFile writes to. Change 3864816 by Graeme.Thornton TBA: Minor formatting improvements to textasset commandlet Change 3868939 by Graeme.Thornton TBA: If -outputPath isn't supplied to TextAsset commandlet, output converted files to the {ProjectSaved}/TextAssets directory Change 3869031 by Graeme.Thornton TBA: Changed timing logs in TextAsset commandlet to be Display so we can see them in the EC log Change 3871802 by Steve.Robb Class cast flags and property flags are now visible in the debugger. Change 3871863 by Robert.Manuszewski Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage. Change 3874413 by Steve.Robb Algo::MinElement and Algo::MaxElement, for finding the minimum and maximum element in a range, and *By versions which take projections. TRangePointerType moved to its own file and used in Algo::MinElement and Algo::MaxElement. Change 3874457 by Ben.Marsh When spawning child processes, only allow them to inherit the writable ends of the stderr and stdout pipe. Fixes an issue related to AutomationTool hanging when the editor closes after running automation tests. The editor launches ADB.EXE (Android Debug Bridge) on editor startup, which forks itself to initialize a server. Even though the child process has its own stdout and stderr pipes, it also inherits the pipes for the editor. When run from C#, as we do for automation tests, Process.WaitForExit() waits for all pipes to be closed before returning. This can't happen if the forked ADB instance still has a reference to the editor's pipes. Change 3876435 by Robert.Manuszewski Don't add root set objects to level actor container to prevent situations where clusters are kept alive forever Change 3878762 by Robert.Manuszewski Fixing potential LinkerLoad leak when a package that still has a linker associated with it is being destroyed. Change 3878850 by Robert.Manuszewski SerializePreloadDependencies will now serialize raw data into the array instead of serializing one element at a time to speed up serialization performance. Change 3881331 by Graeme.Thornton TBA: SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter Change 3886983 by Ben.Marsh UGS: Fix notification window not expanding to fit long captions. Change 3887006 by Ben.Marsh UGS: Change modal dialog to regular window style to avoid weird alignment issues under Windows 10. Change 3887500 by Ben.Marsh UGS: Add support for grouping build badges by a prefix. Badges such as "Foo:Bar1", "Foo:Bar2" will be grouped together (with "Foo:" stripped from the displayed badge names). Also add a separate column showing the type of each change, rather than including it in the CIS column, and change badges to a more angular Windows 10 style. Change 3887513 by Ben.Marsh UGS: Fix badge text drawing outside the clipping bounds. Change 3888010 by Josh.Engebretson Fix UVS logging to UnrealVersionSelector/Saved/Logs and instead use project's log path #jira none Change 3888418 by Ben.Marsh UGS: Add a cache for computed badge layout information. Improves responsiveness when redrawing. Change 3889457 by Steve.Robb GitHub #4457 : Display abbreviations properly when converting FNames to display string #jira UE-54611 Change 3889547 by Ben.Marsh UGS: Add an extensible method for adding arbitrary badges to the right of the "description" column, by running a regular expression over the changelist description. Epic uses a "#tag" style annotations in changelist descriptions and Perforce triggers to verify them. "#jira" is used to link a changelist to an issue tracked in Jira, for example. A matcher to add a badge next to every changelist with a #jira tag, and link to the corresponding issue in Jira, could be set up with an addition to the project's Build/UnrealGameSync.ini file like this: [Badges] +DescriptionBadges=(Pattern="(?i)#\\s*jira\\s*:?\\s+([A-Za-z]+-[0-9]+)", Name="$1", Group="Jira", Color="#c0c0c0", HoverColor="#e0e0e0", Url="https://jira.it.epicgames.net/browse/$1") The "Pattern" attribute specifies the regex to match, and may capture portions of the matched text to be substituted later. "Label" specifies the label to appear on the badge. "Group" specifies an arbitrary identifier used to group related badges together rather than separating them with whitespace. "Color" and "HoverColor" specify hex RGB colors for the badges. "Url" specifies the path to open with a C# Process.Open call if the badge is clicked. Change 3889726 by Ben.Marsh UGS: Fix description badges that don't have any associated URL. Change 3889995 by Ben.Marsh UGS: Fix issue where popup menus can create top level windows in the taskbar. Seemlingly caused by capturing mouse before the window has been activated - removed capture code, and replaced with handling of OnMouseLeave() event instead. Change 3890007 by Ben.Marsh UGS: Add a caption underneath the project logo which shows the current stream, to make it more obvious. Change 3890057 by Ben.Marsh UGS: Fix repainting glitch when resizing window; bounds for status panel lines was not being reset correctly. Change 3891069 by Robert.Manuszewski Fixing a crash in MallocBinned2 when running with malloc profiler enabled. Change 3891084 by Steve.Robb Back out changelist 3881331 because it's causing cook errors. Change 3891100 by Ben.Marsh UGS: Add support for a per-branch "message of the day"-style feature. Messages can be specified in a project's config file in Perforce (eg. <ProjectDir>/Build/UnrealGameSync.ini) as follows: [//UE4/Main/Samples/Games/ShooterGame.uproject] Message=:alert: Lockdown for fixes is **5pm on Friday**. Only fixes for the 2.0 release should be submitted to this branch. [34 issues](https://jira.it.epicgames.net) are remaining as of 2/15. A limited subset of Markdown is supported: [web links](http://www.google.com), *italic*, _italic_, **bold**, __bold__. Icons will be supported through :icon: syntax; the only icon currently available is :alert: Change 3891346 by Steve.Robb TSharedPtr::operator bool, and some usage of it. Change 3891787 by Steve.Robb Fix for buffer overflow in FDebug::LogFormattedMessageWithCallstack(). Change 3892379 by Ben.Marsh UGS: Fix notification window containing the group fix for each build type. Change 3892400 by Ben.Marsh UGS: Shrink the size of the alert panel. Change 3892496 by Ben.Marsh UGS: Dim badges for changes which aren't eligable for syncing. Change 3893932 by Steve.Robb Re-removal of SetShouldHandleAsWeakRef, which was originally removed in CL# 3437205. Change 3895872 by Ben.Marsh UGS: Show the stream name in tab labels by default. Change 3896366 by Ben.Marsh UGS: Automatically resize columns when the main window is resized, and allow specifying desired column widths for projects that have a large number of CIS badges. Columns are now resized proportionally, clamped to a minimum size. Columns will automatically expand up to a desired maximum size, though can be explicitly resized larger if necessary. Columns will not be resized if they are already larger than the window can show, or smaller than the window has space to show. Change 3896367 by Ben.Marsh UGS: UI tweaks - change and time columns are now centered, "Unknown" badge is displayed until a change's type has been determined, increase height of status panel. Change 3896425 by Ben.Marsh UGS: Speculative fix for race condition on clients displaying "under investigation" state. If the DB event is received before a change where an investigation is cancelled is polled from Perforce, we will exclude the resolve event from the list of active investigations. Change 3896461 by Ben.Marsh UGS: Add an option to allow setting a tint color to be applied to the status panel, to allow identifying streams more easily. To use, add a setting similar to the following to a project's Build/UnrealGameSync.ini file: [//UE4/Main/Samples/Games/ShooterGame/ShooterGame.uproject] StatusPanelColor=#dcdcf0 Change 3899530 by Ben.Marsh Add unified syntax for overriding branch specific settings. Checks branch settings first, then [Default] section. Change 3901164 by Ben.Marsh UGS: Add a class to store all the resources for the status panel. Change 3901165 by Graeme.Thornton TBA: Attempt #2 at submitting the text asset saving code. SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter. Minimal amount of structured archive serialization functions added to allow this data to be written Change 3901301 by Ben.Marsh UGS: Add support for reading the latest version of the project config file from Perforce. Some settings should be read depending on the CL you are synced to (eg. build steps), whereas others (MOTD, branch status) should always use the latest version. Will read the local version if checked out, to allow testing local changes. Change 3902454 by Ben.Marsh UGS: Fix logo not being redrawn in the correct position when starting to sync. Change 3903416 by Ben.Marsh UGS: Group badges explicitly through INI file rather than by expecting name to contain ':'. Change 3904154 by Josh.Engebretson Adding Breakpad to ThirdParty sources (Git Commit: 49907e1c3457570f56d959ae26dec6c3a5edd417 https://chromium.googlesource.com/breakpad/breakpad) #jira UE-55442 Change 3904648 by Ben.Marsh UGS: Remove files from the workspace that are excluded by the sync filter. The user's config file stores a hash of the last sync filter. During syncing, if this hash doesn not match the previous value, we enumerate all the files in the #have list and remove anything masked out by the filter. #jira UE-47335 Change 3905442 by Steve.Robb Change of the ConvertFromType() multi-bool return value to a more descriptive enum. Some return values here do not make sense - this is because the existing logic is being preserved and will be fixed in a separate change. Change 3905629 by Ben.Marsh UGS: Fix race condition between two child processes starting on different threads, and inheriting the other's intended stdout/stderr pipes. This prevents pipes being closed when one of the child processes shuts down, and causes waits on the read ends of those pipes to continue indefinitely. Change 3906447 by Steve.Robb Rename EConvertFromTypeResult enumerators. Change 3906574 by Steve.Robb Crash fix for container conversion failure during tagged property import. Change 3909255 by Daniel.Lamb Fixed issue with DLCpackaging crashing on windows #jira UE-42880 #test EngineTest windows Change 3909270 by Steve.Robb Seek instead of skipping bad properties byte-by-byte. Change 3909324 by Steve.Robb Use switch statement instead of repeated if/else. Change 3909525 by Ben.Marsh UGS: Use the StudioEditor target when syncing content-only Enterprise projects. Change 3911754 by Daniel.Lamb Fix for building pak patches. #jira UE-55340 Change 3911942 by Robert.Manuszewski Fixing an ensure when MediaPlayer is being constructed from any thread other than the main one. Change 3913067 by Ben.Marsh UGS: Allow workspace sync filter categories to re-enable categories that are disabled by the global filter. Change 3913209 by Ben.Marsh UGS: Fix incorrect target name when compiling Enterprise projects. Change 3917358 by Steve.Robb Fix for GetLen(FString). Change 3919610 by Ben.Marsh Put data for CrashReportClient in a PAK file of its own (under Engine/Programs/CrashReportClient/Content/Paks/CrashReportClient.pak). There are a large number of small files required for it to run with loose files, which takes a lot of space on disk (due to cluster sizes), and is unweildy to move around. CrashReporter UFS files are tracked in a separate dictionary to regular UFS files to allow construction of the additional PAK file. Change 3921002 by Ben.Marsh UGS: Add option for syncing all projects in a branch. Off by default. Also add support for masking in additional paths to be synced (eg. one or two extra projects). Change 3921008 by Ben.Marsh UGS: Prevent pause waiting for mutual exclusivity when syncing precompiled binaries. We don't need to generate project files or build, so there's no need to wait in line. Change 3921906 by Steve.Robb New interpolation functions for quaternions. https://udn.unrealengine.com/questions/419028/quaternion-interp-to-functions.html Change 3921978 by Graeme.Thornton TBA: Make "Loader" member of FLinkerLoad private to prevent use outside of FLinkerLoad. This archive could be something unexpected if the linker is for a text asset package, so we need to stop people accessing it. Change 3924520 by Graeme.Thornton UnrealPak: Improve encryption summary log messages Change 3924522 by Graeme.Thornton UAT: Add *Encryption.ini to the list of auto-blacklisted config filenames Change 3924604 by Graeme.Thornton UnrealPak: If encryption keys are parsed and fail the encrypt/decrypt test, throw a fatal error. The exectutable will have those same keys embedded so there is no point allowing the paks to be created with broken keys. Change 3924638 by Graeme.Thornton Crypto: Improvements to parsing of old fashioned encryption.ini settings: - AES keys that are too long or short (need to be 32 bytes) will now emit a warning when being parsed, and be truncated or expanded before adding to the crypto settings. - Signing keys will emit an error when they are too long (>64bytes) - Unrealpak will still assert when invalid settings are passed via the other mechanisms (command line or -encryptionini mode). Settings via the crypto json file should now be sanitized and not cause issues #jira UE-55080 Change 3924747 by Steve.Robb Fix for degrees. Change 3925459 by Chad.Garyet Adding check to not to attempt to delete autosdk workspace if it doesn't already exist. Change 3926703 by Ben.Marsh BuildGraph: Include the path to the XML file when displaying an XML parse error. Change 3926917 by Ben.Marsh UBT: Allow overriding the name of the UE4 solution on a branch-specific basis. Useful for switching between multiple UE4 workspaces. Also add support to the editor and UGS for opening the correct solution (determined via a text file saved to Engine/Intermediate/ProjectFiles). Set the solution name using an entry in BuildConfiguration.xml as follows: <ProjectFileGenerator> <MasterProjectName>UE4_Main</MasterProjectName> </ProjectFileGenerator> Change 3927683 by Graeme.Thornton UAT: When building with chunk installs enabled, don't generate the master manifest from each pak creation thread. Just do it once after all pak files have been created. Avoids intermittent crash with multiple threads trying to write the same json file. Change 3928111 by Ben.Marsh UBT: Add an option <bMasterProjectNameFromFolder> which allows setting the solution name based on the folder that it's in. Change 3928926 by Ben.Marsh BuildGraph: Add support for enumerating content copied by the <CsCompile> task. Also add support for invoking methods on string properties. Change 3931041 by Graeme.Thornton TBA: Add option to textasset commandlet to also include engine content in a resave Change 3931043 by Graeme.Thornton TBA: Redirect some more FArchive members in FArchiveProxy Change 3931913 by Ben.Marsh UGS: Do not create a modal dialog if a scheduled sync is unable to run because the editor is open, and do not run the editor after a scheduled sync. #jira UE-47368 Change 3932419 by Ben.Marsh UGS: Allow selecting which projects to sync on schedule. Any projects not already opened at the time the schedule is triggered will be opened first. #jira UE-33541 Change 3932483 by Ben.Marsh PR #3949: UnrealGameSync: Add environment path field to custom BuildStep (Contributed by frankie-dipietro-epic) Change 3932624 by Ben.Marsh UGS: Add an error dialog when trying to clean the workspace before closing the editor. #jira UE-42308 Change 3932679 by Ben.Marsh UGS: Add the date/time to the end of the sync log. #jira UE-33540 Change 3932705 by Ben.Marsh UGS: Prompt to close the editor before allowing the user to enter a changelist to sync to, when syncing to a specific changelist. #jira UE-53182 Change 3933318 by Ben.Marsh UGS: Detect more programs running before allowing a sync to start, show a dialog listing them, and add an option to ignore if necessary. #jira UE-33535, UE-53914 Change 3933840 by Graeme.Thornton TBA: When loading assets, only use structured archive adapters for exports when loading text files. Change 3936040 by Ben.Marsh UGS: Rewrite application lifecycle to fix issues with scheduled syncs on background windows not activating, and window jumping to the front after auto-update. Now uses a custom application context to allow creating separate 'main' windows (first the "opening projects" form, then the regular form), and does not require any forms to be shown in order to be updating in the background. #jira UE-52870 Change 3940230 by Robert.Manuszewski Fixes for FilenameToLongPackageName crashes when runnign commandlets Change 3940240 by Graeme.Thornton Automated cycling of encryption and signing keys Change 3940243 by Graeme.Thornton UAT: CryptoKeys automation script Change 3940321 by Ben.Marsh UGS: Add a "Bisect" mode for regressing bugs between a certain range of changes. To use, select a range of changes by holding down the shift key or individual changes by holidng the control key, then right click and select "Bisect these changes". Individual changes in the list can be marked as "Bisect: Pass" or "Bisect: Fail" from the context menu, and syncing will find the next change in the center of the range. Change 3940538 by Ben.Marsh UBT: Always determine whether a project is a foreign project or not from the valid .uprojectdirs entries, rather than relying on the user passing -game on the command line. Change 3941285 by Gil.Gribb UE4 - Removed PRAGMA_DISABLE_OPTIMIZATION from PlatformFileCommon.h. It was an oversight. #jira none Change 3942404 by Graeme.Thornton Pak Signing: - Unify naming of pak precacher and signedarchivereader signature check functions to make it easier to search for them in crash reporter - Format the signedarchivereader output to match the pak precacher - When signedarchivereader detects a signature check, do the same master signature hash check that the pak precacher does to confirm that the .sig file contents haven't been corrupted since load. - Add PAK_SIGNATURE_CHECK_FAILS_ARE_FATAL guarded exit to signedarchivereader signature failure - Optimization for pakprecacher signature checks. Instead of locking the cached files mutex for every decoded signature, take a local copy in blocks of 16. Only re-lock if we need more. Grab the initial batch when setting up. In most cases, reduces the number of locks to 1 per signature check call. Change 3942825 by Ben.Marsh UAT: Allow passing -Project<N>=Foo.uproject arguments to the MegaXGE commandlet (eg. -Target1="ShooterGame Win64 Development" -Project1="D:\ShooterGame\ShooterGame.uproject") so it can be used from an installed engine build. Change 3942839 by Ben.Marsh UBT: Explicitly query the number of logical processors in the system, to fix Environment.ProcessorCount just returning the number available to the .NET framework. For machines with > 64 cores, processors in a different processor group will not be included in this number. Change 3943153 by Ben.Marsh Use the correct logical processor count in ParallelExecutor. Change 3943210 by Ben.Marsh UGS: Add an option to the editor arguments window that allows prompting before launching the editor. Change 3943329 by Ben.Marsh UGS: Tweak appearance of bisect mode; now shows slightly transparent version of pass/fail icons, and includes remaining CL range in status panel. Change 3944294 by Ben.Marsh UGS: Prompt for confirmation before removing any files from the workspace. Change 3945283 by Ben.Marsh UGS: Add support for project-specific connection settings, and detection of Perforce login tickets expiring. Change 3945325 by Ben.Marsh PR #4558: Changed incorrect obsolete message for ReceiptPropertyList in Modules.cs (Contributed by ryanjon2040) Change 3947359 by Graeme.Thornton TBA: Fixes to loading code to allow bulk data to get a pointer from its loader archive to an archive that it can load from at a later date. For binary archives, this is just a pointer back to the same archive, but for text assets it is a pointer to a "child reader" which maintains its own structured archive that is scoped to the current location in the file. Change 3947360 by Graeme.Thornton TBA: Added RoundTrip mode to text asset commandlet. Performs determinism tests in project assets to see whether they save deterministically to binary and text files, and also when they are ping-ponged between the two formats. Change 3949431 by Graeme.Thornton TBA: Refactored string escaping code in json output formatter FString serializer into a common function which is now used by FName and UObject path serialization too. Fixes some odd cases where an FName contained quotation marks Change 3950843 by Ben.Marsh UBT: Add a better error if an XML config file is corrupt. Change 3952504 by Steve.Robb GitHub #4545 : UE-55924: CaseSensitive token recognition #jira UE-55961 #jira UE-55924 Change 3952707 by Graeme.Thornton Make RandInit(...) log message verbose Change 3954694 by Ben.Marsh BuildGraph: Add support for user-defined macros, which can contain a list of buildgraph commands and be expanded within a node. Example script in Engine/Build/Graph/Examples/Macros.xml. To define a Macro, use the syntax: <Macro Name="MyTestMacro" Arguments="PrintFirstMessage;PrintSecondMessage" OptionalArguments="PrintThirdMessage"> <Log Message="First message" If="$(PrintFirstMessage)"/> <Log Message="Second message" If="$(PrintSecondMessage)"/> <Log Message="Third message" If="'$(PrintThirdMessage)' == 'true'"/> </Macro> To expand a macro, use the syntax: <Expand Name="MyTestMacro" PrintFirstMessage="true" PrintSecondMessage="true"/> An error will be thrown if any required arguments are missing. Optional arguments default to empty if not specified. Tasks within a macro are validated by the schema at the point of definition using the same rules as apply to a <Node> element, but properties are not evaluated until the macro is expanded. This allows macros to get and set properties in scope at the point that it is expanded. Local properties that are introduced within a macro do not otherwise leak to the scope that they are expanded. Change 3954695 by Ben.Marsh PR #4582: Fixed incorrect condition in StagedFileSystemReference.cs (Contributed by moadib) #jira UE-56283 Change 3954961 by Ben.Marsh UBT: Fix issues caused by toolchain assuming that the editor target will be the name of the project with an "Editor" suffix. This is not necessarily the case; the launcher will allow you to instantiate a project with any name, and it will not rename the target files. #jira UE-56040 Change 3955785 by Steve.Robb GitHub #4546 : Don't discard errors from zlib inflate #jira UE-55969 Change 3955940 by Steve.Robb Redundant and confusing macro check removed. Change 3956809 by Ben.Marsh Guard against project paths passed on the command line to UBT being treated as project names. Previous code used to just take the first, which would mask this problem. Change 3959590 by Steve.Robb Useless IsIntrinsic constant and COMPILED_IN_INTRINSIC macro removed. Change 3959864 by Robert.Manuszewski Increasing the size of permanent object pool to fix warnings in cooked ShooterGame #jira UE-56001 Change 3960956 by Steve.Robb New ToCStr function which generically gets a TCHAR* from a 'string-like' argument. Change 3963628 by Ben.Marsh UBT: Fix intellisense issues caused by _API macros being defined as DLLIMPORT (imported symbols cause an error if they are defined). Generate intellisense macros with the -Monolithic argument to work around it. Change 3964349 by Ben.Marsh Move support for reading .modules files into FModuleManager, and always use it in modular builds. Pathway which discovers modules by filename only is no longer supported for simplicity, and due to platform-specific version checks being unreliable on any platforms other than Windows. Change 3964821 by Ben.Marsh Use a custom tool for deleting directories on Windows, to handle paths longer than MAX_PATH correctly. Change 3965269 by Ben.Marsh Add more [RequiresUniqueBuildEnvironment] attributes to target settings that modify the global environment. Change 3966554 by James.Hopkin #core Removed redundant cast Change 3966558 by James.Hopkin #core Removed redundant casts and changed some MakeShareables to MakeShared #robomerge #fortnite Change 3966754 by Ben.Marsh Always use the compiled-in app name when looking for a module manifest. Fixes issues with XGEControlWorker.exe being a renamed copy of ShaderCompileWorker.exe. Change 3967397 by Ben.Marsh Fix "copy local" files not being included in build products enumerated from C# projects. Remove files with "Embed Interop Types" from the output list. Change 3967664 by Ben.Marsh Update UGS solution to use Visual Studio 2017. Change 3967838 by Ben.Marsh Couple of fixes to conform scripts. Change 3968767 by Ben.Marsh Compile the name of the module manifest into the executable via a define explicitly set by UBT, rather than guessing at runtime. Change 3968771 by Ben.Marsh Fix compiled-in engine path being subject to macro expansion. #jira UE-56504 Change 3968886 by Robert.Manuszewski Merging 3914301: Remove any references we had added to the GGCObjectReferencer during Init Change 3968978 by Steve.Robb FString->FName fixes for module names in HotReload. Change 3969019 by Steve.Robb Minor refactor of property skipping logic in SerializeTaggedProperties(). Change 3969041 by Steve.Robb Simplification of Build.version filename construction. Change 3969049 by Steve.Robb Always do rolling names when recompiling in editor, because an unloaded module may still actually by loaded-but-abandoned by the executable. This also removes HotReload's dependence on FModuleManager::GetCleanModuleFilename(). #jira UE-52405 Change 3969120 by Ben.Marsh Enable errors for using undefined identifiers in conditional expressions by default. Change 3969161 by Ben.Marsh Remove log line that should only be included in the log. Change 3969216 by Steve.Robb Dump a list of module names - rather than DLL filenames - when the editor detects modules which need recompiling. This removes the only remaining use of FModuleManager::GetCleanModuleFilename(), which is also now removed. #jira UE-52405 Change 3969346 by Steve.Robb Missed some bad FScript(Map/Set)Helper usage from CL# 3698969. Change 3969598 by Ben.Marsh Fix warning from VS2017. Change 3971101 by Graeme.Thornton TBA: Added RoundTrip mode to TextAsset commandlet which does a sequence of saves and checks for determinism. It will do 3 binary saves, 3 text saves, then 3 alternate binary->text saves. Change 3971407 by Ben.Marsh UBT: Fix exception when enumerating toolchains if the directory does not exist yet. Change 3971523 by Graeme.Thornton Make compressed block offsets in a pak file store offsets relative to the file header, rather than absolute. Reduces the amount of entropy when data changes in the pak file, making it play nicely with patching Change 3971613 by Ben.Marsh Fix Lightmass non-unity compile errors. Change 3971649 by Ben.Marsh Disable optimization around FTickerObjectBase constructor on Win32 due to ICE. Change 3971829 by Ben.Marsh Fix deprecated header warning from PVS Studio. Change 3972503 by Ben.Marsh Changes to build failure notifications: * Only people that submitted between builds with different error messages will be included on emails by default. * Email subject line will be different for each failing build step, but will include the CL of the first failing step. This will result in one thread for each build failure (a success email is sent with the same subject line). * Anyone that starts a build will be included on all failure emails. Change 3972732 by Ben.Marsh Changes to ensure notification messages are stable. Change 3972810 by Ben.Marsh Write debug information about the digest computed for a change, to assist with debugging it if it's not stable. Change 3973331 by Ben.Marsh Fix missing dependency on linker response file. Prevents target being relinked when build environment changes. Change 3973343 by Ben.Marsh PR #4612: Adding support for PVS-Studio settings file to PVS-Studio Unreal Build Tool toolchain. (Contributed by PaulEremeeff) Change 3973820 by Ben.Marsh Fix incorrect error message when unable to find Visual C++ install directory. Change 3974295 by Robert.Manuszewski Made sure that lazy object pointers are only fixed up for PIE in actual PIE worlds. Change 3975336 by Robert.Manuszewski CIS fix after the last merge from main Change 3976999 by Ben.Marsh Move the Windows stack size settings onto the WindowsTargetRules object, and add the [RequiresUniqueBuildEnvironment] attribute to ensure it's not overwritten incorrectly. This should cause CIS to better errors for compiling Odin editor. Change 3977934 by Ben.Marsh UBT: Allow setting additional compiler/linker arguments through properties on the TargetRules object. Change 3977953 by Ben.Marsh UBT: Enumerate all Visual Studio 2017 install locations using the Visual Studio Setup interop SDK. Multiple simultaneous Visual Studio installations are now supported, and using registry keys to determine installation directories has been deprecated. Allows choosing toolchains from preview versions as well as full versions. Change 3978544 by Ben.Marsh UBT: Include verbose timing information from compiler frontend if using VS2017 15.7 preview 2 or later. Change 3978780 by Ben.Marsh Add Visual C++ 2017 redist files to AppLocalDependencies, and update the prereq installer to include 2017 support DLLs. Change 3979313 by Ben.Marsh UBT: Add the EngineDirectory property to ModuleRules. Makes it easier to find paths to files under the engine folder. Change 3980499 by Ben.Marsh UBT: Automatically enable /DEBUG:FASTLINK if we're using the VS2017 15.7 toolchain or newer and not doing a formal build. This contains fixes for debugger OOM issues present in older versions. Change 3980890 by Ben.Marsh UBT: Update project file generator to support VS2017 solution options file; fixes C# projects being opened by default when generating new project files. Change 3981495 by Ben.Marsh Do not include embedded interop assemblies in the list of references required by a C# project; they are not required build products. #jira UE-54343 Change 3982157 by Ben.Marsh Only output a warning message if BuildConfiguration.xml schema validation fails; we may have settings that only apply to code in another branch. Change 3982239 by Ben.Marsh Update tooltip directing users to install Visual Studio 2017 instead of 2015. Change 3983395 by Graeme.Thornton Fix reference to BUILD_VERSION in BootstrapPackagedGame RC file Change 3983523 by Graeme.Thornton Backwards compatibility for pak files with compressed chunk offsets Change 3983769 by Ben.Marsh UAT: Allow using PDBCOPY.EXE installed as part of the Windows 10 SDK to strip symbols, and add a better message if it can't be found. Change 3984529 by Ben.Marsh BuildGraph: When run with the -Preprocess=... argument, no steps will be executed. Change 3984557 by Ben.Marsh BuildGraph: Return the updated patterns from FilePattern.CreateMapping(), so we can print accurate messages when displaying the source and target directories for a copy or move task. Change 3986520 by Ben.Marsh Remove hacks to uniquify response file name on Android and Linux. Change 3987166 by Steve.Robb Allow overloading of functions which take TFunctions or TFunctionRefs with mutually exclusive signatures. Change 3989061 by Graeme.Thornton TBA: Text asset loading/saving work - Start using FStructuredArchive flavours of UObject Serialize functions when loading and saving exports. - Only use FStructuredArchive interface for text assets, and for classes that have the CLASS_MatchingSerializers which tells us that the class can serialize to both FStructuredArchives and FArchives. - Add GetCacheableArchive to FArchive, which allows transient archives to return a pointer to another archive that will outlive it. Used by bulk data to get a pointer to an archive that can be held and used at a later time to lazy load things. For text assets where the bulk data might be held inside a base64 encoded FArchiveFromStructuredArchive block, we can't dynamically seek back to that location after the on-stack wrapper has been destroyed after the original serialize, so this will return null. For binary assets, we just return a pointer to the same binary archive which can be used freely. Change 3989109 by Graeme.Thornton TBA: TextAsset commandlet emits a warning when binary package determinism fails Change 3990823 by Ben.Marsh UGS: Allow project settings to specify a client path rather than a filesystem path. Not currently usable through UI. Change 3990832 by Ben.Marsh UGS: Make the schedule window resizable. Change 3991569 by Steve.Robb GitHub #4636 : Fixed typo in HeaderParser.cpp for "missed WithValidation keyword" error message Change 3991970 by Steve.Robb Fix for 4096 char limit on FParse::Value. Change 3992222 by Steve.Robb Advice added to the coding standard for using default member initializers. Change 3993675 by Ben.Marsh UGS: Add UI to allow creating new workspaces and selecting projects from existing workspaces that are not currently synced. Change 3994199 by Ben.Marsh UGS: Fix child processes being unable to spawn other child processes with the CREATE_BREAKAWAY_FROM_JOB flag, to add them to their own job objects. In Windows 7 or earlier job objects cannot be nested, so child processes have to create separate job objects and spawn processes with CREATE_BREAKAWAY_FROM_JOB to be able to add them. This fails unless parent process' job object was created with JOB_OBJECT_LIMIT_BREAKAWAY_OK. Discussed here: https://msdn.microsoft.com/en-us/library/windows/desktop/hh448388(v=vs.85).aspx Change 3994243 by Ben.Marsh UGS: Use the select stream dialog instead of displaying a drop list unless there's a stream filter specified. We have way too many streams for this to be useful in a menu unless it's filtered. Change 3994260 by Ben.Marsh UGS: Tweak the stream filter dialog to only use the previous selected node if the filter terms match. It may be a parent node of something that matches, even though it doesn't match itself. Change 3994350 by Ben.Marsh UGS: Automatically guess the correct root path for new workspaces based on the most common existing workspaces for the current user. Change 3995159 by Ben.Marsh UGS: Do not delete files which are outside the sync filter. People expect to be able to sync different projects within a stream without having to update sync filters. Indend to re-introduce this functionality through the manual 'clean workspace' operation. Change 3995169 by Ben.Marsh UGS: Show options as dimmed in the open project dialog, if the radio button for those controls is not checked. Automatically set the radio button if the focus is given to one of those controls. Change 3995228 by Ben.Marsh UGS: Update recently opened projects list when editing project for an existing tab. Change 3995312 by Ben.Marsh UGS: Stop showing all dialogs in the taskbar. Change 3995929 by Robert.Manuszewski Completely rewritten FReferenceChainSearch class used by 'obj refs' command. - 3+ times faster - Uses the same code as GC to track all the references down - Actually reports all reference chains properly - Less code that is more readable than the previous version Change 3995981 by Ben.Marsh UGS: Clean workspace window will now force-sync files that have been deleted or which are writable. Change 3996113 by Ben.Marsh UGS: Fix crash upgrading config files from older versions. Change 3997990 by Ben.Marsh UGS: Prevent error when syncing an empty workspace. Change 3998095 by Ben.Marsh UGS: Change logic for dealing with job objects: rather than creating breakaway jobs (requires co-operation with spawning process), always try to use nested job objects (requires Windows 8.1+). If it fails, ignore the error if we're already part of a job. Also forcibly terminate the process on dispose to handle cases where the job object wasn't created. Change 3998264 by Ben.Marsh UGS: Fix exception when switching projects in-place. Change 3998643 by Ben.Marsh Fix shared DDC not being used for installed engine builds. #jira UE-57631 Change 4000266 by Ben.Marsh UnrealPak: Add an option that allows rebuilding a set of PAK files with different settings. Usage is: UnrealPak [PakFile] -Repack [-Output=FileOrDirectory] [Options] The input pak file may be a single file or wildcard, and is overwritten unless the -Output parameter is specified. Change 4000293 by Ben.Marsh Add a compression flag that allows selecting compressor without using the default platform implementation. Change 4000315 by Ben.Marsh Add support for custom compressors implemented via modular features. Specify -compressor=<PathToDll> on the command line to UnrealPak to load a compressor from an external DLL. Change 4000610 by Ben.Marsh UnrealPak: Add a parameter for compression block size (-compressionblocksize=XXX). Accepts arguments with MB/KB suffixes, as well as byte counts. Change 4000627 by Ben.Marsh UBT: Include enabled plugin info in the UBT log. Change 4000793 by Ben.Marsh UBT: Remove some member variables from VCEnvironment that don't need to be stored. Change 4000909 by Ben.Marsh UBT: Add VS2017 installations to the list of paths checked for MSBuild installations. Change 4001923 by Ben.Marsh UBT: Allow any plugins which are enabled by default to be included in the enabled list, even if they don't have any modules for the current platform. This changes the build-time logic to match the runtime logic. At some point in the future we may add a separate SupportedHostPlatforms list to each plugin to do this explicitly, rather than guessing via the per-module whitelist. Change 4001927 by Ben.Marsh Fixes for compiling against the Windows 10 SDK. Change 4002439 by Robert.Manuszewski Added TDefaultReferenceCollector and FSimpleReferenceProcessorBase to extract common code for clients of TFastReferenceCollector Change 4003508 by Ben.Marsh UGS: Fix new workspaces not having the correct owner and host set. Change 4003622 by Ben.Marsh UGS: Add support for "skipped" as a build result. Change 4004049 by Robert.Manuszewski Significantly improved performance of Reference Chain Search for objects that are nested deep in the object hierarchy Change 4005077 by Ben.Marsh UGS: Update version number. Change 4005112 by Ben.Marsh UBT: Reduce number of times a target has to be constructed while generating project files. Change 4005513 by Ben.Marsh UBT: Reduce number of checks for directories existing when adding include paths to a module. Accounted for 40% of runtime time when generating project files. Change 4005516 by Ben.Marsh UBT: Add warnings whenever a module adds an include path or library path that doesn't exist Change 4006168 by Ben.Marsh CIS fixes. Change 4006236 by Ben.Marsh UGS: Populate the workspace name/root directory text box with the cue banner when focus moves to the control. Change 4006266 by Ben.Marsh UGS: Swap around the new workspace/existing file boxes on the open project dialog. Change 4006552 by Ben.Marsh If staging fails because a restricted folder name is found, include a list of them in the error message. Change 4007397 by Steve.Robb Comments added to make it clear that GetAllocatedSize() only counts direct allocations made by the container. Change 4007458 by Ben.Marsh UBT: Change RPC utility to abort early, rather than continue to try to build even though SSH init failed. Change 4009343 by Ben.Marsh UGS: Set the rmdir option on new workspaces by default. Change 4009501 by Ben.Marsh UBT: Add Windows include paths to the compiler command line, rather than setting through environment variables. This ensures that incremental builds work correctly when SDK versions change. Change 4009509 by Ben.Marsh UBT: Check in a non-versioned directory under the Windows 10 SDK for the resource compiler. Change 4010543 by Ben.Marsh Remove the "Device" and "Simulator" platform groups, because they're unused and overly generic for folder names. Also remove source code for the HTML5 simulator (which is no longer supported). Change 4010553 by Ben.Marsh UAT: Include platform groups in restricted folder names when staging. Change 4012030 by Ben.Marsh UGS: Increase the size of the main window, and set the current stream as the default when creating a new workspace. Change 4012204 by Chad.Garyet - Cleanup to get the POSTs returning 400s the same way the GETs would (now no longer returns the exception text) - Create directory for sqlite db if it doesn't exist #jira none Change 4014209 by Brandon.Schaefer New changes in breakpad dump_syms to allow for producing a symbol file for elf files on windows #review-3998840 @Arciel.Rekman, @Ben.Marsh, @Josh.Engebreston, @Anthony.Bills Change 4015606 by Brandon.Schaefer Missed a code project that needed updating for new Breakpad changes for Mac Change 4017795 by Robert.Manuszewski GC assumption verification should now be 3-4x faster. - Refactored Disregard For GC to use TFastReferenceCollector - Move both Disregard For GC and Cluster verification code to separate source files Change 4020381 by Ben.Marsh Add link to the new official doc page for UnrealGameSync. Change 4020665 by Ben.Marsh UBT: Prevent plugins being precompiled if they don't support the current target platform. Change 4021829 by Ben.Marsh Update message about downloading a new version of Visual Studio. Change 4022063 by Ben.Marsh UBT: Suppress toolchain output when generating project files. Change 4023248 by Ben.Marsh Install an unhandled exception filter to ensure we get crash reports from threads that are not spawned by the engine. At the moment, we only receive crashes that are routed through ReportCrash() via our structured exception handlers in WinMain() and FRunnableThreadWin::Run(). (Also fix an exception within the exception handler, if GError has not been created yet) Change 4025759 by Ben.Marsh Fix universal CRT include paths not being added to compile environment for VS2015. Change 4026002 by Ben.Marsh UBT: Check the old registry locations for the Windows SDK installation directory. Change 4026068 by Ben.Marsh UBT: Use the correct compiler version in the error message for not having the UCRT. Change 4026181 by Ben.Marsh Fix DebugGame editor configurations not enumerating modules correctly. #jira UE-58153 Change 4026285 by Ben.Marsh UBT: Add additional logging for enumerating Windows SDKs. Change 4026708 by Ben.Marsh UBT: Keep a separate list of installed Universal CRT versions to the list of Windows 10 SDK versions. It's possible to install C++ support without the Windows 10 SDK, which still includes UCRT files in Windows 10 SDK folders. Change 4029404 by Ben.Marsh Remove incorrect include paths to fix CIS warnings. Change 4031517 by Steve.Robb Fix for UHT errors not being clickable in the Message Log. #jira UE-58173 Change 4031544 by Ben.Marsh Fix errors building asset catalog for IOS due to modifying shared build environment. #jira UE-58240 Change 4032227 by Ben.Marsh BuildGraph: Print out a warning message when trying to submit without the -Submit argument in BuildGraph. Change 4032262 by Ben.Marsh BuildGraph: Remove the need to copy files to the staging directory in BuildEditorAndTools.xml. Change 4032288 by Ben.Marsh Remove UFE from the BuildEditorAndTools script. 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 3838569 by Steve.Robb Algo moved up a folder. Change 3848581 by Robert.Manuszewski Changing the UObjectArray to not be allocated up front but in 64K-FUObjectItem chunks. This is to fix strange OOM reports on editor startup where it's trying to allocate space for 1M+ FUObjectItems. #jira UE-49446 Change 3864743 by Steve.Robb Fix for buffer overrun when copying a context string. Fix for being unable to link to MallocLeakDetection. Fix to prefix for FMallocLeakDetection::ContextString. New MALLOCLEAK_SCOPED_CONTEXT macro to push/pop a context string. Overload for const TCHAR* added to FMallocLeakDetection::PushContext to save on redundant memory allocations. #jira UE-54612 Change 3865020 by Graeme.Thornton TBA: Changed FIELD_NAME macro to FIELD_NAME_TEXT so that FIELD_NAME can be used for non-literal name definitions Change 3869550 by Josh.Engebretson New SymGen and SymUpload tasks (ShooterGame usage example) Example C# symbolicator (using saved crash and data router formats) Updates for stack walking and crash runtime xml on Windows/Mac Change 3905453 by Steve.Robb USE_TUPLE_AUTO_RETURN_TYPES moved to PLATFORM_COMPILER_HAS_DECLTYPE_AUTO. Change 3910012 by Ben.Marsh UGS: Show an error window and allow setting default P4 server settings if syncing UGS fails. Change 3920044 by Graeme.Thornton TBA: Text asset loading * Added a structured archive layer to FLinkerLoad * Wrapped export loading in a ArchiveUObjectFromStructuredArchive * Updated TextAssetCommandlet to have a "loadtext" mode which will try to load every text asset in the project content * Changed text asset extensions to .utextasset and .utextmap. Couldn't go with the favourite .uasset.json because our various path functions (FPaths::GetCleanFilename etc.) will only strip one layer of extension, so leave a bogus filename. * Relaxed a few checks in structured archive where it was checking for field reentrance, which isn't a problem for loading. * Changed FArchiveFromStructuredArchive to not load all referenced objects at construction time. This introduced some changes to load order which don't work in the engine. Object names are resolved at the point that a reference to them is serialized from the main data block, same as with legacy archives. Change 3921587 by Steve.Robb Static asserts inside ensureMsgf() macros to prevent them being passed invalid arguments or non-literal formatting strings. Fixes for various misuses. #jira UE-55681 Change 3942873 by Ben.Marsh UBT: Allow link time code generation on any configurations where bAllowLTCG is set to true. Microsoft platforms were previously only allowing this option in shipping; the target can decide when to enable it or not. Change 3944629 by Graeme.Thornton Merging back a couple of fixes from Fortnite - Extra parenthesis around some calculations in the pakprecacher - Changed FChunkCacheWorker::DoSignatureCheck() back to ::CheckSignature() - Added documentation for build script crypto options Change 3945381 by Ben.Marsh Disable warning C4770 on Windows (partially validated enum 'xxx' used as index), which occurs when enabling LTCG. Can't find a reference online for this warning, but I suspect it's due to LTCG allowing the compiler to trace code paths where we don't validate that an enum is a known value. Change 3968969 by Steve.Robb Fixes to incorrect uses of FScriptMapHelper and FScriptSetHelper, which weren't accounting for gaps in the sparse array. Change 3969417 by Ben.Marsh Make Visual Studio 2017 the default compiler for UE4 projects, and add support using Visual C++ toolchains from an AutoSDKs. Also add support for selecting a specific toolchain version to use through the WindowsPlatform.CompilerVersion property, which can be configured via a Target.cs files or BuildConfiguration.xml (eg. <WindowsPlatform><CompilerVersion>14.13.26128</CompilerVersion></WindowsPlatform). As well as allowing a specific version number, you can always use the latest toolchain by setting it to "Latest". Change 3972443 by Ben.Marsh Change build scripts to allow running any steps on non-compile workspaces. Setup Dev-Core to just use a non-compile Win64 workspace for everything. Change 3977198 by Ben.Marsh Remove INI file override for editor stack size on Windows. This is rarely valid since editor targets share build products with other games by deafult. Fix to add linker response file as prerequisite exposed targets overriding this as a bug. Change 3979632 by Ben.Marsh Consolidate codepaths for embedding versioning information in the engine. Engine/Build/Build.version is now the authoritative place to read version information; Engine/Source/Runtime/Launch/Resources/Version.h no longer includes macros for the current branch and changelist. * Settings from Build.version are compiled into the (tiny) BuildSettings module via macros set in BuildSettings.build.cs, which is used to initialize version information inside the engine at runtime. * The IsPromotedBuild value is now set to zero by default (but set to 1 by the UpdateLocalVersion UAT command). * The -Licensee argument to the UpdateLocalVersion UAT command, and the IsLicenseeVersion setting for UnrealGameSync, is determined automatically by looking for the Engine/Build/NotForLicensees/EpicInternal.txt file. This path is not visible to licensees. Change 3981738 by Ben.Marsh Move utility classes for filtering files and matching wildcards into DotNETUtilities. Change 3983888 by Steve.Robb Warning C4868 disabled, about evaluation order of braced initializer lists. https://udn.unrealengine.com/questions/426081/help-with-error-c4868-braced-initializers.html Change 3984019 by Steve.Robb FString::Printf formatting argument checking added. Vararg support for FText::Format. All remaining usage fixed. Change 3985502 by Steve.Robb Change to TFunction debugger visualization to allow right-clicking on the [Lambda] and selecting 'Go To Source Code'. Change 3985999 by Graeme.Thornton TBA: Serialize function generation for FArchive and FStructuredArchive overloads on a UObject, using UHT. - Adds a restriction that UObject::Serialize() functions MUST be declared outside of any conditional compilation directives, except for WITH_EDITORONLY_DATA Change 3986461 by Ben.Marsh Fixup lots of platforms not adding response files as a prerequisite. This can cause incremental builds to fail if input files/compile arguments change, because the action graph does not know that the response file being updated invalidates the build artifacts. Change 3990081 by Ben.Marsh Remove custom output formatters for errors and warnings. These are not well supported by different executors, and cause fences between actions with the same formatter with external executors like XGE. Clang supports -fdiagnostics-format=msvc for all platforms, which should do a better job than our crude attempts at regexing errors (causing botched output in some cases). Change 3996714 by Chad.Garyet UGSRestAPI, conversion of UGS to use it. #jira none Change 4008287 by Ben.Marsh UBT: Change the engine to use the Windows 10 SDK by default. Also add support for switching between specific Windows SDK versions. The WindowsPlatform.WindowsSdkVersion property in the target rules can be used to select a desired version, which can also be configured by the <WindowsPlatform><WindowsSdkVersion>Foo</WindowsSdkVersion></WindowsPlatform> parameter in the BuildConfiguration.xml file. The version of Windows to target (ie. the WINVER macro) can be modified by setting WindowsPlatform.TargetWindowsVersion. The default is 0x0601 (Windows 7). Change 4008516 by Chad.Garyet - Adding support for both SQLite and MsSql - API now reads from only MsSql, but writes to both - Added support for POST to CIS for badges - PostBadgeStatus now writes out via API Url rather than a direct connection to the DB #jira none Change 4010296 by Chad.Garyet Moving SQLite db initilization into Application_Start. An exception thrown creating or seeding the db will unload the entire AppDomain and all pages will return a 404. #jira none Change 4024045 by Ben.Marsh Set the list of supported target platforms for OnlineSubsystemGameCircle. #jira UE-57887 Change 4031014 by Ben.Marsh UAT: Add a WhitelistDirectories list in DefaultEngine.ini, which allows specifying folders that can be staged despite having restricted folder names. [CL 4034515 by Ben Marsh in Main branch]
2018-04-26 14:11:04 -04:00
{
foreach(string AllowedDir in DirectoriesAllowListStrings)
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 4034418) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3851142 by Robert.Manuszewski When BP clustering is enabled, make sure to add the template to the BP cluster when replacing it. Change 3853797 by Ben.Marsh BuildGraph: Add a <Trace> element, which allows logging messages after the string is parsed (as opposed to the Log task, which logs them at runtime). Useful for debugging macro expansion, etc... Also add a -showdiagnostics parameter, to have diagnostic messages output even when running with the -listonly option. Change 3857540 by Graeme.Thornton Properly process the uexp file for a umap asset when generating a pak patch. Stop those uexp files being included in the patch even when they haven't changed Change 3860062 by Steve.Robb Fix for FString::Reset()'s buffer not being an empty null-terminated string (affects FString::ParseIntoArray, for example). Change 3860138 by Steve.Robb Fix for FString::ParseIntoArray() for when string memory has been allocated but has no characters. Change 3860273 by Steve.Robb Tidy up of FHotReloadClassReinstancer::FCDOWriter to not do stuff in constructors. Change 3863203 by Steve.Robb Crash fix for UObjects whose constructors are defined as = default;, which would re-null the UObject state (ClassPrivate, OuterPrivate etc.). See: https://udn.unrealengine.com/questions/412930/crash-due-to-default-constructor.html Change 3864588 by Graeme.Thornton Crypto Keys Improvements - Removed UAT command line params for encryption. Centrally configured by the editor settings now. - UAT staging now creates a small json file containing the keys and settings used for encryption and signing and stores it in the build metadata - Minor refactoring of UAT encryption processing to use the new cryptokeys json file - UnrealPak can be told to get its encryption settings from a json crypto file with the "-CryptoKeys=<filename>" - UnrealPak can now accept a "PatchCryptoKeys=<filename" parameter which gives it a filename to a cryptokeys json file that it can use to unpack the patch reference paks Change 3864691 by Robert.Manuszewski Don't add objects that are in root set to GC clusters to prevent them from keeping the clusters alive forever. Change 3864744 by Robert.Manuszewski Added the ability to get the actual filename of the log file FOutputDeviceFile writes to. Change 3864816 by Graeme.Thornton TBA: Minor formatting improvements to textasset commandlet Change 3868939 by Graeme.Thornton TBA: If -outputPath isn't supplied to TextAsset commandlet, output converted files to the {ProjectSaved}/TextAssets directory Change 3869031 by Graeme.Thornton TBA: Changed timing logs in TextAsset commandlet to be Display so we can see them in the EC log Change 3871802 by Steve.Robb Class cast flags and property flags are now visible in the debugger. Change 3871863 by Robert.Manuszewski Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage. Change 3874413 by Steve.Robb Algo::MinElement and Algo::MaxElement, for finding the minimum and maximum element in a range, and *By versions which take projections. TRangePointerType moved to its own file and used in Algo::MinElement and Algo::MaxElement. Change 3874457 by Ben.Marsh When spawning child processes, only allow them to inherit the writable ends of the stderr and stdout pipe. Fixes an issue related to AutomationTool hanging when the editor closes after running automation tests. The editor launches ADB.EXE (Android Debug Bridge) on editor startup, which forks itself to initialize a server. Even though the child process has its own stdout and stderr pipes, it also inherits the pipes for the editor. When run from C#, as we do for automation tests, Process.WaitForExit() waits for all pipes to be closed before returning. This can't happen if the forked ADB instance still has a reference to the editor's pipes. Change 3876435 by Robert.Manuszewski Don't add root set objects to level actor container to prevent situations where clusters are kept alive forever Change 3878762 by Robert.Manuszewski Fixing potential LinkerLoad leak when a package that still has a linker associated with it is being destroyed. Change 3878850 by Robert.Manuszewski SerializePreloadDependencies will now serialize raw data into the array instead of serializing one element at a time to speed up serialization performance. Change 3881331 by Graeme.Thornton TBA: SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter Change 3886983 by Ben.Marsh UGS: Fix notification window not expanding to fit long captions. Change 3887006 by Ben.Marsh UGS: Change modal dialog to regular window style to avoid weird alignment issues under Windows 10. Change 3887500 by Ben.Marsh UGS: Add support for grouping build badges by a prefix. Badges such as "Foo:Bar1", "Foo:Bar2" will be grouped together (with "Foo:" stripped from the displayed badge names). Also add a separate column showing the type of each change, rather than including it in the CIS column, and change badges to a more angular Windows 10 style. Change 3887513 by Ben.Marsh UGS: Fix badge text drawing outside the clipping bounds. Change 3888010 by Josh.Engebretson Fix UVS logging to UnrealVersionSelector/Saved/Logs and instead use project's log path #jira none Change 3888418 by Ben.Marsh UGS: Add a cache for computed badge layout information. Improves responsiveness when redrawing. Change 3889457 by Steve.Robb GitHub #4457 : Display abbreviations properly when converting FNames to display string #jira UE-54611 Change 3889547 by Ben.Marsh UGS: Add an extensible method for adding arbitrary badges to the right of the "description" column, by running a regular expression over the changelist description. Epic uses a "#tag" style annotations in changelist descriptions and Perforce triggers to verify them. "#jira" is used to link a changelist to an issue tracked in Jira, for example. A matcher to add a badge next to every changelist with a #jira tag, and link to the corresponding issue in Jira, could be set up with an addition to the project's Build/UnrealGameSync.ini file like this: [Badges] +DescriptionBadges=(Pattern="(?i)#\\s*jira\\s*:?\\s+([A-Za-z]+-[0-9]+)", Name="$1", Group="Jira", Color="#c0c0c0", HoverColor="#e0e0e0", Url="https://jira.it.epicgames.net/browse/$1") The "Pattern" attribute specifies the regex to match, and may capture portions of the matched text to be substituted later. "Label" specifies the label to appear on the badge. "Group" specifies an arbitrary identifier used to group related badges together rather than separating them with whitespace. "Color" and "HoverColor" specify hex RGB colors for the badges. "Url" specifies the path to open with a C# Process.Open call if the badge is clicked. Change 3889726 by Ben.Marsh UGS: Fix description badges that don't have any associated URL. Change 3889995 by Ben.Marsh UGS: Fix issue where popup menus can create top level windows in the taskbar. Seemlingly caused by capturing mouse before the window has been activated - removed capture code, and replaced with handling of OnMouseLeave() event instead. Change 3890007 by Ben.Marsh UGS: Add a caption underneath the project logo which shows the current stream, to make it more obvious. Change 3890057 by Ben.Marsh UGS: Fix repainting glitch when resizing window; bounds for status panel lines was not being reset correctly. Change 3891069 by Robert.Manuszewski Fixing a crash in MallocBinned2 when running with malloc profiler enabled. Change 3891084 by Steve.Robb Back out changelist 3881331 because it's causing cook errors. Change 3891100 by Ben.Marsh UGS: Add support for a per-branch "message of the day"-style feature. Messages can be specified in a project's config file in Perforce (eg. <ProjectDir>/Build/UnrealGameSync.ini) as follows: [//UE4/Main/Samples/Games/ShooterGame.uproject] Message=:alert: Lockdown for fixes is **5pm on Friday**. Only fixes for the 2.0 release should be submitted to this branch. [34 issues](https://jira.it.epicgames.net) are remaining as of 2/15. A limited subset of Markdown is supported: [web links](http://www.google.com), *italic*, _italic_, **bold**, __bold__. Icons will be supported through :icon: syntax; the only icon currently available is :alert: Change 3891346 by Steve.Robb TSharedPtr::operator bool, and some usage of it. Change 3891787 by Steve.Robb Fix for buffer overflow in FDebug::LogFormattedMessageWithCallstack(). Change 3892379 by Ben.Marsh UGS: Fix notification window containing the group fix for each build type. Change 3892400 by Ben.Marsh UGS: Shrink the size of the alert panel. Change 3892496 by Ben.Marsh UGS: Dim badges for changes which aren't eligable for syncing. Change 3893932 by Steve.Robb Re-removal of SetShouldHandleAsWeakRef, which was originally removed in CL# 3437205. Change 3895872 by Ben.Marsh UGS: Show the stream name in tab labels by default. Change 3896366 by Ben.Marsh UGS: Automatically resize columns when the main window is resized, and allow specifying desired column widths for projects that have a large number of CIS badges. Columns are now resized proportionally, clamped to a minimum size. Columns will automatically expand up to a desired maximum size, though can be explicitly resized larger if necessary. Columns will not be resized if they are already larger than the window can show, or smaller than the window has space to show. Change 3896367 by Ben.Marsh UGS: UI tweaks - change and time columns are now centered, "Unknown" badge is displayed until a change's type has been determined, increase height of status panel. Change 3896425 by Ben.Marsh UGS: Speculative fix for race condition on clients displaying "under investigation" state. If the DB event is received before a change where an investigation is cancelled is polled from Perforce, we will exclude the resolve event from the list of active investigations. Change 3896461 by Ben.Marsh UGS: Add an option to allow setting a tint color to be applied to the status panel, to allow identifying streams more easily. To use, add a setting similar to the following to a project's Build/UnrealGameSync.ini file: [//UE4/Main/Samples/Games/ShooterGame/ShooterGame.uproject] StatusPanelColor=#dcdcf0 Change 3899530 by Ben.Marsh Add unified syntax for overriding branch specific settings. Checks branch settings first, then [Default] section. Change 3901164 by Ben.Marsh UGS: Add a class to store all the resources for the status panel. Change 3901165 by Graeme.Thornton TBA: Attempt #2 at submitting the text asset saving code. SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter. Minimal amount of structured archive serialization functions added to allow this data to be written Change 3901301 by Ben.Marsh UGS: Add support for reading the latest version of the project config file from Perforce. Some settings should be read depending on the CL you are synced to (eg. build steps), whereas others (MOTD, branch status) should always use the latest version. Will read the local version if checked out, to allow testing local changes. Change 3902454 by Ben.Marsh UGS: Fix logo not being redrawn in the correct position when starting to sync. Change 3903416 by Ben.Marsh UGS: Group badges explicitly through INI file rather than by expecting name to contain ':'. Change 3904154 by Josh.Engebretson Adding Breakpad to ThirdParty sources (Git Commit: 49907e1c3457570f56d959ae26dec6c3a5edd417 https://chromium.googlesource.com/breakpad/breakpad) #jira UE-55442 Change 3904648 by Ben.Marsh UGS: Remove files from the workspace that are excluded by the sync filter. The user's config file stores a hash of the last sync filter. During syncing, if this hash doesn not match the previous value, we enumerate all the files in the #have list and remove anything masked out by the filter. #jira UE-47335 Change 3905442 by Steve.Robb Change of the ConvertFromType() multi-bool return value to a more descriptive enum. Some return values here do not make sense - this is because the existing logic is being preserved and will be fixed in a separate change. Change 3905629 by Ben.Marsh UGS: Fix race condition between two child processes starting on different threads, and inheriting the other's intended stdout/stderr pipes. This prevents pipes being closed when one of the child processes shuts down, and causes waits on the read ends of those pipes to continue indefinitely. Change 3906447 by Steve.Robb Rename EConvertFromTypeResult enumerators. Change 3906574 by Steve.Robb Crash fix for container conversion failure during tagged property import. Change 3909255 by Daniel.Lamb Fixed issue with DLCpackaging crashing on windows #jira UE-42880 #test EngineTest windows Change 3909270 by Steve.Robb Seek instead of skipping bad properties byte-by-byte. Change 3909324 by Steve.Robb Use switch statement instead of repeated if/else. Change 3909525 by Ben.Marsh UGS: Use the StudioEditor target when syncing content-only Enterprise projects. Change 3911754 by Daniel.Lamb Fix for building pak patches. #jira UE-55340 Change 3911942 by Robert.Manuszewski Fixing an ensure when MediaPlayer is being constructed from any thread other than the main one. Change 3913067 by Ben.Marsh UGS: Allow workspace sync filter categories to re-enable categories that are disabled by the global filter. Change 3913209 by Ben.Marsh UGS: Fix incorrect target name when compiling Enterprise projects. Change 3917358 by Steve.Robb Fix for GetLen(FString). Change 3919610 by Ben.Marsh Put data for CrashReportClient in a PAK file of its own (under Engine/Programs/CrashReportClient/Content/Paks/CrashReportClient.pak). There are a large number of small files required for it to run with loose files, which takes a lot of space on disk (due to cluster sizes), and is unweildy to move around. CrashReporter UFS files are tracked in a separate dictionary to regular UFS files to allow construction of the additional PAK file. Change 3921002 by Ben.Marsh UGS: Add option for syncing all projects in a branch. Off by default. Also add support for masking in additional paths to be synced (eg. one or two extra projects). Change 3921008 by Ben.Marsh UGS: Prevent pause waiting for mutual exclusivity when syncing precompiled binaries. We don't need to generate project files or build, so there's no need to wait in line. Change 3921906 by Steve.Robb New interpolation functions for quaternions. https://udn.unrealengine.com/questions/419028/quaternion-interp-to-functions.html Change 3921978 by Graeme.Thornton TBA: Make "Loader" member of FLinkerLoad private to prevent use outside of FLinkerLoad. This archive could be something unexpected if the linker is for a text asset package, so we need to stop people accessing it. Change 3924520 by Graeme.Thornton UnrealPak: Improve encryption summary log messages Change 3924522 by Graeme.Thornton UAT: Add *Encryption.ini to the list of auto-blacklisted config filenames Change 3924604 by Graeme.Thornton UnrealPak: If encryption keys are parsed and fail the encrypt/decrypt test, throw a fatal error. The exectutable will have those same keys embedded so there is no point allowing the paks to be created with broken keys. Change 3924638 by Graeme.Thornton Crypto: Improvements to parsing of old fashioned encryption.ini settings: - AES keys that are too long or short (need to be 32 bytes) will now emit a warning when being parsed, and be truncated or expanded before adding to the crypto settings. - Signing keys will emit an error when they are too long (>64bytes) - Unrealpak will still assert when invalid settings are passed via the other mechanisms (command line or -encryptionini mode). Settings via the crypto json file should now be sanitized and not cause issues #jira UE-55080 Change 3924747 by Steve.Robb Fix for degrees. Change 3925459 by Chad.Garyet Adding check to not to attempt to delete autosdk workspace if it doesn't already exist. Change 3926703 by Ben.Marsh BuildGraph: Include the path to the XML file when displaying an XML parse error. Change 3926917 by Ben.Marsh UBT: Allow overriding the name of the UE4 solution on a branch-specific basis. Useful for switching between multiple UE4 workspaces. Also add support to the editor and UGS for opening the correct solution (determined via a text file saved to Engine/Intermediate/ProjectFiles). Set the solution name using an entry in BuildConfiguration.xml as follows: <ProjectFileGenerator> <MasterProjectName>UE4_Main</MasterProjectName> </ProjectFileGenerator> Change 3927683 by Graeme.Thornton UAT: When building with chunk installs enabled, don't generate the master manifest from each pak creation thread. Just do it once after all pak files have been created. Avoids intermittent crash with multiple threads trying to write the same json file. Change 3928111 by Ben.Marsh UBT: Add an option <bMasterProjectNameFromFolder> which allows setting the solution name based on the folder that it's in. Change 3928926 by Ben.Marsh BuildGraph: Add support for enumerating content copied by the <CsCompile> task. Also add support for invoking methods on string properties. Change 3931041 by Graeme.Thornton TBA: Add option to textasset commandlet to also include engine content in a resave Change 3931043 by Graeme.Thornton TBA: Redirect some more FArchive members in FArchiveProxy Change 3931913 by Ben.Marsh UGS: Do not create a modal dialog if a scheduled sync is unable to run because the editor is open, and do not run the editor after a scheduled sync. #jira UE-47368 Change 3932419 by Ben.Marsh UGS: Allow selecting which projects to sync on schedule. Any projects not already opened at the time the schedule is triggered will be opened first. #jira UE-33541 Change 3932483 by Ben.Marsh PR #3949: UnrealGameSync: Add environment path field to custom BuildStep (Contributed by frankie-dipietro-epic) Change 3932624 by Ben.Marsh UGS: Add an error dialog when trying to clean the workspace before closing the editor. #jira UE-42308 Change 3932679 by Ben.Marsh UGS: Add the date/time to the end of the sync log. #jira UE-33540 Change 3932705 by Ben.Marsh UGS: Prompt to close the editor before allowing the user to enter a changelist to sync to, when syncing to a specific changelist. #jira UE-53182 Change 3933318 by Ben.Marsh UGS: Detect more programs running before allowing a sync to start, show a dialog listing them, and add an option to ignore if necessary. #jira UE-33535, UE-53914 Change 3933840 by Graeme.Thornton TBA: When loading assets, only use structured archive adapters for exports when loading text files. Change 3936040 by Ben.Marsh UGS: Rewrite application lifecycle to fix issues with scheduled syncs on background windows not activating, and window jumping to the front after auto-update. Now uses a custom application context to allow creating separate 'main' windows (first the "opening projects" form, then the regular form), and does not require any forms to be shown in order to be updating in the background. #jira UE-52870 Change 3940230 by Robert.Manuszewski Fixes for FilenameToLongPackageName crashes when runnign commandlets Change 3940240 by Graeme.Thornton Automated cycling of encryption and signing keys Change 3940243 by Graeme.Thornton UAT: CryptoKeys automation script Change 3940321 by Ben.Marsh UGS: Add a "Bisect" mode for regressing bugs between a certain range of changes. To use, select a range of changes by holding down the shift key or individual changes by holidng the control key, then right click and select "Bisect these changes". Individual changes in the list can be marked as "Bisect: Pass" or "Bisect: Fail" from the context menu, and syncing will find the next change in the center of the range. Change 3940538 by Ben.Marsh UBT: Always determine whether a project is a foreign project or not from the valid .uprojectdirs entries, rather than relying on the user passing -game on the command line. Change 3941285 by Gil.Gribb UE4 - Removed PRAGMA_DISABLE_OPTIMIZATION from PlatformFileCommon.h. It was an oversight. #jira none Change 3942404 by Graeme.Thornton Pak Signing: - Unify naming of pak precacher and signedarchivereader signature check functions to make it easier to search for them in crash reporter - Format the signedarchivereader output to match the pak precacher - When signedarchivereader detects a signature check, do the same master signature hash check that the pak precacher does to confirm that the .sig file contents haven't been corrupted since load. - Add PAK_SIGNATURE_CHECK_FAILS_ARE_FATAL guarded exit to signedarchivereader signature failure - Optimization for pakprecacher signature checks. Instead of locking the cached files mutex for every decoded signature, take a local copy in blocks of 16. Only re-lock if we need more. Grab the initial batch when setting up. In most cases, reduces the number of locks to 1 per signature check call. Change 3942825 by Ben.Marsh UAT: Allow passing -Project<N>=Foo.uproject arguments to the MegaXGE commandlet (eg. -Target1="ShooterGame Win64 Development" -Project1="D:\ShooterGame\ShooterGame.uproject") so it can be used from an installed engine build. Change 3942839 by Ben.Marsh UBT: Explicitly query the number of logical processors in the system, to fix Environment.ProcessorCount just returning the number available to the .NET framework. For machines with > 64 cores, processors in a different processor group will not be included in this number. Change 3943153 by Ben.Marsh Use the correct logical processor count in ParallelExecutor. Change 3943210 by Ben.Marsh UGS: Add an option to the editor arguments window that allows prompting before launching the editor. Change 3943329 by Ben.Marsh UGS: Tweak appearance of bisect mode; now shows slightly transparent version of pass/fail icons, and includes remaining CL range in status panel. Change 3944294 by Ben.Marsh UGS: Prompt for confirmation before removing any files from the workspace. Change 3945283 by Ben.Marsh UGS: Add support for project-specific connection settings, and detection of Perforce login tickets expiring. Change 3945325 by Ben.Marsh PR #4558: Changed incorrect obsolete message for ReceiptPropertyList in Modules.cs (Contributed by ryanjon2040) Change 3947359 by Graeme.Thornton TBA: Fixes to loading code to allow bulk data to get a pointer from its loader archive to an archive that it can load from at a later date. For binary archives, this is just a pointer back to the same archive, but for text assets it is a pointer to a "child reader" which maintains its own structured archive that is scoped to the current location in the file. Change 3947360 by Graeme.Thornton TBA: Added RoundTrip mode to text asset commandlet. Performs determinism tests in project assets to see whether they save deterministically to binary and text files, and also when they are ping-ponged between the two formats. Change 3949431 by Graeme.Thornton TBA: Refactored string escaping code in json output formatter FString serializer into a common function which is now used by FName and UObject path serialization too. Fixes some odd cases where an FName contained quotation marks Change 3950843 by Ben.Marsh UBT: Add a better error if an XML config file is corrupt. Change 3952504 by Steve.Robb GitHub #4545 : UE-55924: CaseSensitive token recognition #jira UE-55961 #jira UE-55924 Change 3952707 by Graeme.Thornton Make RandInit(...) log message verbose Change 3954694 by Ben.Marsh BuildGraph: Add support for user-defined macros, which can contain a list of buildgraph commands and be expanded within a node. Example script in Engine/Build/Graph/Examples/Macros.xml. To define a Macro, use the syntax: <Macro Name="MyTestMacro" Arguments="PrintFirstMessage;PrintSecondMessage" OptionalArguments="PrintThirdMessage"> <Log Message="First message" If="$(PrintFirstMessage)"/> <Log Message="Second message" If="$(PrintSecondMessage)"/> <Log Message="Third message" If="'$(PrintThirdMessage)' == 'true'"/> </Macro> To expand a macro, use the syntax: <Expand Name="MyTestMacro" PrintFirstMessage="true" PrintSecondMessage="true"/> An error will be thrown if any required arguments are missing. Optional arguments default to empty if not specified. Tasks within a macro are validated by the schema at the point of definition using the same rules as apply to a <Node> element, but properties are not evaluated until the macro is expanded. This allows macros to get and set properties in scope at the point that it is expanded. Local properties that are introduced within a macro do not otherwise leak to the scope that they are expanded. Change 3954695 by Ben.Marsh PR #4582: Fixed incorrect condition in StagedFileSystemReference.cs (Contributed by moadib) #jira UE-56283 Change 3954961 by Ben.Marsh UBT: Fix issues caused by toolchain assuming that the editor target will be the name of the project with an "Editor" suffix. This is not necessarily the case; the launcher will allow you to instantiate a project with any name, and it will not rename the target files. #jira UE-56040 Change 3955785 by Steve.Robb GitHub #4546 : Don't discard errors from zlib inflate #jira UE-55969 Change 3955940 by Steve.Robb Redundant and confusing macro check removed. Change 3956809 by Ben.Marsh Guard against project paths passed on the command line to UBT being treated as project names. Previous code used to just take the first, which would mask this problem. Change 3959590 by Steve.Robb Useless IsIntrinsic constant and COMPILED_IN_INTRINSIC macro removed. Change 3959864 by Robert.Manuszewski Increasing the size of permanent object pool to fix warnings in cooked ShooterGame #jira UE-56001 Change 3960956 by Steve.Robb New ToCStr function which generically gets a TCHAR* from a 'string-like' argument. Change 3963628 by Ben.Marsh UBT: Fix intellisense issues caused by _API macros being defined as DLLIMPORT (imported symbols cause an error if they are defined). Generate intellisense macros with the -Monolithic argument to work around it. Change 3964349 by Ben.Marsh Move support for reading .modules files into FModuleManager, and always use it in modular builds. Pathway which discovers modules by filename only is no longer supported for simplicity, and due to platform-specific version checks being unreliable on any platforms other than Windows. Change 3964821 by Ben.Marsh Use a custom tool for deleting directories on Windows, to handle paths longer than MAX_PATH correctly. Change 3965269 by Ben.Marsh Add more [RequiresUniqueBuildEnvironment] attributes to target settings that modify the global environment. Change 3966554 by James.Hopkin #core Removed redundant cast Change 3966558 by James.Hopkin #core Removed redundant casts and changed some MakeShareables to MakeShared #robomerge #fortnite Change 3966754 by Ben.Marsh Always use the compiled-in app name when looking for a module manifest. Fixes issues with XGEControlWorker.exe being a renamed copy of ShaderCompileWorker.exe. Change 3967397 by Ben.Marsh Fix "copy local" files not being included in build products enumerated from C# projects. Remove files with "Embed Interop Types" from the output list. Change 3967664 by Ben.Marsh Update UGS solution to use Visual Studio 2017. Change 3967838 by Ben.Marsh Couple of fixes to conform scripts. Change 3968767 by Ben.Marsh Compile the name of the module manifest into the executable via a define explicitly set by UBT, rather than guessing at runtime. Change 3968771 by Ben.Marsh Fix compiled-in engine path being subject to macro expansion. #jira UE-56504 Change 3968886 by Robert.Manuszewski Merging 3914301: Remove any references we had added to the GGCObjectReferencer during Init Change 3968978 by Steve.Robb FString->FName fixes for module names in HotReload. Change 3969019 by Steve.Robb Minor refactor of property skipping logic in SerializeTaggedProperties(). Change 3969041 by Steve.Robb Simplification of Build.version filename construction. Change 3969049 by Steve.Robb Always do rolling names when recompiling in editor, because an unloaded module may still actually by loaded-but-abandoned by the executable. This also removes HotReload's dependence on FModuleManager::GetCleanModuleFilename(). #jira UE-52405 Change 3969120 by Ben.Marsh Enable errors for using undefined identifiers in conditional expressions by default. Change 3969161 by Ben.Marsh Remove log line that should only be included in the log. Change 3969216 by Steve.Robb Dump a list of module names - rather than DLL filenames - when the editor detects modules which need recompiling. This removes the only remaining use of FModuleManager::GetCleanModuleFilename(), which is also now removed. #jira UE-52405 Change 3969346 by Steve.Robb Missed some bad FScript(Map/Set)Helper usage from CL# 3698969. Change 3969598 by Ben.Marsh Fix warning from VS2017. Change 3971101 by Graeme.Thornton TBA: Added RoundTrip mode to TextAsset commandlet which does a sequence of saves and checks for determinism. It will do 3 binary saves, 3 text saves, then 3 alternate binary->text saves. Change 3971407 by Ben.Marsh UBT: Fix exception when enumerating toolchains if the directory does not exist yet. Change 3971523 by Graeme.Thornton Make compressed block offsets in a pak file store offsets relative to the file header, rather than absolute. Reduces the amount of entropy when data changes in the pak file, making it play nicely with patching Change 3971613 by Ben.Marsh Fix Lightmass non-unity compile errors. Change 3971649 by Ben.Marsh Disable optimization around FTickerObjectBase constructor on Win32 due to ICE. Change 3971829 by Ben.Marsh Fix deprecated header warning from PVS Studio. Change 3972503 by Ben.Marsh Changes to build failure notifications: * Only people that submitted between builds with different error messages will be included on emails by default. * Email subject line will be different for each failing build step, but will include the CL of the first failing step. This will result in one thread for each build failure (a success email is sent with the same subject line). * Anyone that starts a build will be included on all failure emails. Change 3972732 by Ben.Marsh Changes to ensure notification messages are stable. Change 3972810 by Ben.Marsh Write debug information about the digest computed for a change, to assist with debugging it if it's not stable. Change 3973331 by Ben.Marsh Fix missing dependency on linker response file. Prevents target being relinked when build environment changes. Change 3973343 by Ben.Marsh PR #4612: Adding support for PVS-Studio settings file to PVS-Studio Unreal Build Tool toolchain. (Contributed by PaulEremeeff) Change 3973820 by Ben.Marsh Fix incorrect error message when unable to find Visual C++ install directory. Change 3974295 by Robert.Manuszewski Made sure that lazy object pointers are only fixed up for PIE in actual PIE worlds. Change 3975336 by Robert.Manuszewski CIS fix after the last merge from main Change 3976999 by Ben.Marsh Move the Windows stack size settings onto the WindowsTargetRules object, and add the [RequiresUniqueBuildEnvironment] attribute to ensure it's not overwritten incorrectly. This should cause CIS to better errors for compiling Odin editor. Change 3977934 by Ben.Marsh UBT: Allow setting additional compiler/linker arguments through properties on the TargetRules object. Change 3977953 by Ben.Marsh UBT: Enumerate all Visual Studio 2017 install locations using the Visual Studio Setup interop SDK. Multiple simultaneous Visual Studio installations are now supported, and using registry keys to determine installation directories has been deprecated. Allows choosing toolchains from preview versions as well as full versions. Change 3978544 by Ben.Marsh UBT: Include verbose timing information from compiler frontend if using VS2017 15.7 preview 2 or later. Change 3978780 by Ben.Marsh Add Visual C++ 2017 redist files to AppLocalDependencies, and update the prereq installer to include 2017 support DLLs. Change 3979313 by Ben.Marsh UBT: Add the EngineDirectory property to ModuleRules. Makes it easier to find paths to files under the engine folder. Change 3980499 by Ben.Marsh UBT: Automatically enable /DEBUG:FASTLINK if we're using the VS2017 15.7 toolchain or newer and not doing a formal build. This contains fixes for debugger OOM issues present in older versions. Change 3980890 by Ben.Marsh UBT: Update project file generator to support VS2017 solution options file; fixes C# projects being opened by default when generating new project files. Change 3981495 by Ben.Marsh Do not include embedded interop assemblies in the list of references required by a C# project; they are not required build products. #jira UE-54343 Change 3982157 by Ben.Marsh Only output a warning message if BuildConfiguration.xml schema validation fails; we may have settings that only apply to code in another branch. Change 3982239 by Ben.Marsh Update tooltip directing users to install Visual Studio 2017 instead of 2015. Change 3983395 by Graeme.Thornton Fix reference to BUILD_VERSION in BootstrapPackagedGame RC file Change 3983523 by Graeme.Thornton Backwards compatibility for pak files with compressed chunk offsets Change 3983769 by Ben.Marsh UAT: Allow using PDBCOPY.EXE installed as part of the Windows 10 SDK to strip symbols, and add a better message if it can't be found. Change 3984529 by Ben.Marsh BuildGraph: When run with the -Preprocess=... argument, no steps will be executed. Change 3984557 by Ben.Marsh BuildGraph: Return the updated patterns from FilePattern.CreateMapping(), so we can print accurate messages when displaying the source and target directories for a copy or move task. Change 3986520 by Ben.Marsh Remove hacks to uniquify response file name on Android and Linux. Change 3987166 by Steve.Robb Allow overloading of functions which take TFunctions or TFunctionRefs with mutually exclusive signatures. Change 3989061 by Graeme.Thornton TBA: Text asset loading/saving work - Start using FStructuredArchive flavours of UObject Serialize functions when loading and saving exports. - Only use FStructuredArchive interface for text assets, and for classes that have the CLASS_MatchingSerializers which tells us that the class can serialize to both FStructuredArchives and FArchives. - Add GetCacheableArchive to FArchive, which allows transient archives to return a pointer to another archive that will outlive it. Used by bulk data to get a pointer to an archive that can be held and used at a later time to lazy load things. For text assets where the bulk data might be held inside a base64 encoded FArchiveFromStructuredArchive block, we can't dynamically seek back to that location after the on-stack wrapper has been destroyed after the original serialize, so this will return null. For binary assets, we just return a pointer to the same binary archive which can be used freely. Change 3989109 by Graeme.Thornton TBA: TextAsset commandlet emits a warning when binary package determinism fails Change 3990823 by Ben.Marsh UGS: Allow project settings to specify a client path rather than a filesystem path. Not currently usable through UI. Change 3990832 by Ben.Marsh UGS: Make the schedule window resizable. Change 3991569 by Steve.Robb GitHub #4636 : Fixed typo in HeaderParser.cpp for "missed WithValidation keyword" error message Change 3991970 by Steve.Robb Fix for 4096 char limit on FParse::Value. Change 3992222 by Steve.Robb Advice added to the coding standard for using default member initializers. Change 3993675 by Ben.Marsh UGS: Add UI to allow creating new workspaces and selecting projects from existing workspaces that are not currently synced. Change 3994199 by Ben.Marsh UGS: Fix child processes being unable to spawn other child processes with the CREATE_BREAKAWAY_FROM_JOB flag, to add them to their own job objects. In Windows 7 or earlier job objects cannot be nested, so child processes have to create separate job objects and spawn processes with CREATE_BREAKAWAY_FROM_JOB to be able to add them. This fails unless parent process' job object was created with JOB_OBJECT_LIMIT_BREAKAWAY_OK. Discussed here: https://msdn.microsoft.com/en-us/library/windows/desktop/hh448388(v=vs.85).aspx Change 3994243 by Ben.Marsh UGS: Use the select stream dialog instead of displaying a drop list unless there's a stream filter specified. We have way too many streams for this to be useful in a menu unless it's filtered. Change 3994260 by Ben.Marsh UGS: Tweak the stream filter dialog to only use the previous selected node if the filter terms match. It may be a parent node of something that matches, even though it doesn't match itself. Change 3994350 by Ben.Marsh UGS: Automatically guess the correct root path for new workspaces based on the most common existing workspaces for the current user. Change 3995159 by Ben.Marsh UGS: Do not delete files which are outside the sync filter. People expect to be able to sync different projects within a stream without having to update sync filters. Indend to re-introduce this functionality through the manual 'clean workspace' operation. Change 3995169 by Ben.Marsh UGS: Show options as dimmed in the open project dialog, if the radio button for those controls is not checked. Automatically set the radio button if the focus is given to one of those controls. Change 3995228 by Ben.Marsh UGS: Update recently opened projects list when editing project for an existing tab. Change 3995312 by Ben.Marsh UGS: Stop showing all dialogs in the taskbar. Change 3995929 by Robert.Manuszewski Completely rewritten FReferenceChainSearch class used by 'obj refs' command. - 3+ times faster - Uses the same code as GC to track all the references down - Actually reports all reference chains properly - Less code that is more readable than the previous version Change 3995981 by Ben.Marsh UGS: Clean workspace window will now force-sync files that have been deleted or which are writable. Change 3996113 by Ben.Marsh UGS: Fix crash upgrading config files from older versions. Change 3997990 by Ben.Marsh UGS: Prevent error when syncing an empty workspace. Change 3998095 by Ben.Marsh UGS: Change logic for dealing with job objects: rather than creating breakaway jobs (requires co-operation with spawning process), always try to use nested job objects (requires Windows 8.1+). If it fails, ignore the error if we're already part of a job. Also forcibly terminate the process on dispose to handle cases where the job object wasn't created. Change 3998264 by Ben.Marsh UGS: Fix exception when switching projects in-place. Change 3998643 by Ben.Marsh Fix shared DDC not being used for installed engine builds. #jira UE-57631 Change 4000266 by Ben.Marsh UnrealPak: Add an option that allows rebuilding a set of PAK files with different settings. Usage is: UnrealPak [PakFile] -Repack [-Output=FileOrDirectory] [Options] The input pak file may be a single file or wildcard, and is overwritten unless the -Output parameter is specified. Change 4000293 by Ben.Marsh Add a compression flag that allows selecting compressor without using the default platform implementation. Change 4000315 by Ben.Marsh Add support for custom compressors implemented via modular features. Specify -compressor=<PathToDll> on the command line to UnrealPak to load a compressor from an external DLL. Change 4000610 by Ben.Marsh UnrealPak: Add a parameter for compression block size (-compressionblocksize=XXX). Accepts arguments with MB/KB suffixes, as well as byte counts. Change 4000627 by Ben.Marsh UBT: Include enabled plugin info in the UBT log. Change 4000793 by Ben.Marsh UBT: Remove some member variables from VCEnvironment that don't need to be stored. Change 4000909 by Ben.Marsh UBT: Add VS2017 installations to the list of paths checked for MSBuild installations. Change 4001923 by Ben.Marsh UBT: Allow any plugins which are enabled by default to be included in the enabled list, even if they don't have any modules for the current platform. This changes the build-time logic to match the runtime logic. At some point in the future we may add a separate SupportedHostPlatforms list to each plugin to do this explicitly, rather than guessing via the per-module whitelist. Change 4001927 by Ben.Marsh Fixes for compiling against the Windows 10 SDK. Change 4002439 by Robert.Manuszewski Added TDefaultReferenceCollector and FSimpleReferenceProcessorBase to extract common code for clients of TFastReferenceCollector Change 4003508 by Ben.Marsh UGS: Fix new workspaces not having the correct owner and host set. Change 4003622 by Ben.Marsh UGS: Add support for "skipped" as a build result. Change 4004049 by Robert.Manuszewski Significantly improved performance of Reference Chain Search for objects that are nested deep in the object hierarchy Change 4005077 by Ben.Marsh UGS: Update version number. Change 4005112 by Ben.Marsh UBT: Reduce number of times a target has to be constructed while generating project files. Change 4005513 by Ben.Marsh UBT: Reduce number of checks for directories existing when adding include paths to a module. Accounted for 40% of runtime time when generating project files. Change 4005516 by Ben.Marsh UBT: Add warnings whenever a module adds an include path or library path that doesn't exist Change 4006168 by Ben.Marsh CIS fixes. Change 4006236 by Ben.Marsh UGS: Populate the workspace name/root directory text box with the cue banner when focus moves to the control. Change 4006266 by Ben.Marsh UGS: Swap around the new workspace/existing file boxes on the open project dialog. Change 4006552 by Ben.Marsh If staging fails because a restricted folder name is found, include a list of them in the error message. Change 4007397 by Steve.Robb Comments added to make it clear that GetAllocatedSize() only counts direct allocations made by the container. Change 4007458 by Ben.Marsh UBT: Change RPC utility to abort early, rather than continue to try to build even though SSH init failed. Change 4009343 by Ben.Marsh UGS: Set the rmdir option on new workspaces by default. Change 4009501 by Ben.Marsh UBT: Add Windows include paths to the compiler command line, rather than setting through environment variables. This ensures that incremental builds work correctly when SDK versions change. Change 4009509 by Ben.Marsh UBT: Check in a non-versioned directory under the Windows 10 SDK for the resource compiler. Change 4010543 by Ben.Marsh Remove the "Device" and "Simulator" platform groups, because they're unused and overly generic for folder names. Also remove source code for the HTML5 simulator (which is no longer supported). Change 4010553 by Ben.Marsh UAT: Include platform groups in restricted folder names when staging. Change 4012030 by Ben.Marsh UGS: Increase the size of the main window, and set the current stream as the default when creating a new workspace. Change 4012204 by Chad.Garyet - Cleanup to get the POSTs returning 400s the same way the GETs would (now no longer returns the exception text) - Create directory for sqlite db if it doesn't exist #jira none Change 4014209 by Brandon.Schaefer New changes in breakpad dump_syms to allow for producing a symbol file for elf files on windows #review-3998840 @Arciel.Rekman, @Ben.Marsh, @Josh.Engebreston, @Anthony.Bills Change 4015606 by Brandon.Schaefer Missed a code project that needed updating for new Breakpad changes for Mac Change 4017795 by Robert.Manuszewski GC assumption verification should now be 3-4x faster. - Refactored Disregard For GC to use TFastReferenceCollector - Move both Disregard For GC and Cluster verification code to separate source files Change 4020381 by Ben.Marsh Add link to the new official doc page for UnrealGameSync. Change 4020665 by Ben.Marsh UBT: Prevent plugins being precompiled if they don't support the current target platform. Change 4021829 by Ben.Marsh Update message about downloading a new version of Visual Studio. Change 4022063 by Ben.Marsh UBT: Suppress toolchain output when generating project files. Change 4023248 by Ben.Marsh Install an unhandled exception filter to ensure we get crash reports from threads that are not spawned by the engine. At the moment, we only receive crashes that are routed through ReportCrash() via our structured exception handlers in WinMain() and FRunnableThreadWin::Run(). (Also fix an exception within the exception handler, if GError has not been created yet) Change 4025759 by Ben.Marsh Fix universal CRT include paths not being added to compile environment for VS2015. Change 4026002 by Ben.Marsh UBT: Check the old registry locations for the Windows SDK installation directory. Change 4026068 by Ben.Marsh UBT: Use the correct compiler version in the error message for not having the UCRT. Change 4026181 by Ben.Marsh Fix DebugGame editor configurations not enumerating modules correctly. #jira UE-58153 Change 4026285 by Ben.Marsh UBT: Add additional logging for enumerating Windows SDKs. Change 4026708 by Ben.Marsh UBT: Keep a separate list of installed Universal CRT versions to the list of Windows 10 SDK versions. It's possible to install C++ support without the Windows 10 SDK, which still includes UCRT files in Windows 10 SDK folders. Change 4029404 by Ben.Marsh Remove incorrect include paths to fix CIS warnings. Change 4031517 by Steve.Robb Fix for UHT errors not being clickable in the Message Log. #jira UE-58173 Change 4031544 by Ben.Marsh Fix errors building asset catalog for IOS due to modifying shared build environment. #jira UE-58240 Change 4032227 by Ben.Marsh BuildGraph: Print out a warning message when trying to submit without the -Submit argument in BuildGraph. Change 4032262 by Ben.Marsh BuildGraph: Remove the need to copy files to the staging directory in BuildEditorAndTools.xml. Change 4032288 by Ben.Marsh Remove UFE from the BuildEditorAndTools script. 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 3838569 by Steve.Robb Algo moved up a folder. Change 3848581 by Robert.Manuszewski Changing the UObjectArray to not be allocated up front but in 64K-FUObjectItem chunks. This is to fix strange OOM reports on editor startup where it's trying to allocate space for 1M+ FUObjectItems. #jira UE-49446 Change 3864743 by Steve.Robb Fix for buffer overrun when copying a context string. Fix for being unable to link to MallocLeakDetection. Fix to prefix for FMallocLeakDetection::ContextString. New MALLOCLEAK_SCOPED_CONTEXT macro to push/pop a context string. Overload for const TCHAR* added to FMallocLeakDetection::PushContext to save on redundant memory allocations. #jira UE-54612 Change 3865020 by Graeme.Thornton TBA: Changed FIELD_NAME macro to FIELD_NAME_TEXT so that FIELD_NAME can be used for non-literal name definitions Change 3869550 by Josh.Engebretson New SymGen and SymUpload tasks (ShooterGame usage example) Example C# symbolicator (using saved crash and data router formats) Updates for stack walking and crash runtime xml on Windows/Mac Change 3905453 by Steve.Robb USE_TUPLE_AUTO_RETURN_TYPES moved to PLATFORM_COMPILER_HAS_DECLTYPE_AUTO. Change 3910012 by Ben.Marsh UGS: Show an error window and allow setting default P4 server settings if syncing UGS fails. Change 3920044 by Graeme.Thornton TBA: Text asset loading * Added a structured archive layer to FLinkerLoad * Wrapped export loading in a ArchiveUObjectFromStructuredArchive * Updated TextAssetCommandlet to have a "loadtext" mode which will try to load every text asset in the project content * Changed text asset extensions to .utextasset and .utextmap. Couldn't go with the favourite .uasset.json because our various path functions (FPaths::GetCleanFilename etc.) will only strip one layer of extension, so leave a bogus filename. * Relaxed a few checks in structured archive where it was checking for field reentrance, which isn't a problem for loading. * Changed FArchiveFromStructuredArchive to not load all referenced objects at construction time. This introduced some changes to load order which don't work in the engine. Object names are resolved at the point that a reference to them is serialized from the main data block, same as with legacy archives. Change 3921587 by Steve.Robb Static asserts inside ensureMsgf() macros to prevent them being passed invalid arguments or non-literal formatting strings. Fixes for various misuses. #jira UE-55681 Change 3942873 by Ben.Marsh UBT: Allow link time code generation on any configurations where bAllowLTCG is set to true. Microsoft platforms were previously only allowing this option in shipping; the target can decide when to enable it or not. Change 3944629 by Graeme.Thornton Merging back a couple of fixes from Fortnite - Extra parenthesis around some calculations in the pakprecacher - Changed FChunkCacheWorker::DoSignatureCheck() back to ::CheckSignature() - Added documentation for build script crypto options Change 3945381 by Ben.Marsh Disable warning C4770 on Windows (partially validated enum 'xxx' used as index), which occurs when enabling LTCG. Can't find a reference online for this warning, but I suspect it's due to LTCG allowing the compiler to trace code paths where we don't validate that an enum is a known value. Change 3968969 by Steve.Robb Fixes to incorrect uses of FScriptMapHelper and FScriptSetHelper, which weren't accounting for gaps in the sparse array. Change 3969417 by Ben.Marsh Make Visual Studio 2017 the default compiler for UE4 projects, and add support using Visual C++ toolchains from an AutoSDKs. Also add support for selecting a specific toolchain version to use through the WindowsPlatform.CompilerVersion property, which can be configured via a Target.cs files or BuildConfiguration.xml (eg. <WindowsPlatform><CompilerVersion>14.13.26128</CompilerVersion></WindowsPlatform). As well as allowing a specific version number, you can always use the latest toolchain by setting it to "Latest". Change 3972443 by Ben.Marsh Change build scripts to allow running any steps on non-compile workspaces. Setup Dev-Core to just use a non-compile Win64 workspace for everything. Change 3977198 by Ben.Marsh Remove INI file override for editor stack size on Windows. This is rarely valid since editor targets share build products with other games by deafult. Fix to add linker response file as prerequisite exposed targets overriding this as a bug. Change 3979632 by Ben.Marsh Consolidate codepaths for embedding versioning information in the engine. Engine/Build/Build.version is now the authoritative place to read version information; Engine/Source/Runtime/Launch/Resources/Version.h no longer includes macros for the current branch and changelist. * Settings from Build.version are compiled into the (tiny) BuildSettings module via macros set in BuildSettings.build.cs, which is used to initialize version information inside the engine at runtime. * The IsPromotedBuild value is now set to zero by default (but set to 1 by the UpdateLocalVersion UAT command). * The -Licensee argument to the UpdateLocalVersion UAT command, and the IsLicenseeVersion setting for UnrealGameSync, is determined automatically by looking for the Engine/Build/NotForLicensees/EpicInternal.txt file. This path is not visible to licensees. Change 3981738 by Ben.Marsh Move utility classes for filtering files and matching wildcards into DotNETUtilities. Change 3983888 by Steve.Robb Warning C4868 disabled, about evaluation order of braced initializer lists. https://udn.unrealengine.com/questions/426081/help-with-error-c4868-braced-initializers.html Change 3984019 by Steve.Robb FString::Printf formatting argument checking added. Vararg support for FText::Format. All remaining usage fixed. Change 3985502 by Steve.Robb Change to TFunction debugger visualization to allow right-clicking on the [Lambda] and selecting 'Go To Source Code'. Change 3985999 by Graeme.Thornton TBA: Serialize function generation for FArchive and FStructuredArchive overloads on a UObject, using UHT. - Adds a restriction that UObject::Serialize() functions MUST be declared outside of any conditional compilation directives, except for WITH_EDITORONLY_DATA Change 3986461 by Ben.Marsh Fixup lots of platforms not adding response files as a prerequisite. This can cause incremental builds to fail if input files/compile arguments change, because the action graph does not know that the response file being updated invalidates the build artifacts. Change 3990081 by Ben.Marsh Remove custom output formatters for errors and warnings. These are not well supported by different executors, and cause fences between actions with the same formatter with external executors like XGE. Clang supports -fdiagnostics-format=msvc for all platforms, which should do a better job than our crude attempts at regexing errors (causing botched output in some cases). Change 3996714 by Chad.Garyet UGSRestAPI, conversion of UGS to use it. #jira none Change 4008287 by Ben.Marsh UBT: Change the engine to use the Windows 10 SDK by default. Also add support for switching between specific Windows SDK versions. The WindowsPlatform.WindowsSdkVersion property in the target rules can be used to select a desired version, which can also be configured by the <WindowsPlatform><WindowsSdkVersion>Foo</WindowsSdkVersion></WindowsPlatform> parameter in the BuildConfiguration.xml file. The version of Windows to target (ie. the WINVER macro) can be modified by setting WindowsPlatform.TargetWindowsVersion. The default is 0x0601 (Windows 7). Change 4008516 by Chad.Garyet - Adding support for both SQLite and MsSql - API now reads from only MsSql, but writes to both - Added support for POST to CIS for badges - PostBadgeStatus now writes out via API Url rather than a direct connection to the DB #jira none Change 4010296 by Chad.Garyet Moving SQLite db initilization into Application_Start. An exception thrown creating or seeding the db will unload the entire AppDomain and all pages will return a 404. #jira none Change 4024045 by Ben.Marsh Set the list of supported target platforms for OnlineSubsystemGameCircle. #jira UE-57887 Change 4031014 by Ben.Marsh UAT: Add a WhitelistDirectories list in DefaultEngine.ini, which allows specifying folders that can be staged despite having restricted folder names. [CL 4034515 by Ben Marsh in Main branch]
2018-04-26 14:11:04 -04:00
{
DirectoriesAllowList.Add(new StagedDirectoryReference(AllowedDir));
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 4034418) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3851142 by Robert.Manuszewski When BP clustering is enabled, make sure to add the template to the BP cluster when replacing it. Change 3853797 by Ben.Marsh BuildGraph: Add a <Trace> element, which allows logging messages after the string is parsed (as opposed to the Log task, which logs them at runtime). Useful for debugging macro expansion, etc... Also add a -showdiagnostics parameter, to have diagnostic messages output even when running with the -listonly option. Change 3857540 by Graeme.Thornton Properly process the uexp file for a umap asset when generating a pak patch. Stop those uexp files being included in the patch even when they haven't changed Change 3860062 by Steve.Robb Fix for FString::Reset()'s buffer not being an empty null-terminated string (affects FString::ParseIntoArray, for example). Change 3860138 by Steve.Robb Fix for FString::ParseIntoArray() for when string memory has been allocated but has no characters. Change 3860273 by Steve.Robb Tidy up of FHotReloadClassReinstancer::FCDOWriter to not do stuff in constructors. Change 3863203 by Steve.Robb Crash fix for UObjects whose constructors are defined as = default;, which would re-null the UObject state (ClassPrivate, OuterPrivate etc.). See: https://udn.unrealengine.com/questions/412930/crash-due-to-default-constructor.html Change 3864588 by Graeme.Thornton Crypto Keys Improvements - Removed UAT command line params for encryption. Centrally configured by the editor settings now. - UAT staging now creates a small json file containing the keys and settings used for encryption and signing and stores it in the build metadata - Minor refactoring of UAT encryption processing to use the new cryptokeys json file - UnrealPak can be told to get its encryption settings from a json crypto file with the "-CryptoKeys=<filename>" - UnrealPak can now accept a "PatchCryptoKeys=<filename" parameter which gives it a filename to a cryptokeys json file that it can use to unpack the patch reference paks Change 3864691 by Robert.Manuszewski Don't add objects that are in root set to GC clusters to prevent them from keeping the clusters alive forever. Change 3864744 by Robert.Manuszewski Added the ability to get the actual filename of the log file FOutputDeviceFile writes to. Change 3864816 by Graeme.Thornton TBA: Minor formatting improvements to textasset commandlet Change 3868939 by Graeme.Thornton TBA: If -outputPath isn't supplied to TextAsset commandlet, output converted files to the {ProjectSaved}/TextAssets directory Change 3869031 by Graeme.Thornton TBA: Changed timing logs in TextAsset commandlet to be Display so we can see them in the EC log Change 3871802 by Steve.Robb Class cast flags and property flags are now visible in the debugger. Change 3871863 by Robert.Manuszewski Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage. Change 3874413 by Steve.Robb Algo::MinElement and Algo::MaxElement, for finding the minimum and maximum element in a range, and *By versions which take projections. TRangePointerType moved to its own file and used in Algo::MinElement and Algo::MaxElement. Change 3874457 by Ben.Marsh When spawning child processes, only allow them to inherit the writable ends of the stderr and stdout pipe. Fixes an issue related to AutomationTool hanging when the editor closes after running automation tests. The editor launches ADB.EXE (Android Debug Bridge) on editor startup, which forks itself to initialize a server. Even though the child process has its own stdout and stderr pipes, it also inherits the pipes for the editor. When run from C#, as we do for automation tests, Process.WaitForExit() waits for all pipes to be closed before returning. This can't happen if the forked ADB instance still has a reference to the editor's pipes. Change 3876435 by Robert.Manuszewski Don't add root set objects to level actor container to prevent situations where clusters are kept alive forever Change 3878762 by Robert.Manuszewski Fixing potential LinkerLoad leak when a package that still has a linker associated with it is being destroyed. Change 3878850 by Robert.Manuszewski SerializePreloadDependencies will now serialize raw data into the array instead of serializing one element at a time to speed up serialization performance. Change 3881331 by Graeme.Thornton TBA: SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter Change 3886983 by Ben.Marsh UGS: Fix notification window not expanding to fit long captions. Change 3887006 by Ben.Marsh UGS: Change modal dialog to regular window style to avoid weird alignment issues under Windows 10. Change 3887500 by Ben.Marsh UGS: Add support for grouping build badges by a prefix. Badges such as "Foo:Bar1", "Foo:Bar2" will be grouped together (with "Foo:" stripped from the displayed badge names). Also add a separate column showing the type of each change, rather than including it in the CIS column, and change badges to a more angular Windows 10 style. Change 3887513 by Ben.Marsh UGS: Fix badge text drawing outside the clipping bounds. Change 3888010 by Josh.Engebretson Fix UVS logging to UnrealVersionSelector/Saved/Logs and instead use project's log path #jira none Change 3888418 by Ben.Marsh UGS: Add a cache for computed badge layout information. Improves responsiveness when redrawing. Change 3889457 by Steve.Robb GitHub #4457 : Display abbreviations properly when converting FNames to display string #jira UE-54611 Change 3889547 by Ben.Marsh UGS: Add an extensible method for adding arbitrary badges to the right of the "description" column, by running a regular expression over the changelist description. Epic uses a "#tag" style annotations in changelist descriptions and Perforce triggers to verify them. "#jira" is used to link a changelist to an issue tracked in Jira, for example. A matcher to add a badge next to every changelist with a #jira tag, and link to the corresponding issue in Jira, could be set up with an addition to the project's Build/UnrealGameSync.ini file like this: [Badges] +DescriptionBadges=(Pattern="(?i)#\\s*jira\\s*:?\\s+([A-Za-z]+-[0-9]+)", Name="$1", Group="Jira", Color="#c0c0c0", HoverColor="#e0e0e0", Url="https://jira.it.epicgames.net/browse/$1") The "Pattern" attribute specifies the regex to match, and may capture portions of the matched text to be substituted later. "Label" specifies the label to appear on the badge. "Group" specifies an arbitrary identifier used to group related badges together rather than separating them with whitespace. "Color" and "HoverColor" specify hex RGB colors for the badges. "Url" specifies the path to open with a C# Process.Open call if the badge is clicked. Change 3889726 by Ben.Marsh UGS: Fix description badges that don't have any associated URL. Change 3889995 by Ben.Marsh UGS: Fix issue where popup menus can create top level windows in the taskbar. Seemlingly caused by capturing mouse before the window has been activated - removed capture code, and replaced with handling of OnMouseLeave() event instead. Change 3890007 by Ben.Marsh UGS: Add a caption underneath the project logo which shows the current stream, to make it more obvious. Change 3890057 by Ben.Marsh UGS: Fix repainting glitch when resizing window; bounds for status panel lines was not being reset correctly. Change 3891069 by Robert.Manuszewski Fixing a crash in MallocBinned2 when running with malloc profiler enabled. Change 3891084 by Steve.Robb Back out changelist 3881331 because it's causing cook errors. Change 3891100 by Ben.Marsh UGS: Add support for a per-branch "message of the day"-style feature. Messages can be specified in a project's config file in Perforce (eg. <ProjectDir>/Build/UnrealGameSync.ini) as follows: [//UE4/Main/Samples/Games/ShooterGame.uproject] Message=:alert: Lockdown for fixes is **5pm on Friday**. Only fixes for the 2.0 release should be submitted to this branch. [34 issues](https://jira.it.epicgames.net) are remaining as of 2/15. A limited subset of Markdown is supported: [web links](http://www.google.com), *italic*, _italic_, **bold**, __bold__. Icons will be supported through :icon: syntax; the only icon currently available is :alert: Change 3891346 by Steve.Robb TSharedPtr::operator bool, and some usage of it. Change 3891787 by Steve.Robb Fix for buffer overflow in FDebug::LogFormattedMessageWithCallstack(). Change 3892379 by Ben.Marsh UGS: Fix notification window containing the group fix for each build type. Change 3892400 by Ben.Marsh UGS: Shrink the size of the alert panel. Change 3892496 by Ben.Marsh UGS: Dim badges for changes which aren't eligable for syncing. Change 3893932 by Steve.Robb Re-removal of SetShouldHandleAsWeakRef, which was originally removed in CL# 3437205. Change 3895872 by Ben.Marsh UGS: Show the stream name in tab labels by default. Change 3896366 by Ben.Marsh UGS: Automatically resize columns when the main window is resized, and allow specifying desired column widths for projects that have a large number of CIS badges. Columns are now resized proportionally, clamped to a minimum size. Columns will automatically expand up to a desired maximum size, though can be explicitly resized larger if necessary. Columns will not be resized if they are already larger than the window can show, or smaller than the window has space to show. Change 3896367 by Ben.Marsh UGS: UI tweaks - change and time columns are now centered, "Unknown" badge is displayed until a change's type has been determined, increase height of status panel. Change 3896425 by Ben.Marsh UGS: Speculative fix for race condition on clients displaying "under investigation" state. If the DB event is received before a change where an investigation is cancelled is polled from Perforce, we will exclude the resolve event from the list of active investigations. Change 3896461 by Ben.Marsh UGS: Add an option to allow setting a tint color to be applied to the status panel, to allow identifying streams more easily. To use, add a setting similar to the following to a project's Build/UnrealGameSync.ini file: [//UE4/Main/Samples/Games/ShooterGame/ShooterGame.uproject] StatusPanelColor=#dcdcf0 Change 3899530 by Ben.Marsh Add unified syntax for overriding branch specific settings. Checks branch settings first, then [Default] section. Change 3901164 by Ben.Marsh UGS: Add a class to store all the resources for the status panel. Change 3901165 by Graeme.Thornton TBA: Attempt #2 at submitting the text asset saving code. SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter. Minimal amount of structured archive serialization functions added to allow this data to be written Change 3901301 by Ben.Marsh UGS: Add support for reading the latest version of the project config file from Perforce. Some settings should be read depending on the CL you are synced to (eg. build steps), whereas others (MOTD, branch status) should always use the latest version. Will read the local version if checked out, to allow testing local changes. Change 3902454 by Ben.Marsh UGS: Fix logo not being redrawn in the correct position when starting to sync. Change 3903416 by Ben.Marsh UGS: Group badges explicitly through INI file rather than by expecting name to contain ':'. Change 3904154 by Josh.Engebretson Adding Breakpad to ThirdParty sources (Git Commit: 49907e1c3457570f56d959ae26dec6c3a5edd417 https://chromium.googlesource.com/breakpad/breakpad) #jira UE-55442 Change 3904648 by Ben.Marsh UGS: Remove files from the workspace that are excluded by the sync filter. The user's config file stores a hash of the last sync filter. During syncing, if this hash doesn not match the previous value, we enumerate all the files in the #have list and remove anything masked out by the filter. #jira UE-47335 Change 3905442 by Steve.Robb Change of the ConvertFromType() multi-bool return value to a more descriptive enum. Some return values here do not make sense - this is because the existing logic is being preserved and will be fixed in a separate change. Change 3905629 by Ben.Marsh UGS: Fix race condition between two child processes starting on different threads, and inheriting the other's intended stdout/stderr pipes. This prevents pipes being closed when one of the child processes shuts down, and causes waits on the read ends of those pipes to continue indefinitely. Change 3906447 by Steve.Robb Rename EConvertFromTypeResult enumerators. Change 3906574 by Steve.Robb Crash fix for container conversion failure during tagged property import. Change 3909255 by Daniel.Lamb Fixed issue with DLCpackaging crashing on windows #jira UE-42880 #test EngineTest windows Change 3909270 by Steve.Robb Seek instead of skipping bad properties byte-by-byte. Change 3909324 by Steve.Robb Use switch statement instead of repeated if/else. Change 3909525 by Ben.Marsh UGS: Use the StudioEditor target when syncing content-only Enterprise projects. Change 3911754 by Daniel.Lamb Fix for building pak patches. #jira UE-55340 Change 3911942 by Robert.Manuszewski Fixing an ensure when MediaPlayer is being constructed from any thread other than the main one. Change 3913067 by Ben.Marsh UGS: Allow workspace sync filter categories to re-enable categories that are disabled by the global filter. Change 3913209 by Ben.Marsh UGS: Fix incorrect target name when compiling Enterprise projects. Change 3917358 by Steve.Robb Fix for GetLen(FString). Change 3919610 by Ben.Marsh Put data for CrashReportClient in a PAK file of its own (under Engine/Programs/CrashReportClient/Content/Paks/CrashReportClient.pak). There are a large number of small files required for it to run with loose files, which takes a lot of space on disk (due to cluster sizes), and is unweildy to move around. CrashReporter UFS files are tracked in a separate dictionary to regular UFS files to allow construction of the additional PAK file. Change 3921002 by Ben.Marsh UGS: Add option for syncing all projects in a branch. Off by default. Also add support for masking in additional paths to be synced (eg. one or two extra projects). Change 3921008 by Ben.Marsh UGS: Prevent pause waiting for mutual exclusivity when syncing precompiled binaries. We don't need to generate project files or build, so there's no need to wait in line. Change 3921906 by Steve.Robb New interpolation functions for quaternions. https://udn.unrealengine.com/questions/419028/quaternion-interp-to-functions.html Change 3921978 by Graeme.Thornton TBA: Make "Loader" member of FLinkerLoad private to prevent use outside of FLinkerLoad. This archive could be something unexpected if the linker is for a text asset package, so we need to stop people accessing it. Change 3924520 by Graeme.Thornton UnrealPak: Improve encryption summary log messages Change 3924522 by Graeme.Thornton UAT: Add *Encryption.ini to the list of auto-blacklisted config filenames Change 3924604 by Graeme.Thornton UnrealPak: If encryption keys are parsed and fail the encrypt/decrypt test, throw a fatal error. The exectutable will have those same keys embedded so there is no point allowing the paks to be created with broken keys. Change 3924638 by Graeme.Thornton Crypto: Improvements to parsing of old fashioned encryption.ini settings: - AES keys that are too long or short (need to be 32 bytes) will now emit a warning when being parsed, and be truncated or expanded before adding to the crypto settings. - Signing keys will emit an error when they are too long (>64bytes) - Unrealpak will still assert when invalid settings are passed via the other mechanisms (command line or -encryptionini mode). Settings via the crypto json file should now be sanitized and not cause issues #jira UE-55080 Change 3924747 by Steve.Robb Fix for degrees. Change 3925459 by Chad.Garyet Adding check to not to attempt to delete autosdk workspace if it doesn't already exist. Change 3926703 by Ben.Marsh BuildGraph: Include the path to the XML file when displaying an XML parse error. Change 3926917 by Ben.Marsh UBT: Allow overriding the name of the UE4 solution on a branch-specific basis. Useful for switching between multiple UE4 workspaces. Also add support to the editor and UGS for opening the correct solution (determined via a text file saved to Engine/Intermediate/ProjectFiles). Set the solution name using an entry in BuildConfiguration.xml as follows: <ProjectFileGenerator> <MasterProjectName>UE4_Main</MasterProjectName> </ProjectFileGenerator> Change 3927683 by Graeme.Thornton UAT: When building with chunk installs enabled, don't generate the master manifest from each pak creation thread. Just do it once after all pak files have been created. Avoids intermittent crash with multiple threads trying to write the same json file. Change 3928111 by Ben.Marsh UBT: Add an option <bMasterProjectNameFromFolder> which allows setting the solution name based on the folder that it's in. Change 3928926 by Ben.Marsh BuildGraph: Add support for enumerating content copied by the <CsCompile> task. Also add support for invoking methods on string properties. Change 3931041 by Graeme.Thornton TBA: Add option to textasset commandlet to also include engine content in a resave Change 3931043 by Graeme.Thornton TBA: Redirect some more FArchive members in FArchiveProxy Change 3931913 by Ben.Marsh UGS: Do not create a modal dialog if a scheduled sync is unable to run because the editor is open, and do not run the editor after a scheduled sync. #jira UE-47368 Change 3932419 by Ben.Marsh UGS: Allow selecting which projects to sync on schedule. Any projects not already opened at the time the schedule is triggered will be opened first. #jira UE-33541 Change 3932483 by Ben.Marsh PR #3949: UnrealGameSync: Add environment path field to custom BuildStep (Contributed by frankie-dipietro-epic) Change 3932624 by Ben.Marsh UGS: Add an error dialog when trying to clean the workspace before closing the editor. #jira UE-42308 Change 3932679 by Ben.Marsh UGS: Add the date/time to the end of the sync log. #jira UE-33540 Change 3932705 by Ben.Marsh UGS: Prompt to close the editor before allowing the user to enter a changelist to sync to, when syncing to a specific changelist. #jira UE-53182 Change 3933318 by Ben.Marsh UGS: Detect more programs running before allowing a sync to start, show a dialog listing them, and add an option to ignore if necessary. #jira UE-33535, UE-53914 Change 3933840 by Graeme.Thornton TBA: When loading assets, only use structured archive adapters for exports when loading text files. Change 3936040 by Ben.Marsh UGS: Rewrite application lifecycle to fix issues with scheduled syncs on background windows not activating, and window jumping to the front after auto-update. Now uses a custom application context to allow creating separate 'main' windows (first the "opening projects" form, then the regular form), and does not require any forms to be shown in order to be updating in the background. #jira UE-52870 Change 3940230 by Robert.Manuszewski Fixes for FilenameToLongPackageName crashes when runnign commandlets Change 3940240 by Graeme.Thornton Automated cycling of encryption and signing keys Change 3940243 by Graeme.Thornton UAT: CryptoKeys automation script Change 3940321 by Ben.Marsh UGS: Add a "Bisect" mode for regressing bugs between a certain range of changes. To use, select a range of changes by holding down the shift key or individual changes by holidng the control key, then right click and select "Bisect these changes". Individual changes in the list can be marked as "Bisect: Pass" or "Bisect: Fail" from the context menu, and syncing will find the next change in the center of the range. Change 3940538 by Ben.Marsh UBT: Always determine whether a project is a foreign project or not from the valid .uprojectdirs entries, rather than relying on the user passing -game on the command line. Change 3941285 by Gil.Gribb UE4 - Removed PRAGMA_DISABLE_OPTIMIZATION from PlatformFileCommon.h. It was an oversight. #jira none Change 3942404 by Graeme.Thornton Pak Signing: - Unify naming of pak precacher and signedarchivereader signature check functions to make it easier to search for them in crash reporter - Format the signedarchivereader output to match the pak precacher - When signedarchivereader detects a signature check, do the same master signature hash check that the pak precacher does to confirm that the .sig file contents haven't been corrupted since load. - Add PAK_SIGNATURE_CHECK_FAILS_ARE_FATAL guarded exit to signedarchivereader signature failure - Optimization for pakprecacher signature checks. Instead of locking the cached files mutex for every decoded signature, take a local copy in blocks of 16. Only re-lock if we need more. Grab the initial batch when setting up. In most cases, reduces the number of locks to 1 per signature check call. Change 3942825 by Ben.Marsh UAT: Allow passing -Project<N>=Foo.uproject arguments to the MegaXGE commandlet (eg. -Target1="ShooterGame Win64 Development" -Project1="D:\ShooterGame\ShooterGame.uproject") so it can be used from an installed engine build. Change 3942839 by Ben.Marsh UBT: Explicitly query the number of logical processors in the system, to fix Environment.ProcessorCount just returning the number available to the .NET framework. For machines with > 64 cores, processors in a different processor group will not be included in this number. Change 3943153 by Ben.Marsh Use the correct logical processor count in ParallelExecutor. Change 3943210 by Ben.Marsh UGS: Add an option to the editor arguments window that allows prompting before launching the editor. Change 3943329 by Ben.Marsh UGS: Tweak appearance of bisect mode; now shows slightly transparent version of pass/fail icons, and includes remaining CL range in status panel. Change 3944294 by Ben.Marsh UGS: Prompt for confirmation before removing any files from the workspace. Change 3945283 by Ben.Marsh UGS: Add support for project-specific connection settings, and detection of Perforce login tickets expiring. Change 3945325 by Ben.Marsh PR #4558: Changed incorrect obsolete message for ReceiptPropertyList in Modules.cs (Contributed by ryanjon2040) Change 3947359 by Graeme.Thornton TBA: Fixes to loading code to allow bulk data to get a pointer from its loader archive to an archive that it can load from at a later date. For binary archives, this is just a pointer back to the same archive, but for text assets it is a pointer to a "child reader" which maintains its own structured archive that is scoped to the current location in the file. Change 3947360 by Graeme.Thornton TBA: Added RoundTrip mode to text asset commandlet. Performs determinism tests in project assets to see whether they save deterministically to binary and text files, and also when they are ping-ponged between the two formats. Change 3949431 by Graeme.Thornton TBA: Refactored string escaping code in json output formatter FString serializer into a common function which is now used by FName and UObject path serialization too. Fixes some odd cases where an FName contained quotation marks Change 3950843 by Ben.Marsh UBT: Add a better error if an XML config file is corrupt. Change 3952504 by Steve.Robb GitHub #4545 : UE-55924: CaseSensitive token recognition #jira UE-55961 #jira UE-55924 Change 3952707 by Graeme.Thornton Make RandInit(...) log message verbose Change 3954694 by Ben.Marsh BuildGraph: Add support for user-defined macros, which can contain a list of buildgraph commands and be expanded within a node. Example script in Engine/Build/Graph/Examples/Macros.xml. To define a Macro, use the syntax: <Macro Name="MyTestMacro" Arguments="PrintFirstMessage;PrintSecondMessage" OptionalArguments="PrintThirdMessage"> <Log Message="First message" If="$(PrintFirstMessage)"/> <Log Message="Second message" If="$(PrintSecondMessage)"/> <Log Message="Third message" If="'$(PrintThirdMessage)' == 'true'"/> </Macro> To expand a macro, use the syntax: <Expand Name="MyTestMacro" PrintFirstMessage="true" PrintSecondMessage="true"/> An error will be thrown if any required arguments are missing. Optional arguments default to empty if not specified. Tasks within a macro are validated by the schema at the point of definition using the same rules as apply to a <Node> element, but properties are not evaluated until the macro is expanded. This allows macros to get and set properties in scope at the point that it is expanded. Local properties that are introduced within a macro do not otherwise leak to the scope that they are expanded. Change 3954695 by Ben.Marsh PR #4582: Fixed incorrect condition in StagedFileSystemReference.cs (Contributed by moadib) #jira UE-56283 Change 3954961 by Ben.Marsh UBT: Fix issues caused by toolchain assuming that the editor target will be the name of the project with an "Editor" suffix. This is not necessarily the case; the launcher will allow you to instantiate a project with any name, and it will not rename the target files. #jira UE-56040 Change 3955785 by Steve.Robb GitHub #4546 : Don't discard errors from zlib inflate #jira UE-55969 Change 3955940 by Steve.Robb Redundant and confusing macro check removed. Change 3956809 by Ben.Marsh Guard against project paths passed on the command line to UBT being treated as project names. Previous code used to just take the first, which would mask this problem. Change 3959590 by Steve.Robb Useless IsIntrinsic constant and COMPILED_IN_INTRINSIC macro removed. Change 3959864 by Robert.Manuszewski Increasing the size of permanent object pool to fix warnings in cooked ShooterGame #jira UE-56001 Change 3960956 by Steve.Robb New ToCStr function which generically gets a TCHAR* from a 'string-like' argument. Change 3963628 by Ben.Marsh UBT: Fix intellisense issues caused by _API macros being defined as DLLIMPORT (imported symbols cause an error if they are defined). Generate intellisense macros with the -Monolithic argument to work around it. Change 3964349 by Ben.Marsh Move support for reading .modules files into FModuleManager, and always use it in modular builds. Pathway which discovers modules by filename only is no longer supported for simplicity, and due to platform-specific version checks being unreliable on any platforms other than Windows. Change 3964821 by Ben.Marsh Use a custom tool for deleting directories on Windows, to handle paths longer than MAX_PATH correctly. Change 3965269 by Ben.Marsh Add more [RequiresUniqueBuildEnvironment] attributes to target settings that modify the global environment. Change 3966554 by James.Hopkin #core Removed redundant cast Change 3966558 by James.Hopkin #core Removed redundant casts and changed some MakeShareables to MakeShared #robomerge #fortnite Change 3966754 by Ben.Marsh Always use the compiled-in app name when looking for a module manifest. Fixes issues with XGEControlWorker.exe being a renamed copy of ShaderCompileWorker.exe. Change 3967397 by Ben.Marsh Fix "copy local" files not being included in build products enumerated from C# projects. Remove files with "Embed Interop Types" from the output list. Change 3967664 by Ben.Marsh Update UGS solution to use Visual Studio 2017. Change 3967838 by Ben.Marsh Couple of fixes to conform scripts. Change 3968767 by Ben.Marsh Compile the name of the module manifest into the executable via a define explicitly set by UBT, rather than guessing at runtime. Change 3968771 by Ben.Marsh Fix compiled-in engine path being subject to macro expansion. #jira UE-56504 Change 3968886 by Robert.Manuszewski Merging 3914301: Remove any references we had added to the GGCObjectReferencer during Init Change 3968978 by Steve.Robb FString->FName fixes for module names in HotReload. Change 3969019 by Steve.Robb Minor refactor of property skipping logic in SerializeTaggedProperties(). Change 3969041 by Steve.Robb Simplification of Build.version filename construction. Change 3969049 by Steve.Robb Always do rolling names when recompiling in editor, because an unloaded module may still actually by loaded-but-abandoned by the executable. This also removes HotReload's dependence on FModuleManager::GetCleanModuleFilename(). #jira UE-52405 Change 3969120 by Ben.Marsh Enable errors for using undefined identifiers in conditional expressions by default. Change 3969161 by Ben.Marsh Remove log line that should only be included in the log. Change 3969216 by Steve.Robb Dump a list of module names - rather than DLL filenames - when the editor detects modules which need recompiling. This removes the only remaining use of FModuleManager::GetCleanModuleFilename(), which is also now removed. #jira UE-52405 Change 3969346 by Steve.Robb Missed some bad FScript(Map/Set)Helper usage from CL# 3698969. Change 3969598 by Ben.Marsh Fix warning from VS2017. Change 3971101 by Graeme.Thornton TBA: Added RoundTrip mode to TextAsset commandlet which does a sequence of saves and checks for determinism. It will do 3 binary saves, 3 text saves, then 3 alternate binary->text saves. Change 3971407 by Ben.Marsh UBT: Fix exception when enumerating toolchains if the directory does not exist yet. Change 3971523 by Graeme.Thornton Make compressed block offsets in a pak file store offsets relative to the file header, rather than absolute. Reduces the amount of entropy when data changes in the pak file, making it play nicely with patching Change 3971613 by Ben.Marsh Fix Lightmass non-unity compile errors. Change 3971649 by Ben.Marsh Disable optimization around FTickerObjectBase constructor on Win32 due to ICE. Change 3971829 by Ben.Marsh Fix deprecated header warning from PVS Studio. Change 3972503 by Ben.Marsh Changes to build failure notifications: * Only people that submitted between builds with different error messages will be included on emails by default. * Email subject line will be different for each failing build step, but will include the CL of the first failing step. This will result in one thread for each build failure (a success email is sent with the same subject line). * Anyone that starts a build will be included on all failure emails. Change 3972732 by Ben.Marsh Changes to ensure notification messages are stable. Change 3972810 by Ben.Marsh Write debug information about the digest computed for a change, to assist with debugging it if it's not stable. Change 3973331 by Ben.Marsh Fix missing dependency on linker response file. Prevents target being relinked when build environment changes. Change 3973343 by Ben.Marsh PR #4612: Adding support for PVS-Studio settings file to PVS-Studio Unreal Build Tool toolchain. (Contributed by PaulEremeeff) Change 3973820 by Ben.Marsh Fix incorrect error message when unable to find Visual C++ install directory. Change 3974295 by Robert.Manuszewski Made sure that lazy object pointers are only fixed up for PIE in actual PIE worlds. Change 3975336 by Robert.Manuszewski CIS fix after the last merge from main Change 3976999 by Ben.Marsh Move the Windows stack size settings onto the WindowsTargetRules object, and add the [RequiresUniqueBuildEnvironment] attribute to ensure it's not overwritten incorrectly. This should cause CIS to better errors for compiling Odin editor. Change 3977934 by Ben.Marsh UBT: Allow setting additional compiler/linker arguments through properties on the TargetRules object. Change 3977953 by Ben.Marsh UBT: Enumerate all Visual Studio 2017 install locations using the Visual Studio Setup interop SDK. Multiple simultaneous Visual Studio installations are now supported, and using registry keys to determine installation directories has been deprecated. Allows choosing toolchains from preview versions as well as full versions. Change 3978544 by Ben.Marsh UBT: Include verbose timing information from compiler frontend if using VS2017 15.7 preview 2 or later. Change 3978780 by Ben.Marsh Add Visual C++ 2017 redist files to AppLocalDependencies, and update the prereq installer to include 2017 support DLLs. Change 3979313 by Ben.Marsh UBT: Add the EngineDirectory property to ModuleRules. Makes it easier to find paths to files under the engine folder. Change 3980499 by Ben.Marsh UBT: Automatically enable /DEBUG:FASTLINK if we're using the VS2017 15.7 toolchain or newer and not doing a formal build. This contains fixes for debugger OOM issues present in older versions. Change 3980890 by Ben.Marsh UBT: Update project file generator to support VS2017 solution options file; fixes C# projects being opened by default when generating new project files. Change 3981495 by Ben.Marsh Do not include embedded interop assemblies in the list of references required by a C# project; they are not required build products. #jira UE-54343 Change 3982157 by Ben.Marsh Only output a warning message if BuildConfiguration.xml schema validation fails; we may have settings that only apply to code in another branch. Change 3982239 by Ben.Marsh Update tooltip directing users to install Visual Studio 2017 instead of 2015. Change 3983395 by Graeme.Thornton Fix reference to BUILD_VERSION in BootstrapPackagedGame RC file Change 3983523 by Graeme.Thornton Backwards compatibility for pak files with compressed chunk offsets Change 3983769 by Ben.Marsh UAT: Allow using PDBCOPY.EXE installed as part of the Windows 10 SDK to strip symbols, and add a better message if it can't be found. Change 3984529 by Ben.Marsh BuildGraph: When run with the -Preprocess=... argument, no steps will be executed. Change 3984557 by Ben.Marsh BuildGraph: Return the updated patterns from FilePattern.CreateMapping(), so we can print accurate messages when displaying the source and target directories for a copy or move task. Change 3986520 by Ben.Marsh Remove hacks to uniquify response file name on Android and Linux. Change 3987166 by Steve.Robb Allow overloading of functions which take TFunctions or TFunctionRefs with mutually exclusive signatures. Change 3989061 by Graeme.Thornton TBA: Text asset loading/saving work - Start using FStructuredArchive flavours of UObject Serialize functions when loading and saving exports. - Only use FStructuredArchive interface for text assets, and for classes that have the CLASS_MatchingSerializers which tells us that the class can serialize to both FStructuredArchives and FArchives. - Add GetCacheableArchive to FArchive, which allows transient archives to return a pointer to another archive that will outlive it. Used by bulk data to get a pointer to an archive that can be held and used at a later time to lazy load things. For text assets where the bulk data might be held inside a base64 encoded FArchiveFromStructuredArchive block, we can't dynamically seek back to that location after the on-stack wrapper has been destroyed after the original serialize, so this will return null. For binary assets, we just return a pointer to the same binary archive which can be used freely. Change 3989109 by Graeme.Thornton TBA: TextAsset commandlet emits a warning when binary package determinism fails Change 3990823 by Ben.Marsh UGS: Allow project settings to specify a client path rather than a filesystem path. Not currently usable through UI. Change 3990832 by Ben.Marsh UGS: Make the schedule window resizable. Change 3991569 by Steve.Robb GitHub #4636 : Fixed typo in HeaderParser.cpp for "missed WithValidation keyword" error message Change 3991970 by Steve.Robb Fix for 4096 char limit on FParse::Value. Change 3992222 by Steve.Robb Advice added to the coding standard for using default member initializers. Change 3993675 by Ben.Marsh UGS: Add UI to allow creating new workspaces and selecting projects from existing workspaces that are not currently synced. Change 3994199 by Ben.Marsh UGS: Fix child processes being unable to spawn other child processes with the CREATE_BREAKAWAY_FROM_JOB flag, to add them to their own job objects. In Windows 7 or earlier job objects cannot be nested, so child processes have to create separate job objects and spawn processes with CREATE_BREAKAWAY_FROM_JOB to be able to add them. This fails unless parent process' job object was created with JOB_OBJECT_LIMIT_BREAKAWAY_OK. Discussed here: https://msdn.microsoft.com/en-us/library/windows/desktop/hh448388(v=vs.85).aspx Change 3994243 by Ben.Marsh UGS: Use the select stream dialog instead of displaying a drop list unless there's a stream filter specified. We have way too many streams for this to be useful in a menu unless it's filtered. Change 3994260 by Ben.Marsh UGS: Tweak the stream filter dialog to only use the previous selected node if the filter terms match. It may be a parent node of something that matches, even though it doesn't match itself. Change 3994350 by Ben.Marsh UGS: Automatically guess the correct root path for new workspaces based on the most common existing workspaces for the current user. Change 3995159 by Ben.Marsh UGS: Do not delete files which are outside the sync filter. People expect to be able to sync different projects within a stream without having to update sync filters. Indend to re-introduce this functionality through the manual 'clean workspace' operation. Change 3995169 by Ben.Marsh UGS: Show options as dimmed in the open project dialog, if the radio button for those controls is not checked. Automatically set the radio button if the focus is given to one of those controls. Change 3995228 by Ben.Marsh UGS: Update recently opened projects list when editing project for an existing tab. Change 3995312 by Ben.Marsh UGS: Stop showing all dialogs in the taskbar. Change 3995929 by Robert.Manuszewski Completely rewritten FReferenceChainSearch class used by 'obj refs' command. - 3+ times faster - Uses the same code as GC to track all the references down - Actually reports all reference chains properly - Less code that is more readable than the previous version Change 3995981 by Ben.Marsh UGS: Clean workspace window will now force-sync files that have been deleted or which are writable. Change 3996113 by Ben.Marsh UGS: Fix crash upgrading config files from older versions. Change 3997990 by Ben.Marsh UGS: Prevent error when syncing an empty workspace. Change 3998095 by Ben.Marsh UGS: Change logic for dealing with job objects: rather than creating breakaway jobs (requires co-operation with spawning process), always try to use nested job objects (requires Windows 8.1+). If it fails, ignore the error if we're already part of a job. Also forcibly terminate the process on dispose to handle cases where the job object wasn't created. Change 3998264 by Ben.Marsh UGS: Fix exception when switching projects in-place. Change 3998643 by Ben.Marsh Fix shared DDC not being used for installed engine builds. #jira UE-57631 Change 4000266 by Ben.Marsh UnrealPak: Add an option that allows rebuilding a set of PAK files with different settings. Usage is: UnrealPak [PakFile] -Repack [-Output=FileOrDirectory] [Options] The input pak file may be a single file or wildcard, and is overwritten unless the -Output parameter is specified. Change 4000293 by Ben.Marsh Add a compression flag that allows selecting compressor without using the default platform implementation. Change 4000315 by Ben.Marsh Add support for custom compressors implemented via modular features. Specify -compressor=<PathToDll> on the command line to UnrealPak to load a compressor from an external DLL. Change 4000610 by Ben.Marsh UnrealPak: Add a parameter for compression block size (-compressionblocksize=XXX). Accepts arguments with MB/KB suffixes, as well as byte counts. Change 4000627 by Ben.Marsh UBT: Include enabled plugin info in the UBT log. Change 4000793 by Ben.Marsh UBT: Remove some member variables from VCEnvironment that don't need to be stored. Change 4000909 by Ben.Marsh UBT: Add VS2017 installations to the list of paths checked for MSBuild installations. Change 4001923 by Ben.Marsh UBT: Allow any plugins which are enabled by default to be included in the enabled list, even if they don't have any modules for the current platform. This changes the build-time logic to match the runtime logic. At some point in the future we may add a separate SupportedHostPlatforms list to each plugin to do this explicitly, rather than guessing via the per-module whitelist. Change 4001927 by Ben.Marsh Fixes for compiling against the Windows 10 SDK. Change 4002439 by Robert.Manuszewski Added TDefaultReferenceCollector and FSimpleReferenceProcessorBase to extract common code for clients of TFastReferenceCollector Change 4003508 by Ben.Marsh UGS: Fix new workspaces not having the correct owner and host set. Change 4003622 by Ben.Marsh UGS: Add support for "skipped" as a build result. Change 4004049 by Robert.Manuszewski Significantly improved performance of Reference Chain Search for objects that are nested deep in the object hierarchy Change 4005077 by Ben.Marsh UGS: Update version number. Change 4005112 by Ben.Marsh UBT: Reduce number of times a target has to be constructed while generating project files. Change 4005513 by Ben.Marsh UBT: Reduce number of checks for directories existing when adding include paths to a module. Accounted for 40% of runtime time when generating project files. Change 4005516 by Ben.Marsh UBT: Add warnings whenever a module adds an include path or library path that doesn't exist Change 4006168 by Ben.Marsh CIS fixes. Change 4006236 by Ben.Marsh UGS: Populate the workspace name/root directory text box with the cue banner when focus moves to the control. Change 4006266 by Ben.Marsh UGS: Swap around the new workspace/existing file boxes on the open project dialog. Change 4006552 by Ben.Marsh If staging fails because a restricted folder name is found, include a list of them in the error message. Change 4007397 by Steve.Robb Comments added to make it clear that GetAllocatedSize() only counts direct allocations made by the container. Change 4007458 by Ben.Marsh UBT: Change RPC utility to abort early, rather than continue to try to build even though SSH init failed. Change 4009343 by Ben.Marsh UGS: Set the rmdir option on new workspaces by default. Change 4009501 by Ben.Marsh UBT: Add Windows include paths to the compiler command line, rather than setting through environment variables. This ensures that incremental builds work correctly when SDK versions change. Change 4009509 by Ben.Marsh UBT: Check in a non-versioned directory under the Windows 10 SDK for the resource compiler. Change 4010543 by Ben.Marsh Remove the "Device" and "Simulator" platform groups, because they're unused and overly generic for folder names. Also remove source code for the HTML5 simulator (which is no longer supported). Change 4010553 by Ben.Marsh UAT: Include platform groups in restricted folder names when staging. Change 4012030 by Ben.Marsh UGS: Increase the size of the main window, and set the current stream as the default when creating a new workspace. Change 4012204 by Chad.Garyet - Cleanup to get the POSTs returning 400s the same way the GETs would (now no longer returns the exception text) - Create directory for sqlite db if it doesn't exist #jira none Change 4014209 by Brandon.Schaefer New changes in breakpad dump_syms to allow for producing a symbol file for elf files on windows #review-3998840 @Arciel.Rekman, @Ben.Marsh, @Josh.Engebreston, @Anthony.Bills Change 4015606 by Brandon.Schaefer Missed a code project that needed updating for new Breakpad changes for Mac Change 4017795 by Robert.Manuszewski GC assumption verification should now be 3-4x faster. - Refactored Disregard For GC to use TFastReferenceCollector - Move both Disregard For GC and Cluster verification code to separate source files Change 4020381 by Ben.Marsh Add link to the new official doc page for UnrealGameSync. Change 4020665 by Ben.Marsh UBT: Prevent plugins being precompiled if they don't support the current target platform. Change 4021829 by Ben.Marsh Update message about downloading a new version of Visual Studio. Change 4022063 by Ben.Marsh UBT: Suppress toolchain output when generating project files. Change 4023248 by Ben.Marsh Install an unhandled exception filter to ensure we get crash reports from threads that are not spawned by the engine. At the moment, we only receive crashes that are routed through ReportCrash() via our structured exception handlers in WinMain() and FRunnableThreadWin::Run(). (Also fix an exception within the exception handler, if GError has not been created yet) Change 4025759 by Ben.Marsh Fix universal CRT include paths not being added to compile environment for VS2015. Change 4026002 by Ben.Marsh UBT: Check the old registry locations for the Windows SDK installation directory. Change 4026068 by Ben.Marsh UBT: Use the correct compiler version in the error message for not having the UCRT. Change 4026181 by Ben.Marsh Fix DebugGame editor configurations not enumerating modules correctly. #jira UE-58153 Change 4026285 by Ben.Marsh UBT: Add additional logging for enumerating Windows SDKs. Change 4026708 by Ben.Marsh UBT: Keep a separate list of installed Universal CRT versions to the list of Windows 10 SDK versions. It's possible to install C++ support without the Windows 10 SDK, which still includes UCRT files in Windows 10 SDK folders. Change 4029404 by Ben.Marsh Remove incorrect include paths to fix CIS warnings. Change 4031517 by Steve.Robb Fix for UHT errors not being clickable in the Message Log. #jira UE-58173 Change 4031544 by Ben.Marsh Fix errors building asset catalog for IOS due to modifying shared build environment. #jira UE-58240 Change 4032227 by Ben.Marsh BuildGraph: Print out a warning message when trying to submit without the -Submit argument in BuildGraph. Change 4032262 by Ben.Marsh BuildGraph: Remove the need to copy files to the staging directory in BuildEditorAndTools.xml. Change 4032288 by Ben.Marsh Remove UFE from the BuildEditorAndTools script. 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 3838569 by Steve.Robb Algo moved up a folder. Change 3848581 by Robert.Manuszewski Changing the UObjectArray to not be allocated up front but in 64K-FUObjectItem chunks. This is to fix strange OOM reports on editor startup where it's trying to allocate space for 1M+ FUObjectItems. #jira UE-49446 Change 3864743 by Steve.Robb Fix for buffer overrun when copying a context string. Fix for being unable to link to MallocLeakDetection. Fix to prefix for FMallocLeakDetection::ContextString. New MALLOCLEAK_SCOPED_CONTEXT macro to push/pop a context string. Overload for const TCHAR* added to FMallocLeakDetection::PushContext to save on redundant memory allocations. #jira UE-54612 Change 3865020 by Graeme.Thornton TBA: Changed FIELD_NAME macro to FIELD_NAME_TEXT so that FIELD_NAME can be used for non-literal name definitions Change 3869550 by Josh.Engebretson New SymGen and SymUpload tasks (ShooterGame usage example) Example C# symbolicator (using saved crash and data router formats) Updates for stack walking and crash runtime xml on Windows/Mac Change 3905453 by Steve.Robb USE_TUPLE_AUTO_RETURN_TYPES moved to PLATFORM_COMPILER_HAS_DECLTYPE_AUTO. Change 3910012 by Ben.Marsh UGS: Show an error window and allow setting default P4 server settings if syncing UGS fails. Change 3920044 by Graeme.Thornton TBA: Text asset loading * Added a structured archive layer to FLinkerLoad * Wrapped export loading in a ArchiveUObjectFromStructuredArchive * Updated TextAssetCommandlet to have a "loadtext" mode which will try to load every text asset in the project content * Changed text asset extensions to .utextasset and .utextmap. Couldn't go with the favourite .uasset.json because our various path functions (FPaths::GetCleanFilename etc.) will only strip one layer of extension, so leave a bogus filename. * Relaxed a few checks in structured archive where it was checking for field reentrance, which isn't a problem for loading. * Changed FArchiveFromStructuredArchive to not load all referenced objects at construction time. This introduced some changes to load order which don't work in the engine. Object names are resolved at the point that a reference to them is serialized from the main data block, same as with legacy archives. Change 3921587 by Steve.Robb Static asserts inside ensureMsgf() macros to prevent them being passed invalid arguments or non-literal formatting strings. Fixes for various misuses. #jira UE-55681 Change 3942873 by Ben.Marsh UBT: Allow link time code generation on any configurations where bAllowLTCG is set to true. Microsoft platforms were previously only allowing this option in shipping; the target can decide when to enable it or not. Change 3944629 by Graeme.Thornton Merging back a couple of fixes from Fortnite - Extra parenthesis around some calculations in the pakprecacher - Changed FChunkCacheWorker::DoSignatureCheck() back to ::CheckSignature() - Added documentation for build script crypto options Change 3945381 by Ben.Marsh Disable warning C4770 on Windows (partially validated enum 'xxx' used as index), which occurs when enabling LTCG. Can't find a reference online for this warning, but I suspect it's due to LTCG allowing the compiler to trace code paths where we don't validate that an enum is a known value. Change 3968969 by Steve.Robb Fixes to incorrect uses of FScriptMapHelper and FScriptSetHelper, which weren't accounting for gaps in the sparse array. Change 3969417 by Ben.Marsh Make Visual Studio 2017 the default compiler for UE4 projects, and add support using Visual C++ toolchains from an AutoSDKs. Also add support for selecting a specific toolchain version to use through the WindowsPlatform.CompilerVersion property, which can be configured via a Target.cs files or BuildConfiguration.xml (eg. <WindowsPlatform><CompilerVersion>14.13.26128</CompilerVersion></WindowsPlatform). As well as allowing a specific version number, you can always use the latest toolchain by setting it to "Latest". Change 3972443 by Ben.Marsh Change build scripts to allow running any steps on non-compile workspaces. Setup Dev-Core to just use a non-compile Win64 workspace for everything. Change 3977198 by Ben.Marsh Remove INI file override for editor stack size on Windows. This is rarely valid since editor targets share build products with other games by deafult. Fix to add linker response file as prerequisite exposed targets overriding this as a bug. Change 3979632 by Ben.Marsh Consolidate codepaths for embedding versioning information in the engine. Engine/Build/Build.version is now the authoritative place to read version information; Engine/Source/Runtime/Launch/Resources/Version.h no longer includes macros for the current branch and changelist. * Settings from Build.version are compiled into the (tiny) BuildSettings module via macros set in BuildSettings.build.cs, which is used to initialize version information inside the engine at runtime. * The IsPromotedBuild value is now set to zero by default (but set to 1 by the UpdateLocalVersion UAT command). * The -Licensee argument to the UpdateLocalVersion UAT command, and the IsLicenseeVersion setting for UnrealGameSync, is determined automatically by looking for the Engine/Build/NotForLicensees/EpicInternal.txt file. This path is not visible to licensees. Change 3981738 by Ben.Marsh Move utility classes for filtering files and matching wildcards into DotNETUtilities. Change 3983888 by Steve.Robb Warning C4868 disabled, about evaluation order of braced initializer lists. https://udn.unrealengine.com/questions/426081/help-with-error-c4868-braced-initializers.html Change 3984019 by Steve.Robb FString::Printf formatting argument checking added. Vararg support for FText::Format. All remaining usage fixed. Change 3985502 by Steve.Robb Change to TFunction debugger visualization to allow right-clicking on the [Lambda] and selecting 'Go To Source Code'. Change 3985999 by Graeme.Thornton TBA: Serialize function generation for FArchive and FStructuredArchive overloads on a UObject, using UHT. - Adds a restriction that UObject::Serialize() functions MUST be declared outside of any conditional compilation directives, except for WITH_EDITORONLY_DATA Change 3986461 by Ben.Marsh Fixup lots of platforms not adding response files as a prerequisite. This can cause incremental builds to fail if input files/compile arguments change, because the action graph does not know that the response file being updated invalidates the build artifacts. Change 3990081 by Ben.Marsh Remove custom output formatters for errors and warnings. These are not well supported by different executors, and cause fences between actions with the same formatter with external executors like XGE. Clang supports -fdiagnostics-format=msvc for all platforms, which should do a better job than our crude attempts at regexing errors (causing botched output in some cases). Change 3996714 by Chad.Garyet UGSRestAPI, conversion of UGS to use it. #jira none Change 4008287 by Ben.Marsh UBT: Change the engine to use the Windows 10 SDK by default. Also add support for switching between specific Windows SDK versions. The WindowsPlatform.WindowsSdkVersion property in the target rules can be used to select a desired version, which can also be configured by the <WindowsPlatform><WindowsSdkVersion>Foo</WindowsSdkVersion></WindowsPlatform> parameter in the BuildConfiguration.xml file. The version of Windows to target (ie. the WINVER macro) can be modified by setting WindowsPlatform.TargetWindowsVersion. The default is 0x0601 (Windows 7). Change 4008516 by Chad.Garyet - Adding support for both SQLite and MsSql - API now reads from only MsSql, but writes to both - Added support for POST to CIS for badges - PostBadgeStatus now writes out via API Url rather than a direct connection to the DB #jira none Change 4010296 by Chad.Garyet Moving SQLite db initilization into Application_Start. An exception thrown creating or seeding the db will unload the entire AppDomain and all pages will return a 404. #jira none Change 4024045 by Ben.Marsh Set the list of supported target platforms for OnlineSubsystemGameCircle. #jira UE-57887 Change 4031014 by Ben.Marsh UAT: Add a WhitelistDirectories list in DefaultEngine.ini, which allows specifying folders that can be staged despite having restricted folder names. [CL 4034515 by Ben Marsh in Main branch]
2018-04-26 14:11:04 -04:00
}
}
List<string> LocTargetsDenyListStrings;
if (GameConfig.GetArray("Staging", "BlacklistLocalizationTargets", out LocTargetsDenyListStrings))
{
foreach (string DeniedLocTarget in LocTargetsDenyListStrings)
{
LocalizationTargetsDenyList.Add(DeniedLocTarget);
}
}
// Read the list of files which are allow listed to be staged
ReadConfigFileList(GameConfig, "Staging", "WhitelistConfigFiles", ConfigFilesAllowList);
ReadConfigFileList(GameConfig, "Staging", "BlacklistConfigFiles", ConfigFilesDenyList);
// Grab the game ini data
String PackagingIniPath = "/Script/UnrealEd.ProjectPackagingSettings";
// Read the config deny lists
GameConfig.GetArray(PackagingIniPath, "IniKeyBlacklist", out IniKeyDenyList);
GameConfig.GetArray(PackagingIniPath, "IniSectionBlacklist", out IniSectionDenyList);
// TODO: Drive these lists from a config file
IniSuffixAllowList = new List<string>
{
".ini",
"compat.ini",
"deviceprofiles.ini",
"engine.ini",
"enginechunkoverrides.ini",
"game.ini",
"gameplaytags.ini",
"gameusersettings.ini",
"hardware.ini",
"input.ini",
"scalability.ini",
"runtimeoptions.ini",
"installbundle.ini"
};
IniSuffixDenyList = new List<string>
{
"crypto.ini",
"editor.ini",
"editorgameagnostic.ini",
"editorkeybindings.ini",
"editorlayout.ini",
"editorperprojectusersettings.ini",
"editorsettings.ini",
"editorusersettings.ini",
"lightmass.ini",
"pakfilerules.ini"
};
// If we were configured to use manifests across the whole project, then this platform should use manifests.
// Otherwise, read whether we are generating chunks from the ProjectPackagingSettings ini.
if (InForceChunkManifests)
{
PlatformUsesChunkManifests = true;
}
else if (DLCRoot != null)
{
PlatformUsesChunkManifests = false;
}
else
{
bool bSetting = false;
if (GameConfig.GetBool(PackagingIniPath, "bGenerateChunks", out bSetting))
{
PlatformUsesChunkManifests = bSetting;
}
}
}
/// <summary>
/// Read a list of allowed or denied config files names from a config file
/// </summary>
/// <param name="Config">The config hierarchy to read from</param>
/// <param name="SectionName">The section name</param>
/// <param name="KeyName">The key name to read from</param>
/// <param name="ConfigFiles">Receives a list of config file paths</param>
private static void ReadConfigFileList(ConfigHierarchy Config, string SectionName, string KeyName, HashSet<StagedFileReference> ConfigFiles)
{
List<string> ConfigFileNames;
if(Config.GetArray(SectionName, KeyName, out ConfigFileNames))
{
foreach(string ConfigFileName in ConfigFileNames)
{
ConfigFiles.Add(new StagedFileReference(ConfigFileName));
}
}
}
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3494741 by Steve.Robb Generated code size savings. #jira UE-43048 Change 3495484 by Steve.Robb Fix for generated indices of static arrays when saving configs. Change 3497926 by Robert.Manuszewski Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything. Change 3498077 by Robert.Manuszewski Only use the recursion guard in async loading code when the event driven loader is enabled. Change 3498112 by Ben.Marsh UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own. Change 3500239 by Robert.Manuszewski Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes. Change 3500395 by Steve.Robb Extra codegen savings when not in hot reload. Change 3501004 by Steve.Robb EObjectFlags now have constexpr operators. Change 3502079 by Ben.Marsh UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary. Change 3502527 by Steve.Robb Fix for zero-sized array compile error in generated code when all functions are editor-only. Change 3502542 by Ben.Marsh UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead. Change 3502868 by Steve.Robb Workaround for inefficient generated code with stateless lambdas on Clang. Change 3503550 by Steve.Robb Another generated code lambda optimization. Change 3503582 by Ben.Marsh BuildGraph: Add support for nullable parameter types. Change 3504424 by Steve.Robb New AllOf, AnyOf and NoneOf algorithms. Change 3504712 by Ben.Marsh UAT: Less spammy log and error output from UAT. * Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception). * Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information. * AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log) * Name of the calling function is not included in console output by default, but still included in the log. Change 3504808 by Ben.Marsh UAT: Suppress P4 output when running a recursive instance of UAT. Change 3505044 by Steve.Robb Code generation improved for TCppClassType code. Change 3505485 by Ben.Marsh Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module. Change 3505699 by Ben.Marsh Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins. Change 3506055 by Ben.Marsh UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output. Change 3507745 by Robert.Manuszewski Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses). Change 3507911 by Ben.Marsh Plugins: Minor changes to plugin descriptors. * Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors. * Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from. Change 3508669 by Ben.Marsh EC: Parse multi-line messages from UBT and UAT. Change 3508691 by Ben.Marsh Fix double-spacing of cook stats. Change 3509245 by Steve.Robb UHT makefiles removed. Flag audit removed. Change 3509275 by Steve.Robb Fix for mismatched stat categories in AudioMixer. #jira UE-46129 Change 3509289 by Robert.Manuszewski Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably. Change 3509294 by Robert.Manuszewski UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it. Change 3509312 by Steve.Robb GitHub# 3679: Add TArray constructor that takes a raw pointer and a count Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too. #jira UE-46136 Change 3509396 by Steve.Robb GitHub# 3676: Fix TUnion operator<< compile error #jira UE-46099 Change 3509633 by Steve.Robb Fix for line numbers on multiline macros. Change 3509938 by Gil.Gribb UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading. Change 3510593 by Daniel.Lamb Fixed up unsoilicited files getting populated with files which aren't finished being created yet. #test None Change 3510594 by Daniel.Lamb Fixed up temp files directory for patching. Thanks David Yerkess @ Milestone #review@Ben.Marsh Change 3511628 by Ben.Marsh PR #3707: Fixed UBT stack size (Contributed by gildor2) Change 3511808 by Ben.Marsh Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git) #jira UE-46540 Change 3512017 by Ben.Marsh Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface. Change 3513935 by Steve.Robb Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477. Change 3514142 by Steve.Robb MemoryProfiler2 added to generated solution. Change 3516463 by Ben.Marsh Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user. Change 3517860 by Ben.Marsh PR #3727: FString Dereference Fixes (Contributed by jovisgCL) Change 3517967 by Ben.Marsh Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line. Change 3518070 by Steve.Robb Disable Binned2 stats in shipping non-editor builds. Change 3520079 by Steve.Robb Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions. #jira UE-24034 Change 3520080 by Robert.Manuszewski Made max package summary size to be configurable with ini setting Change 3520083 by Steve.Robb Force a GC after hot reload to clean up reinstanced objects which may still tick. #jira UE-40421 Change 3520480 by Robert.Manuszewski Improved assert message when the initial package read request was too small. Change 3520590 by Graeme.Thornton SignedArchiveReader optimizations - Loads more stats - Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader - Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time - Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries Change 3521023 by Graeme.Thornton Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing Change 3521787 by Ben.Marsh PR #3736: Small static code analysis fixes (Contributed by jovisgCL) Change 3521789 by Ben.Marsh PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar) Change 3524721 by Ben.Marsh Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core. Change 3524741 by Ben.Marsh Move PumpMessages() into FPlatformApplicationMisc. Change 3525399 by Ben.Marsh UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment. Change 3525743 by Ben.Marsh UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds. Change 3525746 by Ben.Marsh EC: Include the clobber option on new workspaces, to allow overriding version files when syncing. Change 3526453 by Ben.Marsh UGS: Do not generate project files when syncing precompiled binaries. Change 3527045 by Ben.Marsh Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting. Change 3527420 by Ben.Marsh UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing). Config files are now read from: Engine/Programs/UnrealGameSync/UnrealGameSync.ini Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini If a project is selected: <ProjectDir>/Build/UnrealGameSync.ini <ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini If the .uprojectdirs file is selected: Engine/Programs/UnrealGameSync/DefaultProject.ini Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini Change 3528063 by Ben.Marsh Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse. Change 3528415 by Ben.Marsh UAT: Remove \r characters from the end of multiline log messages. Change 3528427 by Ben.Marsh EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent. Change 3528485 by Ben.Marsh EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places. Change 3528505 by Steve.Robb PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL) #jira UE-46819 Change 3528772 by Robert.Manuszewski Enabling actor and blueprint clustering in ShooterGame Change 3528786 by Robert.Manuszewski PR #3760: Fix typo (Contributed by jesseyeh) Change 3528792 by Steve.Robb PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL) #jira UE-46962 Change 3528941 by Robert.Manuszewski Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object. #jira UE-44996 Change 3530241 by Ben.Marsh UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value. Change 3531377 by Ben.Marsh Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it. This has several advantages over the per-module platform whitelist/blacklist: * Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore. * References to dependent plugins from platform-specific plugins can now be eliminated. * Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly). * The editor can load any plugins without having to whitelist supported editor host platforms. UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime. Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary. Change 3531502 by Jin.Zhang Add support for GPUCrash #rb Change 3531664 by Ben.Marsh UBT: Change output format from C# JSON writer to match output by the engine. Change 3531848 by Ben.Marsh UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable. Change 3531869 by Ben.Marsh UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field. Change 3532474 by Ben.Marsh UBT: Use the same mechanism as UAT for logging exceptions. Change 3532734 by Graeme.Thornton Initial VSCode Support - Tasks generated for building all game/engine/program targets - Debugging support for targets on Win64 Change 3532789 by Steve.Robb FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap. Set_Add and Map_Add no longer have a return value. FScriptSet::Find and FScriptMap::Find functions are now FindIndex. FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash. Change 3532845 by Steve.Robb Obsolete UHT settings deleted. Change 3532875 by Graeme.Thornton VSCode - Add debug targets for different target configurations - Choose between VS debugger (windows) and GDB (mac/linux) Change 3532906 by Graeme.Thornton VSCode - Point all builds directly at UBT rather than the batch files - Adjust mac build tasks to run through mono Change 3532924 by Ben.Marsh UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root. Change 3535234 by Graeme.Thornton VSCode - Pass intellisense system a list of paths to use for header resolution Change 3535247 by Graeme.Thornton UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation Change 3535376 by Graeme.Thornton VSCode - Added build jobs for C# projects - Linked launch tasks to relevant build task Change 3537083 by Ben.Marsh EC: Change P4 swarm links to start at the changelist for a build. Change 3537368 by Graeme.Thornton Fix for crash in FSignedArchiveReader when multithreading is disabled Change 3537550 by Graeme.Thornton Fixed a crash in the taskgraph when running single threaded Change 3537922 by Steve.Robb Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT. Change 3539691 by Graeme.Thornton VSCode - Various updates to get PC and Mac C++ projects building and debugging. - Some other changes to C# setup to allow compilation. Debugging doesn't work. Change 3539775 by Ben.Marsh Plugins: Various fixes to settings for enabling plugins. * Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled). * Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed. * Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them. Change 3540788 by Ben.Marsh UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile). Example usage: public class UnrealPakTarget : TargetRules { public UnrealPakTarget(TargetInfo Target) : base(Target) { Type = TargetType.Program; LinkType = TargetLinkType.Monolithic; LaunchModuleName = "UnrealPak"; if(HostPlatform == UnrealTargetPlatform.Win64) { PreBuildSteps.Add("echo Before building:"); PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); PostBuildSteps.Add("echo After building!"); PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); } } } Change 3541664 by Graeme.Thornton VSCode - Add problemMatcher tag to cpp build targets Change 3541732 by Graeme.Thornton VSCode - Change UBT command line switch to "-vscode" for simplicity Change 3541967 by Graeme.Thornton VSCode - Fixes for Mac/Linux build steps Change 3541968 by Ben.Marsh CRP: Pass through the EnabledPlugins element in crash context XML files. #jira UE-46912 Change 3542519 by Ben.Marsh UBT: Add chain of references to error messages when configuring plugins. Change 3542523 by Ben.Marsh UBT: Add more useful error message when attempt to parse a JSON object fails. Change 3542658 by Ben.Marsh UBT: Include a chain of references when reporting errors instantiating modules. Change 3543432 by Ben.Marsh Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set. Change 3543436 by Ben.Marsh UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails. Change 3543536 by Ben.Marsh UBT: Downgrade message about redundant plugin references to a warning. Change 3543871 by Gil.Gribb UE4 - Fixed a critical crash bug with non-EDL loading from pak files. Change 3543924 by Robert.Manuszewski Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes. +Small optimization to token stream generation code. Change 3544469 by Jin.Zhang Crashes page displays the list of plugins from the crash context #rb Change 3544608 by Steve.Robb Fix for nativized generated code. #jira UE-47452 Change 3544612 by Ben.Marsh Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages(). #jira UE-47449 Change 3545954 by Gil.Gribb Fixed a critical crash bug relating to a race condition in async package summary reading. Change 3545968 by Ben.Marsh UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same. #jira UE-47419 Change 3545976 by Ben.Marsh EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch. Change 3546185 by Ben.Marsh Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped. Change 3547084 by Gil.Gribb Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms. Change 3547968 by Gil.Gribb Fixed critical race which potentially could cause a crash in the pak precacher. Change 3504722 by Ben.Marsh BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run. For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as: ERROR: Unable to write to foo.txt while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" /> at Engine\Build\InstalledEngineBuild.xml(91) (see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace) Change 3512255 by Ben.Marsh Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated. Change 3512332 by Ben.Marsh Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4. Change 3512393 by Ben.Marsh Rename FPaths::GameLogDir() to FPaths::ProjectLogDir(). Change 3513452 by Ben.Marsh Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project. Change 3516262 by Ben.Marsh Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor. * Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod. * The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders). Change 3517565 by Ben.Marsh Remove fixed engine version numbers from OSS plugins. Change 3518005 by Ben.Marsh UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false. Change 3518054 by Ben.Marsh UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard. Change 3524496 by Ben.Marsh Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core. Change 3524641 by Ben.Marsh Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc. Change 3528723 by Steve.Robb MoveTemp now static asserts if passed a const reference or rvalue. MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious. Fixes to violations of these new rules. Change 3528876 by Ben.Marsh Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste. Change 3529073 by Ben.Marsh Add script to package ShooterGame for any platforms. Change 3531493 by Ben.Marsh Update platform-specific plugins to declare the target platforms they support. Change 3531611 by Ben.Marsh UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates. Change 3531868 by Ben.Marsh Resaving project descriptors to remove invalid fields. Change 3531983 by Ben.Marsh UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders. * Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer. * Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type) * Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo")) * An error is output if any restricted folder names other than the output platform are in the staged output. Change 3540315 by Ben.Marsh UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers. Change 3542410 by Ben.Marsh UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already. Change 3543018 by Ben.Marsh UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions. Change 3544371 by Steve.Robb Fixes to TSet_Add and TMap_Add BPs. #jira UE-47441 [CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
/// <summary>
/// Finds files to stage under a given base directory.
/// </summary>
/// <param name="BaseDir">The directory to search under</param>
/// <param name="Option">Options for the search</param>
/// <returns>List of files to be staged</returns>
public List<FileReference> FindFilesToStage(DirectoryReference BaseDir, StageFilesSearch Option)
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3494741 by Steve.Robb Generated code size savings. #jira UE-43048 Change 3495484 by Steve.Robb Fix for generated indices of static arrays when saving configs. Change 3497926 by Robert.Manuszewski Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything. Change 3498077 by Robert.Manuszewski Only use the recursion guard in async loading code when the event driven loader is enabled. Change 3498112 by Ben.Marsh UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own. Change 3500239 by Robert.Manuszewski Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes. Change 3500395 by Steve.Robb Extra codegen savings when not in hot reload. Change 3501004 by Steve.Robb EObjectFlags now have constexpr operators. Change 3502079 by Ben.Marsh UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary. Change 3502527 by Steve.Robb Fix for zero-sized array compile error in generated code when all functions are editor-only. Change 3502542 by Ben.Marsh UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead. Change 3502868 by Steve.Robb Workaround for inefficient generated code with stateless lambdas on Clang. Change 3503550 by Steve.Robb Another generated code lambda optimization. Change 3503582 by Ben.Marsh BuildGraph: Add support for nullable parameter types. Change 3504424 by Steve.Robb New AllOf, AnyOf and NoneOf algorithms. Change 3504712 by Ben.Marsh UAT: Less spammy log and error output from UAT. * Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception). * Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information. * AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log) * Name of the calling function is not included in console output by default, but still included in the log. Change 3504808 by Ben.Marsh UAT: Suppress P4 output when running a recursive instance of UAT. Change 3505044 by Steve.Robb Code generation improved for TCppClassType code. Change 3505485 by Ben.Marsh Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module. Change 3505699 by Ben.Marsh Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins. Change 3506055 by Ben.Marsh UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output. Change 3507745 by Robert.Manuszewski Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses). Change 3507911 by Ben.Marsh Plugins: Minor changes to plugin descriptors. * Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors. * Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from. Change 3508669 by Ben.Marsh EC: Parse multi-line messages from UBT and UAT. Change 3508691 by Ben.Marsh Fix double-spacing of cook stats. Change 3509245 by Steve.Robb UHT makefiles removed. Flag audit removed. Change 3509275 by Steve.Robb Fix for mismatched stat categories in AudioMixer. #jira UE-46129 Change 3509289 by Robert.Manuszewski Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably. Change 3509294 by Robert.Manuszewski UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it. Change 3509312 by Steve.Robb GitHub# 3679: Add TArray constructor that takes a raw pointer and a count Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too. #jira UE-46136 Change 3509396 by Steve.Robb GitHub# 3676: Fix TUnion operator<< compile error #jira UE-46099 Change 3509633 by Steve.Robb Fix for line numbers on multiline macros. Change 3509938 by Gil.Gribb UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading. Change 3510593 by Daniel.Lamb Fixed up unsoilicited files getting populated with files which aren't finished being created yet. #test None Change 3510594 by Daniel.Lamb Fixed up temp files directory for patching. Thanks David Yerkess @ Milestone #review@Ben.Marsh Change 3511628 by Ben.Marsh PR #3707: Fixed UBT stack size (Contributed by gildor2) Change 3511808 by Ben.Marsh Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git) #jira UE-46540 Change 3512017 by Ben.Marsh Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface. Change 3513935 by Steve.Robb Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477. Change 3514142 by Steve.Robb MemoryProfiler2 added to generated solution. Change 3516463 by Ben.Marsh Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user. Change 3517860 by Ben.Marsh PR #3727: FString Dereference Fixes (Contributed by jovisgCL) Change 3517967 by Ben.Marsh Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line. Change 3518070 by Steve.Robb Disable Binned2 stats in shipping non-editor builds. Change 3520079 by Steve.Robb Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions. #jira UE-24034 Change 3520080 by Robert.Manuszewski Made max package summary size to be configurable with ini setting Change 3520083 by Steve.Robb Force a GC after hot reload to clean up reinstanced objects which may still tick. #jira UE-40421 Change 3520480 by Robert.Manuszewski Improved assert message when the initial package read request was too small. Change 3520590 by Graeme.Thornton SignedArchiveReader optimizations - Loads more stats - Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader - Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time - Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries Change 3521023 by Graeme.Thornton Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing Change 3521787 by Ben.Marsh PR #3736: Small static code analysis fixes (Contributed by jovisgCL) Change 3521789 by Ben.Marsh PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar) Change 3524721 by Ben.Marsh Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core. Change 3524741 by Ben.Marsh Move PumpMessages() into FPlatformApplicationMisc. Change 3525399 by Ben.Marsh UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment. Change 3525743 by Ben.Marsh UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds. Change 3525746 by Ben.Marsh EC: Include the clobber option on new workspaces, to allow overriding version files when syncing. Change 3526453 by Ben.Marsh UGS: Do not generate project files when syncing precompiled binaries. Change 3527045 by Ben.Marsh Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting. Change 3527420 by Ben.Marsh UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing). Config files are now read from: Engine/Programs/UnrealGameSync/UnrealGameSync.ini Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini If a project is selected: <ProjectDir>/Build/UnrealGameSync.ini <ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini If the .uprojectdirs file is selected: Engine/Programs/UnrealGameSync/DefaultProject.ini Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini Change 3528063 by Ben.Marsh Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse. Change 3528415 by Ben.Marsh UAT: Remove \r characters from the end of multiline log messages. Change 3528427 by Ben.Marsh EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent. Change 3528485 by Ben.Marsh EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places. Change 3528505 by Steve.Robb PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL) #jira UE-46819 Change 3528772 by Robert.Manuszewski Enabling actor and blueprint clustering in ShooterGame Change 3528786 by Robert.Manuszewski PR #3760: Fix typo (Contributed by jesseyeh) Change 3528792 by Steve.Robb PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL) #jira UE-46962 Change 3528941 by Robert.Manuszewski Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object. #jira UE-44996 Change 3530241 by Ben.Marsh UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value. Change 3531377 by Ben.Marsh Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it. This has several advantages over the per-module platform whitelist/blacklist: * Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore. * References to dependent plugins from platform-specific plugins can now be eliminated. * Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly). * The editor can load any plugins without having to whitelist supported editor host platforms. UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime. Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary. Change 3531502 by Jin.Zhang Add support for GPUCrash #rb Change 3531664 by Ben.Marsh UBT: Change output format from C# JSON writer to match output by the engine. Change 3531848 by Ben.Marsh UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable. Change 3531869 by Ben.Marsh UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field. Change 3532474 by Ben.Marsh UBT: Use the same mechanism as UAT for logging exceptions. Change 3532734 by Graeme.Thornton Initial VSCode Support - Tasks generated for building all game/engine/program targets - Debugging support for targets on Win64 Change 3532789 by Steve.Robb FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap. Set_Add and Map_Add no longer have a return value. FScriptSet::Find and FScriptMap::Find functions are now FindIndex. FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash. Change 3532845 by Steve.Robb Obsolete UHT settings deleted. Change 3532875 by Graeme.Thornton VSCode - Add debug targets for different target configurations - Choose between VS debugger (windows) and GDB (mac/linux) Change 3532906 by Graeme.Thornton VSCode - Point all builds directly at UBT rather than the batch files - Adjust mac build tasks to run through mono Change 3532924 by Ben.Marsh UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root. Change 3535234 by Graeme.Thornton VSCode - Pass intellisense system a list of paths to use for header resolution Change 3535247 by Graeme.Thornton UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation Change 3535376 by Graeme.Thornton VSCode - Added build jobs for C# projects - Linked launch tasks to relevant build task Change 3537083 by Ben.Marsh EC: Change P4 swarm links to start at the changelist for a build. Change 3537368 by Graeme.Thornton Fix for crash in FSignedArchiveReader when multithreading is disabled Change 3537550 by Graeme.Thornton Fixed a crash in the taskgraph when running single threaded Change 3537922 by Steve.Robb Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT. Change 3539691 by Graeme.Thornton VSCode - Various updates to get PC and Mac C++ projects building and debugging. - Some other changes to C# setup to allow compilation. Debugging doesn't work. Change 3539775 by Ben.Marsh Plugins: Various fixes to settings for enabling plugins. * Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled). * Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed. * Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them. Change 3540788 by Ben.Marsh UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile). Example usage: public class UnrealPakTarget : TargetRules { public UnrealPakTarget(TargetInfo Target) : base(Target) { Type = TargetType.Program; LinkType = TargetLinkType.Monolithic; LaunchModuleName = "UnrealPak"; if(HostPlatform == UnrealTargetPlatform.Win64) { PreBuildSteps.Add("echo Before building:"); PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); PostBuildSteps.Add("echo After building!"); PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); } } } Change 3541664 by Graeme.Thornton VSCode - Add problemMatcher tag to cpp build targets Change 3541732 by Graeme.Thornton VSCode - Change UBT command line switch to "-vscode" for simplicity Change 3541967 by Graeme.Thornton VSCode - Fixes for Mac/Linux build steps Change 3541968 by Ben.Marsh CRP: Pass through the EnabledPlugins element in crash context XML files. #jira UE-46912 Change 3542519 by Ben.Marsh UBT: Add chain of references to error messages when configuring plugins. Change 3542523 by Ben.Marsh UBT: Add more useful error message when attempt to parse a JSON object fails. Change 3542658 by Ben.Marsh UBT: Include a chain of references when reporting errors instantiating modules. Change 3543432 by Ben.Marsh Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set. Change 3543436 by Ben.Marsh UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails. Change 3543536 by Ben.Marsh UBT: Downgrade message about redundant plugin references to a warning. Change 3543871 by Gil.Gribb UE4 - Fixed a critical crash bug with non-EDL loading from pak files. Change 3543924 by Robert.Manuszewski Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes. +Small optimization to token stream generation code. Change 3544469 by Jin.Zhang Crashes page displays the list of plugins from the crash context #rb Change 3544608 by Steve.Robb Fix for nativized generated code. #jira UE-47452 Change 3544612 by Ben.Marsh Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages(). #jira UE-47449 Change 3545954 by Gil.Gribb Fixed a critical crash bug relating to a race condition in async package summary reading. Change 3545968 by Ben.Marsh UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same. #jira UE-47419 Change 3545976 by Ben.Marsh EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch. Change 3546185 by Ben.Marsh Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped. Change 3547084 by Gil.Gribb Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms. Change 3547968 by Gil.Gribb Fixed critical race which potentially could cause a crash in the pak precacher. Change 3504722 by Ben.Marsh BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run. For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as: ERROR: Unable to write to foo.txt while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" /> at Engine\Build\InstalledEngineBuild.xml(91) (see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace) Change 3512255 by Ben.Marsh Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated. Change 3512332 by Ben.Marsh Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4. Change 3512393 by Ben.Marsh Rename FPaths::GameLogDir() to FPaths::ProjectLogDir(). Change 3513452 by Ben.Marsh Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project. Change 3516262 by Ben.Marsh Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor. * Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod. * The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders). Change 3517565 by Ben.Marsh Remove fixed engine version numbers from OSS plugins. Change 3518005 by Ben.Marsh UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false. Change 3518054 by Ben.Marsh UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard. Change 3524496 by Ben.Marsh Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core. Change 3524641 by Ben.Marsh Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc. Change 3528723 by Steve.Robb MoveTemp now static asserts if passed a const reference or rvalue. MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious. Fixes to violations of these new rules. Change 3528876 by Ben.Marsh Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste. Change 3529073 by Ben.Marsh Add script to package ShooterGame for any platforms. Change 3531493 by Ben.Marsh Update platform-specific plugins to declare the target platforms they support. Change 3531611 by Ben.Marsh UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates. Change 3531868 by Ben.Marsh Resaving project descriptors to remove invalid fields. Change 3531983 by Ben.Marsh UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders. * Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer. * Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type) * Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo")) * An error is output if any restricted folder names other than the output platform are in the staged output. Change 3540315 by Ben.Marsh UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers. Change 3542410 by Ben.Marsh UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already. Change 3543018 by Ben.Marsh UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions. Change 3544371 by Steve.Robb Fixes to TSet_Add and TMap_Add BPs. #jira UE-47441 [CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
return FindFilesToStage(BaseDir, "*", Option);
}
/// <summary>
/// Finds files to stage under a given base directory.
/// </summary>
/// <param name="BaseDir">The directory to search under</param>
/// <param name="Pattern">Pattern for files to match</param>
/// <param name="Option">Options for the search</param>
/// <returns>List of files to be staged</returns>
public List<FileReference> FindFilesToStage(DirectoryReference BaseDir, string Pattern, StageFilesSearch Option)
{
List<FileReference> Files = new List<FileReference>();
FindFilesToStageInternal(BaseDir, Pattern, Option, Files);
return Files;
}
/// <summary>
/// Finds files to stage under a given base directory.
/// </summary>
/// <param name="BaseDir">The directory to search under</param>
/// <param name="Pattern">Pattern for files to match</param>
/// <param name="ExcludePatterns">Patterns to exclude from staging</param>
/// <param name="Option">Options for the search</param>
/// <param name="Files">List to receive the enumerated files</param>
private void FindFilesToStageInternal(DirectoryReference BaseDir, string Pattern, StageFilesSearch Option, List<FileReference> Files)
{
// Enumerate all the files in this directory
Files.AddRange(DirectoryReference.EnumerateFiles(BaseDir, Pattern));
// Recurse through subdirectories if necessary
if(Option == StageFilesSearch.AllDirectories)
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3494741 by Steve.Robb Generated code size savings. #jira UE-43048 Change 3495484 by Steve.Robb Fix for generated indices of static arrays when saving configs. Change 3497926 by Robert.Manuszewski Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything. Change 3498077 by Robert.Manuszewski Only use the recursion guard in async loading code when the event driven loader is enabled. Change 3498112 by Ben.Marsh UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own. Change 3500239 by Robert.Manuszewski Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes. Change 3500395 by Steve.Robb Extra codegen savings when not in hot reload. Change 3501004 by Steve.Robb EObjectFlags now have constexpr operators. Change 3502079 by Ben.Marsh UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary. Change 3502527 by Steve.Robb Fix for zero-sized array compile error in generated code when all functions are editor-only. Change 3502542 by Ben.Marsh UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead. Change 3502868 by Steve.Robb Workaround for inefficient generated code with stateless lambdas on Clang. Change 3503550 by Steve.Robb Another generated code lambda optimization. Change 3503582 by Ben.Marsh BuildGraph: Add support for nullable parameter types. Change 3504424 by Steve.Robb New AllOf, AnyOf and NoneOf algorithms. Change 3504712 by Ben.Marsh UAT: Less spammy log and error output from UAT. * Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception). * Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information. * AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log) * Name of the calling function is not included in console output by default, but still included in the log. Change 3504808 by Ben.Marsh UAT: Suppress P4 output when running a recursive instance of UAT. Change 3505044 by Steve.Robb Code generation improved for TCppClassType code. Change 3505485 by Ben.Marsh Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module. Change 3505699 by Ben.Marsh Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins. Change 3506055 by Ben.Marsh UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output. Change 3507745 by Robert.Manuszewski Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses). Change 3507911 by Ben.Marsh Plugins: Minor changes to plugin descriptors. * Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors. * Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from. Change 3508669 by Ben.Marsh EC: Parse multi-line messages from UBT and UAT. Change 3508691 by Ben.Marsh Fix double-spacing of cook stats. Change 3509245 by Steve.Robb UHT makefiles removed. Flag audit removed. Change 3509275 by Steve.Robb Fix for mismatched stat categories in AudioMixer. #jira UE-46129 Change 3509289 by Robert.Manuszewski Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably. Change 3509294 by Robert.Manuszewski UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it. Change 3509312 by Steve.Robb GitHub# 3679: Add TArray constructor that takes a raw pointer and a count Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too. #jira UE-46136 Change 3509396 by Steve.Robb GitHub# 3676: Fix TUnion operator<< compile error #jira UE-46099 Change 3509633 by Steve.Robb Fix for line numbers on multiline macros. Change 3509938 by Gil.Gribb UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading. Change 3510593 by Daniel.Lamb Fixed up unsoilicited files getting populated with files which aren't finished being created yet. #test None Change 3510594 by Daniel.Lamb Fixed up temp files directory for patching. Thanks David Yerkess @ Milestone #review@Ben.Marsh Change 3511628 by Ben.Marsh PR #3707: Fixed UBT stack size (Contributed by gildor2) Change 3511808 by Ben.Marsh Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git) #jira UE-46540 Change 3512017 by Ben.Marsh Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface. Change 3513935 by Steve.Robb Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477. Change 3514142 by Steve.Robb MemoryProfiler2 added to generated solution. Change 3516463 by Ben.Marsh Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user. Change 3517860 by Ben.Marsh PR #3727: FString Dereference Fixes (Contributed by jovisgCL) Change 3517967 by Ben.Marsh Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line. Change 3518070 by Steve.Robb Disable Binned2 stats in shipping non-editor builds. Change 3520079 by Steve.Robb Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions. #jira UE-24034 Change 3520080 by Robert.Manuszewski Made max package summary size to be configurable with ini setting Change 3520083 by Steve.Robb Force a GC after hot reload to clean up reinstanced objects which may still tick. #jira UE-40421 Change 3520480 by Robert.Manuszewski Improved assert message when the initial package read request was too small. Change 3520590 by Graeme.Thornton SignedArchiveReader optimizations - Loads more stats - Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader - Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time - Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries Change 3521023 by Graeme.Thornton Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing Change 3521787 by Ben.Marsh PR #3736: Small static code analysis fixes (Contributed by jovisgCL) Change 3521789 by Ben.Marsh PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar) Change 3524721 by Ben.Marsh Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core. Change 3524741 by Ben.Marsh Move PumpMessages() into FPlatformApplicationMisc. Change 3525399 by Ben.Marsh UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment. Change 3525743 by Ben.Marsh UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds. Change 3525746 by Ben.Marsh EC: Include the clobber option on new workspaces, to allow overriding version files when syncing. Change 3526453 by Ben.Marsh UGS: Do not generate project files when syncing precompiled binaries. Change 3527045 by Ben.Marsh Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting. Change 3527420 by Ben.Marsh UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing). Config files are now read from: Engine/Programs/UnrealGameSync/UnrealGameSync.ini Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini If a project is selected: <ProjectDir>/Build/UnrealGameSync.ini <ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini If the .uprojectdirs file is selected: Engine/Programs/UnrealGameSync/DefaultProject.ini Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini Change 3528063 by Ben.Marsh Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse. Change 3528415 by Ben.Marsh UAT: Remove \r characters from the end of multiline log messages. Change 3528427 by Ben.Marsh EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent. Change 3528485 by Ben.Marsh EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places. Change 3528505 by Steve.Robb PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL) #jira UE-46819 Change 3528772 by Robert.Manuszewski Enabling actor and blueprint clustering in ShooterGame Change 3528786 by Robert.Manuszewski PR #3760: Fix typo (Contributed by jesseyeh) Change 3528792 by Steve.Robb PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL) #jira UE-46962 Change 3528941 by Robert.Manuszewski Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object. #jira UE-44996 Change 3530241 by Ben.Marsh UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value. Change 3531377 by Ben.Marsh Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it. This has several advantages over the per-module platform whitelist/blacklist: * Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore. * References to dependent plugins from platform-specific plugins can now be eliminated. * Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly). * The editor can load any plugins without having to whitelist supported editor host platforms. UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime. Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary. Change 3531502 by Jin.Zhang Add support for GPUCrash #rb Change 3531664 by Ben.Marsh UBT: Change output format from C# JSON writer to match output by the engine. Change 3531848 by Ben.Marsh UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable. Change 3531869 by Ben.Marsh UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field. Change 3532474 by Ben.Marsh UBT: Use the same mechanism as UAT for logging exceptions. Change 3532734 by Graeme.Thornton Initial VSCode Support - Tasks generated for building all game/engine/program targets - Debugging support for targets on Win64 Change 3532789 by Steve.Robb FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap. Set_Add and Map_Add no longer have a return value. FScriptSet::Find and FScriptMap::Find functions are now FindIndex. FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash. Change 3532845 by Steve.Robb Obsolete UHT settings deleted. Change 3532875 by Graeme.Thornton VSCode - Add debug targets for different target configurations - Choose between VS debugger (windows) and GDB (mac/linux) Change 3532906 by Graeme.Thornton VSCode - Point all builds directly at UBT rather than the batch files - Adjust mac build tasks to run through mono Change 3532924 by Ben.Marsh UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root. Change 3535234 by Graeme.Thornton VSCode - Pass intellisense system a list of paths to use for header resolution Change 3535247 by Graeme.Thornton UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation Change 3535376 by Graeme.Thornton VSCode - Added build jobs for C# projects - Linked launch tasks to relevant build task Change 3537083 by Ben.Marsh EC: Change P4 swarm links to start at the changelist for a build. Change 3537368 by Graeme.Thornton Fix for crash in FSignedArchiveReader when multithreading is disabled Change 3537550 by Graeme.Thornton Fixed a crash in the taskgraph when running single threaded Change 3537922 by Steve.Robb Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT. Change 3539691 by Graeme.Thornton VSCode - Various updates to get PC and Mac C++ projects building and debugging. - Some other changes to C# setup to allow compilation. Debugging doesn't work. Change 3539775 by Ben.Marsh Plugins: Various fixes to settings for enabling plugins. * Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled). * Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed. * Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them. Change 3540788 by Ben.Marsh UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile). Example usage: public class UnrealPakTarget : TargetRules { public UnrealPakTarget(TargetInfo Target) : base(Target) { Type = TargetType.Program; LinkType = TargetLinkType.Monolithic; LaunchModuleName = "UnrealPak"; if(HostPlatform == UnrealTargetPlatform.Win64) { PreBuildSteps.Add("echo Before building:"); PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); PostBuildSteps.Add("echo After building!"); PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); } } } Change 3541664 by Graeme.Thornton VSCode - Add problemMatcher tag to cpp build targets Change 3541732 by Graeme.Thornton VSCode - Change UBT command line switch to "-vscode" for simplicity Change 3541967 by Graeme.Thornton VSCode - Fixes for Mac/Linux build steps Change 3541968 by Ben.Marsh CRP: Pass through the EnabledPlugins element in crash context XML files. #jira UE-46912 Change 3542519 by Ben.Marsh UBT: Add chain of references to error messages when configuring plugins. Change 3542523 by Ben.Marsh UBT: Add more useful error message when attempt to parse a JSON object fails. Change 3542658 by Ben.Marsh UBT: Include a chain of references when reporting errors instantiating modules. Change 3543432 by Ben.Marsh Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set. Change 3543436 by Ben.Marsh UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails. Change 3543536 by Ben.Marsh UBT: Downgrade message about redundant plugin references to a warning. Change 3543871 by Gil.Gribb UE4 - Fixed a critical crash bug with non-EDL loading from pak files. Change 3543924 by Robert.Manuszewski Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes. +Small optimization to token stream generation code. Change 3544469 by Jin.Zhang Crashes page displays the list of plugins from the crash context #rb Change 3544608 by Steve.Robb Fix for nativized generated code. #jira UE-47452 Change 3544612 by Ben.Marsh Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages(). #jira UE-47449 Change 3545954 by Gil.Gribb Fixed a critical crash bug relating to a race condition in async package summary reading. Change 3545968 by Ben.Marsh UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same. #jira UE-47419 Change 3545976 by Ben.Marsh EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch. Change 3546185 by Ben.Marsh Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped. Change 3547084 by Gil.Gribb Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms. Change 3547968 by Gil.Gribb Fixed critical race which potentially could cause a crash in the pak precacher. Change 3504722 by Ben.Marsh BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run. For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as: ERROR: Unable to write to foo.txt while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" /> at Engine\Build\InstalledEngineBuild.xml(91) (see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace) Change 3512255 by Ben.Marsh Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated. Change 3512332 by Ben.Marsh Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4. Change 3512393 by Ben.Marsh Rename FPaths::GameLogDir() to FPaths::ProjectLogDir(). Change 3513452 by Ben.Marsh Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project. Change 3516262 by Ben.Marsh Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor. * Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod. * The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders). Change 3517565 by Ben.Marsh Remove fixed engine version numbers from OSS plugins. Change 3518005 by Ben.Marsh UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false. Change 3518054 by Ben.Marsh UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard. Change 3524496 by Ben.Marsh Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core. Change 3524641 by Ben.Marsh Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc. Change 3528723 by Steve.Robb MoveTemp now static asserts if passed a const reference or rvalue. MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious. Fixes to violations of these new rules. Change 3528876 by Ben.Marsh Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste. Change 3529073 by Ben.Marsh Add script to package ShooterGame for any platforms. Change 3531493 by Ben.Marsh Update platform-specific plugins to declare the target platforms they support. Change 3531611 by Ben.Marsh UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates. Change 3531868 by Ben.Marsh Resaving project descriptors to remove invalid fields. Change 3531983 by Ben.Marsh UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders. * Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer. * Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type) * Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo")) * An error is output if any restricted folder names other than the output platform are in the staged output. Change 3540315 by Ben.Marsh UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers. Change 3542410 by Ben.Marsh UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already. Change 3543018 by Ben.Marsh UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions. Change 3544371 by Steve.Robb Fixes to TSet_Add and TMap_Add BPs. #jira UE-47441 [CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
foreach(DirectoryReference SubDir in DirectoryReference.EnumerateDirectories(BaseDir))
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 4285612) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3836829 by Ben.Marsh UBT: Fix ability to precompile plugins from installed engine builds. 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 4042043 by Steve.Robb GitHub #4705 : Added weak lambda's for delegates and multicast delegates. Change 4042056 by Robert.Manuszewski Optimized Mark Phase of GC by up to 10ms by making it run in parallel and removing a huge array presize which we didn't need. Change 4042104 by Robert.Manuszewski Set the minimum GC cluster size to 5 so that GC doesn't have to process micro clusters which are more expensive than processing individual objects + Exposed the minimum cluster size to ini and project settings as gc.MinGCClusterSize + Added the ability to sort clusters by name/object count/mutable object count/referenced clusters count when dumping them with gc.ListClusters command Change 4042377 by Robert.Manuszewski Reworked how GC and other threads (ALT specifically) interact - GC will now notify the ALT it wants to run and ALT will immediately try to finish its current work to allow that. Also the entire ALT tick is now protected against GC running at the same time to improve ALT stability. + added gc.ForceCollectGarbageEveryFrame console variable that triggers a forced GC every frame Change 4042427 by Robert.Manuszewski Changed FGCCSyncObject to use events when waiting for GC to finish so that it doesn't spin on non-game threads when GC is running Change 4042482 by Robert.Manuszewski Unhashing unreachable objects (ConditionalBeginDestroy) will now also be done incrementally, just like the purge phase of Garbage Collection Change 4042635 by Robert.Manuszewski Fix for a potential assert when incremental purge garbage is pending and something forces a full purge Change 4044092 by Steve.Robb Fix for forward declared CoreUObject weakobject types in delegates when building in Clang. Change 4044102 by Robert.Manuszewski Fix for a possible hang when worker threads are preventing GC from running and something is later trying to FlushAsyncLoading with the Async Loading Thread enabled Change 4044113 by Steve.Robb Another Clang fix. Change 4044160 by Robert.Manuszewski Disregard For GC pool will now be enabled by default in cooked builds Change 4044287 by Steve.Robb Typo fix. Change 4047723 by Graeme.Thornton TBA: Fixes for import/export name cache and object resolving Change 4048015 by Graeme.Thornton TBA: Weak/Soft/Lazy pointer serialization changes * Remove FWeakObjectPtr::Serialize, move it's logic into, and replace usages of with calls to, FArchiveUObject::SerializeWeakObjectPtr(). Ensures that something is always sent to the archive so that structured archives can be kept happy in the future. * Added Weak/Soft/Lazy pointer handling to the structured archive slot interface and all the formatters. Binary formatters just forward the call onto their inner and text archives store as a string path reference. * FArchiveUObjectFromStructuredArchive caches all these pointer types and stores indices in the binary block, same as with a UObject*. All pointers are then forwarded to the underlying formatter in one go on finalization. Change 4048021 by Steve.Robb Fix for binding an unbound TFunction to another TFunction with a different signature. Also all null pointers now count as unbindings, not just nullptr. TIsMemberPointer added. TIsATFunction and TIsATFunctionRef renamed to remove the 'A's. Change 4048544 by Robert.Manuszewski Fixing ConditionalBeginDestroy profiling after changes to incremental CBD. Change 4051028 by Graeme.Thornton TBA: ArchiveFromStructuredArchive adapter uses Inner to determine if it is outputting to text, and sets it's own ArIsTextFormat to false Change 4051056 by Graeme.Thornton TBA: High level tagged property / UObject base class text serialization - UObject serialize converted to structured archive - Properties written to text individually with text tags, and then binary adapted values - Only saves, doesn't load Change 4051111 by Graeme.Thornton TBA: Temporarily disable loading of text assets until tagged property serialization path is fixed up Change 4051154 by Graeme.Thornton TBA: Convert a few uobject serializers to structured archive format for example purposes Change 4051181 by Graeme.Thornton TBA: Added default structured archive implementation of SerializeItem to UProperty, which just calls the FArchive version on an FArchiveUObjectFromStructuredArchive adapter. Implemented structured archive SerializeItem for UArrayProperty Change 4051197 by Graeme.Thornton TBA: ObjectProperty text serialization Change 4051216 by Graeme.Thornton Restored a modified FWeakObjectPtr::Serialize function to keep backwards compatibility in code I don't have access to. Change 4051261 by Graeme.Thornton TBA: Convert UMetaData to structured archive Change 4051374 by Steve.Robb Incorrect assert removed. Change 4051562 by Robert.Manuszewski Adding stats for the new GC internal functions Change 4051614 by Graeme.Thornton TBA: Removed UProperty::SerializeItem(FArchive, ...) and replaced with UProperty::SerializeItem(FStructuredArchive::FSlot, ...). Fixed up most of them to work properly and added adapters in for any that were non-trivial. Change 4052512 by Graeme.Thornton TBA: Temporary workaround for softobjectptr and lazyobjectptr uproperties not serialization anything when they know the archive is a reference collector. They should always be serializing their pointers and letting the underlying archive itself ignore them. Change 4053917 by Robert.Manuszewski Clustered objects from clusters that are no longer reachable will now be marked as unreachable immediately when gathering unreachable objects Change 4053919 by Robert.Manuszewski Added the ability to disable incremental BeginDestroy in ini/project settings Change 4055518 by Daniel.Lamb Fixup for deterministic audio generation issue. Submitted on behalf of Rich.Whitehouse #jira nojira #test prefilght automated test. Change 4056854 by Graeme.Thornton TBA: Added a test asset to EngineTest which contains all the different property types and test cases. Change 4056858 by Graeme.Thornton TBA: Updated USetProperty to proper structured archive usage Change 4056872 by Graeme.Thornton TBA: Add map property field to test object Change 4056873 by Graeme.Thornton TBA: Convert UMapProperty to full structured archive Change 4056994 by Graeme.Thornton TBA: Converted FText over to structured archive. Implemented saving, but not loading. Change 4059728 by Ben.Marsh UBT: Add support for using adaptive non-unity builds when the engine and project are in separate repositories. Change 4059805 by Graeme.Thornton Fixed typo in text serialization. Fixes CIS automation test errors Change 4060007 by Graeme.Thornton TBA: FArchiveFromStructuredArchive will now access it's host slot lazily, i.e. only when a value is actually written to the archive. Change 4060092 by Stefan.Boberg Added optimized Windows console window output path to GenericConsoleOutput since this slowed down cooking considerably (2 minutes spent in wprintf alone for one large dataset) When stdout is attached to a console we use the WriteConsoleW function instead of wprintf since the latter is very slow especially in unbuffered mode which the engine currently configures for stdout (see setvbuf call in LaunchEngineLoop.cpp). At some point we should reconsider this buffering policy since it's likely to slow down other platforms as well but I wanted to do a safe change for now as I don't yet fully understand why the setvbuf call is there in the first place. Change 4060108 by Stefan.Boberg Introduced some additional target platform utilities to help with asset cook optimizations * We now assign each ITargetPlatform a zero-based ordinal value * Introduced FTargetPlatform and FTargetPlatformSet types to help store platform references and platform sets efficiently. These are not currently used in the engine but are designed to replace the existing ITargetPlatform/string/FName representations in the cooking data structures. Change 4060143 by Graeme.Thornton Undo //UE4/Dev-Core/Engine/Source/Runtime/... changelist 4060007 Needs some other changes that I haven't checked in yet... Change 4062432 by Ben.Marsh Fix error message when enumerating P4 changes. Change 4062648 by Ben.Marsh Add missing p4 integration action. Change 4063620 by Graeme.Thornton Integrated a fix from UDN where the engine would crash when trying to load a very small encrypted file (<16bytes) from a pak file, where the read address wasn't already aligned to the AES block size. (https://udn.unrealengine.com/questions/431989/crash-while-reading-a-very-small-file-in-encrypted.html) Change 4066963 by Robert.Manuszewski Fixing GC cluster verification code reporting false positives when a cluster is referencing another cluster through 'mutable' objects list. Change 4067133 by Robert.Manuszewski Changed log verbosity when reporting individual cases of GC cluster assumption violations as they are followed by an asser anyway and this way we get the chance to see all issues before we assert at the end of these checks. Change 4067443 by Steve.Robb FString can now be constructed from any char pointer type and length. Change 4068156 by Steve.Robb Fix necessary because of FString constructor change in CL# 4067443. Change 4070258 by Graeme.Thornton Fixes for VSCode Change 4070372 by Graeme.Thornton TBA: Script struct serialization to structured archives Change 4071913 by Ben.Marsh Move bulk of the code for UnrealPak into an engine developer module, so it can be used in the editor. Change 4071914 by Ben.Marsh Missing files. Change 4071937 by Ben.Marsh Missing header. Change 4072015 by Ben.Marsh Fixes for compiling PakFileUtilities as part of the editor. Change 4072826 by Steve.Robb TBitArray::Reserve() added. TBitArray::Add() overloaded to allow adding multiple bits. TSparseArray::Reserve() optimized to call the overloaded Add(). Change 4073271 by Daniel.Lamb Fixed add patch tier in project launcher passing the wrong commandline option to UAT. #test none Change 4074708 by James.Hopkin #core Removed redundant Casts Change 4074763 by Steve.Robb Fix for TSparseArray::Reserve() size. Change 4076063 by Ben.Marsh Add an "UnrealPak" commandlet with the same functionality as the standalone UnrealPak program. Invoke by running the editor with -run=UnrealPak and the standard UnrealPak commandline options. Change 4077064 by Robert.Manuszewski Fixing compile error in PakFileUtilities Change 4077144 by Graeme.Thornton TBA: TextAssetCommandlet improvements * Collect lists of broken assets during roundtrip tests and print a summary of packages that failed each phase at the end * After resaving as text, load the file back as a plain JSON hierarchy to ensure the output was valid Change 4077412 by Ben.Marsh Set the correct exit code for UnrealPak. Should return 0 on success, not 1. Change 4077760 by Graeme.Thornton TBA: Loading fixed for tagged property serialization Includes conversion of all UProperty::ConvertFromType() and SerializeFromMismatchedTag() functions to use structured archives Lazy initialization of FArchiveFromStructruredArchive when loading, to support the possibility of an adapter being create around an object property serialize call to its inner UStruct, which then decides not to do anything and return false. Stops the ArchiveFromStructuredArchive from consuming the slot and getting upset later on when we try to serialize normal tagged properties from it. Disabled lazy bulk data loading from text assets. Requires a bigger change to make it work. Added some debug checks to json input formatter which track the current value stack size when a new object is pushed onto the stack, and makes sure that the stack has returned to the same size when the object is popped. Catches cases where we unpack an array/stream to the value stack but then don't consume all the items. Change 4078800 by Ben.Marsh Change UAT to using the editor's UnrealPak commandlet rather than invoking the standalone UnrealPak executable. To improve performance when building several PAK files, also add a new -batch=<file> command which reads commands to execute in parallel from a text file. Change 4079745 by Graeme.Thornton TBA: Migrated a couple of UObject Serialize functions to FStructuredArchive (SoundCue / MaterialExpressions / Editor strip flags) Change 4079847 by Graeme.Thornton TBA: Add 'FindMismatchedSerializers' mode to text asset commandlet, which dumps out a list of all UClasses which don't have the CLASS_MatchedSerializers flag, meaning we can't guarantee the have Serialize functions for FArchive AND FStructuredArchive, therefore we can't use the new structured archive based serialize path. Should only ever be native instrinsic classes as UHT takes care of all other cases. Change 4079925 by Ben.Marsh Fix incorrect assignment when deriving name for chunked pak file. Change 4080214 by Ben.Marsh Move the ThreadPoolWorkQueue class into DotNETUtilities so it can be used by other projects. Change 4082394 by Graeme.Thornton CIS fix for variable shadowing warning Change 4082583 by Ben.Marsh Add a IBinarySerializable interface for types that support reading from a BinaryReader and writing to a BinaryWriter. Implementing IBinarySerializable implies a constructor taking a BinaryReader argument is available for deserializing. Change 4082652 by Ben.Marsh Fix FileReference.Directory not returning a directory with a trailing backslash for files in the root directory. Change 4082755 by Graeme.Thornton Fixed an erroneous usage of TUniquePtr<uint8>as a pointer to a uint8 array when creating pak files. Caused a crash when compression was enabled, and has probably surfaced because pak generation is now done by an editor commandlet rather than a standalone program. Change 4082756 by Graeme.Thornton Fixed some incorrect documentation for pakfile compressed chunk headers Change 4082883 by Graeme.Thornton Static analysis warning fix Change 4082912 by Ben.Marsh Move ExceptionUtils into DotNETUtilities. Change 4085291 by Graeme.Thornton TBA: In the Json output formatter, write float and double values out with enough precision for successful roundtripping. Added some debug only code which will immediately reconvert the string back to its original value and compare the the input Change 4085523 by Graeme.Thornton TBA: Remove only explicit usage of DECLARE_FSTRUCTUREDARCHIVE_SERIALIZER. Should only be used from UHT generated code. Change 4086037 by Robert.Manuszewski Fix for a potential race condition when two threads want to acquire GC lock Change 4088655 by Graeme.Thornton Pak creation now uses the bEnablePakSigning setting from the crypto config json file Change 4091474 by Steve.Robb Fix for TStaticBitArray::FindFirstSetBit() and TStaticBitArray::FindFirstClearBit(). Unused variables removed. Change 4093632 by Steve.Robb CIS fixes. Change 4093656 by Graeme.Thornton Build fix Change 4093744 by Ben.Marsh Allow per-chunk settings for whether to enable compression in UnrealPak. Change 4099712 by Gil.Gribb UE4 - Fixed rare case where insufficient space was preallocated for cooldown ticks. #jira UE-59686 Change 4099912 by Stefan.Boberg Cooking timer optimizations: - Replaced data structures for FScopeTimer and FHierarchicalTimerInfo. Previous implementation used FString for many things and caused *lots* of heap and string concatenation activity. Replaced with a compile-time node id (using __COUNTER__) and raw string literals. - Removed PERPACKAGE_TIMER support (was disabled by default and was difficult to test) - Made it possible to toggle OUTPUT_TIMING and ENABLE_COOK_STATS independently - Removed some extremely tight timers because the overhead from calling QPC significantly exceeded the measured code This change shaved some 15% off a clean cook of Fortnite WindowsClient (en) with fully populated local DDC Change 4100519 by Stefan.Boberg Quick fix for Linux build issue introduced in 4099927 Change 4105327 by Stefan.Boberg Cooker: Changed FHierarchicalTimerInfo so it uses a linked list for tracking child nodes, to be able to deal with any child count. Previously we assumed there would never be more than 9 children but it turns out there are cooker modes that need more. Fixes check when using -FullLoadAndSave to cook Change 4105448 by Stefan.Boberg - Fixed Linux build warning re: member initialization order - Also eliminated OUTPUT_HIERARCHYTIMERS/CLEAR_HIEARCHYTIMERS macros (plain functions are fine) - Moved finishing-up code for FullLoadAndSave() to TickCookOnTheSide() call site to improve timer output. Previously some of the scopes would not have been closed before printing and thus the output was misleading. Change 4109031 by Ben.Marsh Attribute-driven Perforce wrapper (old Epic Friday project). Offers a more complete implementation than the current P4 wrapper in UAT without requiring any platform-specific libraries. Uses the Python binary output for parsing. Change 4109588 by Ben.Marsh UBT: Add extension methods for serializing a nullable type to a BinaryReader/BinaryWriter. Change 4109595 by Ben.Marsh Missing project file for DotNETUtilities. Change 4110724 by Stefan.Boberg Removed annotation map locking in UObjectMarks, eliminating around one minute (~3.5%) from Fortnite cook time. The locking was redundant since the annotation maps are managed per thread anyway. Change 4111304 by Ben.Marsh UAT: Add support for setting a status message through the log class. Allows writing transient messages (eg. progress messages) which will be cleared out before writing other messages. Best used through the LogStatusScope class, which can set a status message for the duration of a using() block. As part of this change, the console no longer has to be added as a dedicated trace listener. Since we already special-case this listener when formatting log output, it's easier to just keep the implementation separate to the other trace listeners. Change 4112708 by Steve.Robb Fix for TBitArray::MaxBits in assignment. Change 4114133 by Stefan.Boberg Tweaked how low-level memory (LLM) tracker is implemented to reduce overheads. Previously FMemory functions would acquire the LLM singleton and call OnLowLevelFree/OnLowLevelAlloc etc which would check the bIsDisabled flag and early out if it was set. Due to how frequently these functions were called this ended up costing quite a bit. - This change makes the flag a static member variable instead of a member variable and therefore enables a simpler early-out to be implemented. - The singleton getter is also simplified to avoid hitting the threadsafe singleton construction path on every call. - The enable flag is no longer TAtomic - this also incurs extra overhead for no clear benefit Shaves approximately 3.5% (one minute) off a Fortnite cook test scenario (using -FullLoadAndSave) Change 4115010 by Robert.Manuszewski Fixing CIS Change 4115249 by Robert.Manuszewski Fixing async loading code asserts when exiting game very early due to an error #jira UE-56267 Change 4117091 by Ben.Marsh Prevent doubled-up lines when writing status updates with console log verbosity. Change 4117207 by Ben.Marsh UGS: Do not include executables in diagnostics zip file, and ignore "no such files" error when cleaning workspace. Change 4119175 by Ben.Marsh UGS: Fix crash writing version files when directory does not already exist. Change 4119987 by Ben.Marsh UGS: Show a dialog box while the launcher is updating executables from Perforce, which allows cancelling the operation if necessary. Allow setting the username on the settings window, and prompt for login credentials if necessary. Should prevent situations where users have to update settings from the command prompt. Holding down shift during launch now shows the settings dialog rather than an immediate prompt to launch the unstable version (unstable version is shown as a checkbox on this dialog). Change 4119991 by Ben.Marsh Update version number for UGS launcher to 1.13. Change 4121943 by Robert.Manuszewski Don't use FArchiveAsync2 for reading packages with non-async path in editor builds as its performance is worse than the standard archive's (saves about 1 minute when doing larger cooks and 7 seconds when loading into PIE) Change 4122592 by Steve.Robb GitHub #4762 : Improve wording and grammar of Math comments Also includes improved accuracy in FMath::ComputeBoundingSphereForCone(). Change 4122819 by Stefan.Boberg Don't call CreateDirectory redundantly when opening files for writing using FFileManagerGeneric::CreateFileWriter This change avoids calling IPlatformFile::CreateDirectoryTree if possible since this is a very expensive function especially for deep hierarchies as it performs directory creation from the root directory onwards instead of from the leaf downwards. That function should also be fixed but this change improves performance in the meantime. Change 4122872 by Stefan.Boberg CreateDirectoryTree now creates directories leaf-to-root instead of the other way around. This is much more efficient since we don't spend time on system API calls for directories which already exist. This accounted for a very large amount of CPU time in cooking as the full target file directory hierarchy would be "created" for every single output file. Change 4123109 by Stefan.Boberg - Disable overlapped I/O in editor / cooker. Synchronous I/O reduces the number of syscalls and Windows performs prefetching on our behalf anyway for sequential reads - Eliminated syscall which was issued for every write to update cached file size -- since we're the only writers to the file (file access allows read sharing at most) we can authoritatively update the file size on write completion Change 4123455 by Ben.Marsh PR #4775: New build param PCHMemoryAllocationFactor to set /Zm VS build param. (Contributed by lucaswall) Change 4124207 by Ben.Marsh UBT: Remove some unnecessary indirection for generated code paths. Change 4124217 by Ben.Marsh UBT: Remove another unused variable from UEBuildModuleCPP. Change 4124377 by Stefan.Boberg In IPlatformFile::DeleteDirectoryRecursively, attempt to delete file first and if it fails clear the readonly flag and try again Previously there was a call to clear the readonly flag for every deleted file and this is a waste of resources 99% of the time. The SetFileAttributes call accounted for a significant amount of time during cooker sandbox directory deletion Change 4125071 by Stefan.Boberg Some tweaks to FQueuedThreadPoolBase scheduling and memory management - Explicitly pass in false for TArray::RemoveAt(..., bool bAllowShrinking) argument to prevent memory reallocation when arrays are drained and inevitably repopulated shortly afterwards - Use a MRU strategy instead of LRU when picking a thread to wake up. The MRU thread is the most likely to have a 'hot' cache for the stack etc. Picking from the back of the array also happens to be cheaper since no memory movement is necessary when RemoveAt is called. (This was the strategy in place before CL2600362 which seems to have changed it unintentionally) - Release lock as soon as a thread has been chosen, before asking the worker thread to wake up and do the work Change 4126132 by Ben.Marsh UAT: Detect when stdout is redirected and prevent using backspace characters to move the cursor. Change 4126867 by Graeme.Thornton TBA: Fix tagged binary formatter Change 4127010 by Robert.Manuszewski AnimScriptInstances created at runtime will now also be added to the owning omponent's cluster to avoid GC issues. Change 4127932 by Ben.Marsh WorkspaceTool: Reduce unnecessary logging of status messages when console output is not redirected. Change 4129050 by Ben.Marsh UGS: Check for NET Framework 4.5 being installed before running the installer. Also fix warning trying to kill existing UGS instances before upgrade. Change 4129459 by Graeme.Thornton TBA: TextAssetCommandlet - When outputting converted assets to an output path, replicate the workspace relative path in the output directory Change 4129515 by Graeme.Thornton TBA: Add EnterRecord overload that allows outputting of available field names when loading. Change 4129517 by Graeme.Thornton TBA: Tagged properties are written out as named fields on the "Properties" record, rather than as a stream with a null tag at the end Change 4129518 by Graeme.Thornton TBA: Added a local const bool to allow easy hacking out of text asset loading support Change 4129558 by Graeme.Thornton TBA: Build fix for textasset-less configs Change 4129614 by Ben.Marsh UGS: Main window is now restored to normal size when activated by clicking on the tray icon. #jira UE-60490 Change 4129618 by Ben.Marsh UGS: Speculative fix for unreproduced exception accessing disposed window while shutting down. Change 4131936 by Robert.Manuszewski Removing some WIP code accidentally checked in with CL #4121943 Change 4133490 by Ben.Marsh UGS: Allow the $(Change) variable to be used in more places than just the context menu. #jira UE-60573 Change 4133550 by Ben.Marsh UGS: Setting for whether or not to use incremental builds is now exposed through the variable "$(UseIncrementalBuilds)" for use by custom build steps. #jira UE-60554 Change 4133681 by Ben.Marsh UGS: A per-project list of folders and extensions to be deleted by default when running the 'clean workspace' tool can now be specified through the <ProjectDir>/Build/UnrealGameSync.ini file. Settings may be specified for an individual branch (via a category with the depot path to the project) or for wherever the project is currently open (via the [Default] category). The SafeToDeleteFolders list specifies a substring that will be checked against folder paths. Anything containing this folder will be marked as safe for delete by default. The SafeToDeleteExtensions list specifies a list of extensions for files that can always be deleted. Example: [Default] +SafeToDeleteFolders=/MyGame/Test/ +SafeToDeleteFolders=/DataService/ +SafeToDeleteExtensions=.xx1 +SafeToDeleteExtensions=.xx2 #jira UE-60575 Change 4135449 by Ben.Marsh Fix allowing use of Job objects on Windows platforms (debug code submitted by mistake) Change 4135730 by Ben.Marsh UBT: Plugins can now be enabled and disabled from the .target.cs file (for targets that do not use the shared compile environment), by compiling the list of enabled/disabled plugin names into the Projects module. Change 4135823 by Ben.Marsh UBT: Remove legacy code to handle disabling optional plugins; now that this is compiled into the target, it will work for any plugins we choose. Change 4135945 by Ben.Marsh UBT: Fix error running programs with no explicitly enabled or disabled plugins. Change 4137207 by Ben.Marsh UGS: Align all badges with the same name, to make it easier to see which CIS steps are being run. Allow overriding the slot taken by a particular badge by calling it "SlotName:LabelName". Change 4137311 by Stefan.Boberg Removed child cooker support. In practice it is not a useful feature as it provides no performance improvement (quite the opposite in fact) and adds testing and maintenance complexity. Change 4137393 by Ben.Marsh UGS: Fix display of multiline errors in the status panel. Change 4141708 by Steve.Robb GitHub #3631 : Incorrect default argument in WeakObjectPtrTemplate #jira UE-45490 Change 4146655 by Stefan.Boberg Removed FullGCAssetClasses logic - no longer necessary nor useful Change 4147318 by Ben.Marsh UGS: Compress build badges in a column if it shrinks below the size that they would be visible. Change 4148207 by Ben.Marsh UGS: Added support for showing the latest completed build from a specific list of badges in the status panel. To declare a badge as one that should appear in the status panel rather than the CIS column, add it to the project's UnrealGameSync.ini in the project or [Default] section like so: +ServiceBadges=RoboMerge Change 4148282 by Stefan.Boberg Fixed bug in UCookOnTheFlyServer::GetCookOnTheFlyUnsolicitedFiles - UnsolicitedFiles should be passed by reference not by value Change 4148344 by Stefan.Boberg Fixed minor indentation error (most likely caused by sloppy merge) Change 4148521 by Stefan.Boberg Removed accidentally checked in PRAGMA_DISABLE_OPTIMIZATION from CookOnTheFlyServer.cpp Change 4148639 by Ben.Marsh UGS: Fix tooltips not showing for changes that have description badges. Change 4149373 by Ben.Marsh UGS: Allow adding additional columns to display particular badges by adding entries from the project config file. Example syntax: +Columns=(Name="Desktop",MinWidth=50,DesiredWidth=100,Weight=3,Badges="Editor") +Columns=(Name="Mobile",MinWidth=50,DesiredWidth=100,Weight=3,Badges="IOS,Android") Same form can be used to control how default columns are displayed (though badge settings are ignored). Also allow PerforceMonitor to detect local changes to project config files and update settings automatically. Change 4149399 by Ben.Marsh UGS: Update version to 1.143. Change 4155660 by Steve.Robb PROJECTION and PROJECTION_MEMBER macros which provide the correct behavior when creating projections using functions which are overloaded or use default arguments. Change 4157117 by Ben.Marsh Fix warning due to plugins disabled in .target.cs file. Change 4158011 by Ben.Marsh UBT: Add a check that the UnrealHeaderTool target file exists, rather than throwing an exception when reading it fails. Change 4158646 by Ben.Marsh UGS: Fix exception when login is discovered to have expired during a workspace update. Change 4158678 by Ben.Marsh UGS: Fix an exception on shutdown due to the icon being hidden after it's already been disposed. Change 4158683 by Ben.Marsh UGS: Add an unhandled exception filter which sends the exception data to the backend. Change 4159131 by Ben.Marsh UGS: Reduce the number of characters displayed for build badges based on the available space. Change 4159194 by Graeme.Thornton TBA: Fix incorrect map property conversion code when converting an old property that contains a map with different key/value types Change 4159239 by Steve.Robb Improved readability and compliance with coding standards. Change 4159246 by Ben.Marsh UGS: Allow syncing projects where source code is not available (and various version files don't exist). #jira UE-60985 Change 4159286 by Ben.Marsh UGS: Remove requirement for UE4Editor.target.cs to be visible in the depot in order to open a project. #jira UE-60986 Change 4159302 by Ben.Marsh UGS: Update version to 1.144. Change 4160308 by Ben.Marsh All staging client executables for blueprint projects. #jira UE-60983 Change 4161567 by Steve.Robb GitHub #4816 : UE-60771: Handle escaped double quote in FParse::LineExtended Change 4162641 by Ben.Marsh UGS: Allow customizing the position of custom columns, via the Index=N attribute. Change 4162647 by Ben.Marsh UGS: Update version to 1.145. Change 4165319 by Robert.Manuszewski PR #4812: Fix inconsistent command-line argument handling under Windows (Contributed by adamrehn) Change 4166150 by Ben.Marsh UGS: Include *.inl when looking for code changes. Change 4166551 by Steve.Robb Whitespace fixes caused by a bad merge. Change 4168483 by Ben.Marsh UGS: Add a more useful error if a file to be synced exceeds the max allowed path length. Change 4168490 by Ben.Marsh UGS: Update version to 1.146. Change 4168551 by Ben.Marsh UBT: Move bBuildLargeAddressAwareBinary into an exposed setting. Change 4168560 by Ben.Marsh UBT: Remove static config variable for controlling which configuration of UHT to use. Change 4171296 by Ben.Marsh UGS: Move the check for overlong paths earlier. Change 4171531 by Ben.Marsh UBT: Fix exception if BuildConfiguration.xml contains an unknown category. Change 4183371 by Robert.Manuszewski Fix for a crash in Async Loading Graph's CheckCycles when GC kicks in on the game thread and forces ALT to exit early Change 4184312 by Ben.Marsh UGS: Update version to 1.148 Change 4184480 by Robert.Manuszewski Removing unused async loading stat Change 4186390 by Ben.Marsh UBT: Format XML validation errors in a format that allows double-clicking on the message in Visual Studio. Change 4188644 by Ben.Marsh UBT: Add the MakePathSafeToUseWithCommandLine() function to UBT. Change 4188647 by Ben.Marsh UBT: Fix exception in target receipt when architecture is null. Change 4189617 by Ben.Marsh Change FileSystemReference, FileReference and DirectoryReference objects to use OrdinalIgnoreCase comparisons without creating a separate copy of the string to compare. The filesystem does not use the invariant culture, and it can produce the wrong results in some cases (the ordinal comparison is faster, too). Change 4189740 by Ben.Marsh UAT: Remote code to build UnrealPak when packaging; we use the editor now. Change 4189860 by Ben.Marsh UGS: Make the filter for excluding automated lighting rebuilds more explicit. Change 4190082 by Ben.Marsh Fixes to allow enabling edit and continue for Windows builds. Have experienced quite a few VS crashes when testing it in editor; not yet recommended for general use. - Allow edit and continue for any configuration, not just debug. - Fixed PDB errors compiling files that use a shared PCH with edit and continue enabled. Path to the generated PDB file was using the wrong directory. - Removed code that tracks PDB output files, since they're modified multiple times during a build. - Enable debug information when compiling generated CPP files, since it causes errors if the shared PCH PDB doesn't have the same option. - Disable support for remote execution of steps that modify the PDB, since the same file has to be modified many times. Remote execution causes the PDB files to be corrupted. Unfortunately, this makes E&C builds significantly slower. #jira Change 4192949 by Ben.Marsh UBT: Minor tidy-up (merging UEBuildBinary.Build and UEBuildBinary.SetupOutputFiles) Change 4193218 by Ben.Marsh Fix formatting. Change 4197252 by Mike.Erwin UAT: Fix log output w/ correct count of non-code projects. #jira none Change 4197941 by Ben.Marsh UGS: Add support for DebugGame editors that have an executable with a DebugGame suffix. Change 4197964 by Ben.Marsh UGS: Prevent attempts to automatically reopen projects while a modal dialog is up, or the workspace is syncing. Change 4198144 by Ben.Marsh UGS: Prevent modal dialogs when login expires in P4, and prompt for password when hitting "retry". Change 4198413 by Ben.Marsh UGS: Always show the main window when launched manually, and run with -RestoreState when launched at startup. Also add a couple more places that save the visibility state, since logging off seems like it can terminate the process abrubtly. Change 4198779 by Ben.Marsh UBT: Allow generating manifests to any arbitrary locations with the -Manifest=<Path> argument. Change 4198825 by Ben.Marsh UBT: Move code to enumerate Slate runtime dependencies into the Slate module. Doesn't need to be done inside core UBT. Change 4199341 by Ben.Marsh UGS: Update version to 1.149 Change 4199642 by Chad.Garyet - Deprecate CISController - Add BuildController to replace CIS GET/POST for builds - Add LatestController, GET does what CIS/GET used to do - Change Latest/GET to return the last 25 builds filtered by project, rather than the last 5000 individual Ids - Latest/GET now returns "LatestData" object instead of array of longs - Updated EventMonitor to match all API changes - Fixed bug where IDs were getting reset to initial startup values every update loop Change 4199663 by Chad.Garyet CIS controller still needs to return an array of longs #jira none Change 4199680 by Ben.Marsh UGS: Update version to 1.150 Change 4200457 by Ben.Marsh Merging CIS fix for non-development configurations. Change 4200472 by Mike.Erwin UAT: fix -skipbuildclient param default It was defaulting to skipbuildeditor's value, likely a copy-paste error. #jira none Change 4202595 by Ben.Marsh Fix static analysis warning due to constant comparison against macro. Change 4203250 by Ben.Marsh UGS: Always show the "Sync Precompiled Editor" option, but disable it and show a tooltip explaining why if it is not available. Change 4206191 by Ben.Marsh Exclude editor target files from installed builds, since they leak info about DLLs that have been stripped out. Change 4213011 by Ben.Marsh UBT: Include contents of modified intermediate files in the log, to make it easier to debug hidden dependencies. Change 4213487 by Ben.Marsh UBT: Fix assumption that bPrecompile is equivalent to bBuildAllModules. This is no longer the case; they are now controlled by separate options. Should fix CIS errors building the editor. Change 4213609 by Ben.Marsh Ensure that strings formatted using FMicrosoftPlatformString::GetVarArgs() are always null terminated, whether we use the secure CRT or not. Change 4215971 by Ben.Marsh UBT: Remove action graph visualization code; no longer used. Change 4215996 by Ben.Marsh UBT: Remove unqiue id from all actions in the action graph. This is only used for printing debug info in the case of a (rare) cycle in the action graph, so just look it up when needed. Change 4216022 by Ben.Marsh UBT: Rename Crypto.cs to EncryptionAndSigning.cs to match the name of the class inside it, and move it under the System folder. Change 4216031 by Ben.Marsh UBT: Move all the action executors into their own folder in the project. Change 4216526 by Ben.Marsh Fix CIS warnings. Change 4216544 by Ben.Marsh Replace custom code to ensure FMicrosoftPlatformString::GetVarArgs() null terminates its buffer with Microsoft's standards-compliant implementation. Change 4216633 by Ben.Marsh Add support for UnrealPak plugins. * Project and plugin modules can now specify an array of supported programs in the "WhitelistPrograms" field of their module descriptors, to allow modules to be loaded by programs. * Programs can now load any runtime modules, as long as they are whitelisted. * Programs under the engine directory can now use a shared build environment, so that building with a project file does not cause output binaries to be output to the project directory. * UnrealPak is now always built by default when packaging * Convert UnrealPak to a modular configuration Change 4216736 by Ben.Marsh UnrealPak: Move "ExportDependencies" command into an editor commandlet, since it relies on the UObject system, asset registry, etc... Change 4217447 by Ben.Marsh Back out revision 50 from //UE4/Dev-Core/Engine/Build/InstalledEngineBuild.xml Change 4217451 by Ben.Marsh Back out revision 11 from //UE4/Dev-Core/Engine/Plugins/Developer/VisualStudioSourceCodeAccess/Source/VisualStudioSourceCodeAccess/VisualStudioSourceCodeAccess.Build.cs Change 4217617 by Ben.Marsh Back out changelist 4217451 Change 4222552 by Ben.Marsh Don't use #import <TypeLib> for VS source code accessor when building with Clang; it's not supported. Change 4222630 by Ben.Marsh UBT: Fix spam while generating project files if Clang isn't installed. Change 4223316 by Ben.Marsh UBT: Change the order in which Visual C++ toolchains are enumerated to prefer full releases over preview releases. Change 4223318 by Ben.Marsh UBT: Add a build setting which allows creating a dedicated PCH for every file that's excluded from the unity working set (disabled by default). Improves iteration times when working on individual cpp files, but slows down iterating on header changes (and can take a lot of disk space for large changes). Dedicated PCH contains all includes scraped from the top of each cpp file, until a non-#include directive is encountered. Change 4223401 by Ben.Marsh UBT: Add an option to automatically enable edit and continue for files in the adaptive non-unity working set. E&C doesn't seem very useful for UE4 projects right now; compile time is comparable to regular build times, but it can take several minutes to apply code changes for large projects. Change 4223899 by Ben.Marsh UBT: Fix loading XML config files on Mono; Type.GetField(Name) does not seem to return values unless binding flags are specified. Change 4224637 by Ben.Marsh Add a "SupportedPrograms" field to plugin descriptors, which allows plugins to declare which plugins they support independently of individual modules. Programs now respect the "bEnabledByDefault" setting in plugins. Plugins that are compatible with a program now need to list that program in the SupportedPrograms list, and whitelist any modules that should load for that program. Change 4224710 by Ben.Marsh UBT: Don't add import libraries as final build products unless the target is being precompiled. Prevents the need for building them for leaf nodes in the action graph. Change 4224715 by Ben.Marsh UBT: Remove hack to allow Stats2.cpp to not follow IWYU convention. Change 4224726 by Ben.Marsh Remove commented out line. Change 4224903 by Ben.Marsh Fix non-unity compile error in Stats2.h. Change 4225051 by Ben.Marsh Back out changelist 4224710; causing CIS errors due to receipts not matching. Change 4225134 by Ben.Marsh Fixing non-unity errors. Change 4225203 by Ben.Marsh Another non-unity fix. Change 4225249 by Ben.Marsh Fix Linux dependencies being copied for the Windows editor; they can be added as requirements for the Linux target platform on Windows instead, so it respects the user's chosen platforms. #jira UE-62001 Change 4225512 by Ben.Marsh BuildGraph: Allow setting the target to build when using the <CsCompile> task. Change 4228815 by Ben.Marsh UBT: Always add the generated code directory to the list of include paths when generating project files. It may only be created after UHT has been run. Change 4228944 by Ben.Marsh UBT: Remove legacy CppCompileEnvironment and LinkEnvironment wrappers from TargetRules that were deprecated in 4.19. Change 4229028 by Ben.Marsh UBT: Fix editor targets with unique build environment having the wrong executable path in generated project files. Move move logic to configure target rules post-construction by the rules assembly to ensure it's valid. Change 4229065 by Ben.Marsh UBT: Move another target setting into the rules assembly. Change 4229105 by Ben.Marsh Fix BPT exception when generating project files. Change 4229311 by Ben.Marsh UBT: Store the module rules file location on the ModuleRules instance, as well as the plugin that it was created from. Also expose the plugin directory as a property on the ModuleRules instance. Change 4229421 by Ben.Marsh UBT: Consolidate functionality for UHT module setup in ExternalExecution.cs. Change 4229817 by Ben.Marsh UBT: Modules must now explicitly specify the path to the header used to generate a PCH if one is desired, rather than the header being determined automatically by attempting to parse the source code. Now that PCHs are force-included anyway, this removes a lot of dependencies inside UBT. Change 4229824 by Ben.Marsh UBT: Remove unused lists inside UEBuildModuleCPP.SourceFilesClass. Change 4229841 by Ben.Marsh UBT: Remove some legacy code from auto-detecting PCHs. Change 4230521 by Ben.Marsh UBT: Add utility functions to the log class to allow formatting errors and warnings in Visual Studio output format (eg. File(Line): warning: Message) Change 4230871 by Ben.Marsh UAT: Remove StreamUtilis utility class; there is a simpler way to implement the one place it's used. Change 4230882 by Ben.Marsh UAT: Add StreamUtils back into UAT, seems like it's still used there. Change 4230896 by Ben.Marsh UBT: Remove some redundant parameters from UEBuildModule/UEBuildModuleCPP/UEBuildModuleExternal constructors. Change 4231014 by Ben.Marsh WorkspaceTool: Include a dump of raw bytes when garbage is read from the P4 process, for diagnostic purposes. Change 4231032 by Ben.Marsh Fix CIS. Change 4231096 by Ben.Marsh Bump the FlatCPPIncludeDependencyCache version, to prevent errors trying to load old files. Change 4231446 by Ben.Marsh UBT: Added support for expanding UE-specific variables in include paths and library paths: $(EngineDir), $(ProjectDir), $(PluginDir), $(ModuleDir). Change 4231460 by Ben.Marsh Modules may now explicitly specify rpaths on Linux via the PublicRuntimeLibraryPaths and PrivateRuntimeLibraryPaths properties. Change 4233909 by Robert.Manuszewski PR #4779: Reason fails as the supplied variable is incorrect (Contributed by projectgheist) Change 4233910 by Ben.Marsh Enable PCHs on IOS. Reduces build time by ~25%. Change 4234176 by Ben.Marsh UBT: Add better messaging for modules that need to have a private PCH set. Now detects the likely PCH using the same method as legacy code and includes it as a suggestion. Change 4234193 by Ben.Marsh Add the Delete command to Perforce wrapper in DotNETUtilities. Change 4234688 by Ben.Marsh UBT: Simplify handling of installed/precompiled builds. Settings for whether a folder is installed/read-only or not is now stored on the RulesAssembly instance, allowing multiple things to be configured separately and stacked together (eg. engine/enterprise/project). RulesAssembly.IsReadOnly() allows determining if a flie can be modified or not and replaces many previous IsXXXInstalledCalls(), and traverses the chain of assemblies. Change 4234711 by Ben.Marsh UBT: Runtime dependencies can now be copied to output directories as part of the build. When adding a runtime dependency, an optional source location can be specified to copy from. Both the source and target paths can use variables can be used as part of the path, eg. $(OutputDir), $(ModuleDir), $(PluginDir). Example usage (from a .build.cs file): RuntimeDependencies.Add("$(OutputDir)/Foo.dll", "$(PluginDir)/Source/ThirdParty/Foo.dll", StagedFileType.NonUFS); Change 4234872 by Ben.Marsh Expose a flag for whether the engine is installed, to fix issues generating project files. Change 4234929 by Ben.Marsh Fix null reference generating receipts when UBT makefiles are active. Change 4235883 by Chad.Garyet Merging 4231245 to core Giving Coordinator its own sln. This should fix what 4158155 was supposed to. #jira UE-61955 Change 4236075 by Ben.Marsh CIS fix Change 4237066 by Robert.Manuszewski Fix for a potential crash when terminating the engine while it's being initialized #jira UE-60545 Change 4237078 by Robert.Manuszewski The engine will no longer be resetting all linkers causing massive load times when renaming the world package when entering Play In Editor Change 4237116 by Ben.Marsh Rewrite some Windows utility functions to support paths longer than MAX_PATH. Change 4237158 by Ben.Marsh Add const TCHAR* overloads of FString::RemoveFromStart() and FString::RemoveFromEnd(). Change 4237159 by Ben.Marsh Fix FWindowsPlatformFile::GetFilenameOnDisk() support for paths longer than MAX_PATH, and simplify some of the other long path functions to avoid copying string buffers. Change 4239050 by Ben.Marsh Missing file Change 4239318 by Ben.Marsh Linux CIS fix. Change 4239685 by Ben.Marsh Static analysis CIS fix. Change 4240800 by Ben.Marsh WorkspaceTool: Include the full command line in the log for any P4 commands. Change 4240903 by Ben.Marsh PR #4909: Update copyright notices to 2018 (Contributed by projectgheist) Change 4241025 by Ben.Marsh UBT: Exclude mobile pipeline caches from generated project files. Causes huge slowdown when using 'Find in Files' through the IDE. Change 4241770 by Ben.Marsh UBT: Include action number in parallel executor output. #jira UE-62032 Change 4243469 by Ben.Marsh TBA: Merge FAnnotatedStructuredArchiveFormatter with FStructuredArchiveFormatter. Any functions that are only implemented for text archives now have a _TextOnly suffix, and are exposed through the FStructuredArchive interface. Change 4245723 by Robert.Manuszewski Fixing another creash when terminating the engine while initializing. #jira UE-60545 Change 4245862 by Steve.Robb VectorLoadFloat2(Ptr) added, which loads { Ptr[0], Ptr[1], Ptr[0], Ptr[1] } into a VectorRegister. Change 4246412 by Robert.Manuszewski The warning 'Calling StaticLoadObject during PostLoad may result in hitches during streaming' will now also report the object which had the PostLoad called on it when StaticLoadObject call happened. Change 4246612 by Ben.Marsh UBT: Fix spelling of "Intellisense". Change 4249454 by Robert.Manuszewski Added extra checks to catch scenarios where the EDL Precache Buffer is flushed before a package header is fully read Change 4249513 by Robert.Manuszewski Made sure the Async Loading Thread doesn't continue running after creating new async packages when garbage collector wants to run on the game thread Change 4255207 by Ben.Marsh UGS: Add additional logging whenever a P4 command fails, and when the user is logged out. Change 4255288 by Ben.Marsh PR #4921: Honor ModuleRules' bEnableExceptions flag when creating precompiled h. (Contributed by surakin) Change 4256422 by Ben.Marsh UBT: Add an error if a module referenced by a plugin descriptor doesn't exist. Change 4257385 by Robert.Manuszewski Creating new objects from within ForEachObjectWithOuter will now result in a fatal error as it's unsafe to change internal UObject hash tables when iterating over them. Change 4257454 by Robert.Manuszewski Added the option to filter clusters listed with gc.ListClusters by objects within them. Usage: gc.ListClusters Hierachy With=ObjectName1,ObjectName2... Change 4257526 by Robert.Manuszewski It's now possible to filter clusters that get logged with verbose cluster logging enabled (UE_GCCLUSTER_VERBOSE_LOGGING=1) by objects within them by specifying -DumpClustersWithObjects=ObjectName1,ObjectName2 in the command line Change 4257822 by Ben.Marsh Fixes for PlatformShowcase compile errors. Change 4258771 by Ben.Marsh UBT: Fix project files not being generated for foreign projects when creating .stub files. #jira UE-62462 Change 4258790 by Ben.Marsh UBT: Clean up the logic around generating project files before creating a stub IPA, so that it fails loudly if project files do not exist, and can accept target names not matching project names. Change 4259276 by Ben.Marsh UBT: Make it an error if a framework doesn't exist, rather than failing silently. Also remove some remote toolchain stuff that's no longer necessary. Change 4259280 by Ben.Marsh UBT: Fix embedded framework zips not being uploaded for plugins. #jira UE-62485 Change 4260236 by Ben.Marsh UBT: Fix path to generated engine project file. Change 4260334 by Ben.Marsh UGS: Fix custom build steps dialog inadvertantly modifying config file settings in-place. Change 4260361 by Ben.Marsh UGS: Allow for p4 login commands to fail, even though the user is logged in (due to a bad connection, etc...) Change 4260559 by Ben.Marsh UGS: Update version. Change 4261160 by Robert.Manuszewski MediaPlaylist will now be added to root set if the owning MediaPlayer is in the disregard for GC set (fixes GC assumption violation crash) #jira UE-62495 Change 4261421 by Ben.Marsh Force-sync files for building documentation, to fix issues with files not being updated. #jira UE-62413 Change 4261425 by Ben.Marsh UBT: Remove some leftover functions for handling the remote toolchain. Change 4261530 by Ben.Marsh UBT: Speculative fix (and better error reporting) for IOS mobile provision not being found in CIS. Change 4261611 by Ben.Marsh UBT: Downgrade warning to a log message, since it appears when generating project files. Change 4261710 by Ben.Marsh Remove assert that GLogConsole is set; it won't be for command line utilities that don't depend on ApplicationCore. #jira UE-62545 Change 4261831 by Ben.Marsh Fix compile errors due to missing include path when hot-reloading a module from the editor. There are not necessarily source files to compile when -modulewithsuffix is specified on the command line, which was results in GeneratedCodeWildcard not being set. #jira UE-62463, UE-62384 Change 4262723 by Ben.Marsh Whitelist plugins that need to be loaded by UFE. #jira UE-62564 Change 4265444 by Ben.Marsh Fix incorrect executable name for DebugGame configurations in Xcode. #jira UE-62574 Change 4265892 by Ben.Marsh Fix incremental compile failures due to dependency checking for unity files. CachedIncludePaths was not correctly being set on file items, so dependencies were being ignored. #jira UE-62575, UE-62603, UE-62597 Change 4266019 by Josh.Adams - Fixed the CopyAction for runtime dependencies that need to be copied to different location, on non-XGE Change 4266264 by Ben.Marsh Remove override for the __IPHONE_OS_VERSION_MIN_REQUIRED macro on TVOS. This macro is already defined by system headers (in <AvailabilityInternal.h>). Now that we support PCHs on IOS and TVOS, manually defining this macro results in it being defined three times (once for the PCH, once by AvailabilityInternal.h, and once by the force-included list of definitions for the source file being built). The errors for redefining the macro in AvailabilityInternal.h are suppressed due to it being a system header, but the error for redefining it for the source file being compiled are not. #jira UE-62578 Change 4266273 by Ben.Marsh Fixes incremental build failure when compile arguments for PCH have changed on IOS/TVOS. Compile action needs to have a dependency on PCH build action. Change 4266614 by Graeme.Thornton Fix crash when cooking nativized blueprints due to removal of child cooker system. Change 4266763 by Ben.Marsh Always build UnrealPak when building client targets. The ProjectParams.Pak option is not reliable, because it can be forced on later by the target platform. #jira UE-62584 Change 4267985 by Robert.Manuszewski When iterating with ForEachObjectWithouter, don't lock the entire has table but only the hash bucket that is currently being iterated #jira UE-62600 Change 4268558 by Robert.Manuszewski PurgeLegacyBlueprints will no longer be called from within ForEachObjectWithOuter is it renames objects that reside in hash tables that are being iterated over which may lead to undefined behavior. #jira UE-62600 Change 4269011 by Chad.Garyet - Fixing Wildcard match issue, the change to ugsapi sends projects as //Depot/Stream instead of //Depot/Stream/ Wildcard match was only substringing to 3 chars. - Checking in the change a while back that increases the number of queried jobs up to 432 based on some maths from Bob about how many builds we want to grab Published to ugsapi server 8/8/17 #jira none Change 4270788 by Ben.Marsh Fix IOS provisioning data being using when remote compiling on TVOS. #jira UE-62705 Change 4271916 by Ben.Marsh Tag the XGEControlWorker executable as a build product after compiling SCW, to make sure it's included in the UGS zip file. Change 4271934 by Ben.Marsh Upload all static libraries in plugin folders as part of remote builds. #jira UE-62694 Change 4273368 by Ben.Marsh Fix Slate dependencies not being enumerated, and rules assembly not being rebuilt when building remotely. #jira UE-62705 Change 4274049 by Ben.Marsh Always parse the team UUID out of the mobile provision when doing a remote compile. The provision installed on the remote Mac (and selected for signing) may be different. #jira UE-62751 Change 4274823 by Ben.Marsh Add the -VersionCookedContent argument to disable the -unversioned parameter on the cooker command line. Change 4275838 by Ben.Marsh Fix BuildVersion string not being passed through from <SetVersion> task. Also add a -BuildVersion command line argument to UBT to override it for a particular build. Change 4275913 by Ben.Marsh Add a dummy exported symbol to the XGEController module, to fix build errors due to missing .lib file when it's built with WITH_XGE_CONTROLLER = 0. Change 4284161 by Ben.Marsh Allow mirroring Oodle files to remote Mac. Change 4074774 by Steve.Robb Vast simplification of TFunction, making it smaller in footprint, easier to follow and extend, and more correct. TUniqueFunction added, which is a move-only TFunction which can hold move-only functors. Fix for UWidgetBlueprint::ForEachSourceWidget() which should never have compiled but did. FFunctionGraphTask and TFuture<> updated to use TUniqueFunction to make them more general. TArray::HeapPop() made to work with move-only types. Change 4082591 by Ben.Marsh Move the Log class from UBT to DotNetUtilities. Change 4083236 by Ben.Marsh Add a Log.WriteException() method to dump an exception message to the console (and write the exception trace to the log) Change 4084107 by Ben.Marsh UAT: Remove the unused -SkipHeader argument to UE4Build. Change 4089771 by Steve.Robb GitHub #4743 : modified VirtualAlloc function flag https://blogs.msdn.microsoft.com/oldnewthing/20151008-00/?p=91411 Change 4091456 by Steve.Robb Unification of all platforms' FMath::CountTrailingZeros() and FMath::CountLeadingZeros() for both 32-bit and 64-bit. Change 4156437 by Ben.Marsh Lots and lots of fixes compiling for Clang on Windows. Editor now compiles cleanly without warnings, but crashes on startup due to error in intrinsics test. Disabling that runs further, but crashes accessing freed memory. Switching to the ANSI allocator runs further, but crashes in Slate after the splash screen and before the editor window opens. // TODO! * Switching between Clang/ICL/VS2015/VS2017 is now supported through the same mechanism as switching Visual Studio versions, without requiring any source level changes. To use Clang, set WindowsPlatform.Compiler = WindowsCompiler.Clang from a .target.cs file, or set <WindowsPlatform><Compiler>Clang</Compiler></WindowsPlatform> from BuildConfiguration.xml. To pick a specific toolchain version, set WindowsPlatform.CompilerVersion. * Clang is now supported through AutoSDKs; will be added to CIS. * The Samples/Sandbox/Clang project forces Clang to be used from its target.cs file, and allows easily building all editor modules and plugins with Clang on Windows. * UnrealMathSSE intrinsics have been re-enabled for Clang due to missing functions from the UnrealMathFPU implementation, but causes failure in tests at startup. * SSE4_CRC32() is disabled in D3D12Pipelinestate.cpp, since intrinsics are only allowed if enabled for the whole target (rather than being used in specific functions due to runtime checks) Change 4157389 by Ben.Marsh Few more fixes for compiling the editor with Clang. Change 4183911 by Ben.Marsh Fixes to support incremental linking on Windows. Does not seem to have any net benefit right now; may improve once minimal rebuild is enabled. * Incremental linking no longer forces PDB files to be enabled for source files. * Actions can specify specific files to be deleted before each build. Code to forcibly delete PDB files has been moved to the MSVC toolchain. * Unused libraries produced by the cross-referenced link are no longer added as build products, since (a) deleting them breaks dependency checking for incremental linking and causes a full link, and (b) not deleting them breaks UBT dependency checking and causes actions to be run over and over again. * Icon update is disabled for Windows when incremental linking is enabled. * Removed rarely-used setting to always delete produced items before each build. Change 4184311 by Ben.Marsh UGS: Added a dialog which shows all the required platform SDKs for a branch, linked from the status panel in UGS. The llist is configured via the UGS config file submitted to Engine/Programs/UnrealGameSync/UnrealGameSync.ini (and may be overridden by the project config file if necessary): [Default] ; Set this to a network share which contains the SDK installers for your site SdkInstallerDir= ; All the required SDKs for the current version of the engine +SdkInfo=(Category="Android", Description="NDK r21", Browse="$(SdkInstallerDir)\\Android") +SdkInfo=(Category="Windows", Description="Visual Studio 2017") +SdkInfo=(Category="Windows", Description="Visual C++ Toolchain 14.13.26128") +SdkInfo=(Category="Windows", Description="Windows SDK 10.0.16299.0") Similar entries for console platforms are added in console subdirectories. Each entry may contain an Install="Foo.exe" and/or Browse="C:\Foo" style attribute, specifying the path to an installer to run or directory to open in explorer respectively. The SdkInstallerDir setting is used as a base directory for the default installers, seen above for Android. Licensees may override this with a network path specific to the site that UGS is being deployed to (either in this file, in a project specific config file, or in a Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini file). Change 4200452 by Ben.Marsh UBT: Change DebugGame configurations to output a separate executable rather than requiring a -Debug argument at runtime. Previous behavior was a common source of errors. Engine modules are still shared between Development and DebugGame, but the launch module sets a flag in Core on startup indicating the game configuration. Change 4206189 by Ben.Marsh UBT: Simplify logic for precompiling binaries. * Target no longer has separate list of "precompile only" binaries or modules. New -AllModules option allows adding every module to a target, which can be used with -Precompile and -NoLink to precompile object files for monolithic builds. * Precompiled file lists have been removed from target receipts. * The manifest now includes all generated headers and precompiled files when run with the -Precompile option. * Separate -DependencyList=Foo.txt has been added to write a list of all dependencies required to use precompiled binaries. This file list can be read using the <Tag> task in buildgraph. Change 4215466 by Ben.Marsh UBT: Remove indirect calls to determine extensions for object files and precompiled headers. The toolchain knows the correct convention for the platform. Change 4215975 by Ben.Marsh UBT: Remove telemetry code. This has never proved useful for analyzing performance due to the number of incidental factors that affect build times (eg. number of files being compiled). Change 4220154 by Ben.Marsh Move text-only implementations of FOutputDeviceError back into Core, so we can build command-line applications that don't depend on ApplicationCore. Change 4224708 by Ben.Marsh Add a bCompileAgainstApplicationCore setting to the target rules, which allows compiling out references to the ApplicationCore module (which should only be necessary for applications with a GUI). Removed ApplicationCore from several engine tools and utilities. Change 4224958 by Ben.Marsh Remove CoreMinimal.h includes from Core. Change 4229059 by Ben.Marsh UBT: Remove the UEBuildPlatform.ShouldNotBuildEditor() hook for target platforms. We shouldn't be modifying a target's build environment to disable the editor; it is invalid to build the editor for these target platforms at all, and this is already enforced by the GetSupportedPlatforms() function. Change 4230508 by Ben.Marsh Fixup precompiled header setting for samples and games. Change 4231457 by Ben.Marsh Fix exceptions in log messages having trailing newlines. Change 4232406 by Ben.Marsh UBT: Always force include a PCH for generated code if there's one set; the code may depend on it to compile. Change 4234177 by Ben.Marsh Set up private PCH files everywhere that previously used them. Change 4235973 by Ben.Marsh Change FPlatformMisc::GetEnvironmentVariable() to return an FString() rather than requiring a fixed size buffer to be passed in. Removes references to MAX_PATH. Change 4238842 by Ben.Marsh Add support for paths longer than MAX_PATH in the editor. Requires Windows 10 version 1607, and the functionality to be enabled via a registry key or group policy (see https://docs.microsoft.com/en-us/windows/desktop/FileIO/naming-a-file). Only a subset of Win32 functions support long paths (executables can only be started from paths shorter than MAX_PATH, for example). * Added a FPlatformMisc::GetMaxPathLength() function to return the maximum length of a path on the current system. On Windows, this returns a different value for systems with long paths enabled to those without. * The MAX_PATH define is no longer set by non-Windows platforms. Instead, there is a MAC_MAX_PATH, UNIX_MAX_PATH, etc... for any platform-specific code that still relies on the previous macro. * The MAX_UNREAL_FILENAME_LENGTH macro has been renamed to MAX_UNREAL_FILENAME_LENGTH_DEPRECATED * The PLATFORM_MAX_FILEPATH_LENGTH macro has been renamed to PLATFORM_MAX_FILEPATH_LENGTH_DEPRECATED. * Removed custom resource files for programs, since they are just copies of the base UE4 one (which is used by default anyway). The base UE4 manifest declares support for long paths. * Fix 512 character maximum length on editor commands. 260 character limit remains in place for cooking at the moment (see ContentBrowserUtils.h), until C# staging code supports long paths. Change 4255042 by Ben.Marsh UBT: Remote compilation now uploads the entire workspace to the remote Mac and executes a separate remote instance of UBT rather than synchronizing individual actions. This makes the remote compile codepath much simpler, and removes a lot of special cases that exist to support it previously. The list of files to be transferred to the remote are listed as rsync filter rules in Engine/Build/Rsync/RsyncEngine.txt and RsyncProject.txt, which are applied to the root engine directory and project directory respectively. Projects that need to customize which files are uploaded can add their own <ProjectDir>/Build/Rsync/RsyncProject.txt file, which will be included in the filter before the default version. Change 4260567 by Ben.Marsh UAT: Rename CommandUtils.Log to CommandUtils.LogInformation, to avoid conflicts with the underlying Tools.DotNETCommon.Log class. #rb none [CL 4285673 by Ben Marsh in Main branch]
2018-08-14 18:32:34 -04:00
string Name = SubDir.GetDirectoryName();
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3494741 by Steve.Robb Generated code size savings. #jira UE-43048 Change 3495484 by Steve.Robb Fix for generated indices of static arrays when saving configs. Change 3497926 by Robert.Manuszewski Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything. Change 3498077 by Robert.Manuszewski Only use the recursion guard in async loading code when the event driven loader is enabled. Change 3498112 by Ben.Marsh UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own. Change 3500239 by Robert.Manuszewski Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes. Change 3500395 by Steve.Robb Extra codegen savings when not in hot reload. Change 3501004 by Steve.Robb EObjectFlags now have constexpr operators. Change 3502079 by Ben.Marsh UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary. Change 3502527 by Steve.Robb Fix for zero-sized array compile error in generated code when all functions are editor-only. Change 3502542 by Ben.Marsh UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead. Change 3502868 by Steve.Robb Workaround for inefficient generated code with stateless lambdas on Clang. Change 3503550 by Steve.Robb Another generated code lambda optimization. Change 3503582 by Ben.Marsh BuildGraph: Add support for nullable parameter types. Change 3504424 by Steve.Robb New AllOf, AnyOf and NoneOf algorithms. Change 3504712 by Ben.Marsh UAT: Less spammy log and error output from UAT. * Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception). * Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information. * AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log) * Name of the calling function is not included in console output by default, but still included in the log. Change 3504808 by Ben.Marsh UAT: Suppress P4 output when running a recursive instance of UAT. Change 3505044 by Steve.Robb Code generation improved for TCppClassType code. Change 3505485 by Ben.Marsh Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module. Change 3505699 by Ben.Marsh Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins. Change 3506055 by Ben.Marsh UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output. Change 3507745 by Robert.Manuszewski Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses). Change 3507911 by Ben.Marsh Plugins: Minor changes to plugin descriptors. * Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors. * Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from. Change 3508669 by Ben.Marsh EC: Parse multi-line messages from UBT and UAT. Change 3508691 by Ben.Marsh Fix double-spacing of cook stats. Change 3509245 by Steve.Robb UHT makefiles removed. Flag audit removed. Change 3509275 by Steve.Robb Fix for mismatched stat categories in AudioMixer. #jira UE-46129 Change 3509289 by Robert.Manuszewski Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably. Change 3509294 by Robert.Manuszewski UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it. Change 3509312 by Steve.Robb GitHub# 3679: Add TArray constructor that takes a raw pointer and a count Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too. #jira UE-46136 Change 3509396 by Steve.Robb GitHub# 3676: Fix TUnion operator<< compile error #jira UE-46099 Change 3509633 by Steve.Robb Fix for line numbers on multiline macros. Change 3509938 by Gil.Gribb UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading. Change 3510593 by Daniel.Lamb Fixed up unsoilicited files getting populated with files which aren't finished being created yet. #test None Change 3510594 by Daniel.Lamb Fixed up temp files directory for patching. Thanks David Yerkess @ Milestone #review@Ben.Marsh Change 3511628 by Ben.Marsh PR #3707: Fixed UBT stack size (Contributed by gildor2) Change 3511808 by Ben.Marsh Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git) #jira UE-46540 Change 3512017 by Ben.Marsh Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface. Change 3513935 by Steve.Robb Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477. Change 3514142 by Steve.Robb MemoryProfiler2 added to generated solution. Change 3516463 by Ben.Marsh Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user. Change 3517860 by Ben.Marsh PR #3727: FString Dereference Fixes (Contributed by jovisgCL) Change 3517967 by Ben.Marsh Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line. Change 3518070 by Steve.Robb Disable Binned2 stats in shipping non-editor builds. Change 3520079 by Steve.Robb Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions. #jira UE-24034 Change 3520080 by Robert.Manuszewski Made max package summary size to be configurable with ini setting Change 3520083 by Steve.Robb Force a GC after hot reload to clean up reinstanced objects which may still tick. #jira UE-40421 Change 3520480 by Robert.Manuszewski Improved assert message when the initial package read request was too small. Change 3520590 by Graeme.Thornton SignedArchiveReader optimizations - Loads more stats - Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader - Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time - Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries Change 3521023 by Graeme.Thornton Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing Change 3521787 by Ben.Marsh PR #3736: Small static code analysis fixes (Contributed by jovisgCL) Change 3521789 by Ben.Marsh PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar) Change 3524721 by Ben.Marsh Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core. Change 3524741 by Ben.Marsh Move PumpMessages() into FPlatformApplicationMisc. Change 3525399 by Ben.Marsh UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment. Change 3525743 by Ben.Marsh UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds. Change 3525746 by Ben.Marsh EC: Include the clobber option on new workspaces, to allow overriding version files when syncing. Change 3526453 by Ben.Marsh UGS: Do not generate project files when syncing precompiled binaries. Change 3527045 by Ben.Marsh Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting. Change 3527420 by Ben.Marsh UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing). Config files are now read from: Engine/Programs/UnrealGameSync/UnrealGameSync.ini Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini If a project is selected: <ProjectDir>/Build/UnrealGameSync.ini <ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini If the .uprojectdirs file is selected: Engine/Programs/UnrealGameSync/DefaultProject.ini Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini Change 3528063 by Ben.Marsh Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse. Change 3528415 by Ben.Marsh UAT: Remove \r characters from the end of multiline log messages. Change 3528427 by Ben.Marsh EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent. Change 3528485 by Ben.Marsh EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places. Change 3528505 by Steve.Robb PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL) #jira UE-46819 Change 3528772 by Robert.Manuszewski Enabling actor and blueprint clustering in ShooterGame Change 3528786 by Robert.Manuszewski PR #3760: Fix typo (Contributed by jesseyeh) Change 3528792 by Steve.Robb PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL) #jira UE-46962 Change 3528941 by Robert.Manuszewski Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object. #jira UE-44996 Change 3530241 by Ben.Marsh UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value. Change 3531377 by Ben.Marsh Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it. This has several advantages over the per-module platform whitelist/blacklist: * Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore. * References to dependent plugins from platform-specific plugins can now be eliminated. * Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly). * The editor can load any plugins without having to whitelist supported editor host platforms. UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime. Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary. Change 3531502 by Jin.Zhang Add support for GPUCrash #rb Change 3531664 by Ben.Marsh UBT: Change output format from C# JSON writer to match output by the engine. Change 3531848 by Ben.Marsh UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable. Change 3531869 by Ben.Marsh UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field. Change 3532474 by Ben.Marsh UBT: Use the same mechanism as UAT for logging exceptions. Change 3532734 by Graeme.Thornton Initial VSCode Support - Tasks generated for building all game/engine/program targets - Debugging support for targets on Win64 Change 3532789 by Steve.Robb FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap. Set_Add and Map_Add no longer have a return value. FScriptSet::Find and FScriptMap::Find functions are now FindIndex. FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash. Change 3532845 by Steve.Robb Obsolete UHT settings deleted. Change 3532875 by Graeme.Thornton VSCode - Add debug targets for different target configurations - Choose between VS debugger (windows) and GDB (mac/linux) Change 3532906 by Graeme.Thornton VSCode - Point all builds directly at UBT rather than the batch files - Adjust mac build tasks to run through mono Change 3532924 by Ben.Marsh UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root. Change 3535234 by Graeme.Thornton VSCode - Pass intellisense system a list of paths to use for header resolution Change 3535247 by Graeme.Thornton UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation Change 3535376 by Graeme.Thornton VSCode - Added build jobs for C# projects - Linked launch tasks to relevant build task Change 3537083 by Ben.Marsh EC: Change P4 swarm links to start at the changelist for a build. Change 3537368 by Graeme.Thornton Fix for crash in FSignedArchiveReader when multithreading is disabled Change 3537550 by Graeme.Thornton Fixed a crash in the taskgraph when running single threaded Change 3537922 by Steve.Robb Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT. Change 3539691 by Graeme.Thornton VSCode - Various updates to get PC and Mac C++ projects building and debugging. - Some other changes to C# setup to allow compilation. Debugging doesn't work. Change 3539775 by Ben.Marsh Plugins: Various fixes to settings for enabling plugins. * Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled). * Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed. * Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them. Change 3540788 by Ben.Marsh UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile). Example usage: public class UnrealPakTarget : TargetRules { public UnrealPakTarget(TargetInfo Target) : base(Target) { Type = TargetType.Program; LinkType = TargetLinkType.Monolithic; LaunchModuleName = "UnrealPak"; if(HostPlatform == UnrealTargetPlatform.Win64) { PreBuildSteps.Add("echo Before building:"); PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); PostBuildSteps.Add("echo After building!"); PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); } } } Change 3541664 by Graeme.Thornton VSCode - Add problemMatcher tag to cpp build targets Change 3541732 by Graeme.Thornton VSCode - Change UBT command line switch to "-vscode" for simplicity Change 3541967 by Graeme.Thornton VSCode - Fixes for Mac/Linux build steps Change 3541968 by Ben.Marsh CRP: Pass through the EnabledPlugins element in crash context XML files. #jira UE-46912 Change 3542519 by Ben.Marsh UBT: Add chain of references to error messages when configuring plugins. Change 3542523 by Ben.Marsh UBT: Add more useful error message when attempt to parse a JSON object fails. Change 3542658 by Ben.Marsh UBT: Include a chain of references when reporting errors instantiating modules. Change 3543432 by Ben.Marsh Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set. Change 3543436 by Ben.Marsh UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails. Change 3543536 by Ben.Marsh UBT: Downgrade message about redundant plugin references to a warning. Change 3543871 by Gil.Gribb UE4 - Fixed a critical crash bug with non-EDL loading from pak files. Change 3543924 by Robert.Manuszewski Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes. +Small optimization to token stream generation code. Change 3544469 by Jin.Zhang Crashes page displays the list of plugins from the crash context #rb Change 3544608 by Steve.Robb Fix for nativized generated code. #jira UE-47452 Change 3544612 by Ben.Marsh Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages(). #jira UE-47449 Change 3545954 by Gil.Gribb Fixed a critical crash bug relating to a race condition in async package summary reading. Change 3545968 by Ben.Marsh UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same. #jira UE-47419 Change 3545976 by Ben.Marsh EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch. Change 3546185 by Ben.Marsh Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped. Change 3547084 by Gil.Gribb Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms. Change 3547968 by Gil.Gribb Fixed critical race which potentially could cause a crash in the pak precacher. Change 3504722 by Ben.Marsh BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run. For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as: ERROR: Unable to write to foo.txt while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" /> at Engine\Build\InstalledEngineBuild.xml(91) (see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace) Change 3512255 by Ben.Marsh Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated. Change 3512332 by Ben.Marsh Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4. Change 3512393 by Ben.Marsh Rename FPaths::GameLogDir() to FPaths::ProjectLogDir(). Change 3513452 by Ben.Marsh Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project. Change 3516262 by Ben.Marsh Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor. * Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod. * The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders). Change 3517565 by Ben.Marsh Remove fixed engine version numbers from OSS plugins. Change 3518005 by Ben.Marsh UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false. Change 3518054 by Ben.Marsh UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard. Change 3524496 by Ben.Marsh Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core. Change 3524641 by Ben.Marsh Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc. Change 3528723 by Steve.Robb MoveTemp now static asserts if passed a const reference or rvalue. MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious. Fixes to violations of these new rules. Change 3528876 by Ben.Marsh Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste. Change 3529073 by Ben.Marsh Add script to package ShooterGame for any platforms. Change 3531493 by Ben.Marsh Update platform-specific plugins to declare the target platforms they support. Change 3531611 by Ben.Marsh UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates. Change 3531868 by Ben.Marsh Resaving project descriptors to remove invalid fields. Change 3531983 by Ben.Marsh UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders. * Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer. * Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type) * Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo")) * An error is output if any restricted folder names other than the output platform are in the staged output. Change 3540315 by Ben.Marsh UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers. Change 3542410 by Ben.Marsh UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already. Change 3543018 by Ben.Marsh UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions. Change 3544371 by Steve.Robb Fixes to TSet_Add and TMap_Add BPs. #jira UE-47441 [CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
if(!RestrictedFolderNames.Contains(Name))
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3341527) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3280282 on 2017/01/31 by Matt.Kuhlenschmidt GitHub 3171 : fix 'memoreport -full' causes ensure condition fail on particle object Change 3281111 on 2017/02/01 by Michael.Dupuis #jira UE-36318 : was'nt notifying that we changed the current level in the case where you add/create new level in the Level window Change 3281225 on 2017/02/01 by Jamie.Dale Several improvements to culture switching and LocRes files - LocRes files now de-duplicate translations when they're generated, which can result in smaller LocRes files. - The localization compilation step now produces a LocNat file, which contains meta-data specifying the native culture during compile, and where the native LocRes file can be found. - Changing cultures now loads the native localization data prior to loading the non-native translations to ensure that translations are always applied to a consistent base. - The "leet" culture (available when localization testing is enabled) is now always applied against the native translation, and correctly restores non-translated text when switching away from the "leet" culture. - "-culture=leet" now works correctly on the command line ("-leet" also works). - LoadLocalizationResourcesForCulture is no longer called multiple times during initialization of the text localization manager. - General clean-up of localization code to favor using LocKeyFuncs with maps and sets, rather than rolling their own key funcs. Change 3281291 on 2017/02/01 by Alexis.Matte Make sure the sections material slot assignation is persist correctly for staticmesh and for skeletal mesh #jira UE-39639 Change 3281718 on 2017/02/01 by Michael.Dupuis #jira UE-34186: invert processing order of special character, to take into account that key name could be considered a special character and would cause the assumption done to no longer be valid Change 3281861 on 2017/02/01 by Alexis.Matte Fix import of morph target when there is no animation #jira UE-41383 Change 3282791 on 2017/02/02 by Chris.Wood Split crash analytics methods to fix comment parsing issues. [UE-32787] - Document Crash Report Client analytics events in code Change 3283316 on 2017/02/02 by Alexis.Matte Make sure we do not import more then the maximum allowed node #jira UE-41405 Change 3283349 on 2017/02/02 by Jamie.Dale Updated Portal to stage its .locnat files Change 3283927 on 2017/02/02 by Matt.Kuhlenschmidt Fix component/actor selection becoming out of sync after undo/redo #jira UE-41416 Change 3284061 on 2017/02/02 by Alexis.Matte Fix the scene importer front x axis import #jira UE-41318 Change 3284280 on 2017/02/02 by Alex.Delesky #jira UE-41060 - Placing blocking volumes in the level via the Content Menu's "Place Actor" command will now place a blocking volume in the level and not generate an empty warning in the output log Change 3285053 on 2017/02/03 by Michael.Dupuis #jira UE-33777: Handle the global landscape editor ui command list so specified shortcut will be treated Change 3285444 on 2017/02/03 by Jamie.Dale Updated FastDecimalFormat to support the correct 0-9 numerals for the current locale These are typically still Latin, but Middle Eastern languages have some variants. This addresses an inconsistency between FText formatting of numbers and dates (since numbers always used Latin, but dates used the culture correct numerals). Change 3287422 on 2017/02/06 by Michael.Dupuis #jira UE-36580: Improved the whole word algo to take into consideration localisation Change 3287455 on 2017/02/06 by Alexis.Matte When swaping the mesh point by the mesh component, we noe clean up the override material instead of empty it. #jira UE-41397 Change 3287745 on 2017/02/06 by Alexis.Matte Merge from orion dev-general cl:3286668 Fix a crash when importing a LOD containing different material with less sections Change 3287996 on 2017/02/06 by Michael.Dupuis #jira UE-37290: fixed naming to be "move to level" instead of "move level" Change 3288090 on 2017/02/06 by Jamie.Dale Fixing missing include breaking the FText natvis Change 3288105 on 2017/02/06 by Jamie.Dale FTextStringHelper::ReadFromString_ComplexText now only looks at the start of the buffer when matching the complex text macros Change 3288150 on 2017/02/06 by Jamie.Dale Fixing display names for tutorial categories so that they can be localized They were already FText, but the config wasn't defining them in a localizable way. #jira UE-37926 Change 3288469 on 2017/02/06 by Alex.Delesky #jira UE-35464 - Enables the editor to parse SubRip Subtitles files to create subtitle assets. This also introduces the Subtitles module. Change 3288540 on 2017/02/06 by Alex.Delesky Backing out changelist 3288469 due to build issue with module includes #jira none Change 3289074 on 2017/02/06 by Alex.Delesky Back out changelist 3288540 - reintroducing Subtitles module to parse SubRip Subtitles files #jira UE-35464 Change 3289753 on 2017/02/07 by Michael.Dupuis #jira UE-34599: Take into consideration UMaterialExpressionMaterialFunctionCall when getting the GUID Change 3290097 on 2017/02/07 by Nick.Darnell Automation - The automation framework no longer buckets errors, warnings and log statements into a seperate set of buckets. There is now only one log, and all entries go into it to provide some context when things fail. Continued working on the styling of the reports. Change 3290182 on 2017/02/07 by Michael.Trepka Added missing initialization for SWindow::bIsMirrorWindow Change 3290472 on 2017/02/07 by Michael.Dupuis #jira UE-37358: Add reference list in the dialog for all delete type Change 3290513 on 2017/02/07 by Michael.Dupuis #jira UE-37958: was testing the trailing number 0 twice and never testing the 1 Change 3290543 on 2017/02/07 by Michael.Dupuis #jira UE-35931: Refresh detail panel on selection lost Change 3290581 on 2017/02/07 by Michael.Dupuis Fixed possible crash if we have no level blueprint specified (was crashing during the delete of an actor) Change 3290721 on 2017/02/07 by Michael.Dupuis #jira UE-40360: Pass the custom spawning struct which contain the level override into to the spawn function Change 3291958 on 2017/02/08 by Alexis.Matte Back out revision 26 from //UE4/Dev-Editor/Engine/Source/Developer/AssetTools/Private/AssetTools.cpp Change 3292017 on 2017/02/08 by Alexis.Matte Add some fbx automation tests to validate material re-import Change 3292030 on 2017/02/08 by Michael.Dupuis #jira UE-37958: was testing the trailing number 0 twice and never testing the 1 Change 3293062 on 2017/02/08 by Jamie.Dale Reduced the number of allocations that happen when rebuilding text This change removes the wasteful FTextHistory::ToText function and replaces it with two more specialized functions; FTextHistory::BuildLocalizedDisplayString and FTextHistory::BuildInvariantDisplayString. These new functions return an FString (for the display string), rather than an FText (which was simply mined for its display string). Simply avoiding going via an FText saves at least two allocations per-rebuild. Changes: - Removed FTextHistory::ToText and replaced it with FTextHistory::BuildLocalizedDisplayString and FTextHistory::BuildInvariantDisplayString. - Moved the localization aware chronological and transformation implementations into FTextChronoFormatter and FTextTransformer. These return an FString which avoids an FText allocation during rebuild, and is simply passed into an FText during normal FText usage. - Moved FText::AsDate, FText::AsDateTime, FText::AsTime, FText::ToUpper, and FText::ToLower into Text.cpp, and these now use FTextChronoFormatter and FTextTransformer from the common text implementation. - Moved FText::AsTimespan into Text.cpp. This had no dependency on ICU, so this is now the common text implementation. - Added FTextFormatter::FormatStr variants. FTextFormatter::Format calls these FTextFormatter::FormatStr versions internally, and they're also used during text rebuilding (saving not only an FText allocation, but also a container copy). - Removed FText::CreateNumericalText and FText::CreateChronologicalText as they were mostly superfluous. - General update from using MakeShareable to MakeShared (saving 1 allocation). - General clean-up of L10N/I18N class friendship. #jira UE-41533 Change 3293292 on 2017/02/08 by Alex.Delesky Performing some cleanup in the Subtitles module, and creating a SubtitlesEditor module for the subtitles asset factories since it causes issue in client builds. Change 3293477 on 2017/02/08 by Jamie.Dale Fixed TProperty::InitializeValueInternal and TProperty::DestroyValueInternal mismatch when dealing with fixed size arrays #jira UE-41007 Change 3293571 on 2017/02/08 by Matt.Kuhlenschmidt Fix lots of outline data being added to the font cache due to wrongly hashing outline material and color data. Change 3293572 on 2017/02/08 by Matt.Kuhlenschmidt Fix details panel categories in the static mesh editor Change 3294216 on 2017/02/09 by Michael.Dupuis #jira UE-40609: manually position the window based on it'S max possible size #3128 GitHub Change 3294430 on 2017/02/09 by Jamie.Dale Kerning-only text shaping no longer draws characters to get their metrics It now goes via the low-level FT caches like HarfBuzz does. Change 3294588 on 2017/02/09 by Alexis.Matte If we remove a LODGroup from baseengine.ini, the fbx importer UI will now be able to recover in case the last fbx import was done with the just removed LODGroup Change 3294847 on 2017/02/09 by Matt.Kuhlenschmidt Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor) Change 3295093 on 2017/02/09 by Arciel.Rekman Linux: fix Setup.sh not working in paths with space (UE-41819). Change 3295205 on 2017/02/09 by Matt.Kuhlenschmidt Fix material UV's no longer working om 9 slice elements Change 3295816 on 2017/02/09 by Arciel.Rekman Linux: fix starting programs from a path with space. Change 3296129 on 2017/02/09 by Arciel.Rekman Linux i686: changes necessary to compile BlankProgram. - Added new architecture to UBT. - Fixed system headers. - Added third party libs for i686: - jemalloc - elftoolchain - zlib - SDL2 - libc++ Change 3296564 on 2017/02/10 by Jamie.Dale Cleaned up PO comment preservation Change 3296694 on 2017/02/10 by Jamie.Dale AllocateNameEntry now takes TCharType* rather than void* and cast Change 3296744 on 2017/02/10 by Jamie.Dale Moved the PO DOM from UnrealEd to Internationalization Change 3297250 on 2017/02/10 by Jamie.Dale Split the PO import/export pipeline out of the commandlet Change 3297420 on 2017/02/10 by Alexis.Matte Add Isolate and highlight feature for the material panel in the staticmesh and the skeletal editor. #jira UE-38985 Change 3297594 on 2017/02/10 by Alexis.Matte When importing from fbx a static mesh with find material anywhere, the next LODs import by the user will create new material entries instead of using the existing one. Change 3297752 on 2017/02/10 by Arciel.Rekman i686 support: more third party libs. - libcurl - OpenSSL - libpng - libvorbis - libogg - libopus Change 3297754 on 2017/02/10 by Arciel.Rekman i686 support: PhysX Change 3297922 on 2017/02/10 by Alexis.Matte When importing a new LOD to a staticmesh, the data source file is not anymore wipe or change to the last fbx import filename. Change 3298330 on 2017/02/10 by Arciel.Rekman i686: missing libcurl. Change 3298620 on 2017/02/11 by Jamie.Dale FLocTextHelper improvements - It can now support non-standard target layouts (where the native and foreign cultures are in different locations - see FLocTextTargetPaths). - The XForeignArchive functions are now more strict, and *only* accept foreign cultures (use the XArchive functions instead if you're using both native and foreign cultures as parameters). Change 3299293 on 2017/02/13 by Matt.Kuhlenschmidt PR #3241: UE-41870: Add quotes when passing through the directory path (Contributed by projectgheist) Change 3299299 on 2017/02/13 by Matt.Kuhlenschmidt PR #3224: Git plugin: fix git autodetection and add error message (Contributed by SRombauts) Change 3299391 on 2017/02/13 by Matt.Kuhlenschmidt Fix material instances being marked dirty when opening #jira UE-41721, UE-41719 Change 3299441 on 2017/02/13 by Nick.Darnell PR #3243: Fix bug that UWidget::GetOwningPlayer doesn't return (Contributed by yeonseok-yi) Change 3299567 on 2017/02/13 by Nick.Darnell Slate - The Checkbox no longer just passes visibility down to the internal widgets it creates, that prevents future changes to effect it if it starts collapsed. #jira UE-41904 Change 3299870 on 2017/02/13 by Jamie.Dale Added cycle counters for font rendering/shaping Change 3300116 on 2017/02/13 by Michael.Dupuis #jira UE-41866: Update cache when performing an undo Change 3300178 on 2017/02/13 by Alexis.Matte Fix a crash when re-importing a LOD with more sections then the base LOD Change 3300191 on 2017/02/13 by Alexis.Matte Make sure we do not loose castshadow and recomputetangents section flags when we re-import a skeletal mesh. Change 3300351 on 2017/02/13 by Alexis.Matte Remove the clean up of unused material for the staticmesh editor. Unused material can be delete manually in the UI #jira UE-39639 Change 3302138 on 2017/02/14 by Nick.Darnell Automation - Adding support for -DeveloperReportOutputPath and -DeveloperReportUrl to permit local runs of the automation tool to generate reports on the report server, and launch the browser window to view them. Change 3302139 on 2017/02/14 by Nick.Darnell UMG - Additional fixes to the way we migrate changes from the preview to the serialized version of the widget tree. This fixes several issues with edit-inline objects on UWidgets. Change 3302281 on 2017/02/14 by Nick.Darnell Slate - Bringing over changes to the invalidation panel from one of the game streams. This fixes issues with animations in volatile widgets, as well as some issues with cache relative offset, and offers a method for enabling a different caching method to preserve batching through a commandline, but at the cost of not being able to use GPU buffers, possibly a better option on mobile in some cases. Change 3302415 on 2017/02/14 by Nick.Darnell Disabling the open asset editor test. Change 3302976 on 2017/02/14 by Nick.Darnell Automation - Updating one of the tests to open 70 different known asset types, and ensure that they open without dirtying the package. AutomationTestSettings are now defaultengine, not sure why they setup to be user specific previously. Most of these settings need to be removed, or split off into the modules that own them, rather than being in Engine. TODO. Change 3303724 on 2017/02/15 by Matt.Kuhlenschmidt Removed hard coded list of thumbnails, preventing objects with valid thumbnails from showing up. Thumbnails are now shown by default. Use meta=(DisplayThumbnail=false) to remove #jira UE-41958 Change 3303729 on 2017/02/15 by Matt.Kuhlenschmidt PR #3253: UE-34539: (Bugfix) Allow binary files in git stored via git-fat, git-lfs, etc to be diffed (take 2) (Contributed by rpav) Change 3303733 on 2017/02/15 by Matt.Kuhlenschmidt PR #3248: Fix for TAssetSubClassOf properties reset on undo. (Contributed by StefanoProsperi) Change 3303823 on 2017/02/15 by Nick.Darnell Automation - Continued improvements on screenshots. Added some fixes to turn off the tonemapper when visualizing buffers. Fixed several screenshots due to this change. Adding lightboxes to the reports. Adding some styling to make things sweeter. Change 3303937 on 2017/02/15 by Matt.Kuhlenschmidt Fix build error Change 3303982 on 2017/02/15 by Nick.Darnell Automation - Making the opening of the image no longer threaded, not really helpful for the IO operation and just makes it harder to follow. Change 3304058 on 2017/02/15 by Matt.Kuhlenschmidt Fix build attempt #2 (not reproducible locally) Change 3304393 on 2017/02/15 by Matt.Barnes Submitting test content for UEQATC-3548 Change 3304517 on 2017/02/15 by Nick.Darnell Slate - Making some fixes to the automatic disabling of the pixel snapping code with render transforms. Sometimes it gets confused, we may want to move to a seperate transform stack for layout and render, and make sure the element drawer has access to both. Change 3304560 on 2017/02/15 by Nick.Darnell UMG - SA fix. Change 3304890 on 2017/02/15 by Matt.Kuhlenschmidt PR #3220: UE-41243: Force resolution in standalone if large than primary workin. (Contributed by projectgheist) Change 3305360 on 2017/02/15 by Arciel.Rekman Linux: fix crash on exit (UE-41907). - It is not safe to dereference UAnimGraphNode_PoseDriver::StaticClass during the final shutdown sequence since the instance has already been destroyed in StaticExit(). Change 3306023 on 2017/02/16 by Nick.Darnell Paper2D - Adding a method to create SlateBrushes from PaperSprites the same way we can for materials and textures in blueprints. Change 3306030 on 2017/02/16 by Nick.Darnell Slate - Making some additional fixes to invalidation panels from a game branch. Adding a RoundToVector function to FVector2D, fixing the 3 places we defined a RoundToInt (which wasn't a great name since the convention wasn't meant to be used that way). Change 3306031 on 2017/02/16 by Nick.Darnell Slate - Retainer widgets no longer tick using PreTick on SlateApplication, they now paint during their normal paint. Change 3306046 on 2017/02/16 by Nick.Darnell UMG - Adding CanEditChange to WidgetComponent to gray out the CylinderArcAngle property unless you select the right geometry mode. Change 3308887 on 2017/02/17 by Matt.Kuhlenschmidt Fix crash if blurs are rotated #jira UE-42037 Change 3309114 on 2017/02/17 by Jamie.Dale Unifying non-shaped text to use the same atlas cache as shaped text Change 3310044 on 2017/02/17 by Matt.Kuhlenschmidt Outline color on text elements is now inherited properly #jira UE-40691 Change 3310268 on 2017/02/17 by Matt.Kuhlenschmidt Guard against rendering MIDs with potentially no parent in slate. #jira UE-42047 Change 3311531 on 2017/02/20 by Michael.Dupuis #jira UETOOL-1100: Add the possibility to have dynamic min/max slider value Synchonize all Color vector together when changing the min/max slider value Change 3311534 on 2017/02/20 by Michael.Dupuis incremental build fix Change 3311535 on 2017/02/20 by Michael.Dupuis incremental build fix take 2... Change 3311743 on 2017/02/20 by Michael.Dupuis buildfix lunix incremental Change 3312496 on 2017/02/20 by Arciel.Rekman Linux: fix PhysX crash in i686. - Changed layout to one that works. Change 3313127 on 2017/02/20 by Jamie.Dale Fixed crash when performing a non-async cooked package save It isn't safe to call TotalSize on the BulkArchive when it's not a FBufferArchive (as used during async save) once the archive has been closed. Change 3313990 on 2017/02/21 by Nick.Darnell Automation - Added a summary area at the top of the report. Change 3314034 on 2017/02/21 by Jamie.Dale Fixed crash when deleting a streamed font Change 3314942 on 2017/02/21 by Nick.Darnell Automation - More templating styling work. Change 3315080 on 2017/02/21 by Nick.Darnell Automation - Providing a way for users to remove explict events from the event log when automated tests run. Needed for other systems linked into the automation system like google mock. Change 3315452 on 2017/02/21 by Nick.Darnell Json - Adding support for Map and Set properties to the JsonObjectConverter. Can now save out map and sets. No support for loading them yet. Change 3315614 on 2017/02/21 by Nick.Darnell Json - Adding support for loading sets and map json data. Change 3315924 on 2017/02/21 by Arciel.Rekman Vulkan: edigrating various Linux fixes by Josh. - This is to make Linux Vulkan work in Dev-Editor easier (for the contractor and myself). Original descriptions: CL 3313445 - Various Vulkan fixes: - Compiles in Linux - Many cubemap bugs squashed - Changed the scratch reflection cubemap clear to SetRenderTargestsAndClear, instead of SetRenderTarget() / Clear() - Added compute fences CL 3314152 - Fixed compile error on Mac, but I am pretty sure we can just remote VulkanRHI from Mac building entirely, but needs to be tested. Change 3316741 on 2017/02/22 by Jamie.Dale Ensure that enums used by BP nodes have been PostLoaded so they have the correct display names #jira UE-42253 Change 3316800 on 2017/02/22 by Matt.Kuhlenschmidt Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor) Change 3317058 on 2017/02/22 by Alexis.Matte Fix the scene importer to support correctly the obj file format #jira UE-35606 Change 3318039 on 2017/02/22 by Arciel.Rekman i686 support: added missing libwebsockets. Change 3318095 on 2017/02/22 by Arciel.Rekman i686 support: Oodle. Change 3319002 on 2017/02/23 by Michael.Dupuis #jira UE-41794 : Do not exit the landscape mode when doing undo from the creation of the landscape Change 3319012 on 2017/02/23 by Alexis.Matte PR #3066: Improve asset import by permitted relative paths and easing editing of mapped mount points. (Contributed by paulevans) #jira UE-40039 Change 3319035 on 2017/02/23 by Nick.Darnell UMG - Adding a note about the font sizes in UE4 in Slate, using 96 dpi. #jira UE-42170 Change 3319040 on 2017/02/23 by Matt.Kuhlenschmidt PR #3278: Git plugin: fix revision number for blueprint diff menu (Contributed by SRombauts) #jira UE-42129 Change 3319072 on 2017/02/23 by Michael.Dupuis #jira UETOOL-1101: Add support for DetailGroup reset to default Right now it's only enable for the color grading Change 3319077 on 2017/02/23 by Nick.Darnell Automation - Moving away from most of the templating being done in C++. Moving to dust.js to just do it in the browser window. The json report file is now the actual source of the information we use to template the resulting report html. Maaay have to move to doing the templating server side in the future to stream it to the client better, but avoiding that so we don't have to ship a server. Disabling several places we were taking editor screenshots, none of that code was actually comparing screenshots, it was a hold-over from earlier days. PhysX - Fixing a problem with Physx FillInlinePxShapeArray. Deprecating it, adding FillInlinePxShapeArray_AssumesLocked, and locking places we were assuming it was already locked in the landscape component. Change 3319088 on 2017/02/23 by Nick.Darnell PR #3245: UE-41707: Re-order includes correctly (Contributed by projectgheist) #jira UE-41914 Change 3319104 on 2017/02/23 by Michael.Dupuis fix incremental build Change 3319146 on 2017/02/23 by Matt.Kuhlenschmidt PR #3292: Git plugin: fix update status on directories broken since UE4.12 (Contributed by SRombauts) #jira UE-42272 Change 3319252 on 2017/02/23 by Michael.Dupuis fix warning with missing #undef LOCTEXT_NAMESPACE Change 3319298 on 2017/02/23 by Alex.Delesky Removing the Subtitles and SubtitlesEditor modules (it'll eventually be brought back as the Overlay and OverlayEditor modules) Change 3319388 on 2017/02/23 by Alexis.Matte Fbx Importer now find collision model under fbx LOD Group #jira UE-42141 Change 3319528 on 2017/02/23 by Michael.Dupuis Fixed Undo/Redo to be consistent with other vector modifcation behavior Change 3319583 on 2017/02/23 by Alexis.Matte Fix the sample rate to use the least common multiplier of all keys #jira UE-42012 Change 3319705 on 2017/02/23 by Nick.Darnell Static Analysis - Fixing sonobjectconverter.cpp(460) : warning C6011: Dereferencing NULL pointer 'ArrayProperty'. Change 3319711 on 2017/02/23 by Nick.Darnell Editor - Adding some checks to make sure the struct we're accessing is still a valid handle. #jira UE-42262 Change 3319736 on 2017/02/23 by Alex.Delesky Adding Subtitles and SubtitlesEditor to the JunkManifest file. Change 3319919 on 2017/02/23 by Nick.Darnell Automation - Fixing an issue with moving a location that doesn't exist. Change 3319932 on 2017/02/23 by Alexis.Matte Fbx importer, do not apply more then one time the transform option to the scene node. #jira UE-42277 Change 3320105 on 2017/02/23 by Nick.Darnell Editor - Adding some additional checks to the margin customization. #jira UE-42262 Change 3321577 on 2017/02/24 by Jamie.Dale Moving Internationalization module from Runtime to Developer Change 3321625 on 2017/02/24 by Jamie.Dale Moving InternationalizationSettings module from Developer to Editor Change 3321642 on 2017/02/24 by Jamie.Dale Moving SCulturePicker from the Localization module to the InternationalizationSettings module Change 3321734 on 2017/02/24 by Alexis.Matte PR #2979: Fix extra root bone for Blender exported FBX. (Contributed by manmohanbishnoi) We fix the extra root only when the file creator is from blender and the root node is named armature. We cannot simply remove all dummy node, since this is use by the rigid mesh workflow. #jira UE-39050 Change 3321912 on 2017/02/24 by Jamie.Dale Split LocalizationCommandletExecution out of the Localization module to remove some editor dependencies Change 3322274 on 2017/02/24 by Jamie.Dale Moving Localization module from Editor to Developer, and merging the Internationalization module into it Removed hard-dependency between Engine and Localization/Internationalization via an interface. Change 3322774 on 2017/02/25 by Jamie.Dale Unifying LocRes and LocNat file format between generation and loading This lets the code in Core be shared by Localization, and allows some code that was proxying via archives (due to the code being logically identical, but different C++ types) to use these new types directly. #tests Built Debug, Shipping, and Editor. Verified that LocNat and LocRes generation and loading worked as before. Change 3322795 on 2017/02/25 by Jamie.Dale Fixing mismatch between SOURCE_CONTROL_WITH_SLATE and its .Build.cs file The define was set to disable Slate for Linux program targets only, but the .Build.cs disabled Slate for all Linux targets. Since the define was touched most recently (CL# 2534983), I updated the .Build.cs file to match its logic, and moved the definition of the define to the .Build.cs file so that they stay in sync with one another. Change 3322853 on 2017/02/25 by Jamie.Dale Moved the conflict and word count reporting to FLocTextHelper Change 3323089 on 2017/02/26 by Jamie.Dale Added functions to get the target name and path from FLocTextHelper Change 3323391 on 2017/02/27 by Ben.Cosh This fixes an issue with blueprint config variables having their value destroyed by CDO serialization #Jira UE-40586 Blueprint variable defaults set from config files value are overwritten by CDO serialization #Proj Engine, CoreUObject Change 3323406 on 2017/02/27 by Ben.Cosh Fixed a problem that caused UK2Node::ExpandSplitPin to destroy pins it didn't own in when expanding a collapsed graph during compilation. #jira UE-41211 - Crash when splitting a UDS pin on a collapsed graph #Proj BlueprintGraph Change 3323572 on 2017/02/27 by Nick.Darnell Automation - Continued itteration on the style of the automation reports, now with attentional info, like where the log came from. Automation - Fixing a bug in the functional actor tests, navigating to the actors sometimes opened other objects in the package, now it only opens the map. Also improved the way we focus the actor so that the level editor is also brought to the foreground. Automation - Fixing a bug in how the automation system was registering for capturing logging. It was swapping out GWarn for its own version, but GWarn isn't called for anything that isn't an error or warning, meaning that none of the Display/Logging or analytics capture attempts were actually working. Suddenly a flood of informations started being captured during tests. For now - only going to capture 'Display' logs instead of 'Log' level. Automation - Successful comparisons now print more information so that the automation logs do a better job of tracking the flow of the test. Automation - The screenshot comparison test now prints more information even during successful comparisons. Editor - The message log no longer emits a SetSelection, just because the selection is updated the categoriry view model. This was causing things like the automation tool, which sets the selection every time (which may itself be an issue) to completely rebuild the message log every time a new automation message was emited. The message log now checks if the selection would actually change the viewstate before it does it. Domino Test - Adding an arrow to visualize the state of the up vector the test is looking for; playing with idea for test visualizers that may help with debugging in the future. Change 3323580 on 2017/02/27 by Michael.Trepka Fixed some Xcode 8.3 compile errors Change 3323634 on 2017/02/27 by Nick.Darnell Build - Fix incremental build. Change 3323740 on 2017/02/27 by Jamie.Dale Adding #error if the SOURCE_CONTROL_WITH_SLATE define is missing Change 3323865 on 2017/02/27 by Nick.Darnell Automation - Disabling the screenshot from the small editor icons test, until the editor screenshot method starts comparing things, and the screenshots we take are better / more scoped. Change 3324228 on 2017/02/27 by Jamie.Dale Can no longer name assets or folders with a leading underscore #jira UE-40541 Change 3324429 on 2017/02/27 by Jamie.Dale Removing FLocTextTargetPaths It was added to support something that I'm now going to do a different way. Change 3324473 on 2017/02/27 by Jamie.Dale Moved the GatherText SCC utils into the Localization module Change 3324481 on 2017/02/27 by Jamie.Dale Moving the localized asset utils out of GatherText base Change 3324485 on 2017/02/27 by Jamie.Dale Cleaning up some includes now that the localization SCC is no longer in GatherText Change 3324910 on 2017/02/28 by Nick.Darnell Slate - Moving the SlateRotatedRect into its own file, and removing FSlateRotatedClipRectType, since there's no longer a difference and we only use FSlateRotatedRect. Change 3325329 on 2017/02/28 by Michael.Dupuis #jira UE-42083: Removed various Modify(true) that would force user to save the levels even if they did'nt really modified them Replace TMap<TLazyObjectPtr,...> as it would dirty the level at every Find performed Change 3325410 on 2017/02/28 by Michael.Dupuis missing include for incremental build Change 3325415 on 2017/02/28 by Nick.Darnell UMG - Adding some setters and getters for RedrawTime to the WidgetComponent. Change 3325418 on 2017/02/28 by Nick.Darnell Automation - Fixing the warnings on startup about smoke tests taking longer than 2s. Had to add an option to disable capturing the callstack when running smokes, it adds a bit too much overhead during startup. Change 3325698 on 2017/02/28 by Alexis.Matte Put back the code to isolate material versus section in the skeletal mesh. The code was override by a temporary hack done in paragon branch Change 3325790 on 2017/02/28 by Michael.Trepka Copy of CL 3319588 Fixed address sanitizer support in MacToolChain (Apple changed the name of the env variable Xcode uses to enable it) and added support for thread sanitizer Change 3326118 on 2017/02/28 by Alexis.Matte Add LOD settings LOD distances to fbx import dialog option. The option are not supported yet by the scene importer #jira UE-41291 Change 3326183 on 2017/02/28 by Alexis.Matte PR #3298: Import SpecularFactor for Roughness and Shininess for Metallic textures (Contributed by VladimirPobedinskiy) #jira UE-42301 Change 3326196 on 2017/02/28 by Jamie.Dale Force the correct package localization ID when duplicating a BP for nativization Change 3327037 on 2017/03/01 by Michael.Dupuis fixed fortnite mac non editor build Change 3327483 on 2017/03/01 by Jamie.Dale Renaming LocNat to LocMeta Change 3327486 on 2017/03/01 by Jamie.Dale Renaming LocNat to LocMeta Change 3327541 on 2017/03/01 by Michael.Trepka Removed Mac OpenGL RHI files and disabled building of OpenGL RHI on Mac Change 3328000 on 2017/03/01 by Nick.Darnell Automation - Noisy rendering features are now disabled by default when taking screenshots. Change 3328323 on 2017/03/01 by Michael.Trepka Copy of CL 3307526 Fixed mouse position issues in fullscreen mode on Mac Change 3328410 on 2017/03/01 by Alexis.Matte Remove unwanted option when importing skeletal mesh Make the FBX tests uptodate with the new ImportUI options #jira UE-41291 Change 3329586 on 2017/03/02 by Jamie.Dale Adding missing includes when running with bUseMallocProfiler enabled Change 3329999 on 2017/03/02 by Nick.Darnell UMG - Removing a deprecated 4.8 function to get the label on UWidget. Change 3330004 on 2017/03/02 by Nick.Darnell UMG - Adding TargetPlatform to the dependencies of UMGEditor module. Change 3330021 on 2017/03/02 by Nick.Darnell UMG - Adding TargetPlatform to the private include path of the UMG module. Change 3330041 on 2017/03/02 by Nick.Darnell Engine - Adding a comment to the PreLoadMap call so people know what the string being passed in is. Change 3330048 on 2017/03/02 by Nick.Darnell Editor - Don't allow querying the cursor in the editor viewport while saving packages. Depending upon the code that gets triggered, it may cause packages to load, or things to be initialized while saving is occuring. Change 3330602 on 2017/03/02 by mason.seay Map for Functional Screenshot Test Bug Change 3330632 on 2017/03/02 by Alexis.Matte Fix fbx crash when there is only one UVChannel but using the naming convention to place it further then the first index Change 3330862 on 2017/03/02 by Jamie.Dale Adding FPaths::SetExtension This is like FPaths::ChangeExtension, but also applies the extension if the file doesn't have one. Change 3331491 on 2017/03/03 by Nick.Darnell Automation - Fixing a threading issue in the SAsyncImage, it was accessing potentially bogus memory if the Widget had been deleted before the task ran. Change 3331498 on 2017/03/03 by Nick.Darnell Build - Fixing a build warning. Change 3331807 on 2017/03/03 by Nick.Darnell Automation - Making the Disable Noisy Rendering Features more robust, disabling a few more markers. Adding a better way of rolling back the changes. Change 3331999 on 2017/03/03 by Michael.Trepka Fixed a memory leak on texture creation with BulkData in OpenGLTexture.cpp Change 3332481 on 2017/03/03 by Arciel.Rekman Fix building lighting in commandlet (UE-42551). - Process task graph while running as commandlet. - Also, if for any reason - like the lack of -messaging - local swarm interface fails to initialize or takes too much time to send the message, bail out. Change 3332606 on 2017/03/04 by Jamie.Dale Fixing crash reporting loc word counts when the report is starting empty Change 3332614 on 2017/03/04 by Jamie.Dale Fixed text namespaces being treated as case-insensitive when export to JSON manifests and archives Change 3332619 on 2017/03/04 by Jamie.Dale Fixing CIS error Change 3333000 on 2017/03/06 by Matt.Kuhlenschmidt PR #3295: Non-editable FStringAssetReference using VisibleAnywhere (Contributed by projectgheist) #jira UE-42284 Change 3333039 on 2017/03/06 by Alexis.Matte Make custom ui for FbxSceneImportData object #jira UE-37896 Change 3333047 on 2017/03/06 by Nick.Darnell UMG - Removing an extra assignment in WidgetSwitcher. Change 3333056 on 2017/03/06 by Alexis.Matte Build fix Change 3333073 on 2017/03/06 by Matt.Kuhlenschmidt Added more logging for when window creation fails due to too many windows. #jira UE-42478 Change 3333081 on 2017/03/06 by Matt.Kuhlenschmidt PR #3327: Git Plugin: fix RunDumpToFile() to check git ReturnCode (Contributed by SRombauts) #jira UE-42535 Change 3333103 on 2017/03/06 by Matt.Kuhlenschmidt PR #3336: UE-42407: using GetWindowMode instead of switching on IsFullscreenViewport (Contributed by stefanzimecki) #jira UE-42407, UE-42565 Change 3333142 on 2017/03/06 by Jamie.Dale Added a way to view/copy a list references (including those that aren't loaded) to the reference viewer Change 3333443 on 2017/03/06 by Matt.Kuhlenschmidt Eliminate the usage of SWebBrowser to show viewport controls in level viewports. There is an non-trivial startup cost initializing CEF and is not worth paying that cost on editor startup for one tiny control. The button now opens a web page on click. #jira UE-42461 PR #3314: Drop UE4Editor -> CEF dependency to 2x speedup Linux UE4Editor startup (Contributed by slonopotamus) Change 3333914 on 2017/03/06 by Matt.Kuhlenschmidt Remove double middle mouse click to change to perspective view #jira UE-42444 Change 3333936 on 2017/03/06 by Matt.Kuhlenschmidt Fixed excessive fname initialization in these files Change 3334063 on 2017/03/06 by Alexis.Matte fix build linux Change 3334166 on 2017/03/06 by Jamie.Dale Adding Data Table export/import support for TMap and TSet #jira UE-42415 Change 3334459 on 2017/03/06 by Alexis.Matte PR #3334: Respect bForceFrontXAxis option when exporting to FBX (Contributed by rajkosto) #jira UE-42563 Change 3335132 on 2017/03/07 by Jamie.Dale Fixing typo Change 3335140 on 2017/03/07 by Jamie.Dale Fixing CSV import warnings in GameplayEffects test Change 3335164 on 2017/03/07 by Alexis.Matte Avoid selecting skeletal mesh section in the level when high light them in persona editor #jira UE-20151 Change 3335186 on 2017/03/07 by Jamie.Dale Fixed CSV parser missing empty cells at the end of the string Change 3335218 on 2017/03/07 by Arciel.Rekman SDL2: delete unused project/build files. Change 3335222 on 2017/03/07 by Arciel.Rekman SDL2: delete more unused project/build files. Change 3335230 on 2017/03/07 by Matt.Kuhlenschmidt Additional fixes for blur and blur slot not propagating padding to each other #jira UE-42553 Change 3335896 on 2017/03/07 by Jamie.Dale ToolTips and Engine were double gathering the same meta-data #jira UE-36480 Change 3336009 on 2017/03/07 by Matt.Kuhlenschmidt Fix details panels becoming unusable if "Show only Modified Properties" is enabled and there are no modified properties Change 3336247 on 2017/03/07 by Jamie.Dale Selection height is now the max of the line height and text height to account for negative line scaling #jira UE-40673 Change 3336253 on 2017/03/07 by Jamie.Dale Added a setting to control whether we should use the font metrics or the bounding box when laying out a font #jira UE-41074 Change 3336303 on 2017/03/07 by Arciel.Rekman Refactor of OS memory allocation functions. - Bring PageSize/OSAllocationGranularity in line with the established definitions. - PageSize is a hardware mapping granularity that is also used for PageProtect() and any other functions that involve setting virtual memory properties. - OSAllocationGranularity is a virtual address allocation granularity that on some platforms may be applied on top of that (notably VirtualAlloc in Windows only returns addresses that are 16 page aligned). - BinnedPageSize and BinnedAllocationGranularity are the values expected by Binned and Binned2 for size and the alignment of OS allocations. - Disable the logic in CachedOSPageAllocator that allowed buffers larger than the requested size to be returned. - This caused wrong allocation size to be passed in BinnedFreeToOS() from Binned2. - Make Binned2 work on Linux - Addresses returned from BinnedAllocFromOS() need to be BinnedPageSize (minimum 64KB) aligned for Binned2 to work. This results in the need to artificially align mmap()'d addresses, at some performance cost. - The same function can be used on other systems with mmap()/munmap() (Mac, Android, iOS) - Switch Linux to Binned2 by default. - Add ability to sanity-check OS memory allocations. - Debug and Development build will store a descriptor to check that values passed to BinnedFreeToOS() are the same (mmap-based allocation only). Change 3337098 on 2017/03/08 by Michael.Dupuis #jira UE-42589: Added a guard if the mesh component is not attached, this can happen when moving a component out of the screen Change 3337183 on 2017/03/08 by Matt.Kuhlenschmidt Hide the preview toolbar button, it is not being used Change 3337801 on 2017/03/08 by Michael.Trepka Fixed some module dependencies to make sure we don't build OpenGLDrv on Mac Change 3338373 on 2017/03/08 by Joe.Graf Fixed external plugin cooking and deployment by remapping plugin directories upon cook & deployment Tested directory structures: D:\SomePluginDir D:\UE4\AnotherPluginDir D:\UE4\Engine\Plugins D:\UE4\MyProject\Plugins Change 3338482 on 2017/03/08 by Alexis.Matte Remove "BlueprinReadOnly" flag on "WITH_EDITORONLY_DATA" class variable Change 3338679 on 2017/03/08 by Matt.Kuhlenschmidt Fixed arrow keys not working to navigate between elements in the details panel Change 3339086 on 2017/03/09 by Dmitriy.Dyomin Added: Mobile friendly slate settings Change 3339366 on 2017/03/09 by Nick.Darnell Build - Attempting to fix build. #jira UE-42675 Change 3339506 on 2017/03/09 by Jamie.Dale Fixing Linux Server build error #jira UE-42675 Change 3340450 on 2017/03/09 by Cody.Albert Ensure that the hittest grid is valid before trying to find a focusable widget Change 3340492 on 2017/03/09 by Arciel.Rekman Fix IOS compile error (UE-42695). Change 3340565 on 2017/03/09 by Arciel.Rekman Fix another compile error (UE-42695). Change 3341527 on 2017/03/10 by Alexis.Matte Fix crash when dragging a re-import scene and there is new asset created #jira UE-42766 [CL 3341914 by Nick Darnell in Main branch]
2017-03-10 15:37:02 -05:00
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3494741 by Steve.Robb Generated code size savings. #jira UE-43048 Change 3495484 by Steve.Robb Fix for generated indices of static arrays when saving configs. Change 3497926 by Robert.Manuszewski Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything. Change 3498077 by Robert.Manuszewski Only use the recursion guard in async loading code when the event driven loader is enabled. Change 3498112 by Ben.Marsh UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own. Change 3500239 by Robert.Manuszewski Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes. Change 3500395 by Steve.Robb Extra codegen savings when not in hot reload. Change 3501004 by Steve.Robb EObjectFlags now have constexpr operators. Change 3502079 by Ben.Marsh UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary. Change 3502527 by Steve.Robb Fix for zero-sized array compile error in generated code when all functions are editor-only. Change 3502542 by Ben.Marsh UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead. Change 3502868 by Steve.Robb Workaround for inefficient generated code with stateless lambdas on Clang. Change 3503550 by Steve.Robb Another generated code lambda optimization. Change 3503582 by Ben.Marsh BuildGraph: Add support for nullable parameter types. Change 3504424 by Steve.Robb New AllOf, AnyOf and NoneOf algorithms. Change 3504712 by Ben.Marsh UAT: Less spammy log and error output from UAT. * Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception). * Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information. * AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log) * Name of the calling function is not included in console output by default, but still included in the log. Change 3504808 by Ben.Marsh UAT: Suppress P4 output when running a recursive instance of UAT. Change 3505044 by Steve.Robb Code generation improved for TCppClassType code. Change 3505485 by Ben.Marsh Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module. Change 3505699 by Ben.Marsh Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins. Change 3506055 by Ben.Marsh UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output. Change 3507745 by Robert.Manuszewski Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses). Change 3507911 by Ben.Marsh Plugins: Minor changes to plugin descriptors. * Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors. * Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from. Change 3508669 by Ben.Marsh EC: Parse multi-line messages from UBT and UAT. Change 3508691 by Ben.Marsh Fix double-spacing of cook stats. Change 3509245 by Steve.Robb UHT makefiles removed. Flag audit removed. Change 3509275 by Steve.Robb Fix for mismatched stat categories in AudioMixer. #jira UE-46129 Change 3509289 by Robert.Manuszewski Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably. Change 3509294 by Robert.Manuszewski UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it. Change 3509312 by Steve.Robb GitHub# 3679: Add TArray constructor that takes a raw pointer and a count Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too. #jira UE-46136 Change 3509396 by Steve.Robb GitHub# 3676: Fix TUnion operator<< compile error #jira UE-46099 Change 3509633 by Steve.Robb Fix for line numbers on multiline macros. Change 3509938 by Gil.Gribb UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading. Change 3510593 by Daniel.Lamb Fixed up unsoilicited files getting populated with files which aren't finished being created yet. #test None Change 3510594 by Daniel.Lamb Fixed up temp files directory for patching. Thanks David Yerkess @ Milestone #review@Ben.Marsh Change 3511628 by Ben.Marsh PR #3707: Fixed UBT stack size (Contributed by gildor2) Change 3511808 by Ben.Marsh Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git) #jira UE-46540 Change 3512017 by Ben.Marsh Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface. Change 3513935 by Steve.Robb Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477. Change 3514142 by Steve.Robb MemoryProfiler2 added to generated solution. Change 3516463 by Ben.Marsh Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user. Change 3517860 by Ben.Marsh PR #3727: FString Dereference Fixes (Contributed by jovisgCL) Change 3517967 by Ben.Marsh Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line. Change 3518070 by Steve.Robb Disable Binned2 stats in shipping non-editor builds. Change 3520079 by Steve.Robb Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions. #jira UE-24034 Change 3520080 by Robert.Manuszewski Made max package summary size to be configurable with ini setting Change 3520083 by Steve.Robb Force a GC after hot reload to clean up reinstanced objects which may still tick. #jira UE-40421 Change 3520480 by Robert.Manuszewski Improved assert message when the initial package read request was too small. Change 3520590 by Graeme.Thornton SignedArchiveReader optimizations - Loads more stats - Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader - Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time - Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries Change 3521023 by Graeme.Thornton Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing Change 3521787 by Ben.Marsh PR #3736: Small static code analysis fixes (Contributed by jovisgCL) Change 3521789 by Ben.Marsh PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar) Change 3524721 by Ben.Marsh Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core. Change 3524741 by Ben.Marsh Move PumpMessages() into FPlatformApplicationMisc. Change 3525399 by Ben.Marsh UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment. Change 3525743 by Ben.Marsh UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds. Change 3525746 by Ben.Marsh EC: Include the clobber option on new workspaces, to allow overriding version files when syncing. Change 3526453 by Ben.Marsh UGS: Do not generate project files when syncing precompiled binaries. Change 3527045 by Ben.Marsh Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting. Change 3527420 by Ben.Marsh UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing). Config files are now read from: Engine/Programs/UnrealGameSync/UnrealGameSync.ini Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini If a project is selected: <ProjectDir>/Build/UnrealGameSync.ini <ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini If the .uprojectdirs file is selected: Engine/Programs/UnrealGameSync/DefaultProject.ini Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini Change 3528063 by Ben.Marsh Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse. Change 3528415 by Ben.Marsh UAT: Remove \r characters from the end of multiline log messages. Change 3528427 by Ben.Marsh EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent. Change 3528485 by Ben.Marsh EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places. Change 3528505 by Steve.Robb PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL) #jira UE-46819 Change 3528772 by Robert.Manuszewski Enabling actor and blueprint clustering in ShooterGame Change 3528786 by Robert.Manuszewski PR #3760: Fix typo (Contributed by jesseyeh) Change 3528792 by Steve.Robb PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL) #jira UE-46962 Change 3528941 by Robert.Manuszewski Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object. #jira UE-44996 Change 3530241 by Ben.Marsh UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value. Change 3531377 by Ben.Marsh Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it. This has several advantages over the per-module platform whitelist/blacklist: * Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore. * References to dependent plugins from platform-specific plugins can now be eliminated. * Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly). * The editor can load any plugins without having to whitelist supported editor host platforms. UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime. Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary. Change 3531502 by Jin.Zhang Add support for GPUCrash #rb Change 3531664 by Ben.Marsh UBT: Change output format from C# JSON writer to match output by the engine. Change 3531848 by Ben.Marsh UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable. Change 3531869 by Ben.Marsh UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field. Change 3532474 by Ben.Marsh UBT: Use the same mechanism as UAT for logging exceptions. Change 3532734 by Graeme.Thornton Initial VSCode Support - Tasks generated for building all game/engine/program targets - Debugging support for targets on Win64 Change 3532789 by Steve.Robb FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap. Set_Add and Map_Add no longer have a return value. FScriptSet::Find and FScriptMap::Find functions are now FindIndex. FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash. Change 3532845 by Steve.Robb Obsolete UHT settings deleted. Change 3532875 by Graeme.Thornton VSCode - Add debug targets for different target configurations - Choose between VS debugger (windows) and GDB (mac/linux) Change 3532906 by Graeme.Thornton VSCode - Point all builds directly at UBT rather than the batch files - Adjust mac build tasks to run through mono Change 3532924 by Ben.Marsh UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root. Change 3535234 by Graeme.Thornton VSCode - Pass intellisense system a list of paths to use for header resolution Change 3535247 by Graeme.Thornton UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation Change 3535376 by Graeme.Thornton VSCode - Added build jobs for C# projects - Linked launch tasks to relevant build task Change 3537083 by Ben.Marsh EC: Change P4 swarm links to start at the changelist for a build. Change 3537368 by Graeme.Thornton Fix for crash in FSignedArchiveReader when multithreading is disabled Change 3537550 by Graeme.Thornton Fixed a crash in the taskgraph when running single threaded Change 3537922 by Steve.Robb Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT. Change 3539691 by Graeme.Thornton VSCode - Various updates to get PC and Mac C++ projects building and debugging. - Some other changes to C# setup to allow compilation. Debugging doesn't work. Change 3539775 by Ben.Marsh Plugins: Various fixes to settings for enabling plugins. * Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled). * Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed. * Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them. Change 3540788 by Ben.Marsh UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile). Example usage: public class UnrealPakTarget : TargetRules { public UnrealPakTarget(TargetInfo Target) : base(Target) { Type = TargetType.Program; LinkType = TargetLinkType.Monolithic; LaunchModuleName = "UnrealPak"; if(HostPlatform == UnrealTargetPlatform.Win64) { PreBuildSteps.Add("echo Before building:"); PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); PostBuildSteps.Add("echo After building!"); PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); } } } Change 3541664 by Graeme.Thornton VSCode - Add problemMatcher tag to cpp build targets Change 3541732 by Graeme.Thornton VSCode - Change UBT command line switch to "-vscode" for simplicity Change 3541967 by Graeme.Thornton VSCode - Fixes for Mac/Linux build steps Change 3541968 by Ben.Marsh CRP: Pass through the EnabledPlugins element in crash context XML files. #jira UE-46912 Change 3542519 by Ben.Marsh UBT: Add chain of references to error messages when configuring plugins. Change 3542523 by Ben.Marsh UBT: Add more useful error message when attempt to parse a JSON object fails. Change 3542658 by Ben.Marsh UBT: Include a chain of references when reporting errors instantiating modules. Change 3543432 by Ben.Marsh Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set. Change 3543436 by Ben.Marsh UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails. Change 3543536 by Ben.Marsh UBT: Downgrade message about redundant plugin references to a warning. Change 3543871 by Gil.Gribb UE4 - Fixed a critical crash bug with non-EDL loading from pak files. Change 3543924 by Robert.Manuszewski Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes. +Small optimization to token stream generation code. Change 3544469 by Jin.Zhang Crashes page displays the list of plugins from the crash context #rb Change 3544608 by Steve.Robb Fix for nativized generated code. #jira UE-47452 Change 3544612 by Ben.Marsh Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages(). #jira UE-47449 Change 3545954 by Gil.Gribb Fixed a critical crash bug relating to a race condition in async package summary reading. Change 3545968 by Ben.Marsh UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same. #jira UE-47419 Change 3545976 by Ben.Marsh EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch. Change 3546185 by Ben.Marsh Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped. Change 3547084 by Gil.Gribb Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms. Change 3547968 by Gil.Gribb Fixed critical race which potentially could cause a crash in the pak precacher. Change 3504722 by Ben.Marsh BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run. For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as: ERROR: Unable to write to foo.txt while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" /> at Engine\Build\InstalledEngineBuild.xml(91) (see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace) Change 3512255 by Ben.Marsh Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated. Change 3512332 by Ben.Marsh Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4. Change 3512393 by Ben.Marsh Rename FPaths::GameLogDir() to FPaths::ProjectLogDir(). Change 3513452 by Ben.Marsh Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project. Change 3516262 by Ben.Marsh Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor. * Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod. * The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders). Change 3517565 by Ben.Marsh Remove fixed engine version numbers from OSS plugins. Change 3518005 by Ben.Marsh UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false. Change 3518054 by Ben.Marsh UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard. Change 3524496 by Ben.Marsh Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core. Change 3524641 by Ben.Marsh Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc. Change 3528723 by Steve.Robb MoveTemp now static asserts if passed a const reference or rvalue. MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious. Fixes to violations of these new rules. Change 3528876 by Ben.Marsh Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste. Change 3529073 by Ben.Marsh Add script to package ShooterGame for any platforms. Change 3531493 by Ben.Marsh Update platform-specific plugins to declare the target platforms they support. Change 3531611 by Ben.Marsh UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates. Change 3531868 by Ben.Marsh Resaving project descriptors to remove invalid fields. Change 3531983 by Ben.Marsh UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders. * Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer. * Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type) * Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo")) * An error is output if any restricted folder names other than the output platform are in the staged output. Change 3540315 by Ben.Marsh UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers. Change 3542410 by Ben.Marsh UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already. Change 3543018 by Ben.Marsh UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions. Change 3544371 by Steve.Robb Fixes to TSet_Add and TMap_Add BPs. #jira UE-47441 [CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
FindFilesToStageInternal(SubDir, Pattern, Option, Files);
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3341527) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3280282 on 2017/01/31 by Matt.Kuhlenschmidt GitHub 3171 : fix 'memoreport -full' causes ensure condition fail on particle object Change 3281111 on 2017/02/01 by Michael.Dupuis #jira UE-36318 : was'nt notifying that we changed the current level in the case where you add/create new level in the Level window Change 3281225 on 2017/02/01 by Jamie.Dale Several improvements to culture switching and LocRes files - LocRes files now de-duplicate translations when they're generated, which can result in smaller LocRes files. - The localization compilation step now produces a LocNat file, which contains meta-data specifying the native culture during compile, and where the native LocRes file can be found. - Changing cultures now loads the native localization data prior to loading the non-native translations to ensure that translations are always applied to a consistent base. - The "leet" culture (available when localization testing is enabled) is now always applied against the native translation, and correctly restores non-translated text when switching away from the "leet" culture. - "-culture=leet" now works correctly on the command line ("-leet" also works). - LoadLocalizationResourcesForCulture is no longer called multiple times during initialization of the text localization manager. - General clean-up of localization code to favor using LocKeyFuncs with maps and sets, rather than rolling their own key funcs. Change 3281291 on 2017/02/01 by Alexis.Matte Make sure the sections material slot assignation is persist correctly for staticmesh and for skeletal mesh #jira UE-39639 Change 3281718 on 2017/02/01 by Michael.Dupuis #jira UE-34186: invert processing order of special character, to take into account that key name could be considered a special character and would cause the assumption done to no longer be valid Change 3281861 on 2017/02/01 by Alexis.Matte Fix import of morph target when there is no animation #jira UE-41383 Change 3282791 on 2017/02/02 by Chris.Wood Split crash analytics methods to fix comment parsing issues. [UE-32787] - Document Crash Report Client analytics events in code Change 3283316 on 2017/02/02 by Alexis.Matte Make sure we do not import more then the maximum allowed node #jira UE-41405 Change 3283349 on 2017/02/02 by Jamie.Dale Updated Portal to stage its .locnat files Change 3283927 on 2017/02/02 by Matt.Kuhlenschmidt Fix component/actor selection becoming out of sync after undo/redo #jira UE-41416 Change 3284061 on 2017/02/02 by Alexis.Matte Fix the scene importer front x axis import #jira UE-41318 Change 3284280 on 2017/02/02 by Alex.Delesky #jira UE-41060 - Placing blocking volumes in the level via the Content Menu's "Place Actor" command will now place a blocking volume in the level and not generate an empty warning in the output log Change 3285053 on 2017/02/03 by Michael.Dupuis #jira UE-33777: Handle the global landscape editor ui command list so specified shortcut will be treated Change 3285444 on 2017/02/03 by Jamie.Dale Updated FastDecimalFormat to support the correct 0-9 numerals for the current locale These are typically still Latin, but Middle Eastern languages have some variants. This addresses an inconsistency between FText formatting of numbers and dates (since numbers always used Latin, but dates used the culture correct numerals). Change 3287422 on 2017/02/06 by Michael.Dupuis #jira UE-36580: Improved the whole word algo to take into consideration localisation Change 3287455 on 2017/02/06 by Alexis.Matte When swaping the mesh point by the mesh component, we noe clean up the override material instead of empty it. #jira UE-41397 Change 3287745 on 2017/02/06 by Alexis.Matte Merge from orion dev-general cl:3286668 Fix a crash when importing a LOD containing different material with less sections Change 3287996 on 2017/02/06 by Michael.Dupuis #jira UE-37290: fixed naming to be "move to level" instead of "move level" Change 3288090 on 2017/02/06 by Jamie.Dale Fixing missing include breaking the FText natvis Change 3288105 on 2017/02/06 by Jamie.Dale FTextStringHelper::ReadFromString_ComplexText now only looks at the start of the buffer when matching the complex text macros Change 3288150 on 2017/02/06 by Jamie.Dale Fixing display names for tutorial categories so that they can be localized They were already FText, but the config wasn't defining them in a localizable way. #jira UE-37926 Change 3288469 on 2017/02/06 by Alex.Delesky #jira UE-35464 - Enables the editor to parse SubRip Subtitles files to create subtitle assets. This also introduces the Subtitles module. Change 3288540 on 2017/02/06 by Alex.Delesky Backing out changelist 3288469 due to build issue with module includes #jira none Change 3289074 on 2017/02/06 by Alex.Delesky Back out changelist 3288540 - reintroducing Subtitles module to parse SubRip Subtitles files #jira UE-35464 Change 3289753 on 2017/02/07 by Michael.Dupuis #jira UE-34599: Take into consideration UMaterialExpressionMaterialFunctionCall when getting the GUID Change 3290097 on 2017/02/07 by Nick.Darnell Automation - The automation framework no longer buckets errors, warnings and log statements into a seperate set of buckets. There is now only one log, and all entries go into it to provide some context when things fail. Continued working on the styling of the reports. Change 3290182 on 2017/02/07 by Michael.Trepka Added missing initialization for SWindow::bIsMirrorWindow Change 3290472 on 2017/02/07 by Michael.Dupuis #jira UE-37358: Add reference list in the dialog for all delete type Change 3290513 on 2017/02/07 by Michael.Dupuis #jira UE-37958: was testing the trailing number 0 twice and never testing the 1 Change 3290543 on 2017/02/07 by Michael.Dupuis #jira UE-35931: Refresh detail panel on selection lost Change 3290581 on 2017/02/07 by Michael.Dupuis Fixed possible crash if we have no level blueprint specified (was crashing during the delete of an actor) Change 3290721 on 2017/02/07 by Michael.Dupuis #jira UE-40360: Pass the custom spawning struct which contain the level override into to the spawn function Change 3291958 on 2017/02/08 by Alexis.Matte Back out revision 26 from //UE4/Dev-Editor/Engine/Source/Developer/AssetTools/Private/AssetTools.cpp Change 3292017 on 2017/02/08 by Alexis.Matte Add some fbx automation tests to validate material re-import Change 3292030 on 2017/02/08 by Michael.Dupuis #jira UE-37958: was testing the trailing number 0 twice and never testing the 1 Change 3293062 on 2017/02/08 by Jamie.Dale Reduced the number of allocations that happen when rebuilding text This change removes the wasteful FTextHistory::ToText function and replaces it with two more specialized functions; FTextHistory::BuildLocalizedDisplayString and FTextHistory::BuildInvariantDisplayString. These new functions return an FString (for the display string), rather than an FText (which was simply mined for its display string). Simply avoiding going via an FText saves at least two allocations per-rebuild. Changes: - Removed FTextHistory::ToText and replaced it with FTextHistory::BuildLocalizedDisplayString and FTextHistory::BuildInvariantDisplayString. - Moved the localization aware chronological and transformation implementations into FTextChronoFormatter and FTextTransformer. These return an FString which avoids an FText allocation during rebuild, and is simply passed into an FText during normal FText usage. - Moved FText::AsDate, FText::AsDateTime, FText::AsTime, FText::ToUpper, and FText::ToLower into Text.cpp, and these now use FTextChronoFormatter and FTextTransformer from the common text implementation. - Moved FText::AsTimespan into Text.cpp. This had no dependency on ICU, so this is now the common text implementation. - Added FTextFormatter::FormatStr variants. FTextFormatter::Format calls these FTextFormatter::FormatStr versions internally, and they're also used during text rebuilding (saving not only an FText allocation, but also a container copy). - Removed FText::CreateNumericalText and FText::CreateChronologicalText as they were mostly superfluous. - General update from using MakeShareable to MakeShared (saving 1 allocation). - General clean-up of L10N/I18N class friendship. #jira UE-41533 Change 3293292 on 2017/02/08 by Alex.Delesky Performing some cleanup in the Subtitles module, and creating a SubtitlesEditor module for the subtitles asset factories since it causes issue in client builds. Change 3293477 on 2017/02/08 by Jamie.Dale Fixed TProperty::InitializeValueInternal and TProperty::DestroyValueInternal mismatch when dealing with fixed size arrays #jira UE-41007 Change 3293571 on 2017/02/08 by Matt.Kuhlenschmidt Fix lots of outline data being added to the font cache due to wrongly hashing outline material and color data. Change 3293572 on 2017/02/08 by Matt.Kuhlenschmidt Fix details panel categories in the static mesh editor Change 3294216 on 2017/02/09 by Michael.Dupuis #jira UE-40609: manually position the window based on it'S max possible size #3128 GitHub Change 3294430 on 2017/02/09 by Jamie.Dale Kerning-only text shaping no longer draws characters to get their metrics It now goes via the low-level FT caches like HarfBuzz does. Change 3294588 on 2017/02/09 by Alexis.Matte If we remove a LODGroup from baseengine.ini, the fbx importer UI will now be able to recover in case the last fbx import was done with the just removed LODGroup Change 3294847 on 2017/02/09 by Matt.Kuhlenschmidt Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor) Change 3295093 on 2017/02/09 by Arciel.Rekman Linux: fix Setup.sh not working in paths with space (UE-41819). Change 3295205 on 2017/02/09 by Matt.Kuhlenschmidt Fix material UV's no longer working om 9 slice elements Change 3295816 on 2017/02/09 by Arciel.Rekman Linux: fix starting programs from a path with space. Change 3296129 on 2017/02/09 by Arciel.Rekman Linux i686: changes necessary to compile BlankProgram. - Added new architecture to UBT. - Fixed system headers. - Added third party libs for i686: - jemalloc - elftoolchain - zlib - SDL2 - libc++ Change 3296564 on 2017/02/10 by Jamie.Dale Cleaned up PO comment preservation Change 3296694 on 2017/02/10 by Jamie.Dale AllocateNameEntry now takes TCharType* rather than void* and cast Change 3296744 on 2017/02/10 by Jamie.Dale Moved the PO DOM from UnrealEd to Internationalization Change 3297250 on 2017/02/10 by Jamie.Dale Split the PO import/export pipeline out of the commandlet Change 3297420 on 2017/02/10 by Alexis.Matte Add Isolate and highlight feature for the material panel in the staticmesh and the skeletal editor. #jira UE-38985 Change 3297594 on 2017/02/10 by Alexis.Matte When importing from fbx a static mesh with find material anywhere, the next LODs import by the user will create new material entries instead of using the existing one. Change 3297752 on 2017/02/10 by Arciel.Rekman i686 support: more third party libs. - libcurl - OpenSSL - libpng - libvorbis - libogg - libopus Change 3297754 on 2017/02/10 by Arciel.Rekman i686 support: PhysX Change 3297922 on 2017/02/10 by Alexis.Matte When importing a new LOD to a staticmesh, the data source file is not anymore wipe or change to the last fbx import filename. Change 3298330 on 2017/02/10 by Arciel.Rekman i686: missing libcurl. Change 3298620 on 2017/02/11 by Jamie.Dale FLocTextHelper improvements - It can now support non-standard target layouts (where the native and foreign cultures are in different locations - see FLocTextTargetPaths). - The XForeignArchive functions are now more strict, and *only* accept foreign cultures (use the XArchive functions instead if you're using both native and foreign cultures as parameters). Change 3299293 on 2017/02/13 by Matt.Kuhlenschmidt PR #3241: UE-41870: Add quotes when passing through the directory path (Contributed by projectgheist) Change 3299299 on 2017/02/13 by Matt.Kuhlenschmidt PR #3224: Git plugin: fix git autodetection and add error message (Contributed by SRombauts) Change 3299391 on 2017/02/13 by Matt.Kuhlenschmidt Fix material instances being marked dirty when opening #jira UE-41721, UE-41719 Change 3299441 on 2017/02/13 by Nick.Darnell PR #3243: Fix bug that UWidget::GetOwningPlayer doesn't return (Contributed by yeonseok-yi) Change 3299567 on 2017/02/13 by Nick.Darnell Slate - The Checkbox no longer just passes visibility down to the internal widgets it creates, that prevents future changes to effect it if it starts collapsed. #jira UE-41904 Change 3299870 on 2017/02/13 by Jamie.Dale Added cycle counters for font rendering/shaping Change 3300116 on 2017/02/13 by Michael.Dupuis #jira UE-41866: Update cache when performing an undo Change 3300178 on 2017/02/13 by Alexis.Matte Fix a crash when re-importing a LOD with more sections then the base LOD Change 3300191 on 2017/02/13 by Alexis.Matte Make sure we do not loose castshadow and recomputetangents section flags when we re-import a skeletal mesh. Change 3300351 on 2017/02/13 by Alexis.Matte Remove the clean up of unused material for the staticmesh editor. Unused material can be delete manually in the UI #jira UE-39639 Change 3302138 on 2017/02/14 by Nick.Darnell Automation - Adding support for -DeveloperReportOutputPath and -DeveloperReportUrl to permit local runs of the automation tool to generate reports on the report server, and launch the browser window to view them. Change 3302139 on 2017/02/14 by Nick.Darnell UMG - Additional fixes to the way we migrate changes from the preview to the serialized version of the widget tree. This fixes several issues with edit-inline objects on UWidgets. Change 3302281 on 2017/02/14 by Nick.Darnell Slate - Bringing over changes to the invalidation panel from one of the game streams. This fixes issues with animations in volatile widgets, as well as some issues with cache relative offset, and offers a method for enabling a different caching method to preserve batching through a commandline, but at the cost of not being able to use GPU buffers, possibly a better option on mobile in some cases. Change 3302415 on 2017/02/14 by Nick.Darnell Disabling the open asset editor test. Change 3302976 on 2017/02/14 by Nick.Darnell Automation - Updating one of the tests to open 70 different known asset types, and ensure that they open without dirtying the package. AutomationTestSettings are now defaultengine, not sure why they setup to be user specific previously. Most of these settings need to be removed, or split off into the modules that own them, rather than being in Engine. TODO. Change 3303724 on 2017/02/15 by Matt.Kuhlenschmidt Removed hard coded list of thumbnails, preventing objects with valid thumbnails from showing up. Thumbnails are now shown by default. Use meta=(DisplayThumbnail=false) to remove #jira UE-41958 Change 3303729 on 2017/02/15 by Matt.Kuhlenschmidt PR #3253: UE-34539: (Bugfix) Allow binary files in git stored via git-fat, git-lfs, etc to be diffed (take 2) (Contributed by rpav) Change 3303733 on 2017/02/15 by Matt.Kuhlenschmidt PR #3248: Fix for TAssetSubClassOf properties reset on undo. (Contributed by StefanoProsperi) Change 3303823 on 2017/02/15 by Nick.Darnell Automation - Continued improvements on screenshots. Added some fixes to turn off the tonemapper when visualizing buffers. Fixed several screenshots due to this change. Adding lightboxes to the reports. Adding some styling to make things sweeter. Change 3303937 on 2017/02/15 by Matt.Kuhlenschmidt Fix build error Change 3303982 on 2017/02/15 by Nick.Darnell Automation - Making the opening of the image no longer threaded, not really helpful for the IO operation and just makes it harder to follow. Change 3304058 on 2017/02/15 by Matt.Kuhlenschmidt Fix build attempt #2 (not reproducible locally) Change 3304393 on 2017/02/15 by Matt.Barnes Submitting test content for UEQATC-3548 Change 3304517 on 2017/02/15 by Nick.Darnell Slate - Making some fixes to the automatic disabling of the pixel snapping code with render transforms. Sometimes it gets confused, we may want to move to a seperate transform stack for layout and render, and make sure the element drawer has access to both. Change 3304560 on 2017/02/15 by Nick.Darnell UMG - SA fix. Change 3304890 on 2017/02/15 by Matt.Kuhlenschmidt PR #3220: UE-41243: Force resolution in standalone if large than primary workin. (Contributed by projectgheist) Change 3305360 on 2017/02/15 by Arciel.Rekman Linux: fix crash on exit (UE-41907). - It is not safe to dereference UAnimGraphNode_PoseDriver::StaticClass during the final shutdown sequence since the instance has already been destroyed in StaticExit(). Change 3306023 on 2017/02/16 by Nick.Darnell Paper2D - Adding a method to create SlateBrushes from PaperSprites the same way we can for materials and textures in blueprints. Change 3306030 on 2017/02/16 by Nick.Darnell Slate - Making some additional fixes to invalidation panels from a game branch. Adding a RoundToVector function to FVector2D, fixing the 3 places we defined a RoundToInt (which wasn't a great name since the convention wasn't meant to be used that way). Change 3306031 on 2017/02/16 by Nick.Darnell Slate - Retainer widgets no longer tick using PreTick on SlateApplication, they now paint during their normal paint. Change 3306046 on 2017/02/16 by Nick.Darnell UMG - Adding CanEditChange to WidgetComponent to gray out the CylinderArcAngle property unless you select the right geometry mode. Change 3308887 on 2017/02/17 by Matt.Kuhlenschmidt Fix crash if blurs are rotated #jira UE-42037 Change 3309114 on 2017/02/17 by Jamie.Dale Unifying non-shaped text to use the same atlas cache as shaped text Change 3310044 on 2017/02/17 by Matt.Kuhlenschmidt Outline color on text elements is now inherited properly #jira UE-40691 Change 3310268 on 2017/02/17 by Matt.Kuhlenschmidt Guard against rendering MIDs with potentially no parent in slate. #jira UE-42047 Change 3311531 on 2017/02/20 by Michael.Dupuis #jira UETOOL-1100: Add the possibility to have dynamic min/max slider value Synchonize all Color vector together when changing the min/max slider value Change 3311534 on 2017/02/20 by Michael.Dupuis incremental build fix Change 3311535 on 2017/02/20 by Michael.Dupuis incremental build fix take 2... Change 3311743 on 2017/02/20 by Michael.Dupuis buildfix lunix incremental Change 3312496 on 2017/02/20 by Arciel.Rekman Linux: fix PhysX crash in i686. - Changed layout to one that works. Change 3313127 on 2017/02/20 by Jamie.Dale Fixed crash when performing a non-async cooked package save It isn't safe to call TotalSize on the BulkArchive when it's not a FBufferArchive (as used during async save) once the archive has been closed. Change 3313990 on 2017/02/21 by Nick.Darnell Automation - Added a summary area at the top of the report. Change 3314034 on 2017/02/21 by Jamie.Dale Fixed crash when deleting a streamed font Change 3314942 on 2017/02/21 by Nick.Darnell Automation - More templating styling work. Change 3315080 on 2017/02/21 by Nick.Darnell Automation - Providing a way for users to remove explict events from the event log when automated tests run. Needed for other systems linked into the automation system like google mock. Change 3315452 on 2017/02/21 by Nick.Darnell Json - Adding support for Map and Set properties to the JsonObjectConverter. Can now save out map and sets. No support for loading them yet. Change 3315614 on 2017/02/21 by Nick.Darnell Json - Adding support for loading sets and map json data. Change 3315924 on 2017/02/21 by Arciel.Rekman Vulkan: edigrating various Linux fixes by Josh. - This is to make Linux Vulkan work in Dev-Editor easier (for the contractor and myself). Original descriptions: CL 3313445 - Various Vulkan fixes: - Compiles in Linux - Many cubemap bugs squashed - Changed the scratch reflection cubemap clear to SetRenderTargestsAndClear, instead of SetRenderTarget() / Clear() - Added compute fences CL 3314152 - Fixed compile error on Mac, but I am pretty sure we can just remote VulkanRHI from Mac building entirely, but needs to be tested. Change 3316741 on 2017/02/22 by Jamie.Dale Ensure that enums used by BP nodes have been PostLoaded so they have the correct display names #jira UE-42253 Change 3316800 on 2017/02/22 by Matt.Kuhlenschmidt Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor) Change 3317058 on 2017/02/22 by Alexis.Matte Fix the scene importer to support correctly the obj file format #jira UE-35606 Change 3318039 on 2017/02/22 by Arciel.Rekman i686 support: added missing libwebsockets. Change 3318095 on 2017/02/22 by Arciel.Rekman i686 support: Oodle. Change 3319002 on 2017/02/23 by Michael.Dupuis #jira UE-41794 : Do not exit the landscape mode when doing undo from the creation of the landscape Change 3319012 on 2017/02/23 by Alexis.Matte PR #3066: Improve asset import by permitted relative paths and easing editing of mapped mount points. (Contributed by paulevans) #jira UE-40039 Change 3319035 on 2017/02/23 by Nick.Darnell UMG - Adding a note about the font sizes in UE4 in Slate, using 96 dpi. #jira UE-42170 Change 3319040 on 2017/02/23 by Matt.Kuhlenschmidt PR #3278: Git plugin: fix revision number for blueprint diff menu (Contributed by SRombauts) #jira UE-42129 Change 3319072 on 2017/02/23 by Michael.Dupuis #jira UETOOL-1101: Add support for DetailGroup reset to default Right now it's only enable for the color grading Change 3319077 on 2017/02/23 by Nick.Darnell Automation - Moving away from most of the templating being done in C++. Moving to dust.js to just do it in the browser window. The json report file is now the actual source of the information we use to template the resulting report html. Maaay have to move to doing the templating server side in the future to stream it to the client better, but avoiding that so we don't have to ship a server. Disabling several places we were taking editor screenshots, none of that code was actually comparing screenshots, it was a hold-over from earlier days. PhysX - Fixing a problem with Physx FillInlinePxShapeArray. Deprecating it, adding FillInlinePxShapeArray_AssumesLocked, and locking places we were assuming it was already locked in the landscape component. Change 3319088 on 2017/02/23 by Nick.Darnell PR #3245: UE-41707: Re-order includes correctly (Contributed by projectgheist) #jira UE-41914 Change 3319104 on 2017/02/23 by Michael.Dupuis fix incremental build Change 3319146 on 2017/02/23 by Matt.Kuhlenschmidt PR #3292: Git plugin: fix update status on directories broken since UE4.12 (Contributed by SRombauts) #jira UE-42272 Change 3319252 on 2017/02/23 by Michael.Dupuis fix warning with missing #undef LOCTEXT_NAMESPACE Change 3319298 on 2017/02/23 by Alex.Delesky Removing the Subtitles and SubtitlesEditor modules (it'll eventually be brought back as the Overlay and OverlayEditor modules) Change 3319388 on 2017/02/23 by Alexis.Matte Fbx Importer now find collision model under fbx LOD Group #jira UE-42141 Change 3319528 on 2017/02/23 by Michael.Dupuis Fixed Undo/Redo to be consistent with other vector modifcation behavior Change 3319583 on 2017/02/23 by Alexis.Matte Fix the sample rate to use the least common multiplier of all keys #jira UE-42012 Change 3319705 on 2017/02/23 by Nick.Darnell Static Analysis - Fixing sonobjectconverter.cpp(460) : warning C6011: Dereferencing NULL pointer 'ArrayProperty'. Change 3319711 on 2017/02/23 by Nick.Darnell Editor - Adding some checks to make sure the struct we're accessing is still a valid handle. #jira UE-42262 Change 3319736 on 2017/02/23 by Alex.Delesky Adding Subtitles and SubtitlesEditor to the JunkManifest file. Change 3319919 on 2017/02/23 by Nick.Darnell Automation - Fixing an issue with moving a location that doesn't exist. Change 3319932 on 2017/02/23 by Alexis.Matte Fbx importer, do not apply more then one time the transform option to the scene node. #jira UE-42277 Change 3320105 on 2017/02/23 by Nick.Darnell Editor - Adding some additional checks to the margin customization. #jira UE-42262 Change 3321577 on 2017/02/24 by Jamie.Dale Moving Internationalization module from Runtime to Developer Change 3321625 on 2017/02/24 by Jamie.Dale Moving InternationalizationSettings module from Developer to Editor Change 3321642 on 2017/02/24 by Jamie.Dale Moving SCulturePicker from the Localization module to the InternationalizationSettings module Change 3321734 on 2017/02/24 by Alexis.Matte PR #2979: Fix extra root bone for Blender exported FBX. (Contributed by manmohanbishnoi) We fix the extra root only when the file creator is from blender and the root node is named armature. We cannot simply remove all dummy node, since this is use by the rigid mesh workflow. #jira UE-39050 Change 3321912 on 2017/02/24 by Jamie.Dale Split LocalizationCommandletExecution out of the Localization module to remove some editor dependencies Change 3322274 on 2017/02/24 by Jamie.Dale Moving Localization module from Editor to Developer, and merging the Internationalization module into it Removed hard-dependency between Engine and Localization/Internationalization via an interface. Change 3322774 on 2017/02/25 by Jamie.Dale Unifying LocRes and LocNat file format between generation and loading This lets the code in Core be shared by Localization, and allows some code that was proxying via archives (due to the code being logically identical, but different C++ types) to use these new types directly. #tests Built Debug, Shipping, and Editor. Verified that LocNat and LocRes generation and loading worked as before. Change 3322795 on 2017/02/25 by Jamie.Dale Fixing mismatch between SOURCE_CONTROL_WITH_SLATE and its .Build.cs file The define was set to disable Slate for Linux program targets only, but the .Build.cs disabled Slate for all Linux targets. Since the define was touched most recently (CL# 2534983), I updated the .Build.cs file to match its logic, and moved the definition of the define to the .Build.cs file so that they stay in sync with one another. Change 3322853 on 2017/02/25 by Jamie.Dale Moved the conflict and word count reporting to FLocTextHelper Change 3323089 on 2017/02/26 by Jamie.Dale Added functions to get the target name and path from FLocTextHelper Change 3323391 on 2017/02/27 by Ben.Cosh This fixes an issue with blueprint config variables having their value destroyed by CDO serialization #Jira UE-40586 Blueprint variable defaults set from config files value are overwritten by CDO serialization #Proj Engine, CoreUObject Change 3323406 on 2017/02/27 by Ben.Cosh Fixed a problem that caused UK2Node::ExpandSplitPin to destroy pins it didn't own in when expanding a collapsed graph during compilation. #jira UE-41211 - Crash when splitting a UDS pin on a collapsed graph #Proj BlueprintGraph Change 3323572 on 2017/02/27 by Nick.Darnell Automation - Continued itteration on the style of the automation reports, now with attentional info, like where the log came from. Automation - Fixing a bug in the functional actor tests, navigating to the actors sometimes opened other objects in the package, now it only opens the map. Also improved the way we focus the actor so that the level editor is also brought to the foreground. Automation - Fixing a bug in how the automation system was registering for capturing logging. It was swapping out GWarn for its own version, but GWarn isn't called for anything that isn't an error or warning, meaning that none of the Display/Logging or analytics capture attempts were actually working. Suddenly a flood of informations started being captured during tests. For now - only going to capture 'Display' logs instead of 'Log' level. Automation - Successful comparisons now print more information so that the automation logs do a better job of tracking the flow of the test. Automation - The screenshot comparison test now prints more information even during successful comparisons. Editor - The message log no longer emits a SetSelection, just because the selection is updated the categoriry view model. This was causing things like the automation tool, which sets the selection every time (which may itself be an issue) to completely rebuild the message log every time a new automation message was emited. The message log now checks if the selection would actually change the viewstate before it does it. Domino Test - Adding an arrow to visualize the state of the up vector the test is looking for; playing with idea for test visualizers that may help with debugging in the future. Change 3323580 on 2017/02/27 by Michael.Trepka Fixed some Xcode 8.3 compile errors Change 3323634 on 2017/02/27 by Nick.Darnell Build - Fix incremental build. Change 3323740 on 2017/02/27 by Jamie.Dale Adding #error if the SOURCE_CONTROL_WITH_SLATE define is missing Change 3323865 on 2017/02/27 by Nick.Darnell Automation - Disabling the screenshot from the small editor icons test, until the editor screenshot method starts comparing things, and the screenshots we take are better / more scoped. Change 3324228 on 2017/02/27 by Jamie.Dale Can no longer name assets or folders with a leading underscore #jira UE-40541 Change 3324429 on 2017/02/27 by Jamie.Dale Removing FLocTextTargetPaths It was added to support something that I'm now going to do a different way. Change 3324473 on 2017/02/27 by Jamie.Dale Moved the GatherText SCC utils into the Localization module Change 3324481 on 2017/02/27 by Jamie.Dale Moving the localized asset utils out of GatherText base Change 3324485 on 2017/02/27 by Jamie.Dale Cleaning up some includes now that the localization SCC is no longer in GatherText Change 3324910 on 2017/02/28 by Nick.Darnell Slate - Moving the SlateRotatedRect into its own file, and removing FSlateRotatedClipRectType, since there's no longer a difference and we only use FSlateRotatedRect. Change 3325329 on 2017/02/28 by Michael.Dupuis #jira UE-42083: Removed various Modify(true) that would force user to save the levels even if they did'nt really modified them Replace TMap<TLazyObjectPtr,...> as it would dirty the level at every Find performed Change 3325410 on 2017/02/28 by Michael.Dupuis missing include for incremental build Change 3325415 on 2017/02/28 by Nick.Darnell UMG - Adding some setters and getters for RedrawTime to the WidgetComponent. Change 3325418 on 2017/02/28 by Nick.Darnell Automation - Fixing the warnings on startup about smoke tests taking longer than 2s. Had to add an option to disable capturing the callstack when running smokes, it adds a bit too much overhead during startup. Change 3325698 on 2017/02/28 by Alexis.Matte Put back the code to isolate material versus section in the skeletal mesh. The code was override by a temporary hack done in paragon branch Change 3325790 on 2017/02/28 by Michael.Trepka Copy of CL 3319588 Fixed address sanitizer support in MacToolChain (Apple changed the name of the env variable Xcode uses to enable it) and added support for thread sanitizer Change 3326118 on 2017/02/28 by Alexis.Matte Add LOD settings LOD distances to fbx import dialog option. The option are not supported yet by the scene importer #jira UE-41291 Change 3326183 on 2017/02/28 by Alexis.Matte PR #3298: Import SpecularFactor for Roughness and Shininess for Metallic textures (Contributed by VladimirPobedinskiy) #jira UE-42301 Change 3326196 on 2017/02/28 by Jamie.Dale Force the correct package localization ID when duplicating a BP for nativization Change 3327037 on 2017/03/01 by Michael.Dupuis fixed fortnite mac non editor build Change 3327483 on 2017/03/01 by Jamie.Dale Renaming LocNat to LocMeta Change 3327486 on 2017/03/01 by Jamie.Dale Renaming LocNat to LocMeta Change 3327541 on 2017/03/01 by Michael.Trepka Removed Mac OpenGL RHI files and disabled building of OpenGL RHI on Mac Change 3328000 on 2017/03/01 by Nick.Darnell Automation - Noisy rendering features are now disabled by default when taking screenshots. Change 3328323 on 2017/03/01 by Michael.Trepka Copy of CL 3307526 Fixed mouse position issues in fullscreen mode on Mac Change 3328410 on 2017/03/01 by Alexis.Matte Remove unwanted option when importing skeletal mesh Make the FBX tests uptodate with the new ImportUI options #jira UE-41291 Change 3329586 on 2017/03/02 by Jamie.Dale Adding missing includes when running with bUseMallocProfiler enabled Change 3329999 on 2017/03/02 by Nick.Darnell UMG - Removing a deprecated 4.8 function to get the label on UWidget. Change 3330004 on 2017/03/02 by Nick.Darnell UMG - Adding TargetPlatform to the dependencies of UMGEditor module. Change 3330021 on 2017/03/02 by Nick.Darnell UMG - Adding TargetPlatform to the private include path of the UMG module. Change 3330041 on 2017/03/02 by Nick.Darnell Engine - Adding a comment to the PreLoadMap call so people know what the string being passed in is. Change 3330048 on 2017/03/02 by Nick.Darnell Editor - Don't allow querying the cursor in the editor viewport while saving packages. Depending upon the code that gets triggered, it may cause packages to load, or things to be initialized while saving is occuring. Change 3330602 on 2017/03/02 by mason.seay Map for Functional Screenshot Test Bug Change 3330632 on 2017/03/02 by Alexis.Matte Fix fbx crash when there is only one UVChannel but using the naming convention to place it further then the first index Change 3330862 on 2017/03/02 by Jamie.Dale Adding FPaths::SetExtension This is like FPaths::ChangeExtension, but also applies the extension if the file doesn't have one. Change 3331491 on 2017/03/03 by Nick.Darnell Automation - Fixing a threading issue in the SAsyncImage, it was accessing potentially bogus memory if the Widget had been deleted before the task ran. Change 3331498 on 2017/03/03 by Nick.Darnell Build - Fixing a build warning. Change 3331807 on 2017/03/03 by Nick.Darnell Automation - Making the Disable Noisy Rendering Features more robust, disabling a few more markers. Adding a better way of rolling back the changes. Change 3331999 on 2017/03/03 by Michael.Trepka Fixed a memory leak on texture creation with BulkData in OpenGLTexture.cpp Change 3332481 on 2017/03/03 by Arciel.Rekman Fix building lighting in commandlet (UE-42551). - Process task graph while running as commandlet. - Also, if for any reason - like the lack of -messaging - local swarm interface fails to initialize or takes too much time to send the message, bail out. Change 3332606 on 2017/03/04 by Jamie.Dale Fixing crash reporting loc word counts when the report is starting empty Change 3332614 on 2017/03/04 by Jamie.Dale Fixed text namespaces being treated as case-insensitive when export to JSON manifests and archives Change 3332619 on 2017/03/04 by Jamie.Dale Fixing CIS error Change 3333000 on 2017/03/06 by Matt.Kuhlenschmidt PR #3295: Non-editable FStringAssetReference using VisibleAnywhere (Contributed by projectgheist) #jira UE-42284 Change 3333039 on 2017/03/06 by Alexis.Matte Make custom ui for FbxSceneImportData object #jira UE-37896 Change 3333047 on 2017/03/06 by Nick.Darnell UMG - Removing an extra assignment in WidgetSwitcher. Change 3333056 on 2017/03/06 by Alexis.Matte Build fix Change 3333073 on 2017/03/06 by Matt.Kuhlenschmidt Added more logging for when window creation fails due to too many windows. #jira UE-42478 Change 3333081 on 2017/03/06 by Matt.Kuhlenschmidt PR #3327: Git Plugin: fix RunDumpToFile() to check git ReturnCode (Contributed by SRombauts) #jira UE-42535 Change 3333103 on 2017/03/06 by Matt.Kuhlenschmidt PR #3336: UE-42407: using GetWindowMode instead of switching on IsFullscreenViewport (Contributed by stefanzimecki) #jira UE-42407, UE-42565 Change 3333142 on 2017/03/06 by Jamie.Dale Added a way to view/copy a list references (including those that aren't loaded) to the reference viewer Change 3333443 on 2017/03/06 by Matt.Kuhlenschmidt Eliminate the usage of SWebBrowser to show viewport controls in level viewports. There is an non-trivial startup cost initializing CEF and is not worth paying that cost on editor startup for one tiny control. The button now opens a web page on click. #jira UE-42461 PR #3314: Drop UE4Editor -> CEF dependency to 2x speedup Linux UE4Editor startup (Contributed by slonopotamus) Change 3333914 on 2017/03/06 by Matt.Kuhlenschmidt Remove double middle mouse click to change to perspective view #jira UE-42444 Change 3333936 on 2017/03/06 by Matt.Kuhlenschmidt Fixed excessive fname initialization in these files Change 3334063 on 2017/03/06 by Alexis.Matte fix build linux Change 3334166 on 2017/03/06 by Jamie.Dale Adding Data Table export/import support for TMap and TSet #jira UE-42415 Change 3334459 on 2017/03/06 by Alexis.Matte PR #3334: Respect bForceFrontXAxis option when exporting to FBX (Contributed by rajkosto) #jira UE-42563 Change 3335132 on 2017/03/07 by Jamie.Dale Fixing typo Change 3335140 on 2017/03/07 by Jamie.Dale Fixing CSV import warnings in GameplayEffects test Change 3335164 on 2017/03/07 by Alexis.Matte Avoid selecting skeletal mesh section in the level when high light them in persona editor #jira UE-20151 Change 3335186 on 2017/03/07 by Jamie.Dale Fixed CSV parser missing empty cells at the end of the string Change 3335218 on 2017/03/07 by Arciel.Rekman SDL2: delete unused project/build files. Change 3335222 on 2017/03/07 by Arciel.Rekman SDL2: delete more unused project/build files. Change 3335230 on 2017/03/07 by Matt.Kuhlenschmidt Additional fixes for blur and blur slot not propagating padding to each other #jira UE-42553 Change 3335896 on 2017/03/07 by Jamie.Dale ToolTips and Engine were double gathering the same meta-data #jira UE-36480 Change 3336009 on 2017/03/07 by Matt.Kuhlenschmidt Fix details panels becoming unusable if "Show only Modified Properties" is enabled and there are no modified properties Change 3336247 on 2017/03/07 by Jamie.Dale Selection height is now the max of the line height and text height to account for negative line scaling #jira UE-40673 Change 3336253 on 2017/03/07 by Jamie.Dale Added a setting to control whether we should use the font metrics or the bounding box when laying out a font #jira UE-41074 Change 3336303 on 2017/03/07 by Arciel.Rekman Refactor of OS memory allocation functions. - Bring PageSize/OSAllocationGranularity in line with the established definitions. - PageSize is a hardware mapping granularity that is also used for PageProtect() and any other functions that involve setting virtual memory properties. - OSAllocationGranularity is a virtual address allocation granularity that on some platforms may be applied on top of that (notably VirtualAlloc in Windows only returns addresses that are 16 page aligned). - BinnedPageSize and BinnedAllocationGranularity are the values expected by Binned and Binned2 for size and the alignment of OS allocations. - Disable the logic in CachedOSPageAllocator that allowed buffers larger than the requested size to be returned. - This caused wrong allocation size to be passed in BinnedFreeToOS() from Binned2. - Make Binned2 work on Linux - Addresses returned from BinnedAllocFromOS() need to be BinnedPageSize (minimum 64KB) aligned for Binned2 to work. This results in the need to artificially align mmap()'d addresses, at some performance cost. - The same function can be used on other systems with mmap()/munmap() (Mac, Android, iOS) - Switch Linux to Binned2 by default. - Add ability to sanity-check OS memory allocations. - Debug and Development build will store a descriptor to check that values passed to BinnedFreeToOS() are the same (mmap-based allocation only). Change 3337098 on 2017/03/08 by Michael.Dupuis #jira UE-42589: Added a guard if the mesh component is not attached, this can happen when moving a component out of the screen Change 3337183 on 2017/03/08 by Matt.Kuhlenschmidt Hide the preview toolbar button, it is not being used Change 3337801 on 2017/03/08 by Michael.Trepka Fixed some module dependencies to make sure we don't build OpenGLDrv on Mac Change 3338373 on 2017/03/08 by Joe.Graf Fixed external plugin cooking and deployment by remapping plugin directories upon cook & deployment Tested directory structures: D:\SomePluginDir D:\UE4\AnotherPluginDir D:\UE4\Engine\Plugins D:\UE4\MyProject\Plugins Change 3338482 on 2017/03/08 by Alexis.Matte Remove "BlueprinReadOnly" flag on "WITH_EDITORONLY_DATA" class variable Change 3338679 on 2017/03/08 by Matt.Kuhlenschmidt Fixed arrow keys not working to navigate between elements in the details panel Change 3339086 on 2017/03/09 by Dmitriy.Dyomin Added: Mobile friendly slate settings Change 3339366 on 2017/03/09 by Nick.Darnell Build - Attempting to fix build. #jira UE-42675 Change 3339506 on 2017/03/09 by Jamie.Dale Fixing Linux Server build error #jira UE-42675 Change 3340450 on 2017/03/09 by Cody.Albert Ensure that the hittest grid is valid before trying to find a focusable widget Change 3340492 on 2017/03/09 by Arciel.Rekman Fix IOS compile error (UE-42695). Change 3340565 on 2017/03/09 by Arciel.Rekman Fix another compile error (UE-42695). Change 3341527 on 2017/03/10 by Alexis.Matte Fix crash when dragging a re-import scene and there is new asset created #jira UE-42766 [CL 3341914 by Nick Darnell in Main branch]
2017-03-10 15:37:02 -05:00
}
}
}
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3494741 by Steve.Robb Generated code size savings. #jira UE-43048 Change 3495484 by Steve.Robb Fix for generated indices of static arrays when saving configs. Change 3497926 by Robert.Manuszewski Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything. Change 3498077 by Robert.Manuszewski Only use the recursion guard in async loading code when the event driven loader is enabled. Change 3498112 by Ben.Marsh UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own. Change 3500239 by Robert.Manuszewski Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes. Change 3500395 by Steve.Robb Extra codegen savings when not in hot reload. Change 3501004 by Steve.Robb EObjectFlags now have constexpr operators. Change 3502079 by Ben.Marsh UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary. Change 3502527 by Steve.Robb Fix for zero-sized array compile error in generated code when all functions are editor-only. Change 3502542 by Ben.Marsh UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead. Change 3502868 by Steve.Robb Workaround for inefficient generated code with stateless lambdas on Clang. Change 3503550 by Steve.Robb Another generated code lambda optimization. Change 3503582 by Ben.Marsh BuildGraph: Add support for nullable parameter types. Change 3504424 by Steve.Robb New AllOf, AnyOf and NoneOf algorithms. Change 3504712 by Ben.Marsh UAT: Less spammy log and error output from UAT. * Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception). * Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information. * AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log) * Name of the calling function is not included in console output by default, but still included in the log. Change 3504808 by Ben.Marsh UAT: Suppress P4 output when running a recursive instance of UAT. Change 3505044 by Steve.Robb Code generation improved for TCppClassType code. Change 3505485 by Ben.Marsh Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module. Change 3505699 by Ben.Marsh Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins. Change 3506055 by Ben.Marsh UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output. Change 3507745 by Robert.Manuszewski Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses). Change 3507911 by Ben.Marsh Plugins: Minor changes to plugin descriptors. * Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors. * Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from. Change 3508669 by Ben.Marsh EC: Parse multi-line messages from UBT and UAT. Change 3508691 by Ben.Marsh Fix double-spacing of cook stats. Change 3509245 by Steve.Robb UHT makefiles removed. Flag audit removed. Change 3509275 by Steve.Robb Fix for mismatched stat categories in AudioMixer. #jira UE-46129 Change 3509289 by Robert.Manuszewski Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably. Change 3509294 by Robert.Manuszewski UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it. Change 3509312 by Steve.Robb GitHub# 3679: Add TArray constructor that takes a raw pointer and a count Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too. #jira UE-46136 Change 3509396 by Steve.Robb GitHub# 3676: Fix TUnion operator<< compile error #jira UE-46099 Change 3509633 by Steve.Robb Fix for line numbers on multiline macros. Change 3509938 by Gil.Gribb UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading. Change 3510593 by Daniel.Lamb Fixed up unsoilicited files getting populated with files which aren't finished being created yet. #test None Change 3510594 by Daniel.Lamb Fixed up temp files directory for patching. Thanks David Yerkess @ Milestone #review@Ben.Marsh Change 3511628 by Ben.Marsh PR #3707: Fixed UBT stack size (Contributed by gildor2) Change 3511808 by Ben.Marsh Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git) #jira UE-46540 Change 3512017 by Ben.Marsh Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface. Change 3513935 by Steve.Robb Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477. Change 3514142 by Steve.Robb MemoryProfiler2 added to generated solution. Change 3516463 by Ben.Marsh Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user. Change 3517860 by Ben.Marsh PR #3727: FString Dereference Fixes (Contributed by jovisgCL) Change 3517967 by Ben.Marsh Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line. Change 3518070 by Steve.Robb Disable Binned2 stats in shipping non-editor builds. Change 3520079 by Steve.Robb Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions. #jira UE-24034 Change 3520080 by Robert.Manuszewski Made max package summary size to be configurable with ini setting Change 3520083 by Steve.Robb Force a GC after hot reload to clean up reinstanced objects which may still tick. #jira UE-40421 Change 3520480 by Robert.Manuszewski Improved assert message when the initial package read request was too small. Change 3520590 by Graeme.Thornton SignedArchiveReader optimizations - Loads more stats - Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader - Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time - Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries Change 3521023 by Graeme.Thornton Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing Change 3521787 by Ben.Marsh PR #3736: Small static code analysis fixes (Contributed by jovisgCL) Change 3521789 by Ben.Marsh PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar) Change 3524721 by Ben.Marsh Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core. Change 3524741 by Ben.Marsh Move PumpMessages() into FPlatformApplicationMisc. Change 3525399 by Ben.Marsh UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment. Change 3525743 by Ben.Marsh UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds. Change 3525746 by Ben.Marsh EC: Include the clobber option on new workspaces, to allow overriding version files when syncing. Change 3526453 by Ben.Marsh UGS: Do not generate project files when syncing precompiled binaries. Change 3527045 by Ben.Marsh Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting. Change 3527420 by Ben.Marsh UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing). Config files are now read from: Engine/Programs/UnrealGameSync/UnrealGameSync.ini Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini If a project is selected: <ProjectDir>/Build/UnrealGameSync.ini <ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini If the .uprojectdirs file is selected: Engine/Programs/UnrealGameSync/DefaultProject.ini Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini Change 3528063 by Ben.Marsh Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse. Change 3528415 by Ben.Marsh UAT: Remove \r characters from the end of multiline log messages. Change 3528427 by Ben.Marsh EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent. Change 3528485 by Ben.Marsh EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places. Change 3528505 by Steve.Robb PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL) #jira UE-46819 Change 3528772 by Robert.Manuszewski Enabling actor and blueprint clustering in ShooterGame Change 3528786 by Robert.Manuszewski PR #3760: Fix typo (Contributed by jesseyeh) Change 3528792 by Steve.Robb PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL) #jira UE-46962 Change 3528941 by Robert.Manuszewski Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object. #jira UE-44996 Change 3530241 by Ben.Marsh UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value. Change 3531377 by Ben.Marsh Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it. This has several advantages over the per-module platform whitelist/blacklist: * Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore. * References to dependent plugins from platform-specific plugins can now be eliminated. * Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly). * The editor can load any plugins without having to whitelist supported editor host platforms. UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime. Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary. Change 3531502 by Jin.Zhang Add support for GPUCrash #rb Change 3531664 by Ben.Marsh UBT: Change output format from C# JSON writer to match output by the engine. Change 3531848 by Ben.Marsh UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable. Change 3531869 by Ben.Marsh UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field. Change 3532474 by Ben.Marsh UBT: Use the same mechanism as UAT for logging exceptions. Change 3532734 by Graeme.Thornton Initial VSCode Support - Tasks generated for building all game/engine/program targets - Debugging support for targets on Win64 Change 3532789 by Steve.Robb FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap. Set_Add and Map_Add no longer have a return value. FScriptSet::Find and FScriptMap::Find functions are now FindIndex. FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash. Change 3532845 by Steve.Robb Obsolete UHT settings deleted. Change 3532875 by Graeme.Thornton VSCode - Add debug targets for different target configurations - Choose between VS debugger (windows) and GDB (mac/linux) Change 3532906 by Graeme.Thornton VSCode - Point all builds directly at UBT rather than the batch files - Adjust mac build tasks to run through mono Change 3532924 by Ben.Marsh UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root. Change 3535234 by Graeme.Thornton VSCode - Pass intellisense system a list of paths to use for header resolution Change 3535247 by Graeme.Thornton UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation Change 3535376 by Graeme.Thornton VSCode - Added build jobs for C# projects - Linked launch tasks to relevant build task Change 3537083 by Ben.Marsh EC: Change P4 swarm links to start at the changelist for a build. Change 3537368 by Graeme.Thornton Fix for crash in FSignedArchiveReader when multithreading is disabled Change 3537550 by Graeme.Thornton Fixed a crash in the taskgraph when running single threaded Change 3537922 by Steve.Robb Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT. Change 3539691 by Graeme.Thornton VSCode - Various updates to get PC and Mac C++ projects building and debugging. - Some other changes to C# setup to allow compilation. Debugging doesn't work. Change 3539775 by Ben.Marsh Plugins: Various fixes to settings for enabling plugins. * Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled). * Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed. * Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them. Change 3540788 by Ben.Marsh UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile). Example usage: public class UnrealPakTarget : TargetRules { public UnrealPakTarget(TargetInfo Target) : base(Target) { Type = TargetType.Program; LinkType = TargetLinkType.Monolithic; LaunchModuleName = "UnrealPak"; if(HostPlatform == UnrealTargetPlatform.Win64) { PreBuildSteps.Add("echo Before building:"); PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); PostBuildSteps.Add("echo After building!"); PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); } } } Change 3541664 by Graeme.Thornton VSCode - Add problemMatcher tag to cpp build targets Change 3541732 by Graeme.Thornton VSCode - Change UBT command line switch to "-vscode" for simplicity Change 3541967 by Graeme.Thornton VSCode - Fixes for Mac/Linux build steps Change 3541968 by Ben.Marsh CRP: Pass through the EnabledPlugins element in crash context XML files. #jira UE-46912 Change 3542519 by Ben.Marsh UBT: Add chain of references to error messages when configuring plugins. Change 3542523 by Ben.Marsh UBT: Add more useful error message when attempt to parse a JSON object fails. Change 3542658 by Ben.Marsh UBT: Include a chain of references when reporting errors instantiating modules. Change 3543432 by Ben.Marsh Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set. Change 3543436 by Ben.Marsh UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails. Change 3543536 by Ben.Marsh UBT: Downgrade message about redundant plugin references to a warning. Change 3543871 by Gil.Gribb UE4 - Fixed a critical crash bug with non-EDL loading from pak files. Change 3543924 by Robert.Manuszewski Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes. +Small optimization to token stream generation code. Change 3544469 by Jin.Zhang Crashes page displays the list of plugins from the crash context #rb Change 3544608 by Steve.Robb Fix for nativized generated code. #jira UE-47452 Change 3544612 by Ben.Marsh Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages(). #jira UE-47449 Change 3545954 by Gil.Gribb Fixed a critical crash bug relating to a race condition in async package summary reading. Change 3545968 by Ben.Marsh UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same. #jira UE-47419 Change 3545976 by Ben.Marsh EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch. Change 3546185 by Ben.Marsh Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped. Change 3547084 by Gil.Gribb Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms. Change 3547968 by Gil.Gribb Fixed critical race which potentially could cause a crash in the pak precacher. Change 3504722 by Ben.Marsh BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run. For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as: ERROR: Unable to write to foo.txt while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" /> at Engine\Build\InstalledEngineBuild.xml(91) (see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace) Change 3512255 by Ben.Marsh Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated. Change 3512332 by Ben.Marsh Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4. Change 3512393 by Ben.Marsh Rename FPaths::GameLogDir() to FPaths::ProjectLogDir(). Change 3513452 by Ben.Marsh Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project. Change 3516262 by Ben.Marsh Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor. * Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod. * The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders). Change 3517565 by Ben.Marsh Remove fixed engine version numbers from OSS plugins. Change 3518005 by Ben.Marsh UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false. Change 3518054 by Ben.Marsh UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard. Change 3524496 by Ben.Marsh Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core. Change 3524641 by Ben.Marsh Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc. Change 3528723 by Steve.Robb MoveTemp now static asserts if passed a const reference or rvalue. MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious. Fixes to violations of these new rules. Change 3528876 by Ben.Marsh Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste. Change 3529073 by Ben.Marsh Add script to package ShooterGame for any platforms. Change 3531493 by Ben.Marsh Update platform-specific plugins to declare the target platforms they support. Change 3531611 by Ben.Marsh UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates. Change 3531868 by Ben.Marsh Resaving project descriptors to remove invalid fields. Change 3531983 by Ben.Marsh UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders. * Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer. * Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type) * Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo")) * An error is output if any restricted folder names other than the output platform are in the staged output. Change 3540315 by Ben.Marsh UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers. Change 3542410 by Ben.Marsh UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already. Change 3543018 by Ben.Marsh UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions. Change 3544371 by Steve.Robb Fixes to TSet_Add and TMap_Add BPs. #jira UE-47441 [CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
}
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3494741 by Steve.Robb Generated code size savings. #jira UE-43048 Change 3495484 by Steve.Robb Fix for generated indices of static arrays when saving configs. Change 3497926 by Robert.Manuszewski Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything. Change 3498077 by Robert.Manuszewski Only use the recursion guard in async loading code when the event driven loader is enabled. Change 3498112 by Ben.Marsh UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own. Change 3500239 by Robert.Manuszewski Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes. Change 3500395 by Steve.Robb Extra codegen savings when not in hot reload. Change 3501004 by Steve.Robb EObjectFlags now have constexpr operators. Change 3502079 by Ben.Marsh UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary. Change 3502527 by Steve.Robb Fix for zero-sized array compile error in generated code when all functions are editor-only. Change 3502542 by Ben.Marsh UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead. Change 3502868 by Steve.Robb Workaround for inefficient generated code with stateless lambdas on Clang. Change 3503550 by Steve.Robb Another generated code lambda optimization. Change 3503582 by Ben.Marsh BuildGraph: Add support for nullable parameter types. Change 3504424 by Steve.Robb New AllOf, AnyOf and NoneOf algorithms. Change 3504712 by Ben.Marsh UAT: Less spammy log and error output from UAT. * Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception). * Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information. * AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log) * Name of the calling function is not included in console output by default, but still included in the log. Change 3504808 by Ben.Marsh UAT: Suppress P4 output when running a recursive instance of UAT. Change 3505044 by Steve.Robb Code generation improved for TCppClassType code. Change 3505485 by Ben.Marsh Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module. Change 3505699 by Ben.Marsh Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins. Change 3506055 by Ben.Marsh UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output. Change 3507745 by Robert.Manuszewski Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses). Change 3507911 by Ben.Marsh Plugins: Minor changes to plugin descriptors. * Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors. * Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from. Change 3508669 by Ben.Marsh EC: Parse multi-line messages from UBT and UAT. Change 3508691 by Ben.Marsh Fix double-spacing of cook stats. Change 3509245 by Steve.Robb UHT makefiles removed. Flag audit removed. Change 3509275 by Steve.Robb Fix for mismatched stat categories in AudioMixer. #jira UE-46129 Change 3509289 by Robert.Manuszewski Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably. Change 3509294 by Robert.Manuszewski UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it. Change 3509312 by Steve.Robb GitHub# 3679: Add TArray constructor that takes a raw pointer and a count Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too. #jira UE-46136 Change 3509396 by Steve.Robb GitHub# 3676: Fix TUnion operator<< compile error #jira UE-46099 Change 3509633 by Steve.Robb Fix for line numbers on multiline macros. Change 3509938 by Gil.Gribb UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading. Change 3510593 by Daniel.Lamb Fixed up unsoilicited files getting populated with files which aren't finished being created yet. #test None Change 3510594 by Daniel.Lamb Fixed up temp files directory for patching. Thanks David Yerkess @ Milestone #review@Ben.Marsh Change 3511628 by Ben.Marsh PR #3707: Fixed UBT stack size (Contributed by gildor2) Change 3511808 by Ben.Marsh Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git) #jira UE-46540 Change 3512017 by Ben.Marsh Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface. Change 3513935 by Steve.Robb Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477. Change 3514142 by Steve.Robb MemoryProfiler2 added to generated solution. Change 3516463 by Ben.Marsh Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user. Change 3517860 by Ben.Marsh PR #3727: FString Dereference Fixes (Contributed by jovisgCL) Change 3517967 by Ben.Marsh Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line. Change 3518070 by Steve.Robb Disable Binned2 stats in shipping non-editor builds. Change 3520079 by Steve.Robb Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions. #jira UE-24034 Change 3520080 by Robert.Manuszewski Made max package summary size to be configurable with ini setting Change 3520083 by Steve.Robb Force a GC after hot reload to clean up reinstanced objects which may still tick. #jira UE-40421 Change 3520480 by Robert.Manuszewski Improved assert message when the initial package read request was too small. Change 3520590 by Graeme.Thornton SignedArchiveReader optimizations - Loads more stats - Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader - Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time - Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries Change 3521023 by Graeme.Thornton Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing Change 3521787 by Ben.Marsh PR #3736: Small static code analysis fixes (Contributed by jovisgCL) Change 3521789 by Ben.Marsh PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar) Change 3524721 by Ben.Marsh Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core. Change 3524741 by Ben.Marsh Move PumpMessages() into FPlatformApplicationMisc. Change 3525399 by Ben.Marsh UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment. Change 3525743 by Ben.Marsh UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds. Change 3525746 by Ben.Marsh EC: Include the clobber option on new workspaces, to allow overriding version files when syncing. Change 3526453 by Ben.Marsh UGS: Do not generate project files when syncing precompiled binaries. Change 3527045 by Ben.Marsh Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting. Change 3527420 by Ben.Marsh UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing). Config files are now read from: Engine/Programs/UnrealGameSync/UnrealGameSync.ini Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini If a project is selected: <ProjectDir>/Build/UnrealGameSync.ini <ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini If the .uprojectdirs file is selected: Engine/Programs/UnrealGameSync/DefaultProject.ini Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini Change 3528063 by Ben.Marsh Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse. Change 3528415 by Ben.Marsh UAT: Remove \r characters from the end of multiline log messages. Change 3528427 by Ben.Marsh EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent. Change 3528485 by Ben.Marsh EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places. Change 3528505 by Steve.Robb PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL) #jira UE-46819 Change 3528772 by Robert.Manuszewski Enabling actor and blueprint clustering in ShooterGame Change 3528786 by Robert.Manuszewski PR #3760: Fix typo (Contributed by jesseyeh) Change 3528792 by Steve.Robb PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL) #jira UE-46962 Change 3528941 by Robert.Manuszewski Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object. #jira UE-44996 Change 3530241 by Ben.Marsh UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value. Change 3531377 by Ben.Marsh Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it. This has several advantages over the per-module platform whitelist/blacklist: * Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore. * References to dependent plugins from platform-specific plugins can now be eliminated. * Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly). * The editor can load any plugins without having to whitelist supported editor host platforms. UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime. Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary. Change 3531502 by Jin.Zhang Add support for GPUCrash #rb Change 3531664 by Ben.Marsh UBT: Change output format from C# JSON writer to match output by the engine. Change 3531848 by Ben.Marsh UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable. Change 3531869 by Ben.Marsh UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field. Change 3532474 by Ben.Marsh UBT: Use the same mechanism as UAT for logging exceptions. Change 3532734 by Graeme.Thornton Initial VSCode Support - Tasks generated for building all game/engine/program targets - Debugging support for targets on Win64 Change 3532789 by Steve.Robb FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap. Set_Add and Map_Add no longer have a return value. FScriptSet::Find and FScriptMap::Find functions are now FindIndex. FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash. Change 3532845 by Steve.Robb Obsolete UHT settings deleted. Change 3532875 by Graeme.Thornton VSCode - Add debug targets for different target configurations - Choose between VS debugger (windows) and GDB (mac/linux) Change 3532906 by Graeme.Thornton VSCode - Point all builds directly at UBT rather than the batch files - Adjust mac build tasks to run through mono Change 3532924 by Ben.Marsh UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root. Change 3535234 by Graeme.Thornton VSCode - Pass intellisense system a list of paths to use for header resolution Change 3535247 by Graeme.Thornton UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation Change 3535376 by Graeme.Thornton VSCode - Added build jobs for C# projects - Linked launch tasks to relevant build task Change 3537083 by Ben.Marsh EC: Change P4 swarm links to start at the changelist for a build. Change 3537368 by Graeme.Thornton Fix for crash in FSignedArchiveReader when multithreading is disabled Change 3537550 by Graeme.Thornton Fixed a crash in the taskgraph when running single threaded Change 3537922 by Steve.Robb Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT. Change 3539691 by Graeme.Thornton VSCode - Various updates to get PC and Mac C++ projects building and debugging. - Some other changes to C# setup to allow compilation. Debugging doesn't work. Change 3539775 by Ben.Marsh Plugins: Various fixes to settings for enabling plugins. * Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled). * Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed. * Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them. Change 3540788 by Ben.Marsh UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile). Example usage: public class UnrealPakTarget : TargetRules { public UnrealPakTarget(TargetInfo Target) : base(Target) { Type = TargetType.Program; LinkType = TargetLinkType.Monolithic; LaunchModuleName = "UnrealPak"; if(HostPlatform == UnrealTargetPlatform.Win64) { PreBuildSteps.Add("echo Before building:"); PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); PostBuildSteps.Add("echo After building!"); PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); } } } Change 3541664 by Graeme.Thornton VSCode - Add problemMatcher tag to cpp build targets Change 3541732 by Graeme.Thornton VSCode - Change UBT command line switch to "-vscode" for simplicity Change 3541967 by Graeme.Thornton VSCode - Fixes for Mac/Linux build steps Change 3541968 by Ben.Marsh CRP: Pass through the EnabledPlugins element in crash context XML files. #jira UE-46912 Change 3542519 by Ben.Marsh UBT: Add chain of references to error messages when configuring plugins. Change 3542523 by Ben.Marsh UBT: Add more useful error message when attempt to parse a JSON object fails. Change 3542658 by Ben.Marsh UBT: Include a chain of references when reporting errors instantiating modules. Change 3543432 by Ben.Marsh Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set. Change 3543436 by Ben.Marsh UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails. Change 3543536 by Ben.Marsh UBT: Downgrade message about redundant plugin references to a warning. Change 3543871 by Gil.Gribb UE4 - Fixed a critical crash bug with non-EDL loading from pak files. Change 3543924 by Robert.Manuszewski Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes. +Small optimization to token stream generation code. Change 3544469 by Jin.Zhang Crashes page displays the list of plugins from the crash context #rb Change 3544608 by Steve.Robb Fix for nativized generated code. #jira UE-47452 Change 3544612 by Ben.Marsh Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages(). #jira UE-47449 Change 3545954 by Gil.Gribb Fixed a critical crash bug relating to a race condition in async package summary reading. Change 3545968 by Ben.Marsh UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same. #jira UE-47419 Change 3545976 by Ben.Marsh EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch. Change 3546185 by Ben.Marsh Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped. Change 3547084 by Gil.Gribb Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms. Change 3547968 by Gil.Gribb Fixed critical race which potentially could cause a crash in the pak precacher. Change 3504722 by Ben.Marsh BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run. For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as: ERROR: Unable to write to foo.txt while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" /> at Engine\Build\InstalledEngineBuild.xml(91) (see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace) Change 3512255 by Ben.Marsh Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated. Change 3512332 by Ben.Marsh Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4. Change 3512393 by Ben.Marsh Rename FPaths::GameLogDir() to FPaths::ProjectLogDir(). Change 3513452 by Ben.Marsh Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project. Change 3516262 by Ben.Marsh Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor. * Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod. * The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders). Change 3517565 by Ben.Marsh Remove fixed engine version numbers from OSS plugins. Change 3518005 by Ben.Marsh UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false. Change 3518054 by Ben.Marsh UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard. Change 3524496 by Ben.Marsh Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core. Change 3524641 by Ben.Marsh Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc. Change 3528723 by Steve.Robb MoveTemp now static asserts if passed a const reference or rvalue. MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious. Fixes to violations of these new rules. Change 3528876 by Ben.Marsh Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste. Change 3529073 by Ben.Marsh Add script to package ShooterGame for any platforms. Change 3531493 by Ben.Marsh Update platform-specific plugins to declare the target platforms they support. Change 3531611 by Ben.Marsh UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates. Change 3531868 by Ben.Marsh Resaving project descriptors to remove invalid fields. Change 3531983 by Ben.Marsh UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders. * Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer. * Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type) * Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo")) * An error is output if any restricted folder names other than the output platform are in the staged output. Change 3540315 by Ben.Marsh UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers. Change 3542410 by Ben.Marsh UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already. Change 3543018 by Ben.Marsh UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions. Change 3544371 by Steve.Robb Fixes to TSet_Add and TMap_Add BPs. #jira UE-47441 [CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
/// <summary>
/// Gets the default location to stage an input file
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3494741 by Steve.Robb Generated code size savings. #jira UE-43048 Change 3495484 by Steve.Robb Fix for generated indices of static arrays when saving configs. Change 3497926 by Robert.Manuszewski Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything. Change 3498077 by Robert.Manuszewski Only use the recursion guard in async loading code when the event driven loader is enabled. Change 3498112 by Ben.Marsh UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own. Change 3500239 by Robert.Manuszewski Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes. Change 3500395 by Steve.Robb Extra codegen savings when not in hot reload. Change 3501004 by Steve.Robb EObjectFlags now have constexpr operators. Change 3502079 by Ben.Marsh UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary. Change 3502527 by Steve.Robb Fix for zero-sized array compile error in generated code when all functions are editor-only. Change 3502542 by Ben.Marsh UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead. Change 3502868 by Steve.Robb Workaround for inefficient generated code with stateless lambdas on Clang. Change 3503550 by Steve.Robb Another generated code lambda optimization. Change 3503582 by Ben.Marsh BuildGraph: Add support for nullable parameter types. Change 3504424 by Steve.Robb New AllOf, AnyOf and NoneOf algorithms. Change 3504712 by Ben.Marsh UAT: Less spammy log and error output from UAT. * Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception). * Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information. * AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log) * Name of the calling function is not included in console output by default, but still included in the log. Change 3504808 by Ben.Marsh UAT: Suppress P4 output when running a recursive instance of UAT. Change 3505044 by Steve.Robb Code generation improved for TCppClassType code. Change 3505485 by Ben.Marsh Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module. Change 3505699 by Ben.Marsh Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins. Change 3506055 by Ben.Marsh UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output. Change 3507745 by Robert.Manuszewski Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses). Change 3507911 by Ben.Marsh Plugins: Minor changes to plugin descriptors. * Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors. * Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from. Change 3508669 by Ben.Marsh EC: Parse multi-line messages from UBT and UAT. Change 3508691 by Ben.Marsh Fix double-spacing of cook stats. Change 3509245 by Steve.Robb UHT makefiles removed. Flag audit removed. Change 3509275 by Steve.Robb Fix for mismatched stat categories in AudioMixer. #jira UE-46129 Change 3509289 by Robert.Manuszewski Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably. Change 3509294 by Robert.Manuszewski UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it. Change 3509312 by Steve.Robb GitHub# 3679: Add TArray constructor that takes a raw pointer and a count Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too. #jira UE-46136 Change 3509396 by Steve.Robb GitHub# 3676: Fix TUnion operator<< compile error #jira UE-46099 Change 3509633 by Steve.Robb Fix for line numbers on multiline macros. Change 3509938 by Gil.Gribb UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading. Change 3510593 by Daniel.Lamb Fixed up unsoilicited files getting populated with files which aren't finished being created yet. #test None Change 3510594 by Daniel.Lamb Fixed up temp files directory for patching. Thanks David Yerkess @ Milestone #review@Ben.Marsh Change 3511628 by Ben.Marsh PR #3707: Fixed UBT stack size (Contributed by gildor2) Change 3511808 by Ben.Marsh Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git) #jira UE-46540 Change 3512017 by Ben.Marsh Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface. Change 3513935 by Steve.Robb Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477. Change 3514142 by Steve.Robb MemoryProfiler2 added to generated solution. Change 3516463 by Ben.Marsh Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user. Change 3517860 by Ben.Marsh PR #3727: FString Dereference Fixes (Contributed by jovisgCL) Change 3517967 by Ben.Marsh Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line. Change 3518070 by Steve.Robb Disable Binned2 stats in shipping non-editor builds. Change 3520079 by Steve.Robb Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions. #jira UE-24034 Change 3520080 by Robert.Manuszewski Made max package summary size to be configurable with ini setting Change 3520083 by Steve.Robb Force a GC after hot reload to clean up reinstanced objects which may still tick. #jira UE-40421 Change 3520480 by Robert.Manuszewski Improved assert message when the initial package read request was too small. Change 3520590 by Graeme.Thornton SignedArchiveReader optimizations - Loads more stats - Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader - Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time - Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries Change 3521023 by Graeme.Thornton Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing Change 3521787 by Ben.Marsh PR #3736: Small static code analysis fixes (Contributed by jovisgCL) Change 3521789 by Ben.Marsh PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar) Change 3524721 by Ben.Marsh Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core. Change 3524741 by Ben.Marsh Move PumpMessages() into FPlatformApplicationMisc. Change 3525399 by Ben.Marsh UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment. Change 3525743 by Ben.Marsh UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds. Change 3525746 by Ben.Marsh EC: Include the clobber option on new workspaces, to allow overriding version files when syncing. Change 3526453 by Ben.Marsh UGS: Do not generate project files when syncing precompiled binaries. Change 3527045 by Ben.Marsh Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting. Change 3527420 by Ben.Marsh UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing). Config files are now read from: Engine/Programs/UnrealGameSync/UnrealGameSync.ini Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini If a project is selected: <ProjectDir>/Build/UnrealGameSync.ini <ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini If the .uprojectdirs file is selected: Engine/Programs/UnrealGameSync/DefaultProject.ini Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini Change 3528063 by Ben.Marsh Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse. Change 3528415 by Ben.Marsh UAT: Remove \r characters from the end of multiline log messages. Change 3528427 by Ben.Marsh EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent. Change 3528485 by Ben.Marsh EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places. Change 3528505 by Steve.Robb PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL) #jira UE-46819 Change 3528772 by Robert.Manuszewski Enabling actor and blueprint clustering in ShooterGame Change 3528786 by Robert.Manuszewski PR #3760: Fix typo (Contributed by jesseyeh) Change 3528792 by Steve.Robb PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL) #jira UE-46962 Change 3528941 by Robert.Manuszewski Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object. #jira UE-44996 Change 3530241 by Ben.Marsh UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value. Change 3531377 by Ben.Marsh Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it. This has several advantages over the per-module platform whitelist/blacklist: * Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore. * References to dependent plugins from platform-specific plugins can now be eliminated. * Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly). * The editor can load any plugins without having to whitelist supported editor host platforms. UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime. Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary. Change 3531502 by Jin.Zhang Add support for GPUCrash #rb Change 3531664 by Ben.Marsh UBT: Change output format from C# JSON writer to match output by the engine. Change 3531848 by Ben.Marsh UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable. Change 3531869 by Ben.Marsh UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field. Change 3532474 by Ben.Marsh UBT: Use the same mechanism as UAT for logging exceptions. Change 3532734 by Graeme.Thornton Initial VSCode Support - Tasks generated for building all game/engine/program targets - Debugging support for targets on Win64 Change 3532789 by Steve.Robb FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap. Set_Add and Map_Add no longer have a return value. FScriptSet::Find and FScriptMap::Find functions are now FindIndex. FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash. Change 3532845 by Steve.Robb Obsolete UHT settings deleted. Change 3532875 by Graeme.Thornton VSCode - Add debug targets for different target configurations - Choose between VS debugger (windows) and GDB (mac/linux) Change 3532906 by Graeme.Thornton VSCode - Point all builds directly at UBT rather than the batch files - Adjust mac build tasks to run through mono Change 3532924 by Ben.Marsh UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root. Change 3535234 by Graeme.Thornton VSCode - Pass intellisense system a list of paths to use for header resolution Change 3535247 by Graeme.Thornton UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation Change 3535376 by Graeme.Thornton VSCode - Added build jobs for C# projects - Linked launch tasks to relevant build task Change 3537083 by Ben.Marsh EC: Change P4 swarm links to start at the changelist for a build. Change 3537368 by Graeme.Thornton Fix for crash in FSignedArchiveReader when multithreading is disabled Change 3537550 by Graeme.Thornton Fixed a crash in the taskgraph when running single threaded Change 3537922 by Steve.Robb Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT. Change 3539691 by Graeme.Thornton VSCode - Various updates to get PC and Mac C++ projects building and debugging. - Some other changes to C# setup to allow compilation. Debugging doesn't work. Change 3539775 by Ben.Marsh Plugins: Various fixes to settings for enabling plugins. * Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled). * Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed. * Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them. Change 3540788 by Ben.Marsh UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile). Example usage: public class UnrealPakTarget : TargetRules { public UnrealPakTarget(TargetInfo Target) : base(Target) { Type = TargetType.Program; LinkType = TargetLinkType.Monolithic; LaunchModuleName = "UnrealPak"; if(HostPlatform == UnrealTargetPlatform.Win64) { PreBuildSteps.Add("echo Before building:"); PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); PostBuildSteps.Add("echo After building!"); PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); } } } Change 3541664 by Graeme.Thornton VSCode - Add problemMatcher tag to cpp build targets Change 3541732 by Graeme.Thornton VSCode - Change UBT command line switch to "-vscode" for simplicity Change 3541967 by Graeme.Thornton VSCode - Fixes for Mac/Linux build steps Change 3541968 by Ben.Marsh CRP: Pass through the EnabledPlugins element in crash context XML files. #jira UE-46912 Change 3542519 by Ben.Marsh UBT: Add chain of references to error messages when configuring plugins. Change 3542523 by Ben.Marsh UBT: Add more useful error message when attempt to parse a JSON object fails. Change 3542658 by Ben.Marsh UBT: Include a chain of references when reporting errors instantiating modules. Change 3543432 by Ben.Marsh Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set. Change 3543436 by Ben.Marsh UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails. Change 3543536 by Ben.Marsh UBT: Downgrade message about redundant plugin references to a warning. Change 3543871 by Gil.Gribb UE4 - Fixed a critical crash bug with non-EDL loading from pak files. Change 3543924 by Robert.Manuszewski Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes. +Small optimization to token stream generation code. Change 3544469 by Jin.Zhang Crashes page displays the list of plugins from the crash context #rb Change 3544608 by Steve.Robb Fix for nativized generated code. #jira UE-47452 Change 3544612 by Ben.Marsh Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages(). #jira UE-47449 Change 3545954 by Gil.Gribb Fixed a critical crash bug relating to a race condition in async package summary reading. Change 3545968 by Ben.Marsh UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same. #jira UE-47419 Change 3545976 by Ben.Marsh EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch. Change 3546185 by Ben.Marsh Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped. Change 3547084 by Gil.Gribb Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms. Change 3547968 by Gil.Gribb Fixed critical race which potentially could cause a crash in the pak precacher. Change 3504722 by Ben.Marsh BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run. For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as: ERROR: Unable to write to foo.txt while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" /> at Engine\Build\InstalledEngineBuild.xml(91) (see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace) Change 3512255 by Ben.Marsh Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated. Change 3512332 by Ben.Marsh Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4. Change 3512393 by Ben.Marsh Rename FPaths::GameLogDir() to FPaths::ProjectLogDir(). Change 3513452 by Ben.Marsh Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project. Change 3516262 by Ben.Marsh Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor. * Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod. * The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders). Change 3517565 by Ben.Marsh Remove fixed engine version numbers from OSS plugins. Change 3518005 by Ben.Marsh UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false. Change 3518054 by Ben.Marsh UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard. Change 3524496 by Ben.Marsh Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core. Change 3524641 by Ben.Marsh Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc. Change 3528723 by Steve.Robb MoveTemp now static asserts if passed a const reference or rvalue. MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious. Fixes to violations of these new rules. Change 3528876 by Ben.Marsh Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste. Change 3529073 by Ben.Marsh Add script to package ShooterGame for any platforms. Change 3531493 by Ben.Marsh Update platform-specific plugins to declare the target platforms they support. Change 3531611 by Ben.Marsh UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates. Change 3531868 by Ben.Marsh Resaving project descriptors to remove invalid fields. Change 3531983 by Ben.Marsh UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders. * Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer. * Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type) * Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo")) * An error is output if any restricted folder names other than the output platform are in the staged output. Change 3540315 by Ben.Marsh UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers. Change 3542410 by Ben.Marsh UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already. Change 3543018 by Ben.Marsh UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions. Change 3544371 by Steve.Robb Fixes to TSet_Add and TMap_Add BPs. #jira UE-47441 [CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
/// </summary>
/// <param name="InputFile">Location of the file in the file system</param>
/// <returns>Staged file location</returns>
public StagedFileReference GetStagedFileLocation(FileReference InputFile)
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3494741 by Steve.Robb Generated code size savings. #jira UE-43048 Change 3495484 by Steve.Robb Fix for generated indices of static arrays when saving configs. Change 3497926 by Robert.Manuszewski Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything. Change 3498077 by Robert.Manuszewski Only use the recursion guard in async loading code when the event driven loader is enabled. Change 3498112 by Ben.Marsh UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own. Change 3500239 by Robert.Manuszewski Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes. Change 3500395 by Steve.Robb Extra codegen savings when not in hot reload. Change 3501004 by Steve.Robb EObjectFlags now have constexpr operators. Change 3502079 by Ben.Marsh UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary. Change 3502527 by Steve.Robb Fix for zero-sized array compile error in generated code when all functions are editor-only. Change 3502542 by Ben.Marsh UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead. Change 3502868 by Steve.Robb Workaround for inefficient generated code with stateless lambdas on Clang. Change 3503550 by Steve.Robb Another generated code lambda optimization. Change 3503582 by Ben.Marsh BuildGraph: Add support for nullable parameter types. Change 3504424 by Steve.Robb New AllOf, AnyOf and NoneOf algorithms. Change 3504712 by Ben.Marsh UAT: Less spammy log and error output from UAT. * Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception). * Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information. * AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log) * Name of the calling function is not included in console output by default, but still included in the log. Change 3504808 by Ben.Marsh UAT: Suppress P4 output when running a recursive instance of UAT. Change 3505044 by Steve.Robb Code generation improved for TCppClassType code. Change 3505485 by Ben.Marsh Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module. Change 3505699 by Ben.Marsh Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins. Change 3506055 by Ben.Marsh UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output. Change 3507745 by Robert.Manuszewski Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses). Change 3507911 by Ben.Marsh Plugins: Minor changes to plugin descriptors. * Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors. * Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from. Change 3508669 by Ben.Marsh EC: Parse multi-line messages from UBT and UAT. Change 3508691 by Ben.Marsh Fix double-spacing of cook stats. Change 3509245 by Steve.Robb UHT makefiles removed. Flag audit removed. Change 3509275 by Steve.Robb Fix for mismatched stat categories in AudioMixer. #jira UE-46129 Change 3509289 by Robert.Manuszewski Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably. Change 3509294 by Robert.Manuszewski UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it. Change 3509312 by Steve.Robb GitHub# 3679: Add TArray constructor that takes a raw pointer and a count Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too. #jira UE-46136 Change 3509396 by Steve.Robb GitHub# 3676: Fix TUnion operator<< compile error #jira UE-46099 Change 3509633 by Steve.Robb Fix for line numbers on multiline macros. Change 3509938 by Gil.Gribb UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading. Change 3510593 by Daniel.Lamb Fixed up unsoilicited files getting populated with files which aren't finished being created yet. #test None Change 3510594 by Daniel.Lamb Fixed up temp files directory for patching. Thanks David Yerkess @ Milestone #review@Ben.Marsh Change 3511628 by Ben.Marsh PR #3707: Fixed UBT stack size (Contributed by gildor2) Change 3511808 by Ben.Marsh Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git) #jira UE-46540 Change 3512017 by Ben.Marsh Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface. Change 3513935 by Steve.Robb Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477. Change 3514142 by Steve.Robb MemoryProfiler2 added to generated solution. Change 3516463 by Ben.Marsh Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user. Change 3517860 by Ben.Marsh PR #3727: FString Dereference Fixes (Contributed by jovisgCL) Change 3517967 by Ben.Marsh Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line. Change 3518070 by Steve.Robb Disable Binned2 stats in shipping non-editor builds. Change 3520079 by Steve.Robb Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions. #jira UE-24034 Change 3520080 by Robert.Manuszewski Made max package summary size to be configurable with ini setting Change 3520083 by Steve.Robb Force a GC after hot reload to clean up reinstanced objects which may still tick. #jira UE-40421 Change 3520480 by Robert.Manuszewski Improved assert message when the initial package read request was too small. Change 3520590 by Graeme.Thornton SignedArchiveReader optimizations - Loads more stats - Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader - Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time - Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries Change 3521023 by Graeme.Thornton Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing Change 3521787 by Ben.Marsh PR #3736: Small static code analysis fixes (Contributed by jovisgCL) Change 3521789 by Ben.Marsh PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar) Change 3524721 by Ben.Marsh Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core. Change 3524741 by Ben.Marsh Move PumpMessages() into FPlatformApplicationMisc. Change 3525399 by Ben.Marsh UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment. Change 3525743 by Ben.Marsh UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds. Change 3525746 by Ben.Marsh EC: Include the clobber option on new workspaces, to allow overriding version files when syncing. Change 3526453 by Ben.Marsh UGS: Do not generate project files when syncing precompiled binaries. Change 3527045 by Ben.Marsh Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting. Change 3527420 by Ben.Marsh UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing). Config files are now read from: Engine/Programs/UnrealGameSync/UnrealGameSync.ini Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini If a project is selected: <ProjectDir>/Build/UnrealGameSync.ini <ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini If the .uprojectdirs file is selected: Engine/Programs/UnrealGameSync/DefaultProject.ini Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini Change 3528063 by Ben.Marsh Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse. Change 3528415 by Ben.Marsh UAT: Remove \r characters from the end of multiline log messages. Change 3528427 by Ben.Marsh EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent. Change 3528485 by Ben.Marsh EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places. Change 3528505 by Steve.Robb PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL) #jira UE-46819 Change 3528772 by Robert.Manuszewski Enabling actor and blueprint clustering in ShooterGame Change 3528786 by Robert.Manuszewski PR #3760: Fix typo (Contributed by jesseyeh) Change 3528792 by Steve.Robb PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL) #jira UE-46962 Change 3528941 by Robert.Manuszewski Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object. #jira UE-44996 Change 3530241 by Ben.Marsh UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value. Change 3531377 by Ben.Marsh Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it. This has several advantages over the per-module platform whitelist/blacklist: * Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore. * References to dependent plugins from platform-specific plugins can now be eliminated. * Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly). * The editor can load any plugins without having to whitelist supported editor host platforms. UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime. Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary. Change 3531502 by Jin.Zhang Add support for GPUCrash #rb Change 3531664 by Ben.Marsh UBT: Change output format from C# JSON writer to match output by the engine. Change 3531848 by Ben.Marsh UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable. Change 3531869 by Ben.Marsh UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field. Change 3532474 by Ben.Marsh UBT: Use the same mechanism as UAT for logging exceptions. Change 3532734 by Graeme.Thornton Initial VSCode Support - Tasks generated for building all game/engine/program targets - Debugging support for targets on Win64 Change 3532789 by Steve.Robb FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap. Set_Add and Map_Add no longer have a return value. FScriptSet::Find and FScriptMap::Find functions are now FindIndex. FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash. Change 3532845 by Steve.Robb Obsolete UHT settings deleted. Change 3532875 by Graeme.Thornton VSCode - Add debug targets for different target configurations - Choose between VS debugger (windows) and GDB (mac/linux) Change 3532906 by Graeme.Thornton VSCode - Point all builds directly at UBT rather than the batch files - Adjust mac build tasks to run through mono Change 3532924 by Ben.Marsh UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root. Change 3535234 by Graeme.Thornton VSCode - Pass intellisense system a list of paths to use for header resolution Change 3535247 by Graeme.Thornton UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation Change 3535376 by Graeme.Thornton VSCode - Added build jobs for C# projects - Linked launch tasks to relevant build task Change 3537083 by Ben.Marsh EC: Change P4 swarm links to start at the changelist for a build. Change 3537368 by Graeme.Thornton Fix for crash in FSignedArchiveReader when multithreading is disabled Change 3537550 by Graeme.Thornton Fixed a crash in the taskgraph when running single threaded Change 3537922 by Steve.Robb Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT. Change 3539691 by Graeme.Thornton VSCode - Various updates to get PC and Mac C++ projects building and debugging. - Some other changes to C# setup to allow compilation. Debugging doesn't work. Change 3539775 by Ben.Marsh Plugins: Various fixes to settings for enabling plugins. * Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled). * Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed. * Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them. Change 3540788 by Ben.Marsh UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile). Example usage: public class UnrealPakTarget : TargetRules { public UnrealPakTarget(TargetInfo Target) : base(Target) { Type = TargetType.Program; LinkType = TargetLinkType.Monolithic; LaunchModuleName = "UnrealPak"; if(HostPlatform == UnrealTargetPlatform.Win64) { PreBuildSteps.Add("echo Before building:"); PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); PostBuildSteps.Add("echo After building!"); PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); } } } Change 3541664 by Graeme.Thornton VSCode - Add problemMatcher tag to cpp build targets Change 3541732 by Graeme.Thornton VSCode - Change UBT command line switch to "-vscode" for simplicity Change 3541967 by Graeme.Thornton VSCode - Fixes for Mac/Linux build steps Change 3541968 by Ben.Marsh CRP: Pass through the EnabledPlugins element in crash context XML files. #jira UE-46912 Change 3542519 by Ben.Marsh UBT: Add chain of references to error messages when configuring plugins. Change 3542523 by Ben.Marsh UBT: Add more useful error message when attempt to parse a JSON object fails. Change 3542658 by Ben.Marsh UBT: Include a chain of references when reporting errors instantiating modules. Change 3543432 by Ben.Marsh Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set. Change 3543436 by Ben.Marsh UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails. Change 3543536 by Ben.Marsh UBT: Downgrade message about redundant plugin references to a warning. Change 3543871 by Gil.Gribb UE4 - Fixed a critical crash bug with non-EDL loading from pak files. Change 3543924 by Robert.Manuszewski Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes. +Small optimization to token stream generation code. Change 3544469 by Jin.Zhang Crashes page displays the list of plugins from the crash context #rb Change 3544608 by Steve.Robb Fix for nativized generated code. #jira UE-47452 Change 3544612 by Ben.Marsh Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages(). #jira UE-47449 Change 3545954 by Gil.Gribb Fixed a critical crash bug relating to a race condition in async package summary reading. Change 3545968 by Ben.Marsh UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same. #jira UE-47419 Change 3545976 by Ben.Marsh EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch. Change 3546185 by Ben.Marsh Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped. Change 3547084 by Gil.Gribb Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms. Change 3547968 by Gil.Gribb Fixed critical race which potentially could cause a crash in the pak precacher. Change 3504722 by Ben.Marsh BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run. For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as: ERROR: Unable to write to foo.txt while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" /> at Engine\Build\InstalledEngineBuild.xml(91) (see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace) Change 3512255 by Ben.Marsh Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated. Change 3512332 by Ben.Marsh Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4. Change 3512393 by Ben.Marsh Rename FPaths::GameLogDir() to FPaths::ProjectLogDir(). Change 3513452 by Ben.Marsh Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project. Change 3516262 by Ben.Marsh Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor. * Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod. * The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders). Change 3517565 by Ben.Marsh Remove fixed engine version numbers from OSS plugins. Change 3518005 by Ben.Marsh UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false. Change 3518054 by Ben.Marsh UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard. Change 3524496 by Ben.Marsh Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core. Change 3524641 by Ben.Marsh Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc. Change 3528723 by Steve.Robb MoveTemp now static asserts if passed a const reference or rvalue. MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious. Fixes to violations of these new rules. Change 3528876 by Ben.Marsh Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste. Change 3529073 by Ben.Marsh Add script to package ShooterGame for any platforms. Change 3531493 by Ben.Marsh Update platform-specific plugins to declare the target platforms they support. Change 3531611 by Ben.Marsh UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates. Change 3531868 by Ben.Marsh Resaving project descriptors to remove invalid fields. Change 3531983 by Ben.Marsh UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders. * Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer. * Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type) * Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo")) * An error is output if any restricted folder names other than the output platform are in the staged output. Change 3540315 by Ben.Marsh UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers. Change 3542410 by Ben.Marsh UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already. Change 3543018 by Ben.Marsh UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions. Change 3544371 by Steve.Robb Fixes to TSet_Add and TMap_Add BPs. #jira UE-47441 [CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
{
StagedFileReference OutputFile;
if(InputFile.IsUnderDirectory(ProjectRoot))
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3494741 by Steve.Robb Generated code size savings. #jira UE-43048 Change 3495484 by Steve.Robb Fix for generated indices of static arrays when saving configs. Change 3497926 by Robert.Manuszewski Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything. Change 3498077 by Robert.Manuszewski Only use the recursion guard in async loading code when the event driven loader is enabled. Change 3498112 by Ben.Marsh UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own. Change 3500239 by Robert.Manuszewski Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes. Change 3500395 by Steve.Robb Extra codegen savings when not in hot reload. Change 3501004 by Steve.Robb EObjectFlags now have constexpr operators. Change 3502079 by Ben.Marsh UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary. Change 3502527 by Steve.Robb Fix for zero-sized array compile error in generated code when all functions are editor-only. Change 3502542 by Ben.Marsh UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead. Change 3502868 by Steve.Robb Workaround for inefficient generated code with stateless lambdas on Clang. Change 3503550 by Steve.Robb Another generated code lambda optimization. Change 3503582 by Ben.Marsh BuildGraph: Add support for nullable parameter types. Change 3504424 by Steve.Robb New AllOf, AnyOf and NoneOf algorithms. Change 3504712 by Ben.Marsh UAT: Less spammy log and error output from UAT. * Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception). * Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information. * AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log) * Name of the calling function is not included in console output by default, but still included in the log. Change 3504808 by Ben.Marsh UAT: Suppress P4 output when running a recursive instance of UAT. Change 3505044 by Steve.Robb Code generation improved for TCppClassType code. Change 3505485 by Ben.Marsh Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module. Change 3505699 by Ben.Marsh Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins. Change 3506055 by Ben.Marsh UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output. Change 3507745 by Robert.Manuszewski Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses). Change 3507911 by Ben.Marsh Plugins: Minor changes to plugin descriptors. * Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors. * Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from. Change 3508669 by Ben.Marsh EC: Parse multi-line messages from UBT and UAT. Change 3508691 by Ben.Marsh Fix double-spacing of cook stats. Change 3509245 by Steve.Robb UHT makefiles removed. Flag audit removed. Change 3509275 by Steve.Robb Fix for mismatched stat categories in AudioMixer. #jira UE-46129 Change 3509289 by Robert.Manuszewski Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably. Change 3509294 by Robert.Manuszewski UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it. Change 3509312 by Steve.Robb GitHub# 3679: Add TArray constructor that takes a raw pointer and a count Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too. #jira UE-46136 Change 3509396 by Steve.Robb GitHub# 3676: Fix TUnion operator<< compile error #jira UE-46099 Change 3509633 by Steve.Robb Fix for line numbers on multiline macros. Change 3509938 by Gil.Gribb UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading. Change 3510593 by Daniel.Lamb Fixed up unsoilicited files getting populated with files which aren't finished being created yet. #test None Change 3510594 by Daniel.Lamb Fixed up temp files directory for patching. Thanks David Yerkess @ Milestone #review@Ben.Marsh Change 3511628 by Ben.Marsh PR #3707: Fixed UBT stack size (Contributed by gildor2) Change 3511808 by Ben.Marsh Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git) #jira UE-46540 Change 3512017 by Ben.Marsh Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface. Change 3513935 by Steve.Robb Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477. Change 3514142 by Steve.Robb MemoryProfiler2 added to generated solution. Change 3516463 by Ben.Marsh Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user. Change 3517860 by Ben.Marsh PR #3727: FString Dereference Fixes (Contributed by jovisgCL) Change 3517967 by Ben.Marsh Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line. Change 3518070 by Steve.Robb Disable Binned2 stats in shipping non-editor builds. Change 3520079 by Steve.Robb Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions. #jira UE-24034 Change 3520080 by Robert.Manuszewski Made max package summary size to be configurable with ini setting Change 3520083 by Steve.Robb Force a GC after hot reload to clean up reinstanced objects which may still tick. #jira UE-40421 Change 3520480 by Robert.Manuszewski Improved assert message when the initial package read request was too small. Change 3520590 by Graeme.Thornton SignedArchiveReader optimizations - Loads more stats - Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader - Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time - Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries Change 3521023 by Graeme.Thornton Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing Change 3521787 by Ben.Marsh PR #3736: Small static code analysis fixes (Contributed by jovisgCL) Change 3521789 by Ben.Marsh PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar) Change 3524721 by Ben.Marsh Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core. Change 3524741 by Ben.Marsh Move PumpMessages() into FPlatformApplicationMisc. Change 3525399 by Ben.Marsh UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment. Change 3525743 by Ben.Marsh UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds. Change 3525746 by Ben.Marsh EC: Include the clobber option on new workspaces, to allow overriding version files when syncing. Change 3526453 by Ben.Marsh UGS: Do not generate project files when syncing precompiled binaries. Change 3527045 by Ben.Marsh Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting. Change 3527420 by Ben.Marsh UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing). Config files are now read from: Engine/Programs/UnrealGameSync/UnrealGameSync.ini Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini If a project is selected: <ProjectDir>/Build/UnrealGameSync.ini <ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini If the .uprojectdirs file is selected: Engine/Programs/UnrealGameSync/DefaultProject.ini Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini Change 3528063 by Ben.Marsh Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse. Change 3528415 by Ben.Marsh UAT: Remove \r characters from the end of multiline log messages. Change 3528427 by Ben.Marsh EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent. Change 3528485 by Ben.Marsh EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places. Change 3528505 by Steve.Robb PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL) #jira UE-46819 Change 3528772 by Robert.Manuszewski Enabling actor and blueprint clustering in ShooterGame Change 3528786 by Robert.Manuszewski PR #3760: Fix typo (Contributed by jesseyeh) Change 3528792 by Steve.Robb PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL) #jira UE-46962 Change 3528941 by Robert.Manuszewski Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object. #jira UE-44996 Change 3530241 by Ben.Marsh UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value. Change 3531377 by Ben.Marsh Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it. This has several advantages over the per-module platform whitelist/blacklist: * Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore. * References to dependent plugins from platform-specific plugins can now be eliminated. * Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly). * The editor can load any plugins without having to whitelist supported editor host platforms. UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime. Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary. Change 3531502 by Jin.Zhang Add support for GPUCrash #rb Change 3531664 by Ben.Marsh UBT: Change output format from C# JSON writer to match output by the engine. Change 3531848 by Ben.Marsh UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable. Change 3531869 by Ben.Marsh UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field. Change 3532474 by Ben.Marsh UBT: Use the same mechanism as UAT for logging exceptions. Change 3532734 by Graeme.Thornton Initial VSCode Support - Tasks generated for building all game/engine/program targets - Debugging support for targets on Win64 Change 3532789 by Steve.Robb FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap. Set_Add and Map_Add no longer have a return value. FScriptSet::Find and FScriptMap::Find functions are now FindIndex. FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash. Change 3532845 by Steve.Robb Obsolete UHT settings deleted. Change 3532875 by Graeme.Thornton VSCode - Add debug targets for different target configurations - Choose between VS debugger (windows) and GDB (mac/linux) Change 3532906 by Graeme.Thornton VSCode - Point all builds directly at UBT rather than the batch files - Adjust mac build tasks to run through mono Change 3532924 by Ben.Marsh UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root. Change 3535234 by Graeme.Thornton VSCode - Pass intellisense system a list of paths to use for header resolution Change 3535247 by Graeme.Thornton UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation Change 3535376 by Graeme.Thornton VSCode - Added build jobs for C# projects - Linked launch tasks to relevant build task Change 3537083 by Ben.Marsh EC: Change P4 swarm links to start at the changelist for a build. Change 3537368 by Graeme.Thornton Fix for crash in FSignedArchiveReader when multithreading is disabled Change 3537550 by Graeme.Thornton Fixed a crash in the taskgraph when running single threaded Change 3537922 by Steve.Robb Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT. Change 3539691 by Graeme.Thornton VSCode - Various updates to get PC and Mac C++ projects building and debugging. - Some other changes to C# setup to allow compilation. Debugging doesn't work. Change 3539775 by Ben.Marsh Plugins: Various fixes to settings for enabling plugins. * Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled). * Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed. * Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them. Change 3540788 by Ben.Marsh UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile). Example usage: public class UnrealPakTarget : TargetRules { public UnrealPakTarget(TargetInfo Target) : base(Target) { Type = TargetType.Program; LinkType = TargetLinkType.Monolithic; LaunchModuleName = "UnrealPak"; if(HostPlatform == UnrealTargetPlatform.Win64) { PreBuildSteps.Add("echo Before building:"); PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); PostBuildSteps.Add("echo After building!"); PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); } } } Change 3541664 by Graeme.Thornton VSCode - Add problemMatcher tag to cpp build targets Change 3541732 by Graeme.Thornton VSCode - Change UBT command line switch to "-vscode" for simplicity Change 3541967 by Graeme.Thornton VSCode - Fixes for Mac/Linux build steps Change 3541968 by Ben.Marsh CRP: Pass through the EnabledPlugins element in crash context XML files. #jira UE-46912 Change 3542519 by Ben.Marsh UBT: Add chain of references to error messages when configuring plugins. Change 3542523 by Ben.Marsh UBT: Add more useful error message when attempt to parse a JSON object fails. Change 3542658 by Ben.Marsh UBT: Include a chain of references when reporting errors instantiating modules. Change 3543432 by Ben.Marsh Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set. Change 3543436 by Ben.Marsh UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails. Change 3543536 by Ben.Marsh UBT: Downgrade message about redundant plugin references to a warning. Change 3543871 by Gil.Gribb UE4 - Fixed a critical crash bug with non-EDL loading from pak files. Change 3543924 by Robert.Manuszewski Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes. +Small optimization to token stream generation code. Change 3544469 by Jin.Zhang Crashes page displays the list of plugins from the crash context #rb Change 3544608 by Steve.Robb Fix for nativized generated code. #jira UE-47452 Change 3544612 by Ben.Marsh Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages(). #jira UE-47449 Change 3545954 by Gil.Gribb Fixed a critical crash bug relating to a race condition in async package summary reading. Change 3545968 by Ben.Marsh UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same. #jira UE-47419 Change 3545976 by Ben.Marsh EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch. Change 3546185 by Ben.Marsh Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped. Change 3547084 by Gil.Gribb Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms. Change 3547968 by Gil.Gribb Fixed critical race which potentially could cause a crash in the pak precacher. Change 3504722 by Ben.Marsh BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run. For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as: ERROR: Unable to write to foo.txt while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" /> at Engine\Build\InstalledEngineBuild.xml(91) (see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace) Change 3512255 by Ben.Marsh Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated. Change 3512332 by Ben.Marsh Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4. Change 3512393 by Ben.Marsh Rename FPaths::GameLogDir() to FPaths::ProjectLogDir(). Change 3513452 by Ben.Marsh Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project. Change 3516262 by Ben.Marsh Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor. * Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod. * The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders). Change 3517565 by Ben.Marsh Remove fixed engine version numbers from OSS plugins. Change 3518005 by Ben.Marsh UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false. Change 3518054 by Ben.Marsh UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard. Change 3524496 by Ben.Marsh Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core. Change 3524641 by Ben.Marsh Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc. Change 3528723 by Steve.Robb MoveTemp now static asserts if passed a const reference or rvalue. MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious. Fixes to violations of these new rules. Change 3528876 by Ben.Marsh Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste. Change 3529073 by Ben.Marsh Add script to package ShooterGame for any platforms. Change 3531493 by Ben.Marsh Update platform-specific plugins to declare the target platforms they support. Change 3531611 by Ben.Marsh UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates. Change 3531868 by Ben.Marsh Resaving project descriptors to remove invalid fields. Change 3531983 by Ben.Marsh UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders. * Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer. * Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type) * Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo")) * An error is output if any restricted folder names other than the output platform are in the staged output. Change 3540315 by Ben.Marsh UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers. Change 3542410 by Ben.Marsh UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already. Change 3543018 by Ben.Marsh UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions. Change 3544371 by Steve.Robb Fixes to TSet_Add and TMap_Add BPs. #jira UE-47441 [CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
OutputFile = StagedFileReference.Combine(RelativeProjectRootForStage, InputFile.MakeRelativeTo(ProjectRoot));
}
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3494741 by Steve.Robb Generated code size savings. #jira UE-43048 Change 3495484 by Steve.Robb Fix for generated indices of static arrays when saving configs. Change 3497926 by Robert.Manuszewski Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything. Change 3498077 by Robert.Manuszewski Only use the recursion guard in async loading code when the event driven loader is enabled. Change 3498112 by Ben.Marsh UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own. Change 3500239 by Robert.Manuszewski Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes. Change 3500395 by Steve.Robb Extra codegen savings when not in hot reload. Change 3501004 by Steve.Robb EObjectFlags now have constexpr operators. Change 3502079 by Ben.Marsh UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary. Change 3502527 by Steve.Robb Fix for zero-sized array compile error in generated code when all functions are editor-only. Change 3502542 by Ben.Marsh UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead. Change 3502868 by Steve.Robb Workaround for inefficient generated code with stateless lambdas on Clang. Change 3503550 by Steve.Robb Another generated code lambda optimization. Change 3503582 by Ben.Marsh BuildGraph: Add support for nullable parameter types. Change 3504424 by Steve.Robb New AllOf, AnyOf and NoneOf algorithms. Change 3504712 by Ben.Marsh UAT: Less spammy log and error output from UAT. * Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception). * Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information. * AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log) * Name of the calling function is not included in console output by default, but still included in the log. Change 3504808 by Ben.Marsh UAT: Suppress P4 output when running a recursive instance of UAT. Change 3505044 by Steve.Robb Code generation improved for TCppClassType code. Change 3505485 by Ben.Marsh Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module. Change 3505699 by Ben.Marsh Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins. Change 3506055 by Ben.Marsh UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output. Change 3507745 by Robert.Manuszewski Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses). Change 3507911 by Ben.Marsh Plugins: Minor changes to plugin descriptors. * Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors. * Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from. Change 3508669 by Ben.Marsh EC: Parse multi-line messages from UBT and UAT. Change 3508691 by Ben.Marsh Fix double-spacing of cook stats. Change 3509245 by Steve.Robb UHT makefiles removed. Flag audit removed. Change 3509275 by Steve.Robb Fix for mismatched stat categories in AudioMixer. #jira UE-46129 Change 3509289 by Robert.Manuszewski Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably. Change 3509294 by Robert.Manuszewski UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it. Change 3509312 by Steve.Robb GitHub# 3679: Add TArray constructor that takes a raw pointer and a count Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too. #jira UE-46136 Change 3509396 by Steve.Robb GitHub# 3676: Fix TUnion operator<< compile error #jira UE-46099 Change 3509633 by Steve.Robb Fix for line numbers on multiline macros. Change 3509938 by Gil.Gribb UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading. Change 3510593 by Daniel.Lamb Fixed up unsoilicited files getting populated with files which aren't finished being created yet. #test None Change 3510594 by Daniel.Lamb Fixed up temp files directory for patching. Thanks David Yerkess @ Milestone #review@Ben.Marsh Change 3511628 by Ben.Marsh PR #3707: Fixed UBT stack size (Contributed by gildor2) Change 3511808 by Ben.Marsh Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git) #jira UE-46540 Change 3512017 by Ben.Marsh Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface. Change 3513935 by Steve.Robb Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477. Change 3514142 by Steve.Robb MemoryProfiler2 added to generated solution. Change 3516463 by Ben.Marsh Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user. Change 3517860 by Ben.Marsh PR #3727: FString Dereference Fixes (Contributed by jovisgCL) Change 3517967 by Ben.Marsh Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line. Change 3518070 by Steve.Robb Disable Binned2 stats in shipping non-editor builds. Change 3520079 by Steve.Robb Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions. #jira UE-24034 Change 3520080 by Robert.Manuszewski Made max package summary size to be configurable with ini setting Change 3520083 by Steve.Robb Force a GC after hot reload to clean up reinstanced objects which may still tick. #jira UE-40421 Change 3520480 by Robert.Manuszewski Improved assert message when the initial package read request was too small. Change 3520590 by Graeme.Thornton SignedArchiveReader optimizations - Loads more stats - Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader - Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time - Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries Change 3521023 by Graeme.Thornton Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing Change 3521787 by Ben.Marsh PR #3736: Small static code analysis fixes (Contributed by jovisgCL) Change 3521789 by Ben.Marsh PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar) Change 3524721 by Ben.Marsh Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core. Change 3524741 by Ben.Marsh Move PumpMessages() into FPlatformApplicationMisc. Change 3525399 by Ben.Marsh UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment. Change 3525743 by Ben.Marsh UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds. Change 3525746 by Ben.Marsh EC: Include the clobber option on new workspaces, to allow overriding version files when syncing. Change 3526453 by Ben.Marsh UGS: Do not generate project files when syncing precompiled binaries. Change 3527045 by Ben.Marsh Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting. Change 3527420 by Ben.Marsh UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing). Config files are now read from: Engine/Programs/UnrealGameSync/UnrealGameSync.ini Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini If a project is selected: <ProjectDir>/Build/UnrealGameSync.ini <ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini If the .uprojectdirs file is selected: Engine/Programs/UnrealGameSync/DefaultProject.ini Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini Change 3528063 by Ben.Marsh Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse. Change 3528415 by Ben.Marsh UAT: Remove \r characters from the end of multiline log messages. Change 3528427 by Ben.Marsh EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent. Change 3528485 by Ben.Marsh EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places. Change 3528505 by Steve.Robb PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL) #jira UE-46819 Change 3528772 by Robert.Manuszewski Enabling actor and blueprint clustering in ShooterGame Change 3528786 by Robert.Manuszewski PR #3760: Fix typo (Contributed by jesseyeh) Change 3528792 by Steve.Robb PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL) #jira UE-46962 Change 3528941 by Robert.Manuszewski Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object. #jira UE-44996 Change 3530241 by Ben.Marsh UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value. Change 3531377 by Ben.Marsh Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it. This has several advantages over the per-module platform whitelist/blacklist: * Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore. * References to dependent plugins from platform-specific plugins can now be eliminated. * Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly). * The editor can load any plugins without having to whitelist supported editor host platforms. UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime. Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary. Change 3531502 by Jin.Zhang Add support for GPUCrash #rb Change 3531664 by Ben.Marsh UBT: Change output format from C# JSON writer to match output by the engine. Change 3531848 by Ben.Marsh UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable. Change 3531869 by Ben.Marsh UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field. Change 3532474 by Ben.Marsh UBT: Use the same mechanism as UAT for logging exceptions. Change 3532734 by Graeme.Thornton Initial VSCode Support - Tasks generated for building all game/engine/program targets - Debugging support for targets on Win64 Change 3532789 by Steve.Robb FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap. Set_Add and Map_Add no longer have a return value. FScriptSet::Find and FScriptMap::Find functions are now FindIndex. FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash. Change 3532845 by Steve.Robb Obsolete UHT settings deleted. Change 3532875 by Graeme.Thornton VSCode - Add debug targets for different target configurations - Choose between VS debugger (windows) and GDB (mac/linux) Change 3532906 by Graeme.Thornton VSCode - Point all builds directly at UBT rather than the batch files - Adjust mac build tasks to run through mono Change 3532924 by Ben.Marsh UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root. Change 3535234 by Graeme.Thornton VSCode - Pass intellisense system a list of paths to use for header resolution Change 3535247 by Graeme.Thornton UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation Change 3535376 by Graeme.Thornton VSCode - Added build jobs for C# projects - Linked launch tasks to relevant build task Change 3537083 by Ben.Marsh EC: Change P4 swarm links to start at the changelist for a build. Change 3537368 by Graeme.Thornton Fix for crash in FSignedArchiveReader when multithreading is disabled Change 3537550 by Graeme.Thornton Fixed a crash in the taskgraph when running single threaded Change 3537922 by Steve.Robb Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT. Change 3539691 by Graeme.Thornton VSCode - Various updates to get PC and Mac C++ projects building and debugging. - Some other changes to C# setup to allow compilation. Debugging doesn't work. Change 3539775 by Ben.Marsh Plugins: Various fixes to settings for enabling plugins. * Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled). * Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed. * Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them. Change 3540788 by Ben.Marsh UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile). Example usage: public class UnrealPakTarget : TargetRules { public UnrealPakTarget(TargetInfo Target) : base(Target) { Type = TargetType.Program; LinkType = TargetLinkType.Monolithic; LaunchModuleName = "UnrealPak"; if(HostPlatform == UnrealTargetPlatform.Win64) { PreBuildSteps.Add("echo Before building:"); PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); PostBuildSteps.Add("echo After building!"); PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); } } } Change 3541664 by Graeme.Thornton VSCode - Add problemMatcher tag to cpp build targets Change 3541732 by Graeme.Thornton VSCode - Change UBT command line switch to "-vscode" for simplicity Change 3541967 by Graeme.Thornton VSCode - Fixes for Mac/Linux build steps Change 3541968 by Ben.Marsh CRP: Pass through the EnabledPlugins element in crash context XML files. #jira UE-46912 Change 3542519 by Ben.Marsh UBT: Add chain of references to error messages when configuring plugins. Change 3542523 by Ben.Marsh UBT: Add more useful error message when attempt to parse a JSON object fails. Change 3542658 by Ben.Marsh UBT: Include a chain of references when reporting errors instantiating modules. Change 3543432 by Ben.Marsh Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set. Change 3543436 by Ben.Marsh UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails. Change 3543536 by Ben.Marsh UBT: Downgrade message about redundant plugin references to a warning. Change 3543871 by Gil.Gribb UE4 - Fixed a critical crash bug with non-EDL loading from pak files. Change 3543924 by Robert.Manuszewski Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes. +Small optimization to token stream generation code. Change 3544469 by Jin.Zhang Crashes page displays the list of plugins from the crash context #rb Change 3544608 by Steve.Robb Fix for nativized generated code. #jira UE-47452 Change 3544612 by Ben.Marsh Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages(). #jira UE-47449 Change 3545954 by Gil.Gribb Fixed a critical crash bug relating to a race condition in async package summary reading. Change 3545968 by Ben.Marsh UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same. #jira UE-47419 Change 3545976 by Ben.Marsh EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch. Change 3546185 by Ben.Marsh Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped. Change 3547084 by Gil.Gribb Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms. Change 3547968 by Gil.Gribb Fixed critical race which potentially could cause a crash in the pak precacher. Change 3504722 by Ben.Marsh BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run. For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as: ERROR: Unable to write to foo.txt while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" /> at Engine\Build\InstalledEngineBuild.xml(91) (see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace) Change 3512255 by Ben.Marsh Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated. Change 3512332 by Ben.Marsh Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4. Change 3512393 by Ben.Marsh Rename FPaths::GameLogDir() to FPaths::ProjectLogDir(). Change 3513452 by Ben.Marsh Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project. Change 3516262 by Ben.Marsh Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor. * Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod. * The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders). Change 3517565 by Ben.Marsh Remove fixed engine version numbers from OSS plugins. Change 3518005 by Ben.Marsh UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false. Change 3518054 by Ben.Marsh UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard. Change 3524496 by Ben.Marsh Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core. Change 3524641 by Ben.Marsh Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc. Change 3528723 by Steve.Robb MoveTemp now static asserts if passed a const reference or rvalue. MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious. Fixes to violations of these new rules. Change 3528876 by Ben.Marsh Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste. Change 3529073 by Ben.Marsh Add script to package ShooterGame for any platforms. Change 3531493 by Ben.Marsh Update platform-specific plugins to declare the target platforms they support. Change 3531611 by Ben.Marsh UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates. Change 3531868 by Ben.Marsh Resaving project descriptors to remove invalid fields. Change 3531983 by Ben.Marsh UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders. * Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer. * Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type) * Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo")) * An error is output if any restricted folder names other than the output platform are in the staged output. Change 3540315 by Ben.Marsh UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers. Change 3542410 by Ben.Marsh UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already. Change 3543018 by Ben.Marsh UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions. Change 3544371 by Steve.Robb Fixes to TSet_Add and TMap_Add BPs. #jira UE-47441 [CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
else if (InputFile.HasExtension(".uplugin"))
{
DirectoryReference EnterpriseRoot = DirectoryReference.Combine(EngineRoot, "..", "Enterprise"); // Enterprise plugins aren't under the project additional plugin directories, so they shouldn't be remapped
if (InputFile.IsUnderDirectory(EngineRoot) || InputFile.IsUnderDirectory(EnterpriseRoot))
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3494741 by Steve.Robb Generated code size savings. #jira UE-43048 Change 3495484 by Steve.Robb Fix for generated indices of static arrays when saving configs. Change 3497926 by Robert.Manuszewski Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything. Change 3498077 by Robert.Manuszewski Only use the recursion guard in async loading code when the event driven loader is enabled. Change 3498112 by Ben.Marsh UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own. Change 3500239 by Robert.Manuszewski Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes. Change 3500395 by Steve.Robb Extra codegen savings when not in hot reload. Change 3501004 by Steve.Robb EObjectFlags now have constexpr operators. Change 3502079 by Ben.Marsh UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary. Change 3502527 by Steve.Robb Fix for zero-sized array compile error in generated code when all functions are editor-only. Change 3502542 by Ben.Marsh UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead. Change 3502868 by Steve.Robb Workaround for inefficient generated code with stateless lambdas on Clang. Change 3503550 by Steve.Robb Another generated code lambda optimization. Change 3503582 by Ben.Marsh BuildGraph: Add support for nullable parameter types. Change 3504424 by Steve.Robb New AllOf, AnyOf and NoneOf algorithms. Change 3504712 by Ben.Marsh UAT: Less spammy log and error output from UAT. * Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception). * Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information. * AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log) * Name of the calling function is not included in console output by default, but still included in the log. Change 3504808 by Ben.Marsh UAT: Suppress P4 output when running a recursive instance of UAT. Change 3505044 by Steve.Robb Code generation improved for TCppClassType code. Change 3505485 by Ben.Marsh Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module. Change 3505699 by Ben.Marsh Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins. Change 3506055 by Ben.Marsh UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output. Change 3507745 by Robert.Manuszewski Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses). Change 3507911 by Ben.Marsh Plugins: Minor changes to plugin descriptors. * Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors. * Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from. Change 3508669 by Ben.Marsh EC: Parse multi-line messages from UBT and UAT. Change 3508691 by Ben.Marsh Fix double-spacing of cook stats. Change 3509245 by Steve.Robb UHT makefiles removed. Flag audit removed. Change 3509275 by Steve.Robb Fix for mismatched stat categories in AudioMixer. #jira UE-46129 Change 3509289 by Robert.Manuszewski Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably. Change 3509294 by Robert.Manuszewski UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it. Change 3509312 by Steve.Robb GitHub# 3679: Add TArray constructor that takes a raw pointer and a count Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too. #jira UE-46136 Change 3509396 by Steve.Robb GitHub# 3676: Fix TUnion operator<< compile error #jira UE-46099 Change 3509633 by Steve.Robb Fix for line numbers on multiline macros. Change 3509938 by Gil.Gribb UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading. Change 3510593 by Daniel.Lamb Fixed up unsoilicited files getting populated with files which aren't finished being created yet. #test None Change 3510594 by Daniel.Lamb Fixed up temp files directory for patching. Thanks David Yerkess @ Milestone #review@Ben.Marsh Change 3511628 by Ben.Marsh PR #3707: Fixed UBT stack size (Contributed by gildor2) Change 3511808 by Ben.Marsh Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git) #jira UE-46540 Change 3512017 by Ben.Marsh Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface. Change 3513935 by Steve.Robb Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477. Change 3514142 by Steve.Robb MemoryProfiler2 added to generated solution. Change 3516463 by Ben.Marsh Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user. Change 3517860 by Ben.Marsh PR #3727: FString Dereference Fixes (Contributed by jovisgCL) Change 3517967 by Ben.Marsh Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line. Change 3518070 by Steve.Robb Disable Binned2 stats in shipping non-editor builds. Change 3520079 by Steve.Robb Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions. #jira UE-24034 Change 3520080 by Robert.Manuszewski Made max package summary size to be configurable with ini setting Change 3520083 by Steve.Robb Force a GC after hot reload to clean up reinstanced objects which may still tick. #jira UE-40421 Change 3520480 by Robert.Manuszewski Improved assert message when the initial package read request was too small. Change 3520590 by Graeme.Thornton SignedArchiveReader optimizations - Loads more stats - Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader - Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time - Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries Change 3521023 by Graeme.Thornton Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing Change 3521787 by Ben.Marsh PR #3736: Small static code analysis fixes (Contributed by jovisgCL) Change 3521789 by Ben.Marsh PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar) Change 3524721 by Ben.Marsh Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core. Change 3524741 by Ben.Marsh Move PumpMessages() into FPlatformApplicationMisc. Change 3525399 by Ben.Marsh UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment. Change 3525743 by Ben.Marsh UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds. Change 3525746 by Ben.Marsh EC: Include the clobber option on new workspaces, to allow overriding version files when syncing. Change 3526453 by Ben.Marsh UGS: Do not generate project files when syncing precompiled binaries. Change 3527045 by Ben.Marsh Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting. Change 3527420 by Ben.Marsh UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing). Config files are now read from: Engine/Programs/UnrealGameSync/UnrealGameSync.ini Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini If a project is selected: <ProjectDir>/Build/UnrealGameSync.ini <ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini If the .uprojectdirs file is selected: Engine/Programs/UnrealGameSync/DefaultProject.ini Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini Change 3528063 by Ben.Marsh Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse. Change 3528415 by Ben.Marsh UAT: Remove \r characters from the end of multiline log messages. Change 3528427 by Ben.Marsh EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent. Change 3528485 by Ben.Marsh EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places. Change 3528505 by Steve.Robb PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL) #jira UE-46819 Change 3528772 by Robert.Manuszewski Enabling actor and blueprint clustering in ShooterGame Change 3528786 by Robert.Manuszewski PR #3760: Fix typo (Contributed by jesseyeh) Change 3528792 by Steve.Robb PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL) #jira UE-46962 Change 3528941 by Robert.Manuszewski Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object. #jira UE-44996 Change 3530241 by Ben.Marsh UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value. Change 3531377 by Ben.Marsh Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it. This has several advantages over the per-module platform whitelist/blacklist: * Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore. * References to dependent plugins from platform-specific plugins can now be eliminated. * Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly). * The editor can load any plugins without having to whitelist supported editor host platforms. UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime. Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary. Change 3531502 by Jin.Zhang Add support for GPUCrash #rb Change 3531664 by Ben.Marsh UBT: Change output format from C# JSON writer to match output by the engine. Change 3531848 by Ben.Marsh UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable. Change 3531869 by Ben.Marsh UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field. Change 3532474 by Ben.Marsh UBT: Use the same mechanism as UAT for logging exceptions. Change 3532734 by Graeme.Thornton Initial VSCode Support - Tasks generated for building all game/engine/program targets - Debugging support for targets on Win64 Change 3532789 by Steve.Robb FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap. Set_Add and Map_Add no longer have a return value. FScriptSet::Find and FScriptMap::Find functions are now FindIndex. FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash. Change 3532845 by Steve.Robb Obsolete UHT settings deleted. Change 3532875 by Graeme.Thornton VSCode - Add debug targets for different target configurations - Choose between VS debugger (windows) and GDB (mac/linux) Change 3532906 by Graeme.Thornton VSCode - Point all builds directly at UBT rather than the batch files - Adjust mac build tasks to run through mono Change 3532924 by Ben.Marsh UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root. Change 3535234 by Graeme.Thornton VSCode - Pass intellisense system a list of paths to use for header resolution Change 3535247 by Graeme.Thornton UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation Change 3535376 by Graeme.Thornton VSCode - Added build jobs for C# projects - Linked launch tasks to relevant build task Change 3537083 by Ben.Marsh EC: Change P4 swarm links to start at the changelist for a build. Change 3537368 by Graeme.Thornton Fix for crash in FSignedArchiveReader when multithreading is disabled Change 3537550 by Graeme.Thornton Fixed a crash in the taskgraph when running single threaded Change 3537922 by Steve.Robb Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT. Change 3539691 by Graeme.Thornton VSCode - Various updates to get PC and Mac C++ projects building and debugging. - Some other changes to C# setup to allow compilation. Debugging doesn't work. Change 3539775 by Ben.Marsh Plugins: Various fixes to settings for enabling plugins. * Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled). * Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed. * Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them. Change 3540788 by Ben.Marsh UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile). Example usage: public class UnrealPakTarget : TargetRules { public UnrealPakTarget(TargetInfo Target) : base(Target) { Type = TargetType.Program; LinkType = TargetLinkType.Monolithic; LaunchModuleName = "UnrealPak"; if(HostPlatform == UnrealTargetPlatform.Win64) { PreBuildSteps.Add("echo Before building:"); PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); PostBuildSteps.Add("echo After building!"); PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); } } } Change 3541664 by Graeme.Thornton VSCode - Add problemMatcher tag to cpp build targets Change 3541732 by Graeme.Thornton VSCode - Change UBT command line switch to "-vscode" for simplicity Change 3541967 by Graeme.Thornton VSCode - Fixes for Mac/Linux build steps Change 3541968 by Ben.Marsh CRP: Pass through the EnabledPlugins element in crash context XML files. #jira UE-46912 Change 3542519 by Ben.Marsh UBT: Add chain of references to error messages when configuring plugins. Change 3542523 by Ben.Marsh UBT: Add more useful error message when attempt to parse a JSON object fails. Change 3542658 by Ben.Marsh UBT: Include a chain of references when reporting errors instantiating modules. Change 3543432 by Ben.Marsh Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set. Change 3543436 by Ben.Marsh UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails. Change 3543536 by Ben.Marsh UBT: Downgrade message about redundant plugin references to a warning. Change 3543871 by Gil.Gribb UE4 - Fixed a critical crash bug with non-EDL loading from pak files. Change 3543924 by Robert.Manuszewski Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes. +Small optimization to token stream generation code. Change 3544469 by Jin.Zhang Crashes page displays the list of plugins from the crash context #rb Change 3544608 by Steve.Robb Fix for nativized generated code. #jira UE-47452 Change 3544612 by Ben.Marsh Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages(). #jira UE-47449 Change 3545954 by Gil.Gribb Fixed a critical crash bug relating to a race condition in async package summary reading. Change 3545968 by Ben.Marsh UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same. #jira UE-47419 Change 3545976 by Ben.Marsh EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch. Change 3546185 by Ben.Marsh Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped. Change 3547084 by Gil.Gribb Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms. Change 3547968 by Gil.Gribb Fixed critical race which potentially could cause a crash in the pak precacher. Change 3504722 by Ben.Marsh BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run. For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as: ERROR: Unable to write to foo.txt while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" /> at Engine\Build\InstalledEngineBuild.xml(91) (see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace) Change 3512255 by Ben.Marsh Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated. Change 3512332 by Ben.Marsh Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4. Change 3512393 by Ben.Marsh Rename FPaths::GameLogDir() to FPaths::ProjectLogDir(). Change 3513452 by Ben.Marsh Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project. Change 3516262 by Ben.Marsh Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor. * Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod. * The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders). Change 3517565 by Ben.Marsh Remove fixed engine version numbers from OSS plugins. Change 3518005 by Ben.Marsh UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false. Change 3518054 by Ben.Marsh UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard. Change 3524496 by Ben.Marsh Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core. Change 3524641 by Ben.Marsh Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc. Change 3528723 by Steve.Robb MoveTemp now static asserts if passed a const reference or rvalue. MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious. Fixes to violations of these new rules. Change 3528876 by Ben.Marsh Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste. Change 3529073 by Ben.Marsh Add script to package ShooterGame for any platforms. Change 3531493 by Ben.Marsh Update platform-specific plugins to declare the target platforms they support. Change 3531611 by Ben.Marsh UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates. Change 3531868 by Ben.Marsh Resaving project descriptors to remove invalid fields. Change 3531983 by Ben.Marsh UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders. * Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer. * Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type) * Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo")) * An error is output if any restricted folder names other than the output platform are in the staged output. Change 3540315 by Ben.Marsh UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers. Change 3542410 by Ben.Marsh UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already. Change 3543018 by Ben.Marsh UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions. Change 3544371 by Steve.Robb Fixes to TSet_Add and TMap_Add BPs. #jira UE-47441 [CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
{
OutputFile = new StagedFileReference(InputFile.MakeRelativeTo(LocalRoot));
}
else
{
// This is a plugin that lives outside of the Engine/Plugins or Game/Plugins directory so needs to be remapped for staging/packaging
// We need to remap C:\SomePath\PluginName\PluginName.uplugin to RemappedPlugins\PluginName\PluginName.uplugin
OutputFile = new StagedFileReference(String.Format("RemappedPlugins/{0}/{1}", InputFile.GetFileNameWithoutExtension(), InputFile.GetFileName()));
}
}
else if (InputFile.IsUnderDirectory(LocalRoot))
{
OutputFile = new StagedFileReference(InputFile.MakeRelativeTo(LocalRoot));
}
else if (DLCRoot != null && InputFile.IsUnderDirectory(DLCRoot))
{
OutputFile = new StagedFileReference(InputFile.MakeRelativeTo(DLCRoot));
}
else
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3494741 by Steve.Robb Generated code size savings. #jira UE-43048 Change 3495484 by Steve.Robb Fix for generated indices of static arrays when saving configs. Change 3497926 by Robert.Manuszewski Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything. Change 3498077 by Robert.Manuszewski Only use the recursion guard in async loading code when the event driven loader is enabled. Change 3498112 by Ben.Marsh UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own. Change 3500239 by Robert.Manuszewski Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes. Change 3500395 by Steve.Robb Extra codegen savings when not in hot reload. Change 3501004 by Steve.Robb EObjectFlags now have constexpr operators. Change 3502079 by Ben.Marsh UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary. Change 3502527 by Steve.Robb Fix for zero-sized array compile error in generated code when all functions are editor-only. Change 3502542 by Ben.Marsh UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead. Change 3502868 by Steve.Robb Workaround for inefficient generated code with stateless lambdas on Clang. Change 3503550 by Steve.Robb Another generated code lambda optimization. Change 3503582 by Ben.Marsh BuildGraph: Add support for nullable parameter types. Change 3504424 by Steve.Robb New AllOf, AnyOf and NoneOf algorithms. Change 3504712 by Ben.Marsh UAT: Less spammy log and error output from UAT. * Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception). * Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information. * AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log) * Name of the calling function is not included in console output by default, but still included in the log. Change 3504808 by Ben.Marsh UAT: Suppress P4 output when running a recursive instance of UAT. Change 3505044 by Steve.Robb Code generation improved for TCppClassType code. Change 3505485 by Ben.Marsh Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module. Change 3505699 by Ben.Marsh Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins. Change 3506055 by Ben.Marsh UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output. Change 3507745 by Robert.Manuszewski Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses). Change 3507911 by Ben.Marsh Plugins: Minor changes to plugin descriptors. * Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors. * Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from. Change 3508669 by Ben.Marsh EC: Parse multi-line messages from UBT and UAT. Change 3508691 by Ben.Marsh Fix double-spacing of cook stats. Change 3509245 by Steve.Robb UHT makefiles removed. Flag audit removed. Change 3509275 by Steve.Robb Fix for mismatched stat categories in AudioMixer. #jira UE-46129 Change 3509289 by Robert.Manuszewski Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably. Change 3509294 by Robert.Manuszewski UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it. Change 3509312 by Steve.Robb GitHub# 3679: Add TArray constructor that takes a raw pointer and a count Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too. #jira UE-46136 Change 3509396 by Steve.Robb GitHub# 3676: Fix TUnion operator<< compile error #jira UE-46099 Change 3509633 by Steve.Robb Fix for line numbers on multiline macros. Change 3509938 by Gil.Gribb UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading. Change 3510593 by Daniel.Lamb Fixed up unsoilicited files getting populated with files which aren't finished being created yet. #test None Change 3510594 by Daniel.Lamb Fixed up temp files directory for patching. Thanks David Yerkess @ Milestone #review@Ben.Marsh Change 3511628 by Ben.Marsh PR #3707: Fixed UBT stack size (Contributed by gildor2) Change 3511808 by Ben.Marsh Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git) #jira UE-46540 Change 3512017 by Ben.Marsh Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface. Change 3513935 by Steve.Robb Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477. Change 3514142 by Steve.Robb MemoryProfiler2 added to generated solution. Change 3516463 by Ben.Marsh Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user. Change 3517860 by Ben.Marsh PR #3727: FString Dereference Fixes (Contributed by jovisgCL) Change 3517967 by Ben.Marsh Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line. Change 3518070 by Steve.Robb Disable Binned2 stats in shipping non-editor builds. Change 3520079 by Steve.Robb Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions. #jira UE-24034 Change 3520080 by Robert.Manuszewski Made max package summary size to be configurable with ini setting Change 3520083 by Steve.Robb Force a GC after hot reload to clean up reinstanced objects which may still tick. #jira UE-40421 Change 3520480 by Robert.Manuszewski Improved assert message when the initial package read request was too small. Change 3520590 by Graeme.Thornton SignedArchiveReader optimizations - Loads more stats - Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader - Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time - Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries Change 3521023 by Graeme.Thornton Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing Change 3521787 by Ben.Marsh PR #3736: Small static code analysis fixes (Contributed by jovisgCL) Change 3521789 by Ben.Marsh PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar) Change 3524721 by Ben.Marsh Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core. Change 3524741 by Ben.Marsh Move PumpMessages() into FPlatformApplicationMisc. Change 3525399 by Ben.Marsh UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment. Change 3525743 by Ben.Marsh UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds. Change 3525746 by Ben.Marsh EC: Include the clobber option on new workspaces, to allow overriding version files when syncing. Change 3526453 by Ben.Marsh UGS: Do not generate project files when syncing precompiled binaries. Change 3527045 by Ben.Marsh Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting. Change 3527420 by Ben.Marsh UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing). Config files are now read from: Engine/Programs/UnrealGameSync/UnrealGameSync.ini Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini If a project is selected: <ProjectDir>/Build/UnrealGameSync.ini <ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini If the .uprojectdirs file is selected: Engine/Programs/UnrealGameSync/DefaultProject.ini Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini Change 3528063 by Ben.Marsh Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse. Change 3528415 by Ben.Marsh UAT: Remove \r characters from the end of multiline log messages. Change 3528427 by Ben.Marsh EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent. Change 3528485 by Ben.Marsh EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places. Change 3528505 by Steve.Robb PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL) #jira UE-46819 Change 3528772 by Robert.Manuszewski Enabling actor and blueprint clustering in ShooterGame Change 3528786 by Robert.Manuszewski PR #3760: Fix typo (Contributed by jesseyeh) Change 3528792 by Steve.Robb PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL) #jira UE-46962 Change 3528941 by Robert.Manuszewski Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object. #jira UE-44996 Change 3530241 by Ben.Marsh UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value. Change 3531377 by Ben.Marsh Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it. This has several advantages over the per-module platform whitelist/blacklist: * Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore. * References to dependent plugins from platform-specific plugins can now be eliminated. * Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly). * The editor can load any plugins without having to whitelist supported editor host platforms. UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime. Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary. Change 3531502 by Jin.Zhang Add support for GPUCrash #rb Change 3531664 by Ben.Marsh UBT: Change output format from C# JSON writer to match output by the engine. Change 3531848 by Ben.Marsh UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable. Change 3531869 by Ben.Marsh UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field. Change 3532474 by Ben.Marsh UBT: Use the same mechanism as UAT for logging exceptions. Change 3532734 by Graeme.Thornton Initial VSCode Support - Tasks generated for building all game/engine/program targets - Debugging support for targets on Win64 Change 3532789 by Steve.Robb FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap. Set_Add and Map_Add no longer have a return value. FScriptSet::Find and FScriptMap::Find functions are now FindIndex. FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash. Change 3532845 by Steve.Robb Obsolete UHT settings deleted. Change 3532875 by Graeme.Thornton VSCode - Add debug targets for different target configurations - Choose between VS debugger (windows) and GDB (mac/linux) Change 3532906 by Graeme.Thornton VSCode - Point all builds directly at UBT rather than the batch files - Adjust mac build tasks to run through mono Change 3532924 by Ben.Marsh UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root. Change 3535234 by Graeme.Thornton VSCode - Pass intellisense system a list of paths to use for header resolution Change 3535247 by Graeme.Thornton UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation Change 3535376 by Graeme.Thornton VSCode - Added build jobs for C# projects - Linked launch tasks to relevant build task Change 3537083 by Ben.Marsh EC: Change P4 swarm links to start at the changelist for a build. Change 3537368 by Graeme.Thornton Fix for crash in FSignedArchiveReader when multithreading is disabled Change 3537550 by Graeme.Thornton Fixed a crash in the taskgraph when running single threaded Change 3537922 by Steve.Robb Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT. Change 3539691 by Graeme.Thornton VSCode - Various updates to get PC and Mac C++ projects building and debugging. - Some other changes to C# setup to allow compilation. Debugging doesn't work. Change 3539775 by Ben.Marsh Plugins: Various fixes to settings for enabling plugins. * Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled). * Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed. * Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them. Change 3540788 by Ben.Marsh UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile). Example usage: public class UnrealPakTarget : TargetRules { public UnrealPakTarget(TargetInfo Target) : base(Target) { Type = TargetType.Program; LinkType = TargetLinkType.Monolithic; LaunchModuleName = "UnrealPak"; if(HostPlatform == UnrealTargetPlatform.Win64) { PreBuildSteps.Add("echo Before building:"); PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); PostBuildSteps.Add("echo After building!"); PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); } } } Change 3541664 by Graeme.Thornton VSCode - Add problemMatcher tag to cpp build targets Change 3541732 by Graeme.Thornton VSCode - Change UBT command line switch to "-vscode" for simplicity Change 3541967 by Graeme.Thornton VSCode - Fixes for Mac/Linux build steps Change 3541968 by Ben.Marsh CRP: Pass through the EnabledPlugins element in crash context XML files. #jira UE-46912 Change 3542519 by Ben.Marsh UBT: Add chain of references to error messages when configuring plugins. Change 3542523 by Ben.Marsh UBT: Add more useful error message when attempt to parse a JSON object fails. Change 3542658 by Ben.Marsh UBT: Include a chain of references when reporting errors instantiating modules. Change 3543432 by Ben.Marsh Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set. Change 3543436 by Ben.Marsh UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails. Change 3543536 by Ben.Marsh UBT: Downgrade message about redundant plugin references to a warning. Change 3543871 by Gil.Gribb UE4 - Fixed a critical crash bug with non-EDL loading from pak files. Change 3543924 by Robert.Manuszewski Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes. +Small optimization to token stream generation code. Change 3544469 by Jin.Zhang Crashes page displays the list of plugins from the crash context #rb Change 3544608 by Steve.Robb Fix for nativized generated code. #jira UE-47452 Change 3544612 by Ben.Marsh Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages(). #jira UE-47449 Change 3545954 by Gil.Gribb Fixed a critical crash bug relating to a race condition in async package summary reading. Change 3545968 by Ben.Marsh UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same. #jira UE-47419 Change 3545976 by Ben.Marsh EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch. Change 3546185 by Ben.Marsh Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped. Change 3547084 by Gil.Gribb Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms. Change 3547968 by Gil.Gribb Fixed critical race which potentially could cause a crash in the pak precacher. Change 3504722 by Ben.Marsh BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run. For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as: ERROR: Unable to write to foo.txt while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" /> at Engine\Build\InstalledEngineBuild.xml(91) (see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace) Change 3512255 by Ben.Marsh Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated. Change 3512332 by Ben.Marsh Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4. Change 3512393 by Ben.Marsh Rename FPaths::GameLogDir() to FPaths::ProjectLogDir(). Change 3513452 by Ben.Marsh Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project. Change 3516262 by Ben.Marsh Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor. * Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod. * The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders). Change 3517565 by Ben.Marsh Remove fixed engine version numbers from OSS plugins. Change 3518005 by Ben.Marsh UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false. Change 3518054 by Ben.Marsh UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard. Change 3524496 by Ben.Marsh Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core. Change 3524641 by Ben.Marsh Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc. Change 3528723 by Steve.Robb MoveTemp now static asserts if passed a const reference or rvalue. MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious. Fixes to violations of these new rules. Change 3528876 by Ben.Marsh Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste. Change 3529073 by Ben.Marsh Add script to package ShooterGame for any platforms. Change 3531493 by Ben.Marsh Update platform-specific plugins to declare the target platforms they support. Change 3531611 by Ben.Marsh UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates. Change 3531868 by Ben.Marsh Resaving project descriptors to remove invalid fields. Change 3531983 by Ben.Marsh UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders. * Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer. * Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type) * Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo")) * An error is output if any restricted folder names other than the output platform are in the staged output. Change 3540315 by Ben.Marsh UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers. Change 3542410 by Ben.Marsh UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already. Change 3543018 by Ben.Marsh UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions. Change 3544371 by Steve.Robb Fixes to TSet_Add and TMap_Add BPs. #jira UE-47441 [CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
{
throw new AutomationException("Can't deploy {0} because it doesn't start with {1} or {2}", InputFile, ProjectRoot, LocalRoot);
}
return OutputFile;
}
/// <summary>
/// Stage a single file to its default location
/// </summary>
/// <param name="FileType">The type of file being staged</param>
/// <param name="InputFile">Path to the file</param>
public void StageFile(StagedFileType FileType, FileReference InputFile)
{
StagedFileReference OutputFile = GetStagedFileLocation(InputFile);
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3494741 by Steve.Robb Generated code size savings. #jira UE-43048 Change 3495484 by Steve.Robb Fix for generated indices of static arrays when saving configs. Change 3497926 by Robert.Manuszewski Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything. Change 3498077 by Robert.Manuszewski Only use the recursion guard in async loading code when the event driven loader is enabled. Change 3498112 by Ben.Marsh UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own. Change 3500239 by Robert.Manuszewski Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes. Change 3500395 by Steve.Robb Extra codegen savings when not in hot reload. Change 3501004 by Steve.Robb EObjectFlags now have constexpr operators. Change 3502079 by Ben.Marsh UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary. Change 3502527 by Steve.Robb Fix for zero-sized array compile error in generated code when all functions are editor-only. Change 3502542 by Ben.Marsh UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead. Change 3502868 by Steve.Robb Workaround for inefficient generated code with stateless lambdas on Clang. Change 3503550 by Steve.Robb Another generated code lambda optimization. Change 3503582 by Ben.Marsh BuildGraph: Add support for nullable parameter types. Change 3504424 by Steve.Robb New AllOf, AnyOf and NoneOf algorithms. Change 3504712 by Ben.Marsh UAT: Less spammy log and error output from UAT. * Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception). * Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information. * AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log) * Name of the calling function is not included in console output by default, but still included in the log. Change 3504808 by Ben.Marsh UAT: Suppress P4 output when running a recursive instance of UAT. Change 3505044 by Steve.Robb Code generation improved for TCppClassType code. Change 3505485 by Ben.Marsh Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module. Change 3505699 by Ben.Marsh Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins. Change 3506055 by Ben.Marsh UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output. Change 3507745 by Robert.Manuszewski Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses). Change 3507911 by Ben.Marsh Plugins: Minor changes to plugin descriptors. * Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors. * Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from. Change 3508669 by Ben.Marsh EC: Parse multi-line messages from UBT and UAT. Change 3508691 by Ben.Marsh Fix double-spacing of cook stats. Change 3509245 by Steve.Robb UHT makefiles removed. Flag audit removed. Change 3509275 by Steve.Robb Fix for mismatched stat categories in AudioMixer. #jira UE-46129 Change 3509289 by Robert.Manuszewski Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably. Change 3509294 by Robert.Manuszewski UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it. Change 3509312 by Steve.Robb GitHub# 3679: Add TArray constructor that takes a raw pointer and a count Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too. #jira UE-46136 Change 3509396 by Steve.Robb GitHub# 3676: Fix TUnion operator<< compile error #jira UE-46099 Change 3509633 by Steve.Robb Fix for line numbers on multiline macros. Change 3509938 by Gil.Gribb UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading. Change 3510593 by Daniel.Lamb Fixed up unsoilicited files getting populated with files which aren't finished being created yet. #test None Change 3510594 by Daniel.Lamb Fixed up temp files directory for patching. Thanks David Yerkess @ Milestone #review@Ben.Marsh Change 3511628 by Ben.Marsh PR #3707: Fixed UBT stack size (Contributed by gildor2) Change 3511808 by Ben.Marsh Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git) #jira UE-46540 Change 3512017 by Ben.Marsh Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface. Change 3513935 by Steve.Robb Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477. Change 3514142 by Steve.Robb MemoryProfiler2 added to generated solution. Change 3516463 by Ben.Marsh Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user. Change 3517860 by Ben.Marsh PR #3727: FString Dereference Fixes (Contributed by jovisgCL) Change 3517967 by Ben.Marsh Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line. Change 3518070 by Steve.Robb Disable Binned2 stats in shipping non-editor builds. Change 3520079 by Steve.Robb Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions. #jira UE-24034 Change 3520080 by Robert.Manuszewski Made max package summary size to be configurable with ini setting Change 3520083 by Steve.Robb Force a GC after hot reload to clean up reinstanced objects which may still tick. #jira UE-40421 Change 3520480 by Robert.Manuszewski Improved assert message when the initial package read request was too small. Change 3520590 by Graeme.Thornton SignedArchiveReader optimizations - Loads more stats - Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader - Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time - Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries Change 3521023 by Graeme.Thornton Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing Change 3521787 by Ben.Marsh PR #3736: Small static code analysis fixes (Contributed by jovisgCL) Change 3521789 by Ben.Marsh PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar) Change 3524721 by Ben.Marsh Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core. Change 3524741 by Ben.Marsh Move PumpMessages() into FPlatformApplicationMisc. Change 3525399 by Ben.Marsh UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment. Change 3525743 by Ben.Marsh UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds. Change 3525746 by Ben.Marsh EC: Include the clobber option on new workspaces, to allow overriding version files when syncing. Change 3526453 by Ben.Marsh UGS: Do not generate project files when syncing precompiled binaries. Change 3527045 by Ben.Marsh Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting. Change 3527420 by Ben.Marsh UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing). Config files are now read from: Engine/Programs/UnrealGameSync/UnrealGameSync.ini Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini If a project is selected: <ProjectDir>/Build/UnrealGameSync.ini <ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini If the .uprojectdirs file is selected: Engine/Programs/UnrealGameSync/DefaultProject.ini Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini Change 3528063 by Ben.Marsh Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse. Change 3528415 by Ben.Marsh UAT: Remove \r characters from the end of multiline log messages. Change 3528427 by Ben.Marsh EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent. Change 3528485 by Ben.Marsh EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places. Change 3528505 by Steve.Robb PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL) #jira UE-46819 Change 3528772 by Robert.Manuszewski Enabling actor and blueprint clustering in ShooterGame Change 3528786 by Robert.Manuszewski PR #3760: Fix typo (Contributed by jesseyeh) Change 3528792 by Steve.Robb PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL) #jira UE-46962 Change 3528941 by Robert.Manuszewski Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object. #jira UE-44996 Change 3530241 by Ben.Marsh UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value. Change 3531377 by Ben.Marsh Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it. This has several advantages over the per-module platform whitelist/blacklist: * Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore. * References to dependent plugins from platform-specific plugins can now be eliminated. * Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly). * The editor can load any plugins without having to whitelist supported editor host platforms. UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime. Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary. Change 3531502 by Jin.Zhang Add support for GPUCrash #rb Change 3531664 by Ben.Marsh UBT: Change output format from C# JSON writer to match output by the engine. Change 3531848 by Ben.Marsh UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable. Change 3531869 by Ben.Marsh UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field. Change 3532474 by Ben.Marsh UBT: Use the same mechanism as UAT for logging exceptions. Change 3532734 by Graeme.Thornton Initial VSCode Support - Tasks generated for building all game/engine/program targets - Debugging support for targets on Win64 Change 3532789 by Steve.Robb FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap. Set_Add and Map_Add no longer have a return value. FScriptSet::Find and FScriptMap::Find functions are now FindIndex. FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash. Change 3532845 by Steve.Robb Obsolete UHT settings deleted. Change 3532875 by Graeme.Thornton VSCode - Add debug targets for different target configurations - Choose between VS debugger (windows) and GDB (mac/linux) Change 3532906 by Graeme.Thornton VSCode - Point all builds directly at UBT rather than the batch files - Adjust mac build tasks to run through mono Change 3532924 by Ben.Marsh UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root. Change 3535234 by Graeme.Thornton VSCode - Pass intellisense system a list of paths to use for header resolution Change 3535247 by Graeme.Thornton UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation Change 3535376 by Graeme.Thornton VSCode - Added build jobs for C# projects - Linked launch tasks to relevant build task Change 3537083 by Ben.Marsh EC: Change P4 swarm links to start at the changelist for a build. Change 3537368 by Graeme.Thornton Fix for crash in FSignedArchiveReader when multithreading is disabled Change 3537550 by Graeme.Thornton Fixed a crash in the taskgraph when running single threaded Change 3537922 by Steve.Robb Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT. Change 3539691 by Graeme.Thornton VSCode - Various updates to get PC and Mac C++ projects building and debugging. - Some other changes to C# setup to allow compilation. Debugging doesn't work. Change 3539775 by Ben.Marsh Plugins: Various fixes to settings for enabling plugins. * Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled). * Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed. * Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them. Change 3540788 by Ben.Marsh UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile). Example usage: public class UnrealPakTarget : TargetRules { public UnrealPakTarget(TargetInfo Target) : base(Target) { Type = TargetType.Program; LinkType = TargetLinkType.Monolithic; LaunchModuleName = "UnrealPak"; if(HostPlatform == UnrealTargetPlatform.Win64) { PreBuildSteps.Add("echo Before building:"); PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); PostBuildSteps.Add("echo After building!"); PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); } } } Change 3541664 by Graeme.Thornton VSCode - Add problemMatcher tag to cpp build targets Change 3541732 by Graeme.Thornton VSCode - Change UBT command line switch to "-vscode" for simplicity Change 3541967 by Graeme.Thornton VSCode - Fixes for Mac/Linux build steps Change 3541968 by Ben.Marsh CRP: Pass through the EnabledPlugins element in crash context XML files. #jira UE-46912 Change 3542519 by Ben.Marsh UBT: Add chain of references to error messages when configuring plugins. Change 3542523 by Ben.Marsh UBT: Add more useful error message when attempt to parse a JSON object fails. Change 3542658 by Ben.Marsh UBT: Include a chain of references when reporting errors instantiating modules. Change 3543432 by Ben.Marsh Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set. Change 3543436 by Ben.Marsh UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails. Change 3543536 by Ben.Marsh UBT: Downgrade message about redundant plugin references to a warning. Change 3543871 by Gil.Gribb UE4 - Fixed a critical crash bug with non-EDL loading from pak files. Change 3543924 by Robert.Manuszewski Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes. +Small optimization to token stream generation code. Change 3544469 by Jin.Zhang Crashes page displays the list of plugins from the crash context #rb Change 3544608 by Steve.Robb Fix for nativized generated code. #jira UE-47452 Change 3544612 by Ben.Marsh Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages(). #jira UE-47449 Change 3545954 by Gil.Gribb Fixed a critical crash bug relating to a race condition in async package summary reading. Change 3545968 by Ben.Marsh UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same. #jira UE-47419 Change 3545976 by Ben.Marsh EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch. Change 3546185 by Ben.Marsh Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped. Change 3547084 by Gil.Gribb Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms. Change 3547968 by Gil.Gribb Fixed critical race which potentially could cause a crash in the pak precacher. Change 3504722 by Ben.Marsh BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run. For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as: ERROR: Unable to write to foo.txt while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" /> at Engine\Build\InstalledEngineBuild.xml(91) (see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace) Change 3512255 by Ben.Marsh Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated. Change 3512332 by Ben.Marsh Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4. Change 3512393 by Ben.Marsh Rename FPaths::GameLogDir() to FPaths::ProjectLogDir(). Change 3513452 by Ben.Marsh Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project. Change 3516262 by Ben.Marsh Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor. * Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod. * The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders). Change 3517565 by Ben.Marsh Remove fixed engine version numbers from OSS plugins. Change 3518005 by Ben.Marsh UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false. Change 3518054 by Ben.Marsh UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard. Change 3524496 by Ben.Marsh Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core. Change 3524641 by Ben.Marsh Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc. Change 3528723 by Steve.Robb MoveTemp now static asserts if passed a const reference or rvalue. MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious. Fixes to violations of these new rules. Change 3528876 by Ben.Marsh Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste. Change 3529073 by Ben.Marsh Add script to package ShooterGame for any platforms. Change 3531493 by Ben.Marsh Update platform-specific plugins to declare the target platforms they support. Change 3531611 by Ben.Marsh UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates. Change 3531868 by Ben.Marsh Resaving project descriptors to remove invalid fields. Change 3531983 by Ben.Marsh UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders. * Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer. * Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type) * Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo")) * An error is output if any restricted folder names other than the output platform are in the staged output. Change 3540315 by Ben.Marsh UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers. Change 3542410 by Ben.Marsh UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already. Change 3543018 by Ben.Marsh UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions. Change 3544371 by Steve.Robb Fixes to TSet_Add and TMap_Add BPs. #jira UE-47441 [CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
StageFile(FileType, InputFile, OutputFile);
}
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3494741 by Steve.Robb Generated code size savings. #jira UE-43048 Change 3495484 by Steve.Robb Fix for generated indices of static arrays when saving configs. Change 3497926 by Robert.Manuszewski Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything. Change 3498077 by Robert.Manuszewski Only use the recursion guard in async loading code when the event driven loader is enabled. Change 3498112 by Ben.Marsh UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own. Change 3500239 by Robert.Manuszewski Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes. Change 3500395 by Steve.Robb Extra codegen savings when not in hot reload. Change 3501004 by Steve.Robb EObjectFlags now have constexpr operators. Change 3502079 by Ben.Marsh UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary. Change 3502527 by Steve.Robb Fix for zero-sized array compile error in generated code when all functions are editor-only. Change 3502542 by Ben.Marsh UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead. Change 3502868 by Steve.Robb Workaround for inefficient generated code with stateless lambdas on Clang. Change 3503550 by Steve.Robb Another generated code lambda optimization. Change 3503582 by Ben.Marsh BuildGraph: Add support for nullable parameter types. Change 3504424 by Steve.Robb New AllOf, AnyOf and NoneOf algorithms. Change 3504712 by Ben.Marsh UAT: Less spammy log and error output from UAT. * Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception). * Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information. * AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log) * Name of the calling function is not included in console output by default, but still included in the log. Change 3504808 by Ben.Marsh UAT: Suppress P4 output when running a recursive instance of UAT. Change 3505044 by Steve.Robb Code generation improved for TCppClassType code. Change 3505485 by Ben.Marsh Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module. Change 3505699 by Ben.Marsh Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins. Change 3506055 by Ben.Marsh UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output. Change 3507745 by Robert.Manuszewski Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses). Change 3507911 by Ben.Marsh Plugins: Minor changes to plugin descriptors. * Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors. * Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from. Change 3508669 by Ben.Marsh EC: Parse multi-line messages from UBT and UAT. Change 3508691 by Ben.Marsh Fix double-spacing of cook stats. Change 3509245 by Steve.Robb UHT makefiles removed. Flag audit removed. Change 3509275 by Steve.Robb Fix for mismatched stat categories in AudioMixer. #jira UE-46129 Change 3509289 by Robert.Manuszewski Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably. Change 3509294 by Robert.Manuszewski UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it. Change 3509312 by Steve.Robb GitHub# 3679: Add TArray constructor that takes a raw pointer and a count Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too. #jira UE-46136 Change 3509396 by Steve.Robb GitHub# 3676: Fix TUnion operator<< compile error #jira UE-46099 Change 3509633 by Steve.Robb Fix for line numbers on multiline macros. Change 3509938 by Gil.Gribb UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading. Change 3510593 by Daniel.Lamb Fixed up unsoilicited files getting populated with files which aren't finished being created yet. #test None Change 3510594 by Daniel.Lamb Fixed up temp files directory for patching. Thanks David Yerkess @ Milestone #review@Ben.Marsh Change 3511628 by Ben.Marsh PR #3707: Fixed UBT stack size (Contributed by gildor2) Change 3511808 by Ben.Marsh Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git) #jira UE-46540 Change 3512017 by Ben.Marsh Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface. Change 3513935 by Steve.Robb Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477. Change 3514142 by Steve.Robb MemoryProfiler2 added to generated solution. Change 3516463 by Ben.Marsh Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user. Change 3517860 by Ben.Marsh PR #3727: FString Dereference Fixes (Contributed by jovisgCL) Change 3517967 by Ben.Marsh Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line. Change 3518070 by Steve.Robb Disable Binned2 stats in shipping non-editor builds. Change 3520079 by Steve.Robb Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions. #jira UE-24034 Change 3520080 by Robert.Manuszewski Made max package summary size to be configurable with ini setting Change 3520083 by Steve.Robb Force a GC after hot reload to clean up reinstanced objects which may still tick. #jira UE-40421 Change 3520480 by Robert.Manuszewski Improved assert message when the initial package read request was too small. Change 3520590 by Graeme.Thornton SignedArchiveReader optimizations - Loads more stats - Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader - Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time - Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries Change 3521023 by Graeme.Thornton Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing Change 3521787 by Ben.Marsh PR #3736: Small static code analysis fixes (Contributed by jovisgCL) Change 3521789 by Ben.Marsh PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar) Change 3524721 by Ben.Marsh Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core. Change 3524741 by Ben.Marsh Move PumpMessages() into FPlatformApplicationMisc. Change 3525399 by Ben.Marsh UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment. Change 3525743 by Ben.Marsh UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds. Change 3525746 by Ben.Marsh EC: Include the clobber option on new workspaces, to allow overriding version files when syncing. Change 3526453 by Ben.Marsh UGS: Do not generate project files when syncing precompiled binaries. Change 3527045 by Ben.Marsh Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting. Change 3527420 by Ben.Marsh UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing). Config files are now read from: Engine/Programs/UnrealGameSync/UnrealGameSync.ini Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini If a project is selected: <ProjectDir>/Build/UnrealGameSync.ini <ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini If the .uprojectdirs file is selected: Engine/Programs/UnrealGameSync/DefaultProject.ini Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini Change 3528063 by Ben.Marsh Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse. Change 3528415 by Ben.Marsh UAT: Remove \r characters from the end of multiline log messages. Change 3528427 by Ben.Marsh EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent. Change 3528485 by Ben.Marsh EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places. Change 3528505 by Steve.Robb PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL) #jira UE-46819 Change 3528772 by Robert.Manuszewski Enabling actor and blueprint clustering in ShooterGame Change 3528786 by Robert.Manuszewski PR #3760: Fix typo (Contributed by jesseyeh) Change 3528792 by Steve.Robb PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL) #jira UE-46962 Change 3528941 by Robert.Manuszewski Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object. #jira UE-44996 Change 3530241 by Ben.Marsh UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value. Change 3531377 by Ben.Marsh Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it. This has several advantages over the per-module platform whitelist/blacklist: * Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore. * References to dependent plugins from platform-specific plugins can now be eliminated. * Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly). * The editor can load any plugins without having to whitelist supported editor host platforms. UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime. Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary. Change 3531502 by Jin.Zhang Add support for GPUCrash #rb Change 3531664 by Ben.Marsh UBT: Change output format from C# JSON writer to match output by the engine. Change 3531848 by Ben.Marsh UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable. Change 3531869 by Ben.Marsh UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field. Change 3532474 by Ben.Marsh UBT: Use the same mechanism as UAT for logging exceptions. Change 3532734 by Graeme.Thornton Initial VSCode Support - Tasks generated for building all game/engine/program targets - Debugging support for targets on Win64 Change 3532789 by Steve.Robb FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap. Set_Add and Map_Add no longer have a return value. FScriptSet::Find and FScriptMap::Find functions are now FindIndex. FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash. Change 3532845 by Steve.Robb Obsolete UHT settings deleted. Change 3532875 by Graeme.Thornton VSCode - Add debug targets for different target configurations - Choose between VS debugger (windows) and GDB (mac/linux) Change 3532906 by Graeme.Thornton VSCode - Point all builds directly at UBT rather than the batch files - Adjust mac build tasks to run through mono Change 3532924 by Ben.Marsh UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root. Change 3535234 by Graeme.Thornton VSCode - Pass intellisense system a list of paths to use for header resolution Change 3535247 by Graeme.Thornton UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation Change 3535376 by Graeme.Thornton VSCode - Added build jobs for C# projects - Linked launch tasks to relevant build task Change 3537083 by Ben.Marsh EC: Change P4 swarm links to start at the changelist for a build. Change 3537368 by Graeme.Thornton Fix for crash in FSignedArchiveReader when multithreading is disabled Change 3537550 by Graeme.Thornton Fixed a crash in the taskgraph when running single threaded Change 3537922 by Steve.Robb Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT. Change 3539691 by Graeme.Thornton VSCode - Various updates to get PC and Mac C++ projects building and debugging. - Some other changes to C# setup to allow compilation. Debugging doesn't work. Change 3539775 by Ben.Marsh Plugins: Various fixes to settings for enabling plugins. * Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled). * Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed. * Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them. Change 3540788 by Ben.Marsh UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile). Example usage: public class UnrealPakTarget : TargetRules { public UnrealPakTarget(TargetInfo Target) : base(Target) { Type = TargetType.Program; LinkType = TargetLinkType.Monolithic; LaunchModuleName = "UnrealPak"; if(HostPlatform == UnrealTargetPlatform.Win64) { PreBuildSteps.Add("echo Before building:"); PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); PostBuildSteps.Add("echo After building!"); PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); } } } Change 3541664 by Graeme.Thornton VSCode - Add problemMatcher tag to cpp build targets Change 3541732 by Graeme.Thornton VSCode - Change UBT command line switch to "-vscode" for simplicity Change 3541967 by Graeme.Thornton VSCode - Fixes for Mac/Linux build steps Change 3541968 by Ben.Marsh CRP: Pass through the EnabledPlugins element in crash context XML files. #jira UE-46912 Change 3542519 by Ben.Marsh UBT: Add chain of references to error messages when configuring plugins. Change 3542523 by Ben.Marsh UBT: Add more useful error message when attempt to parse a JSON object fails. Change 3542658 by Ben.Marsh UBT: Include a chain of references when reporting errors instantiating modules. Change 3543432 by Ben.Marsh Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set. Change 3543436 by Ben.Marsh UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails. Change 3543536 by Ben.Marsh UBT: Downgrade message about redundant plugin references to a warning. Change 3543871 by Gil.Gribb UE4 - Fixed a critical crash bug with non-EDL loading from pak files. Change 3543924 by Robert.Manuszewski Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes. +Small optimization to token stream generation code. Change 3544469 by Jin.Zhang Crashes page displays the list of plugins from the crash context #rb Change 3544608 by Steve.Robb Fix for nativized generated code. #jira UE-47452 Change 3544612 by Ben.Marsh Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages(). #jira UE-47449 Change 3545954 by Gil.Gribb Fixed a critical crash bug relating to a race condition in async package summary reading. Change 3545968 by Ben.Marsh UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same. #jira UE-47419 Change 3545976 by Ben.Marsh EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch. Change 3546185 by Ben.Marsh Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped. Change 3547084 by Gil.Gribb Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms. Change 3547968 by Gil.Gribb Fixed critical race which potentially could cause a crash in the pak precacher. Change 3504722 by Ben.Marsh BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run. For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as: ERROR: Unable to write to foo.txt while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" /> at Engine\Build\InstalledEngineBuild.xml(91) (see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace) Change 3512255 by Ben.Marsh Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated. Change 3512332 by Ben.Marsh Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4. Change 3512393 by Ben.Marsh Rename FPaths::GameLogDir() to FPaths::ProjectLogDir(). Change 3513452 by Ben.Marsh Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project. Change 3516262 by Ben.Marsh Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor. * Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod. * The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders). Change 3517565 by Ben.Marsh Remove fixed engine version numbers from OSS plugins. Change 3518005 by Ben.Marsh UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false. Change 3518054 by Ben.Marsh UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard. Change 3524496 by Ben.Marsh Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core. Change 3524641 by Ben.Marsh Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc. Change 3528723 by Steve.Robb MoveTemp now static asserts if passed a const reference or rvalue. MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious. Fixes to violations of these new rules. Change 3528876 by Ben.Marsh Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste. Change 3529073 by Ben.Marsh Add script to package ShooterGame for any platforms. Change 3531493 by Ben.Marsh Update platform-specific plugins to declare the target platforms they support. Change 3531611 by Ben.Marsh UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates. Change 3531868 by Ben.Marsh Resaving project descriptors to remove invalid fields. Change 3531983 by Ben.Marsh UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders. * Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer. * Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type) * Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo")) * An error is output if any restricted folder names other than the output platform are in the staged output. Change 3540315 by Ben.Marsh UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers. Change 3542410 by Ben.Marsh UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already. Change 3543018 by Ben.Marsh UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions. Change 3544371 by Steve.Robb Fixes to TSet_Add and TMap_Add BPs. #jira UE-47441 [CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
/// <summary>
/// Stage a single file
/// </summary>
/// <param name="FileType">The type for the staged file</param>
/// <param name="InputFile">The source file</param>
/// <param name="OutputFile">The staged file location</param>
public void StageFile(StagedFileType FileType, FileReference InputFile, StagedFileReference OutputFile)
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
FilesToStage.Add(FileType, OutputFile, InputFile);
}
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3494741 by Steve.Robb Generated code size savings. #jira UE-43048 Change 3495484 by Steve.Robb Fix for generated indices of static arrays when saving configs. Change 3497926 by Robert.Manuszewski Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything. Change 3498077 by Robert.Manuszewski Only use the recursion guard in async loading code when the event driven loader is enabled. Change 3498112 by Ben.Marsh UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own. Change 3500239 by Robert.Manuszewski Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes. Change 3500395 by Steve.Robb Extra codegen savings when not in hot reload. Change 3501004 by Steve.Robb EObjectFlags now have constexpr operators. Change 3502079 by Ben.Marsh UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary. Change 3502527 by Steve.Robb Fix for zero-sized array compile error in generated code when all functions are editor-only. Change 3502542 by Ben.Marsh UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead. Change 3502868 by Steve.Robb Workaround for inefficient generated code with stateless lambdas on Clang. Change 3503550 by Steve.Robb Another generated code lambda optimization. Change 3503582 by Ben.Marsh BuildGraph: Add support for nullable parameter types. Change 3504424 by Steve.Robb New AllOf, AnyOf and NoneOf algorithms. Change 3504712 by Ben.Marsh UAT: Less spammy log and error output from UAT. * Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception). * Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information. * AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log) * Name of the calling function is not included in console output by default, but still included in the log. Change 3504808 by Ben.Marsh UAT: Suppress P4 output when running a recursive instance of UAT. Change 3505044 by Steve.Robb Code generation improved for TCppClassType code. Change 3505485 by Ben.Marsh Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module. Change 3505699 by Ben.Marsh Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins. Change 3506055 by Ben.Marsh UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output. Change 3507745 by Robert.Manuszewski Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses). Change 3507911 by Ben.Marsh Plugins: Minor changes to plugin descriptors. * Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors. * Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from. Change 3508669 by Ben.Marsh EC: Parse multi-line messages from UBT and UAT. Change 3508691 by Ben.Marsh Fix double-spacing of cook stats. Change 3509245 by Steve.Robb UHT makefiles removed. Flag audit removed. Change 3509275 by Steve.Robb Fix for mismatched stat categories in AudioMixer. #jira UE-46129 Change 3509289 by Robert.Manuszewski Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably. Change 3509294 by Robert.Manuszewski UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it. Change 3509312 by Steve.Robb GitHub# 3679: Add TArray constructor that takes a raw pointer and a count Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too. #jira UE-46136 Change 3509396 by Steve.Robb GitHub# 3676: Fix TUnion operator<< compile error #jira UE-46099 Change 3509633 by Steve.Robb Fix for line numbers on multiline macros. Change 3509938 by Gil.Gribb UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading. Change 3510593 by Daniel.Lamb Fixed up unsoilicited files getting populated with files which aren't finished being created yet. #test None Change 3510594 by Daniel.Lamb Fixed up temp files directory for patching. Thanks David Yerkess @ Milestone #review@Ben.Marsh Change 3511628 by Ben.Marsh PR #3707: Fixed UBT stack size (Contributed by gildor2) Change 3511808 by Ben.Marsh Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git) #jira UE-46540 Change 3512017 by Ben.Marsh Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface. Change 3513935 by Steve.Robb Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477. Change 3514142 by Steve.Robb MemoryProfiler2 added to generated solution. Change 3516463 by Ben.Marsh Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user. Change 3517860 by Ben.Marsh PR #3727: FString Dereference Fixes (Contributed by jovisgCL) Change 3517967 by Ben.Marsh Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line. Change 3518070 by Steve.Robb Disable Binned2 stats in shipping non-editor builds. Change 3520079 by Steve.Robb Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions. #jira UE-24034 Change 3520080 by Robert.Manuszewski Made max package summary size to be configurable with ini setting Change 3520083 by Steve.Robb Force a GC after hot reload to clean up reinstanced objects which may still tick. #jira UE-40421 Change 3520480 by Robert.Manuszewski Improved assert message when the initial package read request was too small. Change 3520590 by Graeme.Thornton SignedArchiveReader optimizations - Loads more stats - Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader - Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time - Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries Change 3521023 by Graeme.Thornton Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing Change 3521787 by Ben.Marsh PR #3736: Small static code analysis fixes (Contributed by jovisgCL) Change 3521789 by Ben.Marsh PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar) Change 3524721 by Ben.Marsh Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core. Change 3524741 by Ben.Marsh Move PumpMessages() into FPlatformApplicationMisc. Change 3525399 by Ben.Marsh UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment. Change 3525743 by Ben.Marsh UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds. Change 3525746 by Ben.Marsh EC: Include the clobber option on new workspaces, to allow overriding version files when syncing. Change 3526453 by Ben.Marsh UGS: Do not generate project files when syncing precompiled binaries. Change 3527045 by Ben.Marsh Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting. Change 3527420 by Ben.Marsh UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing). Config files are now read from: Engine/Programs/UnrealGameSync/UnrealGameSync.ini Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini If a project is selected: <ProjectDir>/Build/UnrealGameSync.ini <ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini If the .uprojectdirs file is selected: Engine/Programs/UnrealGameSync/DefaultProject.ini Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini Change 3528063 by Ben.Marsh Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse. Change 3528415 by Ben.Marsh UAT: Remove \r characters from the end of multiline log messages. Change 3528427 by Ben.Marsh EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent. Change 3528485 by Ben.Marsh EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places. Change 3528505 by Steve.Robb PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL) #jira UE-46819 Change 3528772 by Robert.Manuszewski Enabling actor and blueprint clustering in ShooterGame Change 3528786 by Robert.Manuszewski PR #3760: Fix typo (Contributed by jesseyeh) Change 3528792 by Steve.Robb PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL) #jira UE-46962 Change 3528941 by Robert.Manuszewski Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object. #jira UE-44996 Change 3530241 by Ben.Marsh UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value. Change 3531377 by Ben.Marsh Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it. This has several advantages over the per-module platform whitelist/blacklist: * Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore. * References to dependent plugins from platform-specific plugins can now be eliminated. * Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly). * The editor can load any plugins without having to whitelist supported editor host platforms. UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime. Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary. Change 3531502 by Jin.Zhang Add support for GPUCrash #rb Change 3531664 by Ben.Marsh UBT: Change output format from C# JSON writer to match output by the engine. Change 3531848 by Ben.Marsh UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable. Change 3531869 by Ben.Marsh UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field. Change 3532474 by Ben.Marsh UBT: Use the same mechanism as UAT for logging exceptions. Change 3532734 by Graeme.Thornton Initial VSCode Support - Tasks generated for building all game/engine/program targets - Debugging support for targets on Win64 Change 3532789 by Steve.Robb FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap. Set_Add and Map_Add no longer have a return value. FScriptSet::Find and FScriptMap::Find functions are now FindIndex. FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash. Change 3532845 by Steve.Robb Obsolete UHT settings deleted. Change 3532875 by Graeme.Thornton VSCode - Add debug targets for different target configurations - Choose between VS debugger (windows) and GDB (mac/linux) Change 3532906 by Graeme.Thornton VSCode - Point all builds directly at UBT rather than the batch files - Adjust mac build tasks to run through mono Change 3532924 by Ben.Marsh UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root. Change 3535234 by Graeme.Thornton VSCode - Pass intellisense system a list of paths to use for header resolution Change 3535247 by Graeme.Thornton UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation Change 3535376 by Graeme.Thornton VSCode - Added build jobs for C# projects - Linked launch tasks to relevant build task Change 3537083 by Ben.Marsh EC: Change P4 swarm links to start at the changelist for a build. Change 3537368 by Graeme.Thornton Fix for crash in FSignedArchiveReader when multithreading is disabled Change 3537550 by Graeme.Thornton Fixed a crash in the taskgraph when running single threaded Change 3537922 by Steve.Robb Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT. Change 3539691 by Graeme.Thornton VSCode - Various updates to get PC and Mac C++ projects building and debugging. - Some other changes to C# setup to allow compilation. Debugging doesn't work. Change 3539775 by Ben.Marsh Plugins: Various fixes to settings for enabling plugins. * Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled). * Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed. * Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them. Change 3540788 by Ben.Marsh UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile). Example usage: public class UnrealPakTarget : TargetRules { public UnrealPakTarget(TargetInfo Target) : base(Target) { Type = TargetType.Program; LinkType = TargetLinkType.Monolithic; LaunchModuleName = "UnrealPak"; if(HostPlatform == UnrealTargetPlatform.Win64) { PreBuildSteps.Add("echo Before building:"); PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); PostBuildSteps.Add("echo After building!"); PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); } } } Change 3541664 by Graeme.Thornton VSCode - Add problemMatcher tag to cpp build targets Change 3541732 by Graeme.Thornton VSCode - Change UBT command line switch to "-vscode" for simplicity Change 3541967 by Graeme.Thornton VSCode - Fixes for Mac/Linux build steps Change 3541968 by Ben.Marsh CRP: Pass through the EnabledPlugins element in crash context XML files. #jira UE-46912 Change 3542519 by Ben.Marsh UBT: Add chain of references to error messages when configuring plugins. Change 3542523 by Ben.Marsh UBT: Add more useful error message when attempt to parse a JSON object fails. Change 3542658 by Ben.Marsh UBT: Include a chain of references when reporting errors instantiating modules. Change 3543432 by Ben.Marsh Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set. Change 3543436 by Ben.Marsh UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails. Change 3543536 by Ben.Marsh UBT: Downgrade message about redundant plugin references to a warning. Change 3543871 by Gil.Gribb UE4 - Fixed a critical crash bug with non-EDL loading from pak files. Change 3543924 by Robert.Manuszewski Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes. +Small optimization to token stream generation code. Change 3544469 by Jin.Zhang Crashes page displays the list of plugins from the crash context #rb Change 3544608 by Steve.Robb Fix for nativized generated code. #jira UE-47452 Change 3544612 by Ben.Marsh Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages(). #jira UE-47449 Change 3545954 by Gil.Gribb Fixed a critical crash bug relating to a race condition in async package summary reading. Change 3545968 by Ben.Marsh UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same. #jira UE-47419 Change 3545976 by Ben.Marsh EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch. Change 3546185 by Ben.Marsh Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped. Change 3547084 by Gil.Gribb Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms. Change 3547968 by Gil.Gribb Fixed critical race which potentially could cause a crash in the pak precacher. Change 3504722 by Ben.Marsh BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run. For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as: ERROR: Unable to write to foo.txt while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" /> at Engine\Build\InstalledEngineBuild.xml(91) (see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace) Change 3512255 by Ben.Marsh Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated. Change 3512332 by Ben.Marsh Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4. Change 3512393 by Ben.Marsh Rename FPaths::GameLogDir() to FPaths::ProjectLogDir(). Change 3513452 by Ben.Marsh Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project. Change 3516262 by Ben.Marsh Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor. * Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod. * The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders). Change 3517565 by Ben.Marsh Remove fixed engine version numbers from OSS plugins. Change 3518005 by Ben.Marsh UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false. Change 3518054 by Ben.Marsh UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard. Change 3524496 by Ben.Marsh Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core. Change 3524641 by Ben.Marsh Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc. Change 3528723 by Steve.Robb MoveTemp now static asserts if passed a const reference or rvalue. MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious. Fixes to violations of these new rules. Change 3528876 by Ben.Marsh Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste. Change 3529073 by Ben.Marsh Add script to package ShooterGame for any platforms. Change 3531493 by Ben.Marsh Update platform-specific plugins to declare the target platforms they support. Change 3531611 by Ben.Marsh UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates. Change 3531868 by Ben.Marsh Resaving project descriptors to remove invalid fields. Change 3531983 by Ben.Marsh UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders. * Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer. * Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type) * Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo")) * An error is output if any restricted folder names other than the output platform are in the staged output. Change 3540315 by Ben.Marsh UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers. Change 3542410 by Ben.Marsh UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already. Change 3543018 by Ben.Marsh UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions. Change 3544371 by Steve.Robb Fixes to TSet_Add and TMap_Add BPs. #jira UE-47441 [CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
/// <summary>
/// Stage multiple files
/// </summary>
/// <param name="FileType">The type for the staged files</param>
/// <param name="Files">The files to stage</param>
public void StageFiles(StagedFileType FileType, IEnumerable<FileReference> Files)
{
foreach (FileReference File in Files)
{
StageFile(FileType, File);
}
}
/// <summary>
/// Stage multiple files
/// </summary>
/// <param name="FileType">The type for the staged files</param>
/// <param name="Files">The files to stage</param>
public void StageFiles(StagedFileType FileType, DirectoryReference InputDir, IEnumerable<FileReference> Files, StagedDirectoryReference OutputDir)
{
foreach (FileReference File in Files)
{
StagedFileReference OutputFile = StagedFileReference.Combine(OutputDir, File.MakeRelativeTo(InputDir));
StageFile(FileType, File, OutputFile);
}
}
/// <summary>
/// Stage multiple files
/// </summary>
/// <param name="FileType">The type for the staged files</param>
/// <param name="InputDir">Input directory</param>
/// <param name="Option">Whether to stage all subdirectories or just the top-level directory</param>
public void StageFiles(StagedFileType FileType, DirectoryReference InputDir, StageFilesSearch Option)
{
StageFiles(FileType, InputDir, "*", Option);
}
/// <summary>
/// Stage multiple files
/// </summary>
/// <param name="FileType">The type for the staged files</param>
/// <param name="InputDir">Input directory</param>
/// <param name="Option">Whether to stage all subdirectories or just the top-level directory</param>
/// <param name="OutputDir">Base directory for output files</param>
public void StageFiles(StagedFileType FileType, DirectoryReference InputDir, StageFilesSearch Option, StagedDirectoryReference OutputDir)
{
StageFiles(FileType, InputDir, "*", Option, OutputDir);
}
/// <summary>
/// Stage multiple files
/// </summary>
/// <param name="FileType">The type for the staged files</param>
/// <param name="InputDir">Input directory</param>
/// <param name="InputFiles">List of input files</param>
public void StageFiles(StagedFileType FileType, DirectoryReference InputDir, string Pattern, StageFilesSearch Option)
{
List<FileReference> InputFiles = FindFilesToStage(InputDir, Pattern, Option);
foreach (FileReference InputFile in InputFiles)
{
StageFile(FileType, InputFile);
}
}
/// <summary>
/// Stage multiple files
/// </summary>
/// <param name="FileType">The type for the staged files</param>
/// <param name="InputDir">Input directory</param>
/// <param name="InputFiles">List of input files</param>
/// <param name="OutputDir">Output directory</param>
public void StageFiles(StagedFileType FileType, DirectoryReference InputDir, string Pattern, StageFilesSearch Option, StagedDirectoryReference OutputDir)
{
List<FileReference> InputFiles = FindFilesToStage(InputDir, Pattern, Option);
foreach (FileReference InputFile in InputFiles)
{
StagedFileReference OutputFile = StagedFileReference.Combine(OutputDir, InputFile.MakeRelativeTo(InputDir));
StageFile(FileType, InputFile, OutputFile);
}
}
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 4034418) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3851142 by Robert.Manuszewski When BP clustering is enabled, make sure to add the template to the BP cluster when replacing it. Change 3853797 by Ben.Marsh BuildGraph: Add a <Trace> element, which allows logging messages after the string is parsed (as opposed to the Log task, which logs them at runtime). Useful for debugging macro expansion, etc... Also add a -showdiagnostics parameter, to have diagnostic messages output even when running with the -listonly option. Change 3857540 by Graeme.Thornton Properly process the uexp file for a umap asset when generating a pak patch. Stop those uexp files being included in the patch even when they haven't changed Change 3860062 by Steve.Robb Fix for FString::Reset()'s buffer not being an empty null-terminated string (affects FString::ParseIntoArray, for example). Change 3860138 by Steve.Robb Fix for FString::ParseIntoArray() for when string memory has been allocated but has no characters. Change 3860273 by Steve.Robb Tidy up of FHotReloadClassReinstancer::FCDOWriter to not do stuff in constructors. Change 3863203 by Steve.Robb Crash fix for UObjects whose constructors are defined as = default;, which would re-null the UObject state (ClassPrivate, OuterPrivate etc.). See: https://udn.unrealengine.com/questions/412930/crash-due-to-default-constructor.html Change 3864588 by Graeme.Thornton Crypto Keys Improvements - Removed UAT command line params for encryption. Centrally configured by the editor settings now. - UAT staging now creates a small json file containing the keys and settings used for encryption and signing and stores it in the build metadata - Minor refactoring of UAT encryption processing to use the new cryptokeys json file - UnrealPak can be told to get its encryption settings from a json crypto file with the "-CryptoKeys=<filename>" - UnrealPak can now accept a "PatchCryptoKeys=<filename" parameter which gives it a filename to a cryptokeys json file that it can use to unpack the patch reference paks Change 3864691 by Robert.Manuszewski Don't add objects that are in root set to GC clusters to prevent them from keeping the clusters alive forever. Change 3864744 by Robert.Manuszewski Added the ability to get the actual filename of the log file FOutputDeviceFile writes to. Change 3864816 by Graeme.Thornton TBA: Minor formatting improvements to textasset commandlet Change 3868939 by Graeme.Thornton TBA: If -outputPath isn't supplied to TextAsset commandlet, output converted files to the {ProjectSaved}/TextAssets directory Change 3869031 by Graeme.Thornton TBA: Changed timing logs in TextAsset commandlet to be Display so we can see them in the EC log Change 3871802 by Steve.Robb Class cast flags and property flags are now visible in the debugger. Change 3871863 by Robert.Manuszewski Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage. Change 3874413 by Steve.Robb Algo::MinElement and Algo::MaxElement, for finding the minimum and maximum element in a range, and *By versions which take projections. TRangePointerType moved to its own file and used in Algo::MinElement and Algo::MaxElement. Change 3874457 by Ben.Marsh When spawning child processes, only allow them to inherit the writable ends of the stderr and stdout pipe. Fixes an issue related to AutomationTool hanging when the editor closes after running automation tests. The editor launches ADB.EXE (Android Debug Bridge) on editor startup, which forks itself to initialize a server. Even though the child process has its own stdout and stderr pipes, it also inherits the pipes for the editor. When run from C#, as we do for automation tests, Process.WaitForExit() waits for all pipes to be closed before returning. This can't happen if the forked ADB instance still has a reference to the editor's pipes. Change 3876435 by Robert.Manuszewski Don't add root set objects to level actor container to prevent situations where clusters are kept alive forever Change 3878762 by Robert.Manuszewski Fixing potential LinkerLoad leak when a package that still has a linker associated with it is being destroyed. Change 3878850 by Robert.Manuszewski SerializePreloadDependencies will now serialize raw data into the array instead of serializing one element at a time to speed up serialization performance. Change 3881331 by Graeme.Thornton TBA: SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter Change 3886983 by Ben.Marsh UGS: Fix notification window not expanding to fit long captions. Change 3887006 by Ben.Marsh UGS: Change modal dialog to regular window style to avoid weird alignment issues under Windows 10. Change 3887500 by Ben.Marsh UGS: Add support for grouping build badges by a prefix. Badges such as "Foo:Bar1", "Foo:Bar2" will be grouped together (with "Foo:" stripped from the displayed badge names). Also add a separate column showing the type of each change, rather than including it in the CIS column, and change badges to a more angular Windows 10 style. Change 3887513 by Ben.Marsh UGS: Fix badge text drawing outside the clipping bounds. Change 3888010 by Josh.Engebretson Fix UVS logging to UnrealVersionSelector/Saved/Logs and instead use project's log path #jira none Change 3888418 by Ben.Marsh UGS: Add a cache for computed badge layout information. Improves responsiveness when redrawing. Change 3889457 by Steve.Robb GitHub #4457 : Display abbreviations properly when converting FNames to display string #jira UE-54611 Change 3889547 by Ben.Marsh UGS: Add an extensible method for adding arbitrary badges to the right of the "description" column, by running a regular expression over the changelist description. Epic uses a "#tag" style annotations in changelist descriptions and Perforce triggers to verify them. "#jira" is used to link a changelist to an issue tracked in Jira, for example. A matcher to add a badge next to every changelist with a #jira tag, and link to the corresponding issue in Jira, could be set up with an addition to the project's Build/UnrealGameSync.ini file like this: [Badges] +DescriptionBadges=(Pattern="(?i)#\\s*jira\\s*:?\\s+([A-Za-z]+-[0-9]+)", Name="$1", Group="Jira", Color="#c0c0c0", HoverColor="#e0e0e0", Url="https://jira.it.epicgames.net/browse/$1") The "Pattern" attribute specifies the regex to match, and may capture portions of the matched text to be substituted later. "Label" specifies the label to appear on the badge. "Group" specifies an arbitrary identifier used to group related badges together rather than separating them with whitespace. "Color" and "HoverColor" specify hex RGB colors for the badges. "Url" specifies the path to open with a C# Process.Open call if the badge is clicked. Change 3889726 by Ben.Marsh UGS: Fix description badges that don't have any associated URL. Change 3889995 by Ben.Marsh UGS: Fix issue where popup menus can create top level windows in the taskbar. Seemlingly caused by capturing mouse before the window has been activated - removed capture code, and replaced with handling of OnMouseLeave() event instead. Change 3890007 by Ben.Marsh UGS: Add a caption underneath the project logo which shows the current stream, to make it more obvious. Change 3890057 by Ben.Marsh UGS: Fix repainting glitch when resizing window; bounds for status panel lines was not being reset correctly. Change 3891069 by Robert.Manuszewski Fixing a crash in MallocBinned2 when running with malloc profiler enabled. Change 3891084 by Steve.Robb Back out changelist 3881331 because it's causing cook errors. Change 3891100 by Ben.Marsh UGS: Add support for a per-branch "message of the day"-style feature. Messages can be specified in a project's config file in Perforce (eg. <ProjectDir>/Build/UnrealGameSync.ini) as follows: [//UE4/Main/Samples/Games/ShooterGame.uproject] Message=:alert: Lockdown for fixes is **5pm on Friday**. Only fixes for the 2.0 release should be submitted to this branch. [34 issues](https://jira.it.epicgames.net) are remaining as of 2/15. A limited subset of Markdown is supported: [web links](http://www.google.com), *italic*, _italic_, **bold**, __bold__. Icons will be supported through :icon: syntax; the only icon currently available is :alert: Change 3891346 by Steve.Robb TSharedPtr::operator bool, and some usage of it. Change 3891787 by Steve.Robb Fix for buffer overflow in FDebug::LogFormattedMessageWithCallstack(). Change 3892379 by Ben.Marsh UGS: Fix notification window containing the group fix for each build type. Change 3892400 by Ben.Marsh UGS: Shrink the size of the alert panel. Change 3892496 by Ben.Marsh UGS: Dim badges for changes which aren't eligable for syncing. Change 3893932 by Steve.Robb Re-removal of SetShouldHandleAsWeakRef, which was originally removed in CL# 3437205. Change 3895872 by Ben.Marsh UGS: Show the stream name in tab labels by default. Change 3896366 by Ben.Marsh UGS: Automatically resize columns when the main window is resized, and allow specifying desired column widths for projects that have a large number of CIS badges. Columns are now resized proportionally, clamped to a minimum size. Columns will automatically expand up to a desired maximum size, though can be explicitly resized larger if necessary. Columns will not be resized if they are already larger than the window can show, or smaller than the window has space to show. Change 3896367 by Ben.Marsh UGS: UI tweaks - change and time columns are now centered, "Unknown" badge is displayed until a change's type has been determined, increase height of status panel. Change 3896425 by Ben.Marsh UGS: Speculative fix for race condition on clients displaying "under investigation" state. If the DB event is received before a change where an investigation is cancelled is polled from Perforce, we will exclude the resolve event from the list of active investigations. Change 3896461 by Ben.Marsh UGS: Add an option to allow setting a tint color to be applied to the status panel, to allow identifying streams more easily. To use, add a setting similar to the following to a project's Build/UnrealGameSync.ini file: [//UE4/Main/Samples/Games/ShooterGame/ShooterGame.uproject] StatusPanelColor=#dcdcf0 Change 3899530 by Ben.Marsh Add unified syntax for overriding branch specific settings. Checks branch settings first, then [Default] section. Change 3901164 by Ben.Marsh UGS: Add a class to store all the resources for the status panel. Change 3901165 by Graeme.Thornton TBA: Attempt #2 at submitting the text asset saving code. SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter. Minimal amount of structured archive serialization functions added to allow this data to be written Change 3901301 by Ben.Marsh UGS: Add support for reading the latest version of the project config file from Perforce. Some settings should be read depending on the CL you are synced to (eg. build steps), whereas others (MOTD, branch status) should always use the latest version. Will read the local version if checked out, to allow testing local changes. Change 3902454 by Ben.Marsh UGS: Fix logo not being redrawn in the correct position when starting to sync. Change 3903416 by Ben.Marsh UGS: Group badges explicitly through INI file rather than by expecting name to contain ':'. Change 3904154 by Josh.Engebretson Adding Breakpad to ThirdParty sources (Git Commit: 49907e1c3457570f56d959ae26dec6c3a5edd417 https://chromium.googlesource.com/breakpad/breakpad) #jira UE-55442 Change 3904648 by Ben.Marsh UGS: Remove files from the workspace that are excluded by the sync filter. The user's config file stores a hash of the last sync filter. During syncing, if this hash doesn not match the previous value, we enumerate all the files in the #have list and remove anything masked out by the filter. #jira UE-47335 Change 3905442 by Steve.Robb Change of the ConvertFromType() multi-bool return value to a more descriptive enum. Some return values here do not make sense - this is because the existing logic is being preserved and will be fixed in a separate change. Change 3905629 by Ben.Marsh UGS: Fix race condition between two child processes starting on different threads, and inheriting the other's intended stdout/stderr pipes. This prevents pipes being closed when one of the child processes shuts down, and causes waits on the read ends of those pipes to continue indefinitely. Change 3906447 by Steve.Robb Rename EConvertFromTypeResult enumerators. Change 3906574 by Steve.Robb Crash fix for container conversion failure during tagged property import. Change 3909255 by Daniel.Lamb Fixed issue with DLCpackaging crashing on windows #jira UE-42880 #test EngineTest windows Change 3909270 by Steve.Robb Seek instead of skipping bad properties byte-by-byte. Change 3909324 by Steve.Robb Use switch statement instead of repeated if/else. Change 3909525 by Ben.Marsh UGS: Use the StudioEditor target when syncing content-only Enterprise projects. Change 3911754 by Daniel.Lamb Fix for building pak patches. #jira UE-55340 Change 3911942 by Robert.Manuszewski Fixing an ensure when MediaPlayer is being constructed from any thread other than the main one. Change 3913067 by Ben.Marsh UGS: Allow workspace sync filter categories to re-enable categories that are disabled by the global filter. Change 3913209 by Ben.Marsh UGS: Fix incorrect target name when compiling Enterprise projects. Change 3917358 by Steve.Robb Fix for GetLen(FString). Change 3919610 by Ben.Marsh Put data for CrashReportClient in a PAK file of its own (under Engine/Programs/CrashReportClient/Content/Paks/CrashReportClient.pak). There are a large number of small files required for it to run with loose files, which takes a lot of space on disk (due to cluster sizes), and is unweildy to move around. CrashReporter UFS files are tracked in a separate dictionary to regular UFS files to allow construction of the additional PAK file. Change 3921002 by Ben.Marsh UGS: Add option for syncing all projects in a branch. Off by default. Also add support for masking in additional paths to be synced (eg. one or two extra projects). Change 3921008 by Ben.Marsh UGS: Prevent pause waiting for mutual exclusivity when syncing precompiled binaries. We don't need to generate project files or build, so there's no need to wait in line. Change 3921906 by Steve.Robb New interpolation functions for quaternions. https://udn.unrealengine.com/questions/419028/quaternion-interp-to-functions.html Change 3921978 by Graeme.Thornton TBA: Make "Loader" member of FLinkerLoad private to prevent use outside of FLinkerLoad. This archive could be something unexpected if the linker is for a text asset package, so we need to stop people accessing it. Change 3924520 by Graeme.Thornton UnrealPak: Improve encryption summary log messages Change 3924522 by Graeme.Thornton UAT: Add *Encryption.ini to the list of auto-blacklisted config filenames Change 3924604 by Graeme.Thornton UnrealPak: If encryption keys are parsed and fail the encrypt/decrypt test, throw a fatal error. The exectutable will have those same keys embedded so there is no point allowing the paks to be created with broken keys. Change 3924638 by Graeme.Thornton Crypto: Improvements to parsing of old fashioned encryption.ini settings: - AES keys that are too long or short (need to be 32 bytes) will now emit a warning when being parsed, and be truncated or expanded before adding to the crypto settings. - Signing keys will emit an error when they are too long (>64bytes) - Unrealpak will still assert when invalid settings are passed via the other mechanisms (command line or -encryptionini mode). Settings via the crypto json file should now be sanitized and not cause issues #jira UE-55080 Change 3924747 by Steve.Robb Fix for degrees. Change 3925459 by Chad.Garyet Adding check to not to attempt to delete autosdk workspace if it doesn't already exist. Change 3926703 by Ben.Marsh BuildGraph: Include the path to the XML file when displaying an XML parse error. Change 3926917 by Ben.Marsh UBT: Allow overriding the name of the UE4 solution on a branch-specific basis. Useful for switching between multiple UE4 workspaces. Also add support to the editor and UGS for opening the correct solution (determined via a text file saved to Engine/Intermediate/ProjectFiles). Set the solution name using an entry in BuildConfiguration.xml as follows: <ProjectFileGenerator> <MasterProjectName>UE4_Main</MasterProjectName> </ProjectFileGenerator> Change 3927683 by Graeme.Thornton UAT: When building with chunk installs enabled, don't generate the master manifest from each pak creation thread. Just do it once after all pak files have been created. Avoids intermittent crash with multiple threads trying to write the same json file. Change 3928111 by Ben.Marsh UBT: Add an option <bMasterProjectNameFromFolder> which allows setting the solution name based on the folder that it's in. Change 3928926 by Ben.Marsh BuildGraph: Add support for enumerating content copied by the <CsCompile> task. Also add support for invoking methods on string properties. Change 3931041 by Graeme.Thornton TBA: Add option to textasset commandlet to also include engine content in a resave Change 3931043 by Graeme.Thornton TBA: Redirect some more FArchive members in FArchiveProxy Change 3931913 by Ben.Marsh UGS: Do not create a modal dialog if a scheduled sync is unable to run because the editor is open, and do not run the editor after a scheduled sync. #jira UE-47368 Change 3932419 by Ben.Marsh UGS: Allow selecting which projects to sync on schedule. Any projects not already opened at the time the schedule is triggered will be opened first. #jira UE-33541 Change 3932483 by Ben.Marsh PR #3949: UnrealGameSync: Add environment path field to custom BuildStep (Contributed by frankie-dipietro-epic) Change 3932624 by Ben.Marsh UGS: Add an error dialog when trying to clean the workspace before closing the editor. #jira UE-42308 Change 3932679 by Ben.Marsh UGS: Add the date/time to the end of the sync log. #jira UE-33540 Change 3932705 by Ben.Marsh UGS: Prompt to close the editor before allowing the user to enter a changelist to sync to, when syncing to a specific changelist. #jira UE-53182 Change 3933318 by Ben.Marsh UGS: Detect more programs running before allowing a sync to start, show a dialog listing them, and add an option to ignore if necessary. #jira UE-33535, UE-53914 Change 3933840 by Graeme.Thornton TBA: When loading assets, only use structured archive adapters for exports when loading text files. Change 3936040 by Ben.Marsh UGS: Rewrite application lifecycle to fix issues with scheduled syncs on background windows not activating, and window jumping to the front after auto-update. Now uses a custom application context to allow creating separate 'main' windows (first the "opening projects" form, then the regular form), and does not require any forms to be shown in order to be updating in the background. #jira UE-52870 Change 3940230 by Robert.Manuszewski Fixes for FilenameToLongPackageName crashes when runnign commandlets Change 3940240 by Graeme.Thornton Automated cycling of encryption and signing keys Change 3940243 by Graeme.Thornton UAT: CryptoKeys automation script Change 3940321 by Ben.Marsh UGS: Add a "Bisect" mode for regressing bugs between a certain range of changes. To use, select a range of changes by holding down the shift key or individual changes by holidng the control key, then right click and select "Bisect these changes". Individual changes in the list can be marked as "Bisect: Pass" or "Bisect: Fail" from the context menu, and syncing will find the next change in the center of the range. Change 3940538 by Ben.Marsh UBT: Always determine whether a project is a foreign project or not from the valid .uprojectdirs entries, rather than relying on the user passing -game on the command line. Change 3941285 by Gil.Gribb UE4 - Removed PRAGMA_DISABLE_OPTIMIZATION from PlatformFileCommon.h. It was an oversight. #jira none Change 3942404 by Graeme.Thornton Pak Signing: - Unify naming of pak precacher and signedarchivereader signature check functions to make it easier to search for them in crash reporter - Format the signedarchivereader output to match the pak precacher - When signedarchivereader detects a signature check, do the same master signature hash check that the pak precacher does to confirm that the .sig file contents haven't been corrupted since load. - Add PAK_SIGNATURE_CHECK_FAILS_ARE_FATAL guarded exit to signedarchivereader signature failure - Optimization for pakprecacher signature checks. Instead of locking the cached files mutex for every decoded signature, take a local copy in blocks of 16. Only re-lock if we need more. Grab the initial batch when setting up. In most cases, reduces the number of locks to 1 per signature check call. Change 3942825 by Ben.Marsh UAT: Allow passing -Project<N>=Foo.uproject arguments to the MegaXGE commandlet (eg. -Target1="ShooterGame Win64 Development" -Project1="D:\ShooterGame\ShooterGame.uproject") so it can be used from an installed engine build. Change 3942839 by Ben.Marsh UBT: Explicitly query the number of logical processors in the system, to fix Environment.ProcessorCount just returning the number available to the .NET framework. For machines with > 64 cores, processors in a different processor group will not be included in this number. Change 3943153 by Ben.Marsh Use the correct logical processor count in ParallelExecutor. Change 3943210 by Ben.Marsh UGS: Add an option to the editor arguments window that allows prompting before launching the editor. Change 3943329 by Ben.Marsh UGS: Tweak appearance of bisect mode; now shows slightly transparent version of pass/fail icons, and includes remaining CL range in status panel. Change 3944294 by Ben.Marsh UGS: Prompt for confirmation before removing any files from the workspace. Change 3945283 by Ben.Marsh UGS: Add support for project-specific connection settings, and detection of Perforce login tickets expiring. Change 3945325 by Ben.Marsh PR #4558: Changed incorrect obsolete message for ReceiptPropertyList in Modules.cs (Contributed by ryanjon2040) Change 3947359 by Graeme.Thornton TBA: Fixes to loading code to allow bulk data to get a pointer from its loader archive to an archive that it can load from at a later date. For binary archives, this is just a pointer back to the same archive, but for text assets it is a pointer to a "child reader" which maintains its own structured archive that is scoped to the current location in the file. Change 3947360 by Graeme.Thornton TBA: Added RoundTrip mode to text asset commandlet. Performs determinism tests in project assets to see whether they save deterministically to binary and text files, and also when they are ping-ponged between the two formats. Change 3949431 by Graeme.Thornton TBA: Refactored string escaping code in json output formatter FString serializer into a common function which is now used by FName and UObject path serialization too. Fixes some odd cases where an FName contained quotation marks Change 3950843 by Ben.Marsh UBT: Add a better error if an XML config file is corrupt. Change 3952504 by Steve.Robb GitHub #4545 : UE-55924: CaseSensitive token recognition #jira UE-55961 #jira UE-55924 Change 3952707 by Graeme.Thornton Make RandInit(...) log message verbose Change 3954694 by Ben.Marsh BuildGraph: Add support for user-defined macros, which can contain a list of buildgraph commands and be expanded within a node. Example script in Engine/Build/Graph/Examples/Macros.xml. To define a Macro, use the syntax: <Macro Name="MyTestMacro" Arguments="PrintFirstMessage;PrintSecondMessage" OptionalArguments="PrintThirdMessage"> <Log Message="First message" If="$(PrintFirstMessage)"/> <Log Message="Second message" If="$(PrintSecondMessage)"/> <Log Message="Third message" If="'$(PrintThirdMessage)' == 'true'"/> </Macro> To expand a macro, use the syntax: <Expand Name="MyTestMacro" PrintFirstMessage="true" PrintSecondMessage="true"/> An error will be thrown if any required arguments are missing. Optional arguments default to empty if not specified. Tasks within a macro are validated by the schema at the point of definition using the same rules as apply to a <Node> element, but properties are not evaluated until the macro is expanded. This allows macros to get and set properties in scope at the point that it is expanded. Local properties that are introduced within a macro do not otherwise leak to the scope that they are expanded. Change 3954695 by Ben.Marsh PR #4582: Fixed incorrect condition in StagedFileSystemReference.cs (Contributed by moadib) #jira UE-56283 Change 3954961 by Ben.Marsh UBT: Fix issues caused by toolchain assuming that the editor target will be the name of the project with an "Editor" suffix. This is not necessarily the case; the launcher will allow you to instantiate a project with any name, and it will not rename the target files. #jira UE-56040 Change 3955785 by Steve.Robb GitHub #4546 : Don't discard errors from zlib inflate #jira UE-55969 Change 3955940 by Steve.Robb Redundant and confusing macro check removed. Change 3956809 by Ben.Marsh Guard against project paths passed on the command line to UBT being treated as project names. Previous code used to just take the first, which would mask this problem. Change 3959590 by Steve.Robb Useless IsIntrinsic constant and COMPILED_IN_INTRINSIC macro removed. Change 3959864 by Robert.Manuszewski Increasing the size of permanent object pool to fix warnings in cooked ShooterGame #jira UE-56001 Change 3960956 by Steve.Robb New ToCStr function which generically gets a TCHAR* from a 'string-like' argument. Change 3963628 by Ben.Marsh UBT: Fix intellisense issues caused by _API macros being defined as DLLIMPORT (imported symbols cause an error if they are defined). Generate intellisense macros with the -Monolithic argument to work around it. Change 3964349 by Ben.Marsh Move support for reading .modules files into FModuleManager, and always use it in modular builds. Pathway which discovers modules by filename only is no longer supported for simplicity, and due to platform-specific version checks being unreliable on any platforms other than Windows. Change 3964821 by Ben.Marsh Use a custom tool for deleting directories on Windows, to handle paths longer than MAX_PATH correctly. Change 3965269 by Ben.Marsh Add more [RequiresUniqueBuildEnvironment] attributes to target settings that modify the global environment. Change 3966554 by James.Hopkin #core Removed redundant cast Change 3966558 by James.Hopkin #core Removed redundant casts and changed some MakeShareables to MakeShared #robomerge #fortnite Change 3966754 by Ben.Marsh Always use the compiled-in app name when looking for a module manifest. Fixes issues with XGEControlWorker.exe being a renamed copy of ShaderCompileWorker.exe. Change 3967397 by Ben.Marsh Fix "copy local" files not being included in build products enumerated from C# projects. Remove files with "Embed Interop Types" from the output list. Change 3967664 by Ben.Marsh Update UGS solution to use Visual Studio 2017. Change 3967838 by Ben.Marsh Couple of fixes to conform scripts. Change 3968767 by Ben.Marsh Compile the name of the module manifest into the executable via a define explicitly set by UBT, rather than guessing at runtime. Change 3968771 by Ben.Marsh Fix compiled-in engine path being subject to macro expansion. #jira UE-56504 Change 3968886 by Robert.Manuszewski Merging 3914301: Remove any references we had added to the GGCObjectReferencer during Init Change 3968978 by Steve.Robb FString->FName fixes for module names in HotReload. Change 3969019 by Steve.Robb Minor refactor of property skipping logic in SerializeTaggedProperties(). Change 3969041 by Steve.Robb Simplification of Build.version filename construction. Change 3969049 by Steve.Robb Always do rolling names when recompiling in editor, because an unloaded module may still actually by loaded-but-abandoned by the executable. This also removes HotReload's dependence on FModuleManager::GetCleanModuleFilename(). #jira UE-52405 Change 3969120 by Ben.Marsh Enable errors for using undefined identifiers in conditional expressions by default. Change 3969161 by Ben.Marsh Remove log line that should only be included in the log. Change 3969216 by Steve.Robb Dump a list of module names - rather than DLL filenames - when the editor detects modules which need recompiling. This removes the only remaining use of FModuleManager::GetCleanModuleFilename(), which is also now removed. #jira UE-52405 Change 3969346 by Steve.Robb Missed some bad FScript(Map/Set)Helper usage from CL# 3698969. Change 3969598 by Ben.Marsh Fix warning from VS2017. Change 3971101 by Graeme.Thornton TBA: Added RoundTrip mode to TextAsset commandlet which does a sequence of saves and checks for determinism. It will do 3 binary saves, 3 text saves, then 3 alternate binary->text saves. Change 3971407 by Ben.Marsh UBT: Fix exception when enumerating toolchains if the directory does not exist yet. Change 3971523 by Graeme.Thornton Make compressed block offsets in a pak file store offsets relative to the file header, rather than absolute. Reduces the amount of entropy when data changes in the pak file, making it play nicely with patching Change 3971613 by Ben.Marsh Fix Lightmass non-unity compile errors. Change 3971649 by Ben.Marsh Disable optimization around FTickerObjectBase constructor on Win32 due to ICE. Change 3971829 by Ben.Marsh Fix deprecated header warning from PVS Studio. Change 3972503 by Ben.Marsh Changes to build failure notifications: * Only people that submitted between builds with different error messages will be included on emails by default. * Email subject line will be different for each failing build step, but will include the CL of the first failing step. This will result in one thread for each build failure (a success email is sent with the same subject line). * Anyone that starts a build will be included on all failure emails. Change 3972732 by Ben.Marsh Changes to ensure notification messages are stable. Change 3972810 by Ben.Marsh Write debug information about the digest computed for a change, to assist with debugging it if it's not stable. Change 3973331 by Ben.Marsh Fix missing dependency on linker response file. Prevents target being relinked when build environment changes. Change 3973343 by Ben.Marsh PR #4612: Adding support for PVS-Studio settings file to PVS-Studio Unreal Build Tool toolchain. (Contributed by PaulEremeeff) Change 3973820 by Ben.Marsh Fix incorrect error message when unable to find Visual C++ install directory. Change 3974295 by Robert.Manuszewski Made sure that lazy object pointers are only fixed up for PIE in actual PIE worlds. Change 3975336 by Robert.Manuszewski CIS fix after the last merge from main Change 3976999 by Ben.Marsh Move the Windows stack size settings onto the WindowsTargetRules object, and add the [RequiresUniqueBuildEnvironment] attribute to ensure it's not overwritten incorrectly. This should cause CIS to better errors for compiling Odin editor. Change 3977934 by Ben.Marsh UBT: Allow setting additional compiler/linker arguments through properties on the TargetRules object. Change 3977953 by Ben.Marsh UBT: Enumerate all Visual Studio 2017 install locations using the Visual Studio Setup interop SDK. Multiple simultaneous Visual Studio installations are now supported, and using registry keys to determine installation directories has been deprecated. Allows choosing toolchains from preview versions as well as full versions. Change 3978544 by Ben.Marsh UBT: Include verbose timing information from compiler frontend if using VS2017 15.7 preview 2 or later. Change 3978780 by Ben.Marsh Add Visual C++ 2017 redist files to AppLocalDependencies, and update the prereq installer to include 2017 support DLLs. Change 3979313 by Ben.Marsh UBT: Add the EngineDirectory property to ModuleRules. Makes it easier to find paths to files under the engine folder. Change 3980499 by Ben.Marsh UBT: Automatically enable /DEBUG:FASTLINK if we're using the VS2017 15.7 toolchain or newer and not doing a formal build. This contains fixes for debugger OOM issues present in older versions. Change 3980890 by Ben.Marsh UBT: Update project file generator to support VS2017 solution options file; fixes C# projects being opened by default when generating new project files. Change 3981495 by Ben.Marsh Do not include embedded interop assemblies in the list of references required by a C# project; they are not required build products. #jira UE-54343 Change 3982157 by Ben.Marsh Only output a warning message if BuildConfiguration.xml schema validation fails; we may have settings that only apply to code in another branch. Change 3982239 by Ben.Marsh Update tooltip directing users to install Visual Studio 2017 instead of 2015. Change 3983395 by Graeme.Thornton Fix reference to BUILD_VERSION in BootstrapPackagedGame RC file Change 3983523 by Graeme.Thornton Backwards compatibility for pak files with compressed chunk offsets Change 3983769 by Ben.Marsh UAT: Allow using PDBCOPY.EXE installed as part of the Windows 10 SDK to strip symbols, and add a better message if it can't be found. Change 3984529 by Ben.Marsh BuildGraph: When run with the -Preprocess=... argument, no steps will be executed. Change 3984557 by Ben.Marsh BuildGraph: Return the updated patterns from FilePattern.CreateMapping(), so we can print accurate messages when displaying the source and target directories for a copy or move task. Change 3986520 by Ben.Marsh Remove hacks to uniquify response file name on Android and Linux. Change 3987166 by Steve.Robb Allow overloading of functions which take TFunctions or TFunctionRefs with mutually exclusive signatures. Change 3989061 by Graeme.Thornton TBA: Text asset loading/saving work - Start using FStructuredArchive flavours of UObject Serialize functions when loading and saving exports. - Only use FStructuredArchive interface for text assets, and for classes that have the CLASS_MatchingSerializers which tells us that the class can serialize to both FStructuredArchives and FArchives. - Add GetCacheableArchive to FArchive, which allows transient archives to return a pointer to another archive that will outlive it. Used by bulk data to get a pointer to an archive that can be held and used at a later time to lazy load things. For text assets where the bulk data might be held inside a base64 encoded FArchiveFromStructuredArchive block, we can't dynamically seek back to that location after the on-stack wrapper has been destroyed after the original serialize, so this will return null. For binary assets, we just return a pointer to the same binary archive which can be used freely. Change 3989109 by Graeme.Thornton TBA: TextAsset commandlet emits a warning when binary package determinism fails Change 3990823 by Ben.Marsh UGS: Allow project settings to specify a client path rather than a filesystem path. Not currently usable through UI. Change 3990832 by Ben.Marsh UGS: Make the schedule window resizable. Change 3991569 by Steve.Robb GitHub #4636 : Fixed typo in HeaderParser.cpp for "missed WithValidation keyword" error message Change 3991970 by Steve.Robb Fix for 4096 char limit on FParse::Value. Change 3992222 by Steve.Robb Advice added to the coding standard for using default member initializers. Change 3993675 by Ben.Marsh UGS: Add UI to allow creating new workspaces and selecting projects from existing workspaces that are not currently synced. Change 3994199 by Ben.Marsh UGS: Fix child processes being unable to spawn other child processes with the CREATE_BREAKAWAY_FROM_JOB flag, to add them to their own job objects. In Windows 7 or earlier job objects cannot be nested, so child processes have to create separate job objects and spawn processes with CREATE_BREAKAWAY_FROM_JOB to be able to add them. This fails unless parent process' job object was created with JOB_OBJECT_LIMIT_BREAKAWAY_OK. Discussed here: https://msdn.microsoft.com/en-us/library/windows/desktop/hh448388(v=vs.85).aspx Change 3994243 by Ben.Marsh UGS: Use the select stream dialog instead of displaying a drop list unless there's a stream filter specified. We have way too many streams for this to be useful in a menu unless it's filtered. Change 3994260 by Ben.Marsh UGS: Tweak the stream filter dialog to only use the previous selected node if the filter terms match. It may be a parent node of something that matches, even though it doesn't match itself. Change 3994350 by Ben.Marsh UGS: Automatically guess the correct root path for new workspaces based on the most common existing workspaces for the current user. Change 3995159 by Ben.Marsh UGS: Do not delete files which are outside the sync filter. People expect to be able to sync different projects within a stream without having to update sync filters. Indend to re-introduce this functionality through the manual 'clean workspace' operation. Change 3995169 by Ben.Marsh UGS: Show options as dimmed in the open project dialog, if the radio button for those controls is not checked. Automatically set the radio button if the focus is given to one of those controls. Change 3995228 by Ben.Marsh UGS: Update recently opened projects list when editing project for an existing tab. Change 3995312 by Ben.Marsh UGS: Stop showing all dialogs in the taskbar. Change 3995929 by Robert.Manuszewski Completely rewritten FReferenceChainSearch class used by 'obj refs' command. - 3+ times faster - Uses the same code as GC to track all the references down - Actually reports all reference chains properly - Less code that is more readable than the previous version Change 3995981 by Ben.Marsh UGS: Clean workspace window will now force-sync files that have been deleted or which are writable. Change 3996113 by Ben.Marsh UGS: Fix crash upgrading config files from older versions. Change 3997990 by Ben.Marsh UGS: Prevent error when syncing an empty workspace. Change 3998095 by Ben.Marsh UGS: Change logic for dealing with job objects: rather than creating breakaway jobs (requires co-operation with spawning process), always try to use nested job objects (requires Windows 8.1+). If it fails, ignore the error if we're already part of a job. Also forcibly terminate the process on dispose to handle cases where the job object wasn't created. Change 3998264 by Ben.Marsh UGS: Fix exception when switching projects in-place. Change 3998643 by Ben.Marsh Fix shared DDC not being used for installed engine builds. #jira UE-57631 Change 4000266 by Ben.Marsh UnrealPak: Add an option that allows rebuilding a set of PAK files with different settings. Usage is: UnrealPak [PakFile] -Repack [-Output=FileOrDirectory] [Options] The input pak file may be a single file or wildcard, and is overwritten unless the -Output parameter is specified. Change 4000293 by Ben.Marsh Add a compression flag that allows selecting compressor without using the default platform implementation. Change 4000315 by Ben.Marsh Add support for custom compressors implemented via modular features. Specify -compressor=<PathToDll> on the command line to UnrealPak to load a compressor from an external DLL. Change 4000610 by Ben.Marsh UnrealPak: Add a parameter for compression block size (-compressionblocksize=XXX). Accepts arguments with MB/KB suffixes, as well as byte counts. Change 4000627 by Ben.Marsh UBT: Include enabled plugin info in the UBT log. Change 4000793 by Ben.Marsh UBT: Remove some member variables from VCEnvironment that don't need to be stored. Change 4000909 by Ben.Marsh UBT: Add VS2017 installations to the list of paths checked for MSBuild installations. Change 4001923 by Ben.Marsh UBT: Allow any plugins which are enabled by default to be included in the enabled list, even if they don't have any modules for the current platform. This changes the build-time logic to match the runtime logic. At some point in the future we may add a separate SupportedHostPlatforms list to each plugin to do this explicitly, rather than guessing via the per-module whitelist. Change 4001927 by Ben.Marsh Fixes for compiling against the Windows 10 SDK. Change 4002439 by Robert.Manuszewski Added TDefaultReferenceCollector and FSimpleReferenceProcessorBase to extract common code for clients of TFastReferenceCollector Change 4003508 by Ben.Marsh UGS: Fix new workspaces not having the correct owner and host set. Change 4003622 by Ben.Marsh UGS: Add support for "skipped" as a build result. Change 4004049 by Robert.Manuszewski Significantly improved performance of Reference Chain Search for objects that are nested deep in the object hierarchy Change 4005077 by Ben.Marsh UGS: Update version number. Change 4005112 by Ben.Marsh UBT: Reduce number of times a target has to be constructed while generating project files. Change 4005513 by Ben.Marsh UBT: Reduce number of checks for directories existing when adding include paths to a module. Accounted for 40% of runtime time when generating project files. Change 4005516 by Ben.Marsh UBT: Add warnings whenever a module adds an include path or library path that doesn't exist Change 4006168 by Ben.Marsh CIS fixes. Change 4006236 by Ben.Marsh UGS: Populate the workspace name/root directory text box with the cue banner when focus moves to the control. Change 4006266 by Ben.Marsh UGS: Swap around the new workspace/existing file boxes on the open project dialog. Change 4006552 by Ben.Marsh If staging fails because a restricted folder name is found, include a list of them in the error message. Change 4007397 by Steve.Robb Comments added to make it clear that GetAllocatedSize() only counts direct allocations made by the container. Change 4007458 by Ben.Marsh UBT: Change RPC utility to abort early, rather than continue to try to build even though SSH init failed. Change 4009343 by Ben.Marsh UGS: Set the rmdir option on new workspaces by default. Change 4009501 by Ben.Marsh UBT: Add Windows include paths to the compiler command line, rather than setting through environment variables. This ensures that incremental builds work correctly when SDK versions change. Change 4009509 by Ben.Marsh UBT: Check in a non-versioned directory under the Windows 10 SDK for the resource compiler. Change 4010543 by Ben.Marsh Remove the "Device" and "Simulator" platform groups, because they're unused and overly generic for folder names. Also remove source code for the HTML5 simulator (which is no longer supported). Change 4010553 by Ben.Marsh UAT: Include platform groups in restricted folder names when staging. Change 4012030 by Ben.Marsh UGS: Increase the size of the main window, and set the current stream as the default when creating a new workspace. Change 4012204 by Chad.Garyet - Cleanup to get the POSTs returning 400s the same way the GETs would (now no longer returns the exception text) - Create directory for sqlite db if it doesn't exist #jira none Change 4014209 by Brandon.Schaefer New changes in breakpad dump_syms to allow for producing a symbol file for elf files on windows #review-3998840 @Arciel.Rekman, @Ben.Marsh, @Josh.Engebreston, @Anthony.Bills Change 4015606 by Brandon.Schaefer Missed a code project that needed updating for new Breakpad changes for Mac Change 4017795 by Robert.Manuszewski GC assumption verification should now be 3-4x faster. - Refactored Disregard For GC to use TFastReferenceCollector - Move both Disregard For GC and Cluster verification code to separate source files Change 4020381 by Ben.Marsh Add link to the new official doc page for UnrealGameSync. Change 4020665 by Ben.Marsh UBT: Prevent plugins being precompiled if they don't support the current target platform. Change 4021829 by Ben.Marsh Update message about downloading a new version of Visual Studio. Change 4022063 by Ben.Marsh UBT: Suppress toolchain output when generating project files. Change 4023248 by Ben.Marsh Install an unhandled exception filter to ensure we get crash reports from threads that are not spawned by the engine. At the moment, we only receive crashes that are routed through ReportCrash() via our structured exception handlers in WinMain() and FRunnableThreadWin::Run(). (Also fix an exception within the exception handler, if GError has not been created yet) Change 4025759 by Ben.Marsh Fix universal CRT include paths not being added to compile environment for VS2015. Change 4026002 by Ben.Marsh UBT: Check the old registry locations for the Windows SDK installation directory. Change 4026068 by Ben.Marsh UBT: Use the correct compiler version in the error message for not having the UCRT. Change 4026181 by Ben.Marsh Fix DebugGame editor configurations not enumerating modules correctly. #jira UE-58153 Change 4026285 by Ben.Marsh UBT: Add additional logging for enumerating Windows SDKs. Change 4026708 by Ben.Marsh UBT: Keep a separate list of installed Universal CRT versions to the list of Windows 10 SDK versions. It's possible to install C++ support without the Windows 10 SDK, which still includes UCRT files in Windows 10 SDK folders. Change 4029404 by Ben.Marsh Remove incorrect include paths to fix CIS warnings. Change 4031517 by Steve.Robb Fix for UHT errors not being clickable in the Message Log. #jira UE-58173 Change 4031544 by Ben.Marsh Fix errors building asset catalog for IOS due to modifying shared build environment. #jira UE-58240 Change 4032227 by Ben.Marsh BuildGraph: Print out a warning message when trying to submit without the -Submit argument in BuildGraph. Change 4032262 by Ben.Marsh BuildGraph: Remove the need to copy files to the staging directory in BuildEditorAndTools.xml. Change 4032288 by Ben.Marsh Remove UFE from the BuildEditorAndTools script. 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 3838569 by Steve.Robb Algo moved up a folder. Change 3848581 by Robert.Manuszewski Changing the UObjectArray to not be allocated up front but in 64K-FUObjectItem chunks. This is to fix strange OOM reports on editor startup where it's trying to allocate space for 1M+ FUObjectItems. #jira UE-49446 Change 3864743 by Steve.Robb Fix for buffer overrun when copying a context string. Fix for being unable to link to MallocLeakDetection. Fix to prefix for FMallocLeakDetection::ContextString. New MALLOCLEAK_SCOPED_CONTEXT macro to push/pop a context string. Overload for const TCHAR* added to FMallocLeakDetection::PushContext to save on redundant memory allocations. #jira UE-54612 Change 3865020 by Graeme.Thornton TBA: Changed FIELD_NAME macro to FIELD_NAME_TEXT so that FIELD_NAME can be used for non-literal name definitions Change 3869550 by Josh.Engebretson New SymGen and SymUpload tasks (ShooterGame usage example) Example C# symbolicator (using saved crash and data router formats) Updates for stack walking and crash runtime xml on Windows/Mac Change 3905453 by Steve.Robb USE_TUPLE_AUTO_RETURN_TYPES moved to PLATFORM_COMPILER_HAS_DECLTYPE_AUTO. Change 3910012 by Ben.Marsh UGS: Show an error window and allow setting default P4 server settings if syncing UGS fails. Change 3920044 by Graeme.Thornton TBA: Text asset loading * Added a structured archive layer to FLinkerLoad * Wrapped export loading in a ArchiveUObjectFromStructuredArchive * Updated TextAssetCommandlet to have a "loadtext" mode which will try to load every text asset in the project content * Changed text asset extensions to .utextasset and .utextmap. Couldn't go with the favourite .uasset.json because our various path functions (FPaths::GetCleanFilename etc.) will only strip one layer of extension, so leave a bogus filename. * Relaxed a few checks in structured archive where it was checking for field reentrance, which isn't a problem for loading. * Changed FArchiveFromStructuredArchive to not load all referenced objects at construction time. This introduced some changes to load order which don't work in the engine. Object names are resolved at the point that a reference to them is serialized from the main data block, same as with legacy archives. Change 3921587 by Steve.Robb Static asserts inside ensureMsgf() macros to prevent them being passed invalid arguments or non-literal formatting strings. Fixes for various misuses. #jira UE-55681 Change 3942873 by Ben.Marsh UBT: Allow link time code generation on any configurations where bAllowLTCG is set to true. Microsoft platforms were previously only allowing this option in shipping; the target can decide when to enable it or not. Change 3944629 by Graeme.Thornton Merging back a couple of fixes from Fortnite - Extra parenthesis around some calculations in the pakprecacher - Changed FChunkCacheWorker::DoSignatureCheck() back to ::CheckSignature() - Added documentation for build script crypto options Change 3945381 by Ben.Marsh Disable warning C4770 on Windows (partially validated enum 'xxx' used as index), which occurs when enabling LTCG. Can't find a reference online for this warning, but I suspect it's due to LTCG allowing the compiler to trace code paths where we don't validate that an enum is a known value. Change 3968969 by Steve.Robb Fixes to incorrect uses of FScriptMapHelper and FScriptSetHelper, which weren't accounting for gaps in the sparse array. Change 3969417 by Ben.Marsh Make Visual Studio 2017 the default compiler for UE4 projects, and add support using Visual C++ toolchains from an AutoSDKs. Also add support for selecting a specific toolchain version to use through the WindowsPlatform.CompilerVersion property, which can be configured via a Target.cs files or BuildConfiguration.xml (eg. <WindowsPlatform><CompilerVersion>14.13.26128</CompilerVersion></WindowsPlatform). As well as allowing a specific version number, you can always use the latest toolchain by setting it to "Latest". Change 3972443 by Ben.Marsh Change build scripts to allow running any steps on non-compile workspaces. Setup Dev-Core to just use a non-compile Win64 workspace for everything. Change 3977198 by Ben.Marsh Remove INI file override for editor stack size on Windows. This is rarely valid since editor targets share build products with other games by deafult. Fix to add linker response file as prerequisite exposed targets overriding this as a bug. Change 3979632 by Ben.Marsh Consolidate codepaths for embedding versioning information in the engine. Engine/Build/Build.version is now the authoritative place to read version information; Engine/Source/Runtime/Launch/Resources/Version.h no longer includes macros for the current branch and changelist. * Settings from Build.version are compiled into the (tiny) BuildSettings module via macros set in BuildSettings.build.cs, which is used to initialize version information inside the engine at runtime. * The IsPromotedBuild value is now set to zero by default (but set to 1 by the UpdateLocalVersion UAT command). * The -Licensee argument to the UpdateLocalVersion UAT command, and the IsLicenseeVersion setting for UnrealGameSync, is determined automatically by looking for the Engine/Build/NotForLicensees/EpicInternal.txt file. This path is not visible to licensees. Change 3981738 by Ben.Marsh Move utility classes for filtering files and matching wildcards into DotNETUtilities. Change 3983888 by Steve.Robb Warning C4868 disabled, about evaluation order of braced initializer lists. https://udn.unrealengine.com/questions/426081/help-with-error-c4868-braced-initializers.html Change 3984019 by Steve.Robb FString::Printf formatting argument checking added. Vararg support for FText::Format. All remaining usage fixed. Change 3985502 by Steve.Robb Change to TFunction debugger visualization to allow right-clicking on the [Lambda] and selecting 'Go To Source Code'. Change 3985999 by Graeme.Thornton TBA: Serialize function generation for FArchive and FStructuredArchive overloads on a UObject, using UHT. - Adds a restriction that UObject::Serialize() functions MUST be declared outside of any conditional compilation directives, except for WITH_EDITORONLY_DATA Change 3986461 by Ben.Marsh Fixup lots of platforms not adding response files as a prerequisite. This can cause incremental builds to fail if input files/compile arguments change, because the action graph does not know that the response file being updated invalidates the build artifacts. Change 3990081 by Ben.Marsh Remove custom output formatters for errors and warnings. These are not well supported by different executors, and cause fences between actions with the same formatter with external executors like XGE. Clang supports -fdiagnostics-format=msvc for all platforms, which should do a better job than our crude attempts at regexing errors (causing botched output in some cases). Change 3996714 by Chad.Garyet UGSRestAPI, conversion of UGS to use it. #jira none Change 4008287 by Ben.Marsh UBT: Change the engine to use the Windows 10 SDK by default. Also add support for switching between specific Windows SDK versions. The WindowsPlatform.WindowsSdkVersion property in the target rules can be used to select a desired version, which can also be configured by the <WindowsPlatform><WindowsSdkVersion>Foo</WindowsSdkVersion></WindowsPlatform> parameter in the BuildConfiguration.xml file. The version of Windows to target (ie. the WINVER macro) can be modified by setting WindowsPlatform.TargetWindowsVersion. The default is 0x0601 (Windows 7). Change 4008516 by Chad.Garyet - Adding support for both SQLite and MsSql - API now reads from only MsSql, but writes to both - Added support for POST to CIS for badges - PostBadgeStatus now writes out via API Url rather than a direct connection to the DB #jira none Change 4010296 by Chad.Garyet Moving SQLite db initilization into Application_Start. An exception thrown creating or seeding the db will unload the entire AppDomain and all pages will return a 404. #jira none Change 4024045 by Ben.Marsh Set the list of supported target platforms for OnlineSubsystemGameCircle. #jira UE-57887 Change 4031014 by Ben.Marsh UAT: Add a WhitelistDirectories list in DefaultEngine.ini, which allows specifying folders that can be staged despite having restricted folder names. [CL 4034515 by Ben Marsh in Main branch]
2018-04-26 14:11:04 -04:00
/// <summary>
/// Stages a file for use by crash reporter.
/// </summary>
/// <param name="FileType">The type of the staged file</param>
/// <param name="InputFile">Location of the input file</param>
/// <param name="StagedFile">Location of the file in the staging directory</param>
public void StageCrashReporterFile(StagedFileType FileType, FileReference InputFile, StagedFileReference StagedFile)
{
if(FileType == StagedFileType.UFS)
{
CrashReporterUFSFiles[StagedFile] = InputFile;
}
else
{
StageFile(FileType, InputFile, StagedFile);
}
}
/// <summary>
/// Stage multiple files for use by crash reporter
/// </summary>
/// <param name="FileType">The type of the staged file</param>
/// <param name="InputDir">Location of the input directory</param>
/// <param name="Option">Whether to stage all subdirectories or just the top-level directory</param>
public void StageCrashReporterFiles(StagedFileType FileType, DirectoryReference InputDir, StageFilesSearch Option)
{
StageCrashReporterFiles(FileType, InputDir, Option, new StagedDirectoryReference(InputDir.MakeRelativeTo(LocalRoot)));
}
/// <summary>
/// Stage multiple files for use by crash reporter
/// </summary>
/// <param name="FileType">The type of the staged file</param>
/// <param name="InputDir">Location of the input directory</param>
/// <param name="Option">Whether to stage all subdirectories or just the top-level directory</param>
/// <param name="OutputDir">Location of the output directory within the staging folder</param>
public void StageCrashReporterFiles(StagedFileType FileType, DirectoryReference InputDir, StageFilesSearch Option, StagedDirectoryReference OutputDir)
{
List<FileReference> InputFiles = FindFilesToStage(InputDir, Option);
foreach(FileReference InputFile in InputFiles)
{
StagedFileReference StagedFile = StagedFileReference.Combine(OutputDir, InputFile.MakeRelativeTo(InputDir));
StageCrashReporterFile(FileType, InputFile, StagedFile);
}
}
Copying up to CL#2909284 //UE4/Fortnite-Staging to //UE4/Main This is CL#2904759 from //Fortnite/Main #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2904398 on 2016/03/10 by Bob.Tellez #UE4 OnlineBeaconClients are now destroyed when net cleanup happens instead of normal destruction time so the behave more like PlayerControllers. Also added some low level protection from closing already closed beacons. #rb Josh.Markiewicz #codreview Josh.Markiewicz #JIRA FORT-20703 Change 2904339 on 2016/03/10 by Daniel.Broder Added support for allowing an actor to determine whether it is selectable or not (rather than relying purely on editor modes). One example use-case is a Transient actor created by WorldSettings for Fortnite which can otherwise be selected, edited, and even copied and pasted to a non-Transient form (which can be done accidentally and cause bugs). Change made after discussion with Bob. #CodeReview Bob.Tellez #UE4 Change 2903020 on 2016/03/10 by John.Abercrombie Added blueprint function to set named params for use when running an EQS query from BP - Phil is going to test this out for me. #rb me (Mieszko wrote this) #codereview Phil.Cole, Mieszko.Zielinski Change 2902440 on 2016/03/09 by Ben.Zeigler #Jira FORT-20149 Fix package map issue where if the client package map received a reference to a package that was already in the async loading queue due to an unrelated async load call, it would not register it correctly, which would lead to error messages and actors potentially not being initialized. #codereview john.pollard #RB bob.tellez Change 2900138 on 2016/03/08 by Bob.Tellez #UE4 Updated the following Parameter value functions to respect the bOverride flag GetStaticSwitchParameterValue GetStaticComponentMaskParameterValue GetTerrainLayerWeightParameterValue #rb Nick.Penwarden Change 2899839 on 2016/03/08 by Lukasz.Furman fixed navmesh projection on actors with overlap response to world channels #rb Mieszko.Zielinski #codereview Zak.Middleton Change 2899743 on 2016/03/08 by Lukasz.Furman fixed handling multiple blocking hits in navwalking's geometry conforming blocking response was used in previous implementation accepting first hit, scoring mutliple points requires getting them all with overlap response #fortnite FORT-21546 #rb Mieszko.Zielinski #codereview Zak.Middleton Change 2898194 on 2016/03/07 by Chris.Gagnon Added the ability to filter DataTable Assets by their row using the metadata. meta = (RowType=MyRowName) #RB Saad.Nader #codereview Saad.Nader, Jamie.Dale Change 2895102 on 2016/03/04 by Ben.Zeigler #JIRA FORT-20290 Fix issue where if a server received a 408 on a verify auth call, it would get stuck in the "in progress" state, and would never try to verify auth again until the auth timed out Add additional logging to auth queries, to track this and other issues. The new log lines are permanent, but StartExtraLogging should be disabled before merging back to main #codereview josh.markiewicz Change 2891302 on 2016/03/02 by Bob.Tellez #UE4 The spawned NavGraph actors in CreateNavigationDataInstance were getting immediately marked pending kill due to the existance of the FortNavGraph actors placed in the NavMeshBounds map. Marking an actor pending kill instead of calling destroy actor is dangerous since DestroyActor does many other things including removing the actor from the networked actors list. Failure to remove from this list caused FORT-21458. This change both removes the existing FortNavGraph actors from the registered list and better handles cleaning up NavigationData removed for this reason. #rb Ben.Zeigler #codereview Lukasz.Furman Change 2887908 on 2016/03/01 by Chris.Gagnon Added Event Track to UMG Sequencer. Added PlayTo functionality for targeting the end point of a played animation. #RB Frank.Fella #codereview Frank.Fella, Nick.Darnell Change 2887686 on 2016/03/01 by Joel.Crabbe Fixed issue with replication comparison object not necessarily being the correct, blueprint-defined, defaults-edited version. Changed GetClass()->GetDefaultObject to GetArchetype() for comparison value. #codereview Ben.Zeigler Change 2886847 on 2016/02/29 by Bob.Tellez #UE4 Fixed a bug where pasting multiple lines of text into the property matrix would leave the \\r character in the string in windows platforms. #codereview Richard.TalbotWatkin Change 2886414 on 2016/02/29 by Lukasz.Furman fixed start point of composite path's update #fortnite FORT-21380 #rb Mieszko.Zielinski Change 2886250 on 2016/02/29 by Bob.Tellez #UE4 Adding !IsInSlateThread to assert in SuspendLoading/ResumeLoading. I suspect this may be the cause of a race condition involving flushing async loading during startup. #codereview Robert.Manuszewski Change 2885942 on 2016/02/29 by Bob.Tellez #UE4 Disabling per-instance mesh painting on instanced static mesh components. #rb Jack.Porter [CL 2909292 by Bob Tellez in Main branch]
2016-03-14 21:21:09 -04:00
public void StageBuildProductsFromReceipt(TargetReceipt Receipt, bool RequireDependenciesToExist, bool TreatNonShippingBinariesAsDebugFiles)
{
// Stage all the build products needed at runtime
foreach(BuildProduct BuildProduct in Receipt.BuildProducts)
{
// allow missing files if needed
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
if (RequireDependenciesToExist == false && FileReference.Exists(BuildProduct.Path) == false)
{
continue;
}
if(BuildProduct.Type == BuildProductType.Executable || BuildProduct.Type == BuildProductType.DynamicLibrary || BuildProduct.Type == BuildProductType.RequiredResource)
{
Copying up to CL#2909284 //UE4/Fortnite-Staging to //UE4/Main This is CL#2904759 from //Fortnite/Main #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2904398 on 2016/03/10 by Bob.Tellez #UE4 OnlineBeaconClients are now destroyed when net cleanup happens instead of normal destruction time so the behave more like PlayerControllers. Also added some low level protection from closing already closed beacons. #rb Josh.Markiewicz #codreview Josh.Markiewicz #JIRA FORT-20703 Change 2904339 on 2016/03/10 by Daniel.Broder Added support for allowing an actor to determine whether it is selectable or not (rather than relying purely on editor modes). One example use-case is a Transient actor created by WorldSettings for Fortnite which can otherwise be selected, edited, and even copied and pasted to a non-Transient form (which can be done accidentally and cause bugs). Change made after discussion with Bob. #CodeReview Bob.Tellez #UE4 Change 2903020 on 2016/03/10 by John.Abercrombie Added blueprint function to set named params for use when running an EQS query from BP - Phil is going to test this out for me. #rb me (Mieszko wrote this) #codereview Phil.Cole, Mieszko.Zielinski Change 2902440 on 2016/03/09 by Ben.Zeigler #Jira FORT-20149 Fix package map issue where if the client package map received a reference to a package that was already in the async loading queue due to an unrelated async load call, it would not register it correctly, which would lead to error messages and actors potentially not being initialized. #codereview john.pollard #RB bob.tellez Change 2900138 on 2016/03/08 by Bob.Tellez #UE4 Updated the following Parameter value functions to respect the bOverride flag GetStaticSwitchParameterValue GetStaticComponentMaskParameterValue GetTerrainLayerWeightParameterValue #rb Nick.Penwarden Change 2899839 on 2016/03/08 by Lukasz.Furman fixed navmesh projection on actors with overlap response to world channels #rb Mieszko.Zielinski #codereview Zak.Middleton Change 2899743 on 2016/03/08 by Lukasz.Furman fixed handling multiple blocking hits in navwalking's geometry conforming blocking response was used in previous implementation accepting first hit, scoring mutliple points requires getting them all with overlap response #fortnite FORT-21546 #rb Mieszko.Zielinski #codereview Zak.Middleton Change 2898194 on 2016/03/07 by Chris.Gagnon Added the ability to filter DataTable Assets by their row using the metadata. meta = (RowType=MyRowName) #RB Saad.Nader #codereview Saad.Nader, Jamie.Dale Change 2895102 on 2016/03/04 by Ben.Zeigler #JIRA FORT-20290 Fix issue where if a server received a 408 on a verify auth call, it would get stuck in the "in progress" state, and would never try to verify auth again until the auth timed out Add additional logging to auth queries, to track this and other issues. The new log lines are permanent, but StartExtraLogging should be disabled before merging back to main #codereview josh.markiewicz Change 2891302 on 2016/03/02 by Bob.Tellez #UE4 The spawned NavGraph actors in CreateNavigationDataInstance were getting immediately marked pending kill due to the existance of the FortNavGraph actors placed in the NavMeshBounds map. Marking an actor pending kill instead of calling destroy actor is dangerous since DestroyActor does many other things including removing the actor from the networked actors list. Failure to remove from this list caused FORT-21458. This change both removes the existing FortNavGraph actors from the registered list and better handles cleaning up NavigationData removed for this reason. #rb Ben.Zeigler #codereview Lukasz.Furman Change 2887908 on 2016/03/01 by Chris.Gagnon Added Event Track to UMG Sequencer. Added PlayTo functionality for targeting the end point of a played animation. #RB Frank.Fella #codereview Frank.Fella, Nick.Darnell Change 2887686 on 2016/03/01 by Joel.Crabbe Fixed issue with replication comparison object not necessarily being the correct, blueprint-defined, defaults-edited version. Changed GetClass()->GetDefaultObject to GetArchetype() for comparison value. #codereview Ben.Zeigler Change 2886847 on 2016/02/29 by Bob.Tellez #UE4 Fixed a bug where pasting multiple lines of text into the property matrix would leave the \\r character in the string in windows platforms. #codereview Richard.TalbotWatkin Change 2886414 on 2016/02/29 by Lukasz.Furman fixed start point of composite path's update #fortnite FORT-21380 #rb Mieszko.Zielinski Change 2886250 on 2016/02/29 by Bob.Tellez #UE4 Adding !IsInSlateThread to assert in SuspendLoading/ResumeLoading. I suspect this may be the cause of a race condition involving flushing async loading during startup. #codereview Robert.Manuszewski Change 2885942 on 2016/02/29 by Bob.Tellez #UE4 Disabling per-instance mesh painting on instanced static mesh components. #rb Jack.Porter [CL 2909292 by Bob Tellez in Main branch]
2016-03-14 21:21:09 -04:00
StagedFileType FileTypeToUse = StagedFileType.NonUFS;
if (TreatNonShippingBinariesAsDebugFiles && Receipt.Configuration != UnrealTargetConfiguration.Shipping)
{
FileTypeToUse = StagedFileType.DebugNonUFS;
}
StageFile(FileTypeToUse, BuildProduct.Path);
}
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3125471) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3105904 on 2016/08/30 by Ben.Marsh PR #2691: Copy .map-file to staging & cleanup (Contributed by projectgheist) Change 3105974 on 2016/08/30 by Ben.Marsh PR #2748: [Bug-Fix] UGS - Ensure older events do not trample newer ones (Contributed by paulevans) Change 3106035 on 2016/08/30 by Ben.Marsh PR #2746: [Bug-Fix] UGS - Starting build colour was the same as disabled (Contributed by paulevans) Change 3106172 on 2016/08/30 by Ben.Marsh UAT: Do not default to submitting build products from BuildCookRun unless -submit is explicitly specified on the command line. #codreview Maciej.Mroz Change 3107642 on 2016/08/31 by Matthew.Griffin More Monolithic editor fixes Fixed IMPLEMENT_MODULE macros with incorrect module name Wrapped some usages of GIsHotReload in WITH_HOT_RELOAD Fixed NiagaraConstants so that they can be used in multiple modules Change 3107808 on 2016/08/31 by Matthew.Griffin Added Node to Compile UAT on Mac to catch any Mono failures which will run as part of monolithics aggregate Change 3111527 on 2016/09/02 by Matthew.Griffin Duplicating CL#3111524 from Release-4.13 stream Including Documentation/Extras in installed build Change 3117683 on 2016/09/08 by Ben.Marsh PR #2771: Fix compilation of C# projects on case-sensitive OSes (Contributed by slonopotamus) Change 3119707 on 2016/09/09 by Ben.Marsh UBT: Add more explicit methods for querying Visual C++ and Visual Studio installation directories. Now uses the same logic in the Visual Studio batch files. Change 3120824 on 2016/09/12 by Ben.Marsh UnrealGameSync: Add a project-wide option which can disable using the last code changelist for version files, and use the sync changelist instead. ("VersionToLastCodeChange" in the "[Options]" section). Update version to 1.80. Change 3120996 on 2016/09/12 by Ben.Marsh Core: Fix lines of output text from FMonitoredProcess being truncated at 512 characters, due to pipe buffer size. Accumulate incomplete lines and merge them together again instead. Also remove CR-LF pairs if they occur at the end of a line. #jira UE-35659 Change 3121353 on 2016/09/12 by Ben.Marsh Core: Manually enumerate and load dependent DLLs for modules by the editor, to work around limitations in the number of search paths checked by the Windows loader. We previously temporarily modified the PATH environment variable to provide this functionality, but are close to the OS limit for length of that string. This method should not have any such restrictions (though it will not work for circular dependencies). Change 3121996 on 2016/09/12 by Ben.Marsh Add support for Visual Studio 2017 (aka "15"; assuming consistent naming with other versions until final name is announced). * Compiler, STL implementation and CRT are binary compatible with VS2015 (see https://blogs.msdn.microsoft.com/vcblog/2016/08/24/c1417-features-and-stl-fixes-in-vs-15-preview-4/), so no new third-party libraries needed so far. WindowsPlatform.GetVisualStudioCompilerVersionName() returns "2015" as a result. * Default compiler for compiling and generating project files is still VS 2015 for now. Pass -2017 on the command line to GenerateProjectFiles.bat to generate VS2017 projects. Projects generated for VS2017 will use the 2017 compiler by default. * Visual Studio source code accessor can talk to VS 2017 instances. * Added a VS2017 configuration for UnrealVS, and added precompiled vsix package. * Switched GetVSComnTools to check the SOFTWARE\Microsoft\VisualStudio\SxS\VS7 registry key rather than the individual product install registry key. "15" doesn't seem to have it's own "InstallDir" key, but this system seems to work for all versions of Visual Studio (including previous releases of VS Express). * Removed ATL dependency from VisualStudioSourceCodeAccessor. It's not installed with VS by default any more, and is only used for a couple of smart pointer classes. Tested running the editor and packaging TP_Flying for Win64. Packaging from the editor still defaults to using the 2015 compiler, so ConfigureToolchain() needs to be overriden from the .target.cs file if multiple Visual Studio versions are installed. Change 3123144 on 2016/09/13 by Ben.Marsh BuildGraph: Fix exception due to mismatched argument lists. Change 3123160 on 2016/09/13 by Ben.Marsh Linux: Make PLATFORM_SUPPORTS_JEMALLOC a globally defined macro rather than just defined by the jemalloc module. Core supplies a default value for this macro which is inconsistent unless your module has an explicit dependency on jemalloc. Change 3123211 on 2016/09/13 by Ben.Marsh UBT: Fix exception writing a version manifest if the output directory does not exist. Change 3125300 on 2016/09/14 by Ben.Marsh UnrealVS: Few fixes to single-file compile command. * All documents are now saved before compile starts. * Now gives a useful error when trying to compile non-cpp files, rather than falling back to the invalid default command handler. * Trying to do a single-file compile while an existing build is running now prompts to stop it, rather than falling back to the default command handler (which gives a "Invalid command" message for makefile projects) Change 3125437 on 2016/09/14 by Ben.Marsh UnrealVS: Update version number to 1.43 in order to prevent installer from bailing unless existing version is uninstalled first. [CL 3126342 by Ben Marsh in Main branch]
2016-09-15 08:33:13 -04:00
else if(BuildProduct.Type == BuildProductType.SymbolFile || BuildProduct.Type == BuildProductType.MapFile)
{
Copying //UE4/Release-Staging-4.13 to //UE4/Dev-Main (Source: //UE4/Release-4.13 @ 3088355) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3088355 on 2016/08/13 by Max.Preussner Media Player Editor: Fixed Local file paths without file:// open when pressing Enter, but not when clicking Go button (UE-34643) #jira UE-34643 Change 3088331 on 2016/08/13 by Max.Preussner Media: Fixed Failing to load Precached Media Source (UE-34285) #jira UE-34285 Change 3088202 on 2016/08/12 by Zabir.Hoque Porting DX12 Fix from MS: Update D3D12 RHI for 4.13 - Fixed compiler errors with missing RHI methods. Fixed compiler warnings where names were hidding other variables. #jira UE-0 Change 3088149 on 2016/08/12 by Mark.Satterthwaite Duplicate CL #3087991: Initial AVFoundation implementation of Media Framework for Mac, iOS & tvOS. - Slight adaptation of AppleMovieStreamer to pick up movies from inside the GameContentDir on all Apple platforms. - Video playback occurs via AVPlayerItemVideoOutput's attached to the AVPlayerItem's output. This means gathering video samples is trivial. - Metal texture updates occur by wrapping the texture object provided by AVF - for Mac this is simple as it can bind to the IOSurface directly, for iOS/tvOS we have to create a CVMetalTextureCache and allocate our texture from there. - OpenGL and OpenGLES currently have to lock the pixel buffer and upload to a texture the old fashioned way - this should be revisited when there is time. - Subtitles/Captions are captured using AVPlayerItemLegibleOutput which also connects to the AVPlayerItem's output. - On Mac audio samples are returned by manually reading from the stream using an AVAssetReaderTrackOutput, including manual seeking and synching. - On iOS/tvOS the audio is played directly by AVPlayer because the IOSAudio system can't handle procedural buffers - otherwise it could reuse the Mac code. - AVFoundation does not support AVI - that's an obsolete Microsoft/Windows file-format. - Only 'file://' URLs are supported - streaming would require a totally different audio solution (using MTAudioProcessingTap) and has many more edge and failure cases that would need to be handled. #jira UE-34315 Change 3088131 on 2016/08/12 by Chris.Babcock Fix iterative deploy for new ADB #jira UE-34638 #ue4 #android Change 3088106 on 2016/08/12 by Dan.Oconnor Make check less strict, PinIds are only unique within a single node, unfortunately, hence why we use both an OwningNode and a PinId when resolving references #jira UE-34564 Change 3088099 on 2016/08/12 by Zabir.Hoque Move end of frame resource clean up to end of viewport rendering, since EndFrame calls were not consistently coming in when movie was playing but asset loading was done. #Jira UE-27026 Change 3088072 on 2016/08/12 by Max.Chen Sequencer: Level editor camera cut flag is now a one way gate This resolves issues to do with the flag being erroneously reset by external forces. #jira UE-33875 Change 3088031 on 2016/08/12 by Jeff.Campeau Fix WinXP build issues in WmfMedia and SteamVR plugins. #jira UE-32421 Change 3088025 on 2016/08/12 by Tom.Looman Updated VR Template with new VR device ID blueprint node. #jira ue-34592 Change 3088023 on 2016/08/12 by Tom.Looman Added PS Move input handling support to VR Template. #jira UE-34188 Change 3087989 on 2016/08/12 by Michael.Trepka Restored the code that's staging custom icons for Mac, which was accidentally removed when we switched to use build receipts. #jira UE-34581 Change 3087907 on 2016/08/12 by mason.seay New test assets for sub instance testing #jira UE-29618 Change 3087812 on 2016/08/12 by Maciej.Mroz #jira UE-34247 Nativized UMG assets not visible Redone cl#3087726 from Dev-Blueprints Change 3087810 on 2016/08/12 by Jeff.Fisher UEVR-13 PSVR: TCR Requirements : sceHmdReprojectionSetOutputMinColor Exposed sceHmdReprojectionSetOutputMinColor to blueprint via Morpheus Function Library. Allows one to set the minimum output color from reprojection processing. Can be used to mitigate certain artifacts (dark smearing, reprojection edges). See Sony documentation for more information. This setting does persist across switches out of vr mode and hmd disconnection, but it has no effect out of vr modes. #review-3087760 @nick.whiting #jira UEVR-13 Change 3087795 on 2016/08/12 by Mitchell.Wilson Added project thumbnail to subway sequencer. Added thumbnails to subway sequencer levels. Re-saved multiple files to resolve empty engine version and nodeguid warnings. #jira UE-34521 UE-34519 Change 3087730 on 2016/08/12 by Michael.Trepka Made bGeneratedSYMFile true by default and changed some ifs in Mac UBT code so that non-debug configs always build dSYM files on Mac, unless bGeneratedSYMFile is set to false in BuildConfiguration.xml #jira UE-34548 Change 3087699 on 2016/08/12 by Jeff.Campeau Make resource generation fault tolerant of unset config values. #jira UE-34614 Change 3087690 on 2016/08/12 by Mitchell.Wilson Added a thumbnail for the BlueprintRenderToTarget level. #jira UE-34544 Change 3087688 on 2016/08/12 by Marc.Audy Fix headshot crash when tearing down physics when not registered #jira UE-32935 Change 3087615 on 2016/08/12 by Ben.Woodhouse Fix for crash in shadowsetup when frustum is invalid #jira UE-33014 Change 3087607 on 2016/08/12 by Max.Chen Sequencer: Fix Import/Export FBX - Import FBX now maps arbitrary float properties as well as the transform - Import/Export FBX now consistently operates on selected nodes or all nodes - Fixed exported node names so that they're consistent with Sequencer node names #jira UETOOL-534 Change 3087586 on 2016/08/12 by Chris.Babcock Add HUAWEI_Mali device model recognition for Vulkan #jira UE-34610 #ue4 #android Change 3087529 on 2016/08/12 by Jurre.deBaare Fix for crash when start index != 0 and sampling at a different rate #jira UE-34637 Change 3087519 on 2016/08/12 by Ben.Marsh Pass the -ignorejunk flag on to child UBT instance when running a clean. Change 3087455 on 2016/08/12 by Jurre.deBaare Alembic importer plugin needs proper logo #fix Replaced icon with inverted official Alembic logo #jira UE-34474 Change 3087360 on 2016/08/12 by Ben.Marsh Print out the UBT command line before running it, to help diagnose -ignorejunk problem. Change 3087285 on 2016/08/12 by Lina.Halper - Add which animation it fails to compress - Make sure it doesn't go in there unless you have skeleton #jira: UE-34490 Change 3087237 on 2016/08/12 by Alex.Delesky #jira UE-34453 - Fixed an issue where a cast to find specific thumbnail scene info was being erroneously applied to the skeletal mesh thumbnail scene instead of the material thumbnail scene. Change 3087215 on 2016/08/12 by danny.bouimad #jira UE-29618 updated QA-AnimProfiles again... Change 3087212 on 2016/08/12 by Danny.Bouimad #jira UE-29618 updated TM-PhysicalAnimProfiles again Change 3087200 on 2016/08/12 by Robert.Manuszewski Fix for potential deadlock when a worker thread crashes caused by critical section lock in FOutputDeviceRedirector. The engine will no longer attempt to flush log messages in CheckRenderingThreadHealth if a critical error has already occured. Crash handlers flush log anyway. #jira UE-34373 Change 3087188 on 2016/08/12 by Matthew.Griffin Added SignExecutables Option to installed build script, which defaults to false and means most people won't have to pass -nosign anymore Added HostPlatformsOnly Option to installed build script as a way to easily make a build with only your current platform, without having to disable every other platform manually Change 3087160 on 2016/08/12 by Ben.Marsh Propagate the -ignorejunk option when we're building UHT as a child process in UBT. Change 3087148 on 2016/08/12 by Ben.Marsh Fix sample build failure due to intermediate headers being deleted from engine folder. Some modules only have *private* UObject classes which aren't included in the editor zip. UBT detects that there are no longer and UObject classes and deletes the intermediate folder, causing BuildGraph to fail when it detects the change. Change 3087143 on 2016/08/12 by Danny.Bouimad #jira UE-29618 updated QA-AnimProfiles and SK_Mannequin_PhysAssetTest to include constaint profiles for switching, removed old map in wrong folder. Change 3087140 on 2016/08/12 by Steve.Robb GitHub 2256 : Update UnrealCodeAnalyzer.Build.cs I have no evidence that this actually fixes anything, but it doesn't harm anything to add it... #jira UE-29286 Change 3087139 on 2016/08/12 by Steve.Robb Failed link actions during a hot reload now output a 'failed.hotreload' file in the destination folder to indicate that another link attempt is needed. This is because we can't distinguish between a successful compile with a failed link action, and a compile with no changes which requires no new module. #jira UE-31575 Change 3087107 on 2016/08/12 by Jurre.deBaare Alembic Import with empty first frame will cause the editor to crash #jira UE-34515 #fix Reject empty or invalid frames and remove them from the object, output messages are generated for such frames/objects #misc added a static const value indicating the first frame instead of hardcoded 0 array accesors #misc check condition fix in Runnable #misc log now adds new page named after the imported Alembic file Change 3087079 on 2016/08/12 by Dmitriy.Dyomin Fixed: Corrupted level package on loading cooked content #jira UE-34591 Change 3087063 on 2016/08/12 by James.Cobbett #jira UE-29618 Submitting test assets for Alembic Importer Change 3087048 on 2016/08/12 by Matthew.Griffin Changed Launcher Samples to create aggregate from property to avoid error in preflights Only notify about Launcher Samples trigger in non-preflight builds Change 3086985 on 2016/08/12 by Maciej.Mroz #jira UE-34372 [CrashReport] UE4Editor_CoreUObject!StaticAllocateObject() [uobjectglobals.cpp:2102] Redone cl#3083825 from Dev-Blueprints Change 3086960 on 2016/08/12 by Matthew.Griffin Prevent Build DDC command from making DDC for platforms that aren't supported by project #jira UEB-698 Change 3086945 on 2016/08/12 by Dmitriy.Dyomin Fixed: Sub-level layers do not show up in Layers tab when loaded as a part of world composition #jira UE-18291 Change 3086904 on 2016/08/11 by Lina.Halper Reverting the ensure as raw curve track != compressed because it doesn't go to compressed if the value doesn't have anything more than >0.f #jira: UE-34570 Change 3086891 on 2016/08/11 by Lina.Halper DUPEFIX: CL 3086544 from Michael Noland Paper2D: Fixed a crash when mutating grouped sprite components at runtime, and cleaned up how collision rendering is done for grouped sprite components addressing some other issues as well #jira UE-34223 #tests (from Michael N) Tested with repro project from JIRA, as well as adding/removing instances in the editor and with some sprites in the group having collision and others not, clearing collision on the component itself, etc... #tests (from Lina H) started the test project from JIRA and PIE, and no crash. Change 3086837 on 2016/08/11 by Nick.Whiting Modifying IsInGameThread() checks in Oculus positional tracking code to be !IsInActualRenderingThread(). This allows skel controls to use orientation and position with parallel animation #jira UE-32564 Change 3086797 on 2016/08/11 by Dmitry.Rekman Linux: fix crash on editor exit (UE-30795, UE-7519). - FText (stored in ZoomLevels static array) was being destructed during the global destructor phase, and it cannot do that. #jira UE-30795 Change 3086735 on 2016/08/11 by Richard.TalbotWatkin Fixed crash due to entries in the BlueprintCreatedComponents list not being present in the OwnerComponents list in RerunConstructionScript following an Undo. Handled this case explicitly now. #jira UE-34265 - Undo, Redo, Undoing a blueprint actor Replace action causes a crash Change 3086726 on 2016/08/11 by Jeff.Fisher UEVR-13 PSVR: TCR Requirements : 2DVR 2DVR is a way to show a static image on PlayStation VR temporarily, for example as a loading screen. -Implemented 2DVR reprojection mode, exposed Show2DVRSplashScreen and Hide2DVRSplashScreen to blueprint through a new MorpheusFunctionLibrary. #jira UEVR-13 #review-3086004 @chad.taylor @nick.whiting Change 3086652 on 2016/08/11 by Dmitry.Rekman Linux: re-enable ICU (UE-34012). - Built static libs against libc++; disabled using dynamic ones. - Fixes lack of rich text formatting. #jira UE-34012 Change 3086648 on 2016/08/11 by Nick.Whiting Adding support for getting the HMD Device name from code / blueprints #jira UE-31785 Change 3086589 on 2016/08/11 by Chad.Taylor Fixing Vive resolution on packaged builds #jira UE-34535 Change 3086568 on 2016/08/11 by Matt.Kuhlenschmidt Fix skeletal mesh LODs not being imported correctly. All meshes were imported to the base LOD instead. #jira UE-34397 Change 3086529 on 2016/08/11 by Marc.Audy Don't build UE4Game against shipping physx/apex libs causing module mismatches for binary code projects linked against profile libs (which is the default) #jira UE-34287 Change 3086376 on 2016/08/11 by Peter.Sauerbrei remove cached file handle from iOS and Android to save memory during loads #jira UE-31720 Change 3086369 on 2016/08/11 by Matt.Kuhlenschmidt Guard against crash with corrupted editor layouts #jira UE-34364 Change 3086345 on 2016/08/11 by Dan.Oconnor ULevel::Actors is now a TArray instead of a TTransArray. It has been misusing TTransArray for years (by both serializing individual elements and the entire array, TTransArray logic in EditorTransaction.cpp appears to be completely rotten, broken for a very long time) #jira UE-34380 Change 3086272 on 2016/08/11 by Cody.Albert Updating First Person templates to fix cook errors #jira UE-22726 Change 3086259 on 2016/08/11 by Nick.Whiting Added a project setting bStartInVR, which allows projects to specify that they want to default to starting in VR mode, regardless of whether the -vr commandline is used #jira UE-31617 Change 3086202 on 2016/08/11 by Marcus.Wassmer Duplicate 3086176 to fix broken shaderpipelines on PS4 #jira UE-34540 Change 3086080 on 2016/08/11 by mason.seay Test animbp for sub anim instances #jira UE-29618 Change 3086062 on 2016/08/11 by Tom.Looman Migrate from //depot/usr/ into Release-4.13 for VR Template. #jira ue-34533 Change 3086032 on 2016/08/11 by Mike.Beach Bolstering FSceneComponentDetails::MakeTransformDetails()'s null handling (there was one conditional that was missing it). #jira UE-34350 Change 3086025 on 2016/08/11 by Olaf.Piesche #jira UE-32058 Replicating fix from 3050352 Change 3085969 on 2016/08/11 by John.Pollard CIS fix #jira UE-30516 Change 3085819 on 2016/08/11 by Jurre.deBaare bForceOneSmoothingGroup not working for skeletal meshes #fix Added check for forced smoothing group and calculate normals accordingly #misc Spotted some non-referenced const TArrays being passed to CalculateTangents #jira UE-34555 Change 3085799 on 2016/08/11 by Ben.Marsh Pass the -ignorejunk option to UBT when generating code documentation. Since the UE_SDKS_ROOT environment variable is removed (because we don't want documentation for confidential platforms), UBT was deleting Linux target platform DLLs and causing an error when generating blueprint documentation when the files were missing. Change 3085763 on 2016/08/11 by Daniel.Lamb Fix for circular initialization of a singleton on android causing hang when using cook on the fly. #jira UE-34442 Change 3085717 on 2016/08/11 by Dmitry.Rekman Linux: better messaging around Steam initialization (UE-32052). - Also added a standalone test. #jira UE-32052 Change 3085715 on 2016/08/11 by Chris.Bunner Dropped check to an ensure as there's existing handling for invalid assets in that case. #jira UE-23902 Change 3085714 on 2016/08/11 by Olaf.Piesche #jira UE-30398 Fix offset added to particle collision locations. Replicated from 3084645 in Dev-Rendering Change 3085713 on 2016/08/11 by Chris.Babcock Allocate OptionalShadowDepthColorSurface to match DepthStencil dimensions (allow up to 4 resolutions for now) #jira UE-33840 #ue4 #android #ios #opengl Change 3085711 on 2016/08/11 by Olaf.Piesche #jira UE-34106 #jira UE-32784 #jira UE-31198 Reset vertex factories on mesh emitters if mesh has been reimported (if mesh package is dirty) Replicated from 3083909 in Dev-Rendering Change 3085707 on 2016/08/11 by Matthew.Griffin Duplicated CL#3081374 from Dev-Build and another fix to the SlateTextureAtlasInterface issue Change 3085656 on 2016/08/11 by Marc.Audy PR#2620. Make sure the component has its position updated before using it to spawn the child actor (Contributed by pampersrocker) #jira UE-32418 #jira UE-33617 Change 3085641 on 2016/08/11 by Lina.Halper Fixed invalid compressed track data - need a better solution and added ticket for 4.14 - UE-34547 #jira: UE-34077 Change 3085606 on 2016/08/11 by Max.Preussner Media: Attempt to fix Crash after Clearing Sound Wave Asset and Deleting Media Player from Content Browser (UE-34381) #jira UE-34381 Change 3085568 on 2016/08/11 by Maciej.Mroz #jira UE-34436 Ensures when copy/pasting linked anim bp nodes FGraphObjectTextFactory doesn't call compilation (it is called later by FBlueprintEditor::PasteNodesHere, when all nodes are pasted). CallFunction can be pasted even when it's function doesn't exist. The function could be created from a CustomEvent node, that was also pasted (so it wasn't compiled yet). Change 3085532 on 2016/08/11 by Peter.Sauerbrei fix for remote tool chain build issues with items not being built because they were already there and up to date, but are then deleted by the file sync because they are missing on the PC #jira UE-30335 Change 3085528 on 2016/08/11 by Max.Chen Sequence Recorder: Fix crash when actor class to record is null. #jira UE-34543 Change 3085418 on 2016/08/11 by Maciej.Mroz #jira UE-33883 Packaging with Nativize Blueprint Assets Causes Uninitialized Defaults Redone cl#3084313 from Dev-Blueprints Change 3085395 on 2016/08/11 by John.Pollard Don't allow hot-reloading if we're running PIE instances #jira UE-30516 Change 3085377 on 2016/08/11 by Tom.Looman Added StarterMap (WIP) to resolve JIRA. #jira ue-34311 Change 3085364 on 2016/08/11 by Ben.Woodhouse Remove the Shadows of Editor-Hidden Objects showflag. This feature hasn't worked for a long time, and making it work again would add additional complexity and performance overhead which we don't want to incur. #jira UE-28561 Change 3085341 on 2016/08/11 by Dmitriy.Dyomin Fixed: Creating Launcher Profile does not always shows all project available maps #jira UE-33765 Change 3085336 on 2016/08/11 by Andrew.Rodham Sequencer: Runtime instances are no longer updated when bluprints are recompiled This code was not actually necessary to fix UE-31635 since we explicitly update the object binding from the level sequence editor spawn register #jira UE-34499 Change 3085332 on 2016/08/11 by Dmitriy.Dyomin Fixed: UInstancedStaticMeshComponent does not keep its instances on duplication #jira UE-26868 Change 3085331 on 2016/08/11 by Ben.Woodhouse Fix for threading related crash with precomputed lighting volumes #jira UE-34531 Change 3085323 on 2016/08/11 by Allan.Bentham Remove android specific vulkan hack to recreate depth buffer's imageview. #jira UE-33593 #jira UE-33336 Change 3085313 on 2016/08/11 by Thomas.Sarkanen StopRecordingAnimation now uses the same maing logic as RecordAnimation This prevents inconsisten behaviour between record and stop record commands #jira UE-34498 - User is not able to use StopRecordingAnimation command on a single actor Change 3085301 on 2016/08/11 by Allan.Bentham Only allow gaussian DoF on mobile. Disable DoF for all other types. #jira UE-34217 Change 3085292 on 2016/08/11 by Thomas.Sarkanen Revert change to force shipping dlls in shipping builds #jira UE-34287 - Crash when opening a packaged code project for Win64 in shipping configuration Change 3085291 on 2016/08/11 by Matthew.Griffin Added nodes for Linux Editor, DDC and installed build Changed existing Linux nodes to use host platform version of UHT and removed unnecessary tagging of UHT products Change 3084973 on 2016/08/10 by Jeff.Campeau Use relative settings for ShooterGame manifest Package creation checks Xbox One target settings in Engine instead of Game config #jira UE-33808 Change 3084932 on 2016/08/10 by patrickr.donovan #jira UE-29618 SteamVR related test content updates- QA_SteamMoCo -> MotionController Components, fixing up button presses, reworking bounds drawing. Change 3084886 on 2016/08/10 by Daniel.Wright Reverted cl 2938543 "Lightmass now respects owner bHidden, and bCastHiddenShadow" because it did not have backwards compatibility so breaks content using hidden light cards #jira UE-33238 Change 3084878 on 2016/08/10 by Jeff.Campeau UFE launch command is generated with all devices requested instead of just the first. #jira UE-34302 Change 3084860 on 2016/08/10 by Dmitry.Rekman Fix CrashReportClient crashing on start (UE-32976, UE-34451). - Add spaces around -abslog=foo.log parameter to prevent unrelated parameters being concatenated (and missed) sometimes. #jira UE-32976 Change 3084756 on 2016/08/10 by Dmitry.Rekman Linux: clean-up compiler settings logic (UE-22715). - Includes parts of pull request #1704 by zaps166. - Disables exceptions in most builds. #jira UE-22715 Change 3084679 on 2016/08/10 by Richard.TalbotWatkin Duplicated from Dev-Editor, CL 3084475 Fixed issue with ModelComponent replication in client/server PIE if BSP is rebuilt. ModelComponent now implements IsNameStableForNetworking and always returns true, as a level's model components will never be rebuilt during a game session. Brush poly normals are now only fixed up in Editor builds. #jira UE-34391 - No run animation on client that is not focused when running 2 player and dedicated server Change 3084614 on 2016/08/10 by Daniel.Wright Scene capture alpha is now inverted to match DrawMaterialToRenderTarget, and to allow compositing with existing render target contents Added CompositeMode to SceneCapture2D, which can be used to addively accumulate or composite instead of the default overwrite behavior Added bCaptureOnMovement to SceneCapture, which can be disabled so the only source of scene capturing is a manual capture by calling CaptureScene() #jira UE-34321 Change 3084607 on 2016/08/10 by Jeremiah.Waldron Adding AlreadyOwned to EInAppPurchaseState and utilizing this enumeration for GooglePlay IAP Also changing IOS store to return AlreadyOwned when SKErrorClientInvalid is received. This seems to be the correct behavior according to: http://stackoverflow.com/questions/8833970/when-does-skerrorclientinvalid-occur Relates to: #jira UE-34283 Change 3084586 on 2016/08/10 by Jeff.Campeau Chunks don't assume they're done downloading at 100%. #jira UE-34386 Change 3084552 on 2016/08/10 by Lina.Halper Fix GetWorldFromContextObject to be used for another thread safer : Guard to modify static variabls by another thread #jira: UE-34416 Change 3084551 on 2016/08/10 by Mitchell.Wilson Changed AutoPossessPlayer to Disabled in ThirdPersonCharacter BP Changed AutoPossessPlayer to Player0 on the ThirdPersonCharacter Instance in the level. #jira UE-32855 Change 3084535 on 2016/08/10 by Mike.Beach Fix to MathExpression node - recent modifications caused subte changes in behavior (now back in line with how it worked before). Identifiers (variable names) are back to allowing numerical characters, and we properly detect the terminating 0 at the end of a name/string. Also, reserving symbols that currently aren't operators (as they used to be) so users don't start including them in identifier names. #jira UE-34378 Change 3084526 on 2016/08/10 by Jeff.Campeau Update XDK to August 2016 #jira UEPLAT-1374 Change 3084471 on 2016/08/10 by John.Pollard Fix UE-34295: [CrashReport] Crash opening project on network drive - VCRUNTIME140!<Unknown> #jira UE-34295 Change 3084363 on 2016/08/10 by Marc.Audy Make stat soundcues/waves work correctly when spinning up new audio devices and switching focused viewport #jira UE-34101 Change 3084231 on 2016/08/10 by Michael.Trepka Fixed a problem with the search box in blueprint context menu not getting focus on Mac #jira UE-20884 Change 3084229 on 2016/08/10 by Dmitry.Rekman Linux: remove hardcoded staged files (UE-24594). #jira UE-24594 Change 3084215 on 2016/08/10 by Chris.Bunner Moved StationaryLightOverlap vis mode drawing to later in the frame to avoid translucency in the view. #jira UE-31936 Change 3084052 on 2016/08/10 by Jurre.deBaare Alembic skeletal mesh importer does not calculate correct smoothing groups #fix follow same routine as regular smoothing group/normal calculation #jira UE-34493 Change 3084029 on 2016/08/10 by Phillip.Kavan [UE-34458] Fix a crash that can occur while instancing an uncompiled Blueprint class with a modified array property in the native parent class default object. Mirrored from //UE4/Dev-Blueprints (CL# 3082839). #jira UE-34458 Change 3084027 on 2016/08/10 by Ben.Woodhouse Fix for crash when applying BSP materials This was caused by the renderthread dereferencing a reference to a ModelElement object which had previously been destroyed on the game thread. The reference to the ModelElement was solely used to dereference the irrelevant light GUIDs. The fix involves removing the reference and keeping a local copy of this array which is owned by the proxy. This is consistent with other proxies, e.g. Landscape, StaticMesh. #jira UE-31460 Change 3083981 on 2016/08/10 by Matthew.Griffin Set Localization branch for Localise command to release version when running in the Release Branch #jira UE-34471 Change 3083970 on 2016/08/10 by Max.Preussner PS4Media: Fixed Media player does not play the 2nd item in the playlist on PS4 (UE-33481) #jira UE-33481 Change 3083918 on 2016/08/10 by Matthew.Griffin Exclude UBT generated files from the installed build Change 3083910 on 2016/08/10 by Matt.Kuhlenschmidt Fix crash using "Use Selected asset from Content Browser" for font materials when the selected asset is not a material #jira UE-34360 Change 3083890 on 2016/08/10 by Matthew.Griffin Converted Launcher Samples to a full list of sample nodes with individual cook platform settings. Changed unzip nodes to only rely on the produced zip files so that it doesn't copy anything from Temp Storage. Changed BuildLauncherSample command to take the root publish dir and build label so that it can create paths and do copies. Also removed code checking whether monolithic platforms are specified for the project. #jira UE-34401 Change 3083873 on 2016/08/10 by Dmitry.Rekman CMakefileGenerator: Fix compilation on .NET 4.0 and below (UE-34478). #jira UE-34478 Change 3083862 on 2016/08/10 by Mitchell.Wilson Rebuilt lighting on Advanced_Lighting level in Samples Content #jira UE-34383 Change 3083792 on 2016/08/10 by Benn.Gallagher PR #2671: Fix sub instance curve values. (Contributed by tmiv) PR #2668: Sub inst post anim fix (Contributed by tmiv) #jira UE-34162 #jira UE-34121 Change 3083775 on 2016/08/10 by Kevin.Rushin QAGame - Updating VRLatency Testmap, Can freelook #jira UE-29618 Change 3083771 on 2016/08/10 by Robert.Manuszewski Don't attempt to construct CDOs when assembling GC token stream while exiting as a result of an error in PreInit. #jira UE-34371 Change 3083742 on 2016/08/10 by Lee.Clark 4.13 - PS4 - Fix memory allocation sizes #jira UE-33270 Change 3083732 on 2016/08/10 by Ben.Marsh Fix all nodes being exported to JSON file for builder configuration, rather than just those behind the current trigger. Change 3083690 on 2016/08/10 by Dmitriy.Dyomin Fixed: Foliage instances are not included when exporting a scene to FBX #jira UE-34214 Change 3083654 on 2016/08/10 by Keith.Judge Fix analysis warnings. Simple change from Release() to SAFE_RELEASE(). #jira UE-23059 Change 3083646 on 2016/08/10 by Thomas.Sarkanen Use shipping PhysX libs for installed builds Copy fix from UE4Game.Target.cs to apply to all packaged games #jira UE-34287 - Crash when opening a packaged code project for Win64 in shipping configuration Change 3083527 on 2016/08/10 by Dmitriy.Dyomin Fixed: Warning upon Undo/redo-ing of sculpting the landscape #jira UE-34443 Change 3083502 on 2016/08/10 by Dmitriy.Dyomin Fixed: World Composition origin shifting does not account for shifting the Dynamic Directional Light shadow casting #jira UE-34417 Change 3083349 on 2016/08/09 by Daniel.Wright Clamped roughness for simple lights to avoid NaNs from D_GGX with a very narrow roughness range including 0.00316, but not 0 #jira UE-31181 Change 3083167 on 2016/08/09 by Chad.Taylor Null deref crash fix #jira UE-33830 Change 3083144 on 2016/08/09 by Zabir.Hoque Removed bDeviceRemoved flag from RHI and issue erroring hault right away. This allows finding the error reason much closer to the callsite. #jira UE-32980 Change 3083136 on 2016/08/09 by Chad.Taylor Stripping out egregious log spam #jira UE-34181 Change 3083116 on 2016/08/09 by John.Billon Defaulting r.D3D.RemoveUnusedInterpolators to on. #Jira UE-34461 Change 3083114 on 2016/08/09 by John.Billon Fixing static analysis warning in NullRHI. #Jira UE-34462 Change 3083070 on 2016/08/09 by Dmitry.Rekman PR #2516: CMake improvements and fixes (UE-22233, UE-32136). - Contributed by Nihlus. - Contains PR #1668 by mgerhardy Summary of changes (from PR): - Fixed an issue where CMake build files would contain invalid targets - Fixed an issue where CMake build files would generate without code completion data, making them useless in IDEs such as CLion. - Fixed an issue where invalid target platforms could fall through and cause issues with the file generation. - Improved code readability throughout the generator. Can still use some more polish. - Improved CMakeFile generation performance by approximately 25%. Before this patch, generating a CMakeFiles.txt for a small-ish project took 20s - by replacing most string concatenation with StringBuilders, it now takes approximately 15s. This should be more apparent in larger projects. - Improved commenting throughout the generator. As with readability, can still use some more polish. - Removed unused using statements. - Added the inclusion of a fake executable target to the CMake files. Some IDEs do not recognize header files that are not part of either an executable or a library. While this target will not build, it is neccesary in CLion. - Replaced all instances of String.Format with string interpolation expressions from C#6. This greatly improves readability, and helped me catch some bugs with the build targets. #jira UE-22233 Change 3082999 on 2016/08/09 by Jeremiah.Waldron Actually checking the consumePurchase response in the GooglePlayStoreHelper for purchases #jira UE-34457 Change 3082993 on 2016/08/09 by mason.seay Fixed level BP error and updated Reverb asset #jira UE-29618 Change 3082981 on 2016/08/09 by Peter.Sauerbrei disable roughness calculation for iOS metal #jira UE-31815 Change 3082912 on 2016/08/09 by Chris.Babcock Use FMallocAnsi instead of FMallocBinned on Android ARM64 for now #jira UE-34432 #ue4 #android Change 3082875 on 2016/08/09 by Chris.Bunner Lowered verbosity of mesh build warning when using MikkTSpace. #jira UE-23903 Change 3082867 on 2016/08/09 by Trung.Le VREditor: Foliage reapply tool shouldn't auto reapply brush settings without trigger presses #jira UE-34227 Change 3082818 on 2016/08/09 by Mike.Beach Backing out CL 3081020, as it was causing issues with duplicated Blueprint actors (triggering an assert). #jira UE-34430 Change 3082794 on 2016/08/09 by Lukasz.Furman fixed gameplay debugger extensions activating during simulate in editor #jira UE-33343 Change 3082760 on 2016/08/09 by Jamie.Dale Scene viewports are now centered when re-entering windowed mode #jira UE-32842 Change 3082744 on 2016/08/09 by Mitchell.Wilson Resaving assets to resolve empty engine version warnings. #jira UE-29746 Change 3082728 on 2016/08/09 by Ben.Marsh BuildGraph: Use separate arguments to indicate that a trigger should be skipped entirely and its nodes should be executed as part of the parent trigger (-skiptrigger=X+Y, -skiptriggers) versus when we want to execute ONLY nodes behind a certain trigger. Fixes cases where triggering sample builds before the parent job finishes would attempt to execute the remaining nodes belonging to the parent trigger. #jira UE-34329 Change 3082686 on 2016/08/09 by Marc.Audy If the GameMode is not carried over as part of a seamless travel create it. #jira UE-25569 Change 3082663 on 2016/08/09 by John.Billon Fixed SubUVAnimation asset crash when texture source is cleared. #Jira UE-34231 Change 3082650 on 2016/08/09 by John.Billon Changed an ensure the NullRHI dealing with memory allocation to be a log message. #Jira UE-32362 Change 3082644 on 2016/08/09 by Maciej.Mroz #jira UE-34240 Match 3 nativization failure Redone cl3082121 from Dev-Blueprints Change 3082633 on 2016/08/09 by Maciej.Mroz #jira UE-34374 [CrashReport] UE4Editor_Engine!UEdGraphNode::GetGraph() [edgraphnode.cpp:172] Redone cl3082414 from Dev-Blueprints Change 3082606 on 2016/08/09 by Michael.Trepka Changed OuputGamutMappingMatrix in TonemapCommon.usf so it doesn't create a temporary variable to work around a bug in Intel's Mac OpenGL shader compiler. #jira UE-34276 Change 3082579 on 2016/08/09 by Benn.Gallagher CIS fix, missed removing a few #ifs #jira UE-29180 Change 3082525 on 2016/08/09 by Tom.Looman Removed Android from supported platforms in VR Template. #jira UE-34189 Change 3082523 on 2016/08/09 by Tom.Looman Improved HMDLocomotionPawn teleportation (UX of location and material reability/behavior) Fixed typo in level text. #JIRA UE-34422 Change 3082504 on 2016/08/09 by Jurre.deBaare Crash importing alembic asset over itself after saving it in Content Browser #fix Trivial nullptr + isValid fix #jira UE-34418 Change 3082433 on 2016/08/09 by Tom.Looman Updated list of supported platforms. #jira UE-34189 Change 3082423 on 2016/08/09 by Mitchell.Wilson Resaving levels to resolve MikkTSpace warnings Updating collision on SM_Floor_Round #jira UE-30786 Change 3082361 on 2016/08/09 by Keith.Judge Xbox One - Fix a controller disconnection crash. - This would only reproduce in VS2015 Update 3, and only when the controller is connected right from the start, not when a pad is plugged in later, so it seems copying the array of ^ pointers wasn't incrementing the refcounts correctly and causing things to be deleted too early. - Changed it to copy each connected pad object one at a time, which maintains the correct refcount. - Possibly a VS2015 Update 3 bug. #jira UE-33955 Change 3082341 on 2016/08/09 by Mitchell.Wilson Reimporting SM_GodRay_Plane Resaving levels to resolve MikkTSpace warnings Resaving multiple materials to resolve warnings #jira UE-34212 Change 3082313 on 2016/08/09 by Matthew.Griffin Only append BuildLabel to the publish dir if it's been set to something (end up with bad path for local build) Change 3082294 on 2016/08/09 by Jurre.deBaare Crash when importing an Alembic file with Materials as a different asset type than one that already exists #fix Ensure that we have a valid material to assign to the assets #jira UE-34377 Change 3082291 on 2016/08/09 by Jurre.deBaare Unable to save Alembic asset with materials after importing more than once #fix Make sure we delete referenced transient materials if they are not used #jira UE-34400 Change 3082290 on 2016/08/09 by Jurre.deBaare Crash importing abc file as Geometry Cache over another used in level with World Normal view mode on #fix Make sure we always update the GeometryCacheComponents, will change this set-up in 4.14 #jira UE-34392 Change 3082274 on 2016/08/09 by Benn.Gallagher Moved FABRIK debug draw out of the native node into the graph node. It will no longer draw in-game, only in Persona previews. Debug drawing is not supported outside of the game thread currently so we can't do it in EvaluateBoneTransforms. #jira UE-29780 Change 3082273 on 2016/08/09 by Benn.Gallagher Improved anim dynamics chain handling with LODs, now a chain will continue to simulate any bodies that can be reached from the root body instead of disabling the whole chain #jira UE-30827 Change 3082270 on 2016/08/09 by Benn.Gallagher Moved source indices for active transitions out of editor only so we can identify them at runtime. This allows the transition ratio anim getter function to get the correct elapsed time instead of trying to infer it which is incorrect when the transition is interuppted. #jira UE-29180 Change 3082257 on 2016/08/09 by Jurre.deBaare Auto align floor mesh does not work in Persona #fix Readded functionality for the auto alignment :) #jira UE-34404 Change 3082239 on 2016/08/09 by Peter.Sauerbrei make sure IPP and supporting dlls are all 64-bit #jira UE-34408 Change 3082225 on 2016/08/09 by Mitchell.Wilson Removing r.Streaming.PoolSize from DefaultEngine.ini, adding DefaultScalability.ini to set r.StreamingPoolSize Reimporting SM_GodRay_Plane Saving all levels to resolve MikkTSpace warnings. #jira UE-30787 Change 3082222 on 2016/08/09 by Rolando.Caloca UE4.13 - Fix crash on opengl3 - Load proper shader map depending on feature level - int interpolators require nointerpolation modifier #jira UE-33879 Change 3082221 on 2016/08/09 by Benn.Gallagher Fix for stack overflow traversing subinstances for duplicated names when there is a circular loop #jira UE-34384 Change 3082179 on 2016/08/09 by Ben.Woodhouse Fix for default subsurface color for two sided foliage, so it defaults to black instead of white. This requires some additional logic because we don't want to change the default color for other lighting models which use the subsurface material input (e.g. subsurface, skin, hair etc). Bump the shader version so the change is correctly propagated to existing material shaders. #jira UE-31461 Change 3082170 on 2016/08/09 by Graeme.Thornton Manual copy of CL 3078836 from Dev-Core to Release-4.13 Silently skip creating exports from a package where the outer is also an export and has been filtered at runtime during loading #jira UE-33909 Change 3082169 on 2016/08/09 by Graeme.Thornton Make FLauncherTasks have unique names so we don't end up with stat name collisions #jira UE-33849 Change 3082163 on 2016/08/09 by Matthew.Griffin Include Linux Build Tools in Windows Installed Build so that Crash Reporter can be staged from receipts Added Checks for files that might not exist when creating Installed Build from Github etc. Tag the published installed build zips #jira UE-34249 Change 3082139 on 2016/08/09 by Ben.Marsh BuildGraph: Allow writing a schema without passing a script in. Change 3082109 on 2016/08/09 by Thomas.Sarkanen Fixed blendspaces producing bad data when degenerate spaces are present Delaunay triangulations that fail now revert to simple degenerate tesselation. This allows us to build a valid set of grid samples even with degenerate triangulations, so no need for any runtime modifications. #jira UE-34308 - 2DAimOffset mesh skews across viewport when anim sequence is added to offest graph Change 3082080 on 2016/08/09 by Matthew.Griffin Added notifications for available triggers Change 3082054 on 2016/08/09 by Allan.Bentham Quality level override changes to high QL are now correctly picked up. #jira UE-22812 Change 3082049 on 2016/08/09 by Allan.Bentham Update shaders when mobile preview device is changed. #jira UE-22810 Change 3081866 on 2016/08/09 by Max.Chen Fbx Export: Fix build. #jira UETOOL-750 Change 3081863 on 2016/08/09 by Max.Chen Fbx Export: Fix level sequence fbx export. - Fix 3d transform track export so that it does the correct flipping for translation and rotation curves. - Fix setting rich curve tangents and interpolation modes. - Fix camera focal length export. #jira UETOOL-750 Change 3081823 on 2016/08/08 by Dmitriy.Dyomin Fixed: Crash when simulating in editor with a landscape actor selected #jira UE-34367 #coderview Gareth.Martin Change 3081647 on 2016/08/08 by Chad.Taylor OpenVR changed to work with our FSteamVRHMD::VRGetGenericInterfaceFn retrieved from GetDllExport #jira UE-34352 Change 3081645 on 2016/08/08 by Zak.Middleton #ue4 - Fix anim root motion applying too much velocity to CharacterMovement when framerate is low causing moves to be substepped, or when movement mode changes during root motion playback. #jira UE-30178 Change 3081639 on 2016/08/08 by Tyler.Cole Update build scripts for WEX MCP in UE4 Release-4.13 stream. #jira NONE-0 Change 3081616 on 2016/08/08 by Jeff.Fisher UEVR-13 PSVR: TCR Requirements -2dvr support "stereo on" and "stereo off" now switch ps4 from 2d to vr mode. -A new ini setting for morpheus bStartInVR has been added, it defaults to true. #jira UEVR-13 #review-3081284 @chad.taylor @nick.whiting Change 3081597 on 2016/08/08 by Tyler.Cole Update build scripts for Ocean MCP in UE4 Release-4.13 stream. #jira NONE-0 Change 3081476 on 2016/08/08 by Tyler.Cole Update build script for UE4 Release-4.13 stream Fortnite MCP. #jira NONE-0 Change 3081397 on 2016/08/08 by Josh.Adams - Fixing more linux case issues in UT #jira ue-33478 Change 3081391 on 2016/08/08 by Mitchell.Wilson Removed ConstructorHelpers from TP_2DSideScrollerCharacter.cpp. Added Run and Idle animations to BP child of 2dSideScrollerCharacter in 2DSideScrollerExampleMap #jira UE-33843 Change 3081383 on 2016/08/08 by Aaron.McLeran #jira UE-34081 Implementing CL 3076637 into 4.13 #tests run a procedural sound wave object test Change 3081337 on 2016/08/08 by Aaron.McLeran #jira UE-34390 CLONE - CRASH: FXAudio2SoundSource::GetChannelVolumes - Silent Crash during gameplay - OR-26580 - Implementing CL 3071258 to 3.13 #tests ran paragon with change, no crashes Change 3081335 on 2016/08/08 by Max.Preussner WmfMedia: Fixed memory leak in source resolver (UE-34385) #jira UE-34385 Change 3081320 on 2016/08/08 by Max.Preussner WmfMedia: Fixed typo (UE-32421) #jira UE-32421 Change 3081276 on 2016/08/08 by Mitchell.Wilson Resaving asset to resolve MikkTSpace warning. #jira UE-31116 Change 3081269 on 2016/08/08 by Dan.Oconnor Fix for name of blueprint changing when 'accept source' is used. Just caching the original name before unloading the blueprint #jira UE-34324 Change 3081052 on 2016/08/08 by Dan.Oconnor Making a change to test UE-34324 #jira UE-34324 Change 3081026 on 2016/08/08 by Daniel.Wright Added a heightfield painting example to BlueprintRenderToTarget content example #jira UE-34323 Change 3081025 on 2016/08/08 by Daniel.Wright CreateRenderTarget2D uses a world context object as owner, allows use in a construction script #jira UE-34321 Change 3081023 on 2016/08/08 by Aaron.McLeran #jira UE-34325 Implementing 3080958 in 4.13 - When a sound buffer is flushed from audio device manager and tries to stop sounds using a resource, was possible for the async header parse task to be in-flight, which would cause a crash - Fix is to bring back the code to call EnsureCompletion on tasks in the FreeResoruces function of the sound source object. This will potentially encure a slight perf increase when stopping a sound but audio engine is now going to run on a separate thread, so shouldn't have a game-thread impact in non-editor builds. #tests ran repro case described in bug several times without crashing (was 100% repro) Change 3081020 on 2016/08/08 by Dan.Oconnor Revised fix for UMG widgets with instanced properties resetting due to ImportText not copying objects assigned to Instanced properties #jira UE-26310 Change 3081010 on 2016/08/08 by Dan.Oconnor Fix for losing root transform when recycling objects #jira UE-28398 Change 3080972 on 2016/08/08 by Mark.Satterthwaite Duplicate CL #3080684: Flush on close of writable files on Apple platforms - close doesn't guarantee to push outstanding writes to the disk, only to the kernel. They might not make it to the disk prior to program termination. #jira UE-21857 Change 3080971 on 2016/08/08 by Mark.Satterthwaite Workaround a macOS 10.12 Beta bug on some Metal drivers that can't initialise temporary/local variable arrays, only those that are marked threadgroup shared. #jira UE-34355 Change 3080923 on 2016/08/08 by Michael.Trepka When archiving on for Mac delete the dest icon if it exists before trying to call File.Move #jira UE-33304 Change 3080919 on 2016/08/08 by samuel.proctor Revised assets for Blueprint Debugging tests #jira UE-29618 Change 3080878 on 2016/08/08 by Ben.Marsh Fix sample build timeouts due to generating DDC using installed engine builds taking too long. * New version of build script was not copying the DDCUtils module from the NotForLicensees folder to the installed engine directory, so network DDC was not being used. Set it from an environment variable instead. * Generating the installed project PAK was not using the Compressed.ddp file included with the engine, but was looking for a legacy DDC.ddp file instead. Change 3080849 on 2016/08/08 by Marc.Audy Always stop matinee sounds when jumping around, not just if the sound changed. #jira UE-31447 Change 3080843 on 2016/08/08 by Ben.Marsh BuildGraph: Fix compile error due to duplicated variable name. Change 3080840 on 2016/08/08 by Max.Chen Fbx: Fix rich curve export being exported at the incorrect times when baked. #jira UETOOL-750 Change 3080824 on 2016/08/08 by Max.Chen Sequencer: Revert fix root component structure for level sequence actor. #jira UE-34354 Change 3080819 on 2016/08/08 by Chad.Taylor Merging Move and Vive haptic implementation from Dev-VR to Release-4.13 #jira UE-27886 Change 3080818 on 2016/08/08 by Jurre.deBaare Crash when importing the same Alembic file but as a different Asset Type #fix Return the outer package of an imported asset, instead of InParent (which could be deleted/clean up if the import types differed) #misc Typo #jira UE-34293 Change 3080817 on 2016/08/08 by Jurre.deBaare Crash when importing an Alembic file with Materials if it already exists #fix Only create materials if they don't already exist #jira UE-34300 Change 3080814 on 2016/08/08 by Jurre.deBaare Crash when importing Alembic files as Skeletal Mesh #fix Set the NumVertices variable that was re-added :) #misc removed dead code #jira UE-34288 Change 3080813 on 2016/08/08 by Jurre.deBaare [CrashReport] UE4Editor_AlembicLibrary!AbcImporterUtilities::GenerateSmoothingGroupsIndices() #fix found in one of the reports messages that they were importing from 3DS, found that it exports the normals non-indiced but per-vertex, so now added expanding using the index buffer (also pre-emptively added it for UVs) #jira UE-34294 Change 3080797 on 2016/08/08 by Dmitriy.Dyomin Fix: Crash opening levels with landscape in them via the command console in standalone game #jira UE-34348 Change 3080784 on 2016/08/08 by Jamie.Dale We now keep the bulk data for stock engine fonts loaded to avoid attempting to load it on the render thread (from debug canvas rendering) #jira UE-34298 Change 3080734 on 2016/08/08 by Matthew.Griffin Made PDBs optional build products for CsCompile task and added .dll.mdb check for Mac Mono equivalent Change 3080685 on 2016/08/08 by Peter.Sauerbrei fix for crash on tvOS and iOS when launching a project #jira UE-34005 Change 3080683 on 2016/08/08 by Matthew.Griffin Added code to duplicate GUBP behavior when building DDC for samples so that only certain platforms are built Change 3080681 on 2016/08/08 by Matthew.Griffin Corrected path separators for Mac DDC location, which was preventing it from being included in installed build Change 3080675 on 2016/08/08 by Robert.Manuszewski Fixing CIS on Clang platforms #jira UE-34025 Change 3080674 on 2016/08/08 by Ben.Woodhouse Fix for reflection capture crash on autosave (null scene ptr) - integrate fix from fortnite CL 3033507 #jira UE-32651 Change 3080594 on 2016/08/08 by Keith.Judge Xbox One - Fix missing GPU particles when in Fast Semantics mode. SetRasterizerState() shouldn't be cached as it always needs resetting in Fast Semantics. Also enabled Fast Semantics by default, as the last known bug is now fixed. #jira UE-31607 Change 3080573 on 2016/08/08 by Martin.Wilson Fix Root Motion from Everything blending incorrectly when using layered blend per bone #Jira UE-17815 Change 3080517 on 2016/08/08 by James.Golding PR #2678: Fixed ProceduralMeshComponent compile issue, missing ConvexElem.h. (Contributed by ardneran) #jira UE-34299, UE-34279 Change 3080512 on 2016/08/08 by Benn.Gallagher Fix for dangling sub-instance pointers when reinstancing on AnimBP compile #jira UE-34137 Change 3080510 on 2016/08/08 by Max.Preussner WmfMedia: Fixed Packaged Shooter game does not load in Windows XP (UE-32421) #jira UE-32421 Change 3080509 on 2016/08/08 by Robert.Manuszewski Added more detailed message when TArray's BulkSerialize fails. #jira UE-34025 Change 3080506 on 2016/08/08 by Allan.Bentham Do not set render target if there are no modulated shadows. #jira UE-33252 Change 3080498 on 2016/08/08 by Keith.Judge Fix D3D12.x link error. #jira UE-34322 Change 3080493 on 2016/08/08 by Matthew.Griffin Allow symbol files to be skipped when staging build products as they are not essential for the staged project to run. #jira UE-34073 Change 3080490 on 2016/08/08 by Maciej.Mroz #jira UE-28625 Direction of GetOverlapInfos parameter doesn't match Redone cl# 3080484 Change 3080462 on 2016/08/08 by Allan.Bentham Leave FAndroidAppEntry::PlatformInit's ES2 EGL initialised unless vulkan or ES3.1 are required. Fix initialisation errors introduced in CL 3070035. #jira UE-34099 Change 3080242 on 2016/08/07 by Max.Chen Sequencer: Fix to allow deleting spawnables from the viewport #jira UE-28523 Change 3080241 on 2016/08/07 by Dmitriy.Dyomin Fixed: StartCameraFade not fading camera when MobileHDR is off #jira UE-34143 Change 3079990 on 2016/08/06 by andrew.porter Changing defaults on some settings on M_Details for test case. #jira UE-29618 Change 3079989 on 2016/08/06 by andrew.porter Setting two sided off on M_Details material #jira UE-29618 Change 3079986 on 2016/08/06 by phillip.patterson Updated QA-Foliage for test case #jira UE-29618 Change 3079984 on 2016/08/06 by andrew.porter Adding test content for using sprites in UMG #jira UE-29618 Change 3079879 on 2016/08/05 by Dmitry.Rekman Remove HITCHHUNTER logspam from release UE (UE-30959). #tests Compiled the UE4Editor. #jira UE-30959 Change 3079815 on 2016/08/05 by Tyler.Cole Set dependencies for Orion MCP in UE4 Release-4.13 stream. #jira NONE-0 Change 3079808 on 2016/08/05 by Daniel.Wright BlueprintRenderToTarget content example map with interactable fluid surface #jira UE-34323 Change 3079746 on 2016/08/05 by Daniel.Wright Copy - New blueprint function ClearRenderTarget2D, which is the only way to set a render target alpha directly New blueprint function CreateRenderTarget2D #jira UE-34321 Change 3079569 on 2016/08/05 by Mitchell.Wilson Updating template tutorials after assets were moved to new folders #jira UE-34139 Change 3079546 on 2016/08/05 by Ian.Shadden #UE4 #match3 Fixed button UI scaling on all buttons in Match3 (main menu, victory screen, options, notifications, etc...), tested on PC and Android Nexus 6 #jira UE-34316 Change 3079542 on 2016/08/05 by Mark.Satterthwaite Duplicate CL #3079503: Initialise more variable types to 0 in Metal shaders to workaround Xcode 8 toolchain no longer doing this for us for "threadgroup shared" variables. Everything but structs and atomic's will now be initialised. #jira UE-33856 Change 3079472 on 2016/08/05 by Peter.Sauerbrei fix for remote server name being empty stopping a build for a BP project in binary fix for several error messages from platform requirements not stopping a build #jira UE-34213 Change 3079453 on 2016/08/05 by Benjamin.Hyder Updating QA_Materials to include Material Details example #jira UE-29618 Change 3079389 on 2016/08/05 by Gareth.Martin Missing file from CL 3079376: Tessellate Landscape only in highest landscape LOD Fix incorrect UV coordinates when tessellation is enabled #jira UE-14253 #jira UE-20405 Change 3079384 on 2016/08/05 by Michael.Trepka PR #2266: BUGFIX: UBT not building on non HFS partitions on OSX (Contributed by Manny-MADE) #jira UE-29358 Change 3079376 on 2016/08/05 by Gareth.Martin Tessellate Landscape only in highest landscape LOD Fix incorrect UV coordinates when tessellation is enabled #jira UE-14253 #jira UE-20405 Change 3079365 on 2016/08/05 by Peter.Sauerbrei fix for executable name mismatch in plist vs actual executable when project has an underscore in the name #jira UE-34192 Change 3079361 on 2016/08/05 by Ryan.Vance #jira UE-34297 Fixing the screen space position in 3076326 broke an ISR dbuffer decal hack. Now, no longer a hack :) Change 3079349 on 2016/08/05 by Mason.Seay Deleting unneeded assets #jira UE-29618 Change 3079306 on 2016/08/05 by Peter.Sauerbrei IPP is now built as a 64-bit executable #jira UE-26393 Change 3079303 on 2016/08/05 by Peter.Sauerbrei PR2018 - disable user input request from ssh courtesy of Teivaz #jira UE-26393 Change 3079276 on 2016/08/05 by mason.seay Extended Line Trace For Convenient #jira UE-29618 Change 3079274 on 2016/08/05 by Alex.Delesky #jira UE-32396, UE-34103 - Fixed the issue where STextBLock widgets will revert to a gray-ish color in widget blueprints on compilation when set to magenta (#FF00FFFF). This fix does not introduce the side-effects of recoloring the text on editor buttons. Change 3079273 on 2016/08/05 by Max.Chen Sequencer: Fix converting matinee move tracks that have separate pos and euler tracks. #jira UE-34301 Change 3079254 on 2016/08/05 by Ori.Cohen Fix skeletal mesh having bodies in both sync and async scene. Simplifies a lot of code and fixes crash in case of substepping. #JIRA UE-34224 Change 3079242 on 2016/08/05 by Nick.Darnell Slate - Initializing WheelScrollMultiplier in the STableViewBase to avoid problems with subclasses not having an initialized value and the scrollbar misbehaving. #jira UE-34304 Change 3079129 on 2016/08/05 by Jurre.deBaare #jira UE-34278 #fix Changed reimport path to be the same as geometry cache / skeletal mesh Unable to reimport Alembic static meshes #jira UE-34292 #fix Handle cancelled situation during reimport ui interaction Cancelling the reimport of an Alembic file seems to confirm the action #jira UE-34288 #fix Possible fix, flush rendering commands before importing Crash when importing Alembic files as Skeletal Mesh #jira UE-34282 #fix Change import function override signature to include bCancelled and set the value appropriately + early out when cancelled "Failed to Import" message when clicking Cancel on the Alembic Import Message Change 3079127 on 2016/08/05 by Marc.Audy Properly clean up all worlds when ending PIE while a seamless transition is active #jira UE-33863 Change 3079107 on 2016/08/05 by Mike.Beach Reversing the order in which we iterate pins on node resonstruction - making sure we reconstruct split child pins first (to keep the old parent pin chain intact). #jira UE-30548 Change 3079093 on 2016/08/05 by Jurre.deBaare Toggling Vertex Colors on in Static Mesh Editor makes the viewport all white #fix Hide the environment and sky when showing vertex colours #jira UE-34251 Camera Auto exposure in the static mesh editor bleaches everything out when the environment is turned off #fix Turn on / off advanced engine show flags determined by whether or not post processing is enabled in the advanced preview scene settings #jira UE-34206 Change 3079090 on 2016/08/05 by Jurre.deBaare Bad performance when changing (slider) values for the advanced preview scene #fix Could not repro but added some more check if update needed checks #jira UE-33496 Adjusting Lighting Rig Rotation manually only affects the sky and not the lighting #fix Add the rotational delta for the sky to the directional light rotation #jira UE-34108 Change 3079088 on 2016/08/05 by Jurre.deBaare Alembic Cache Importer option for Hard Edge Angle Threshold does not work #fix Changed the condition for an edge to be hard / soft, fixed an issue in the smoothing group generation and changed the flow of normal calculation during importing #jira UE-34127 Change 3079040 on 2016/08/05 by Max.Preussner MediaAssets: Fixed media source asset cannot be inherited in other modules (UE-34290) Also made class properties blueprint read-writable #jira UE-34290 Change 3078958 on 2016/08/05 by Marc.Audy Don't ever reregister child actor components Don't destroy child actors when hiding a level #jira UE-31038 Change 3078954 on 2016/08/05 by ryan.brucks #jira ue-00001 Adding new material functions needed to go along with Noise Blog post requested by DanV and KimL Change 3078952 on 2016/08/05 by Phillip.Kavan [UE-34085] Fix an ensure when force-deleting compiled Blueprint class assets in the Content Browser. change summary: - modified ForceDeleteObjects() to relocate a redundant 'ObjectsToReplace' iteration that recently was converted to a ranged-based for loop; the conversion seems to have caused the iterator to ensure, due to existing code that was modifying the target array inside the loop. #jira UE-34085, UE-34169 Change 3078912 on 2016/08/05 by Andrew.Rodham Editor: When locking an editor viewport to a camera, camera cut flags are now correctly specified #jira UE-33875 Change 3078900 on 2016/08/05 by Lauren.Ridge Fix for small Vive HMD movements entering VR mode #jira UE-33970 Change 3078880 on 2016/08/05 by Jack.Porter Cannot set GenerateOverlapEvents flag on Landscape #jira UE-9055 Change 3078879 on 2016/08/05 by Lee.Clark PS4 - Fix corrupted debuffer decals (CMask wasn't getting decoded correctly) #jira UE-34273 Change 3078871 on 2016/08/05 by Steve.Robb Fix for changes to UObject*s in property boxes. #jira UE-29596 Change 3078857 on 2016/08/05 by Max.Chen Sequencer: Set Fixed frame interval playback to false by default. #jira UE-34272 Change 3078850 on 2016/08/05 by mason.seay Updated map to test physics mesh, added comments to level BP #jira UE-29618 Change 3078795 on 2016/08/05 by Andrew.Rodham Sequencer: Fixed spawnables not responding to blueprint reinstance events This ultimately left spawnable bindings broken, and an unreachable object in the world #jira UE-31635 Change 3078786 on 2016/08/05 by Robert.Manuszewski Reversed the order the UObject delete listeners were notified of UObject deletion to avoid skipping the next listener if the current one removed itself from the array. #jira UE-33872 Change 3078782 on 2016/08/05 by Andrew.Rodham Sequencer: Fixes to "Create Camera Here" functionality Fixed crash when undoing the "Create Camera Here" operation. Enabled RF_Transactional on all spawned instances in the world (to support undo/redo of instance properties properly) Fixed issues when the cursor was outside of the play range #jira UE-33127 Change 3078737 on 2016/08/05 by Andrew.Rodham Sequencer: Changed event and playback contexts to be weak references to ensure no strong GC references, while maintaining safety #jira UE-34256 Change 3078722 on 2016/08/05 by Ben.Woodhouse Fix shader compile error in TP_VirtualRealityBP (disable Morpheus, which was enabled (inadvertently?) in CL 3077481) #jira UE-34269 Change 3078620 on 2016/08/05 by Dmitriy.Dyomin Fixed: SunTemple geometry has rendering artifacts on low end devices [Android_Low] devices will use 'Low' material quality level #jira UE-22455 Change 3078584 on 2016/08/05 by James.Golding Add NumVertices back to FSkelMeshSection, so that info is available in non-editor builds (e.g. for runtime mesh merging) #jira UE-33675 Change 3078565 on 2016/08/05 by Jack.Porter Removed need for LandscapeInfo in GeneratePlatformPixelData which was crashing mobile previewer. #jira UE-33842 Change 3078564 on 2016/08/05 by James.Golding Fix display name for bSupportUVFromHitResults to fix missingspace #jira UE-34248 Change 3078542 on 2016/08/05 by Yannick.Lange VR Editor : Temporary fix to disable the possibility of both controllers having a windows docked. #jira UE-32839 Change 3078541 on 2016/08/05 by Yannick.Lange VR Editor : Fix linux compile error from VREditorAvatarActor #jira UE-34215 Change 3078396 on 2016/08/04 by Max.Chen Sequencer: Invalidate playback context when map changes. #jira UE-34256 Change 3078291 on 2016/08/04 by Jeff.Campeau RHI compress/decompress return success/failure Failure falls back to software method D3D12 for Xbox One still needs implementation #jira UE-31363 Change 3078131 on 2016/08/04 by Chris.Babcock Deal with missing Android movie framerate by defaulting to 30 if not available #jira UE-34208 #ue4 #android Change 3078084 on 2016/08/04 by John.Billon Disabled AMD hacks Cvars that aren't needed anymore. #Jira UE-30772 Change 3078083 on 2016/08/04 by John.Billon Consolidated ensures to detect a crash dealing with unallocated render targets in TranslucentLighting to a single test in DefferedShadingRendere and attempt to recover by reallocating deferred render targets. Added a couple of more ensures when allocating render targets. Added log message when changing feature levels. #Jira UE-32536 #Jira UE-32204 Change 3078039 on 2016/08/04 by Josh.Adams - Fixed a case issue with Linux #jira UE-33478 Change 3078029 on 2016/08/04 by Ryan.Vance #jira UE-30989 We need to disable the hmd mask when down sampling to ensure valid input data for blur passes. Change 3078027 on 2016/08/04 by Lina.Halper Fix sequencer morphtarget displaying issue #code review:Max.Chen #jira: UE-28459 Change 3078012 on 2016/08/04 by mason.seay map and asset updates for testing UV hit detection #jira UE-29618 Change 3078009 on 2016/08/04 by Jamie.Dale Ensured that BULKDATA_SingleUse is only set by UFontBulkData::Serialize when loading This prevents it being incorrectly set by other operations, such as counting memory used by font data. #jira UE-34252 Change 3078006 on 2016/08/04 by Mark.Satterthwaite Duplicate CL #3064008 & CL #3077412: Fix "iOS Metal-based build crashes at launch with sub-levels": - Slate should not bind the null RHI texture from an unitialised texture atlas - atlases only have a valid texture pointer once an entry has been added to them and in the template projects an empty sub-level doesn't add anything. - To prevent this kind of bug resurfacing and being so hard to track down add Metal shader binding validation to our validation layer as Apple's is incomplete on iOS and won't warn us about nil texture usage which causes these GPU restarts. This requires reworking our vertex declaration handling to be more efficient so that we can cache the pipeline reflection data as well as the pipeline objects. - Fix validation error of texture reallocation on loading template projects under Metal. #jira UE-30847 Change 3078002 on 2016/08/04 by John.Billon Fixed LowLightMapQuality warning triggering with wrong conditions. #Jira UE-33237 Change 3078001 on 2016/08/04 by John.Billon Fixed a crash due to particle threading issues in packaged game. #Jira UE-32147 Change 3077989 on 2016/08/04 by Rolando.Caloca UE4.13 - Fix Vulkan crash when compiling shaders on a new project due to running out of descriptor sets. Now we handle fragmentation of sets and multiple pools per RHI contexts. #jira UE-34218 Change 3077940 on 2016/08/04 by Jeff.Campeau Stage applocal dependencies from paths containing $(EngineDir) & $(ProjectDir) Include copies of the VS2015 runtime and UCRT Change -applocaldir parameter to -applocaldirectory Stage to engine and project binaries paths (for crash reporter, etc.) #jira UE-33903 Change 3077936 on 2016/08/04 by Daniel.Wright DrawMaterialToRenderTarget gracefully handles an invalid WorldContextObject #jira UE-34183 Change 3077927 on 2016/08/04 by Lina.Halper Fix issue with morphtarget not working due to invalid guid #jira: UE-34077 Change 3077919 on 2016/08/04 by Daniel.Wright Copy - Lighting channels can now be edited on components with static mobility, since dynamic lights can still affect them #jira UE-34245 Change 3077877 on 2016/08/04 by Ori.Cohen Fix physical animation undo/redo not affecting linked bodies and constraints #JIRA UE-33987 Change 3077823 on 2016/08/04 by Ori.Cohen Disable copy/paste action on physical animation profiles (From Matt.Kuhlenschmidt) #JIRA UE-33985 Change 3077814 on 2016/08/04 by Uriel.Doyon Changed the logs used in the "Texture Streaming Build". Previous warnings are now logged at verbose level. Can be toggled on by running "log texturestreamingbuild all" #jira UE-34120 #review-3077812 Change 3077781 on 2016/08/04 by Max.Chen Sequencer: Fix crash in rotation key struct #jira UE-34155 Change 3077771 on 2016/08/04 by Lina.Halper Added const and removed auto #jira: UE-33023 Change 3077702 on 2016/08/04 by Daniel.Wright Copy - Planar reflection show flags can now be edited #jira UE-34229 Change 3077585 on 2016/08/04 by Ori.Cohen Fix spam when moving simulated skeletal mesh in the editor. #JIRA UE-34164 Change 3077532 on 2016/08/04 by Tom.Looman Fixed error in description of VR Template. #jira ue-33950 Change 3077517 on 2016/08/04 by Tom.Looman Fixed parsing error for FP_VirtualRealityBP #jira UE-34059 Change 3077493 on 2016/08/04 by Tom.Looman Updated Template description to remove GearVR reference and include more clear message on the two available maps. #jira UE-33950 Change 3077492 on 2016/08/04 by Tom.Looman Improvements to VR Template Fixed teleportation issue on both locomotion types (JIRA) Rebuilt navmesh for motioncontrollermap Added new WIP startermap to clarify the difference between the multiple levels. Added more comments and did some cleanup in BPs. #jira UE-33962 Change 3077491 on 2016/08/04 by Jurre.deBaare Crash when attempting to merge two objects using Simplygon - ProxyMaterialUtilities::CreateProxyMaterialInstance #fix Pass in complete path to save material to instead of just the name #jira UE-34211 Change 3077481 on 2016/08/04 by Tom.Looman Workaround for issue in teleport camera fade. (Removing r.MobileHDR from config) #jira ue-34143 Change 3077463 on 2016/08/04 by Ben.Woodhouse Fix for ghosting in the SSR, caused by the SSRTemporal pass not getting velocities passed in. This is only an issue when temporal AA is disabled. There is a performance in this case, because a velocity pass is now required if SSR is enabled and temporalAA/motion blur are off. #jira UE-32843 Change 3077432 on 2016/08/04 by Steve.Robb Removal of Fortnite-specific setting which disables hot reload. #jira UE-33261 Change 3077380 on 2016/08/04 by Keith.Judge Fix for green reflection environment in some maps. - Moved deleting pending resources from EndFrame() to RHIEndDrawingViewport() so it *really* gets called once every time there's a Present() - Fixed a validation error when locking cube map faces which was causing them not to be updated. - Fixed a validated driver error when creating UAVs due to uninitialised parts of the descriptor and fixed the buffer description for occlusion queries to have the correct 256 byte size (another validation error). - Added a GPU/CPU sync at the same point the PS4 code does. #jira UE-32086 Change 3077336 on 2016/08/04 by Mitchell.Wilson removed r.Streaming.PoolSize from DefaultEngine.ini Adding DefaultScalability.ini and adding r.StreamingPoolSize to resolve a warning. #jira UE-30941 Change 3077275 on 2016/08/04 by Phillip.Kavan [UE-29903] Fix a potential infinite loop when replacing variable nodes in a Blueprint graph via drag-and-drop. #jira UE-29903 Change 3077119 on 2016/08/04 by Marc.Audy Use TickType All when in PIE #jira UE-18982 Change 3077108 on 2016/08/04 by Jon.Nabozny Add check to USkeletalMeshComponent::TickClothing to skip updating cloth when SkeletalMesh is null. This can happen when the mesh is cleared between USkeletalMeshComponent::TickComponent and USkeletalMeshComponent::TickClothing. #jira UE-34032 Change 3077073 on 2016/08/04 by Jurre.deBaare bBlendOverlappingNormals does not seem to have an impact for Alembic importing #fix this wasn't being used in the normal calculation anymore so redundant #jira UE-34204 Change 3077059 on 2016/08/04 by Robert.Manuszewski Disabling the assert when MaxObjectsInEditor or MaxObjectsInGame collide with EInternalObjectFlags as this is no longer relevant (since the serial number and object flags were split). #jira UE-34200 Change 3077024 on 2016/08/04 by Thomas.Sarkanen Added GetResourceSize to UDataAsset Data assets now correctly report their size. #jira UE-28851 - Fix mem reporting of DataTables Change 3077001 on 2016/08/04 by Andrew.Rodham Sequencer: Fixed sequencer adding spawnables into recorded worlds twice The issue here is that sequencer was re-evaluating itself with the current play world as the context, which also happened to be the world that it was trying to record. As a result, it ended up with the same sequence being played twice in the recording world. Added the ability to specify a playback context attribute for sequencer to use, and this no longer allows sequencer to play back in any worlds that are being recorded. #jira UE-31422 Change 3076995 on 2016/08/04 by Matthew.Griffin Fixed Shadow Variable warning Change 3076974 on 2016/08/04 by Matthew.Griffin Added Node to build CrashReportClient for Linux that can be used by internal game targets Change 3076820 on 2016/08/04 by Max.Chen Sequencer: Fix EDL export timing so that shot in time always start at 0 since movies are always rendered at their cut length (until shot handle exports exist). #jira UE-34199 Change 3076665 on 2016/08/03 by Dan.Oconnor Quick fix for regression introduced by 3075803. Crashing on load of some games because some tickables don't expect GetTickableGameObjectWorld to be called when IsTickable returns false #jira UE-18982 Change 3076569 on 2016/08/03 by Chad.Taylor SteamVR GetOrthoProjection implementation to fix broken console rendering in VR #jira UE-21424 Change 3076556 on 2016/08/03 by Aaron.McLeran #jira UE-34154 PSVR Stereo assets are spatialized as MONO - All audio was routing through A3D lib regardless of if it was mono/stereo etc. - Fix is to only route audio that is mono and spatialized - Fixed some compile errors/shadow variables - Renamed bIs3dSound to bIsA3dSound to indicate its a bool that flags if it is spatialized through A3D library Change 3076546 on 2016/08/03 by Aaron.McLeran #jira OR-26161 Client hitches indefinitely when using Stat soundcues / soundwaves Implementing 3069092 in Release-4.13 - Not all active sounds have sound classes, was causing a crash #tests Run game with stat soundcues and not crash Change 3076512 on 2016/08/03 by Ben.Marsh Fix warning about UnrealTournament:true argument. Change 3076492 on 2016/08/03 by Daniel.Wright Integrate - Disallowed DrawMaterialToRenderTarget and Begin/EndDrawCanvasToRenderTarget in construction scripts, since they don't work in game. Blutilities can be used to do blueprint rendering in the editor. #jira UE-34177 Change 3076491 on 2016/08/03 by Daniel.Wright Marked the Forward Shading project setting as experimental for 4.13 #jira UE-34176 Change 3076490 on 2016/08/03 by Daniel.Wright Integrate - Fixed crash rendering translucency with translucent shadows which were determined to be invisible #jira UE-34175 Change 3076489 on 2016/08/03 by Daniel.Wright Integrate - Now clamping light MinRoughness to .04 to avoid NaNs from Vis_SmithJointApprox on materials with Roughness 0 #jira UE-34174 Change 3076485 on 2016/08/03 by Daniel.Wright Integrate - Restored DetailMode changes causing a FGlobalComponentRecreateRenderStateContext - accidental removal from cl 2969413 #jira UE-34173 Change 3076440 on 2016/08/03 by Ryan.Vance #jira UE-34184 Merging 3060975, 3061888, 3072758 and 3076270 from devvr to rev Oculus sdk. Adding Oculus 1.6 support. Change 3076399 on 2016/08/03 by Nick.Darnell Slate - The LayoutCache pointer in SWidget is now a WeakPtr. This had to be done to handle edge cases where widgets were used in a pool, and placed into invalidation panels that had been deleted in the past, but were later invalidated with bogus pointers to long gone invalidation panels. Also making a tweak to WidgetCache, to update the lasthittestindex to be the one passed in, which is a bit closer to the intended behavior. #jira UE-34185 Change 3076397 on 2016/08/03 by Rolando.Caloca UE4.13 - hlslcc -Fix for hlsl length(float) #jira UE-32629 Change 3076337 on 2016/08/03 by mason.seay Test assets (and map for ensure bug) #jira UE-29618 Change 3076332 on 2016/08/03 by Peter.Sauerbrei fix for clang build errors #jira UE-34163 Change 3076326 on 2016/08/03 by Ryan.Vance #jira UE-32975 Using the wrong screen position in the base pass pixel shader with ISR. Change 3076309 on 2016/08/03 by Benjamin.Hyder Renaming TEST-LightingFeatures to TM-LightingFeatures #jira UE-29618 Change 3076299 on 2016/08/03 by Chad.Taylor Fix SteamVR lag in late-update fold child renderables. #jira UE-33928 Change 3076214 on 2016/08/03 by Mitchell.Wilson Resaving BluperintOffice level to resolve MikkTSpace warnings. Reimporting SM_GodRay_Plane to resolve cook warning. #jira UE-30064 Change 3076112 on 2016/08/03 by Max.Chen Sequencer: Fix crash when opening multiple UMG assets (multiple map/unmap record selected actors actions) #jira UE-34167 Change 3076090 on 2016/08/03 by Marc.Audy Fix Mac compile error #jira UE-34163 Change 3076075 on 2016/08/03 by Jeremiah.Waldron Fixing comments documenting attribute in deleteFiles node for UPL #jira UE-34161 Change 3076034 on 2016/08/03 by Mitchell.Wilson Resaving Strategy Game maps to resolve MikkTSpace warnings. Resaving material in strategy game to resolve string asset reference warning. #jira UE-29720 Change 3076003 on 2016/08/03 by Mitchell.Wilson Resaving Elemental Demo levels to resolve MikkTSpace warnings. Resaving multiple materials to resolve String asset reference warnings. #jira UE-29679 Change 3075985 on 2016/08/03 by Jeremiah.Waldron Fixing UPL comments misnaming the deleteFiles node #jira UE-34161 Change 3075977 on 2016/08/03 by Maciej.Mroz #jira UE-30473 Moving child component in child blueprint forces parent to become dirty Duplicated from Dev-Blueprints CL 3075793 Change 3075959 on 2016/08/03 by Marc.Audy Don't add WorldSettings to the Actor list twice if it is net relevant (pointed out by PR #2639) #jira UE-33921 Change 3075891 on 2016/08/03 by Chad.Taylor SteamVR crash fixes related to new OpenVR SDK. Some of the DLL export functions were converted to inline. #jira UE-34142 Change 3075882 on 2016/08/03 by Dan.Oconnor Manually integrating 3073939 to address UE-19062 #jira UE-19062 Change 3075805 on 2016/08/03 by Marc.Audy Implement GetTickableGameObjectWorld() for various FTickableGameObject classes. Releated to CL#3075803 #jira UE-18982 Change 3075803 on 2016/08/03 by Marc.Audy Make FTickableGameObject only tick once per frame by associating them with a World, and for those unassociated with a World, ticking them after other levels have ticked #jira UE-18982 Change 3075761 on 2016/08/03 by Max.Preussner MediaAssets: Fixed crash and incorrect re-initialization of media texture resource (UE-34152) #jira UE-34152 Change 3075719 on 2016/08/03 by Chad.Taylor Blocker fix for binary editor crash on incorrectly used dll #jira UE-34142 Change 3075709 on 2016/08/03 by Jeremiah.Waldron Changing InXMLNamespace parameter back to "http://schemas.android.com/apk/res/android" which is what it used to be set to directly within AndroidPluginLanguage before the transition from APL to UPL parameterized it in the constructor #android #jira UE-34149 Change 3075695 on 2016/08/03 by Jurre.deBaare Adding missing debug zlib dll #jira UE-123 Change 3075641 on 2016/08/03 by Jurre.deBaare Crash when re-importing alembic cache file several times #fix Always create a new object when importing #jira UE-34130 Change 3075609 on 2016/08/03 by Danny.Bouimad #jira UE-29618 updating TM-PhysicalAnimProfiles to use both NumKeys and number keys. Tweaked values inline with testcase so very apparent what each Physical Animation setting does. Change 3075578 on 2016/08/03 by Mitchell.Wilson Updating attenuation settings for multiple sounds in Strategy Game. #jira UE-25828 Change 3075529 on 2016/08/03 by Trung.Le VREditor: Fxied foliage lasso select without pressing trigger #jira UE-33689 Change 3075502 on 2016/08/03 by Lee.Clark Copied from cl#3041664 - Removing UpdateActorPosition. This was not needed in a vast majority of use cases and was causing a crash due to multithreading issues during end of frame updates. #jira UE-28549 Change 3075386 on 2016/08/03 by Robert.Manuszewski Fixing bulkdata using source data pointer as an archive instead of raw data when saving #jira UE-34132 Change 3075384 on 2016/08/03 by mason.seay AnimBP for crash bug #jira UE-29618 Change 3075350 on 2016/08/03 by Max.Chen Sequencer: Added support for additive skeletal animations. Evaluate all overlapping skeletal animation sections. #jira UE-30506 Change 3075327 on 2016/08/03 by Max.Chen Sequencer: Fix root component structure for level sequence actor. This fixes an ensure that occurs when double clicking on a level sequence actor sprite in the viewport. #jira UE-34093 Change 3075313 on 2016/08/03 by Matthew.Griffin Tidied up hardcoded installed build includes so that they're all in one file with platform checks Added .dll.config files to CsCompile build products if they exist Change 3075133 on 2016/08/03 by Yannick.Lange VREditor : Original submit in Dev-VREditor = 3064489 - Fix crash when starting VREditor and then changing levels #jira UE-33766 Change 3075124 on 2016/08/03 by Thomas.Sarkanen Fixed undo/redo crash when editing anim blueprint defaults Serializing copy records out of the undo buffer returns them to their initial uninitialized state, with NULL cached container pointers. To address this, we re-initialize the anim blueprint when we undo/redo. #jira UE-34024 - Crash undoing variable change in Animation Blueprint. Change 3075101 on 2016/08/03 by Matthew.Griffin Adding job to selectively build games in release branch Also adding documentation and localization to overnight build #jira UEB-688 Change 3075061 on 2016/08/03 by Yannick.Lange VR Editor : Original submit in Dev-VREditor = 3062883 - Fixed bug that Laser extends beyond UI when hovered over Selection Bar or Close Button #jira UE-33552 - Fixed crash when Closing Editor (Alt F4 while in VR mode) #jira UE-32509 - Fixed crash when enabling VR Editor in editor preferences without a HMD connected - Fixed bug if you "slowly press" over UI selection bars or close buttons, nothing happens #jira UE-33553 - Avatar code refactor to its own actor class #jira UETOOL-812 #jira UE-33552, #jira UE-32509, #jira UE-33553, #jira UETOOL-812 Change 3075059 on 2016/08/03 by Allan.Bentham Fall back to standard shadows when capsule shadows are not supported. #jira UE-33344 Change 3075045 on 2016/08/03 by Matthew.Griffin Added copies of new OpenVR dlls to Binaries/ThirdParty folder to fix warnings in build DDC step Change 3074693 on 2016/08/02 by Dan.Oconnor Manually integrating 3070569 from Dev-Blueprints #jira UE-34119 Change 3074672 on 2016/08/02 by Dan.Oconnor Manually integrating 3061854 into 4.13 from Dev-Blueprints #jira UE-34119 Change 3074646 on 2016/08/02 by Aaron.McLeran #jira UE-34081 Implementing from Dev-Framework CL 3074325 Procedural Sound Wave Fails to Play when returning 0 bytes in GeneratePCMData callback - Returning 0 bytes in GeneratePCMData results in the procedural sound wave not continuing to play audio. Instead of returning 0, this change returns an empty buffer if the procedural sound wave doesn't have audio ready to generate (due to loading or some other issue). - Change also fixes a threading issue with QueueAudio queing audio on game thread but being consumed by audio device thread. - Implementing 3003851 from UT into Dev-Framework. Change 3074630 on 2016/08/02 by Brent.Pease UE-23846 - iOS Movie Player can't handle videos at resolutions that aren't multiples of 16 UE-33200 - A movie isn't played on iOS occasionally. UE-32397 - Error Message displays as Unknown Error when failing to supply a Remote Build server for ios on Windows + Give a more friendly error message when UHT fails with an invalid error code. #jira UE-23846 #jira UE-33200 #jira UE-32397 Change 3074590 on 2016/08/02 by Rolando.Caloca UE4.13 - Fix gpu morph targets text; add support for RWByteBuffer (disabled). #jira UE-33694 Change 3074588 on 2016/08/02 by Chad.Taylor Update OpenVR SDK to v1.0.2 -Hooked up added aspect ratio and sort priority features to SteamVR stereo layers #jira UE-34115 Change 3074481 on 2016/08/02 by Ori.Cohen Make sure that new physical animation data defaults to 0 #JIRA UE-33678 Change 3074395 on 2016/08/02 by Ori.Cohen Fix duplication of physical animation profiles not duplicating data. Also fix undo redo not working for profiles. Fix editor not passing Duplicate change type #JIRA UE-33987, UE-33985 Change 3074392 on 2016/08/02 by Alex.Delesky #jira UE-32396 - Reverting CL 3074177, since it introduced side-effects. Change 3074364 on 2016/08/02 by phillip.patterson Re-created UMG_Optimization for Test Cases #jira UE-29618 Change 3074346 on 2016/08/02 by Jurre.deBaare Potential DDC warning fix, remove non-existing values #jira UE-123 Change 3074289 on 2016/08/02 by Jeff.Fisher UEVR-13 PSVR: TCR Requirement Reprojection problem after Sony PlaystationVR Morpheus HMD reconnect fixed. -When disconnecting and reconnecting the HMD 700+ sets of reprojection data would back up in a queue. After reconnection reprojection would be lagged by 12+ seconds. After some discussion we decided that the queue is not doing anything useful, so I replaced it with a single blob of reprojection data and a dirty flag. #jira UEVR-13 #review-3074209 @chad.taylor @nick.whiting Change 3074196 on 2016/08/02 by Martin.Wilson Mark old anim instances as pending kill so that they dont get grabbed by undo transactions (causes massive slowdown when dragging in spinboxes that modify default values on anim blueprints) #jira UE-23453 Change 3074177 on 2016/08/02 by Alex.Delesky #jira UE-32396 - Setting an STextBlock to magenta (#FF00FFFF) will no longer cause it to turn gray when compiling its parent widget blueprint. Change 3074157 on 2016/08/02 by Ben.Marsh Remove exception checking for a hard-coded CL. Licensees need to be able to use this stuff. Change 3074132 on 2016/08/02 by Trung.Le VREditor: Fixed brush preview present while in foliage mode and hovering at UI #jira UE-33228 Change 3074131 on 2016/08/02 by Tom.Looman Fix for scalability build warnings in VR Template #jira ue-33325 Change 3074089 on 2016/08/02 by Kevin.Rushin QAGame - Added Foliage to TestMap #jira UE-29618 Change 3074067 on 2016/08/02 by Kevin.Rushin QAGame- Rebuilt Lighting #jira UE-29618 Change 3074063 on 2016/08/02 by Kevin.Rushin QAGame - Fix up VREditor Map to have more asset variation #jira UE-29618 Change 3074057 on 2016/08/02 by Andrew.Porter Deleting - UMG_Optimization #jira UE-29618 Change 3074040 on 2016/08/02 by Michael.Trepka On Mac always process child windows when drawing, as they may be on screen even if their parents are minimized. #jira UE-31194 Change 3074008 on 2016/08/02 by Phillip.Patterson Renamed UMG_Invalidation to UMG_Optimization to better match test #jira UE-29618 Change 3073988 on 2016/08/02 by Mitchell.Wilson Updating starting camera location for Paper2d template to be consistant on both BP and Code version. #jira UE-32723 Change 3073966 on 2016/08/02 by Jurre.deBaare Alembic Cache Importer option for propagating matrix transformation does not work #fix Changed the flag combinations and overhauled the matrix retrieval/caching system #misc typo fix #jira UE-34066 Change 3073953 on 2016/08/02 by Lina.Halper Fixed static warning on null reference #jira: UE-33923 Change 3073951 on 2016/08/02 by Lina.Halper Fix GetRelativeTransform for negative scale #jira: UE-33380 Change 3073896 on 2016/08/02 by Alex.Delesky #jira UE-33580 - User can now play in editor or save after editing certain parameters such as colors via the eyedropper tool or by using numeric spinners. Minor usability improvements to the Data Table Row Editor. #jira UE-33867 - User can now play in editor after selecting a color outside of the color picker window using the eyedropper tool Change 3073804 on 2016/08/02 by Jamie.Dale Fixed the detail panel trying to apply class customizations to structs This could happen in the Data Table editor if you made a struct with the same name as a customized class (eg, Actor). #jira UE-32623 Change 3073803 on 2016/08/02 by Jurre.deBaare Morph target vertex mapping can be wrong with multi material caches #fix Changed the way we build the skeletal mesh from the import data and maintain a vertex remapping array to set up the morph targets correctly #jira UE-34074 Change 3073788 on 2016/08/02 by Andrew.Rodham Sequencer: Added support for montage based animation CL#3061714 : Sequencer: Fixed anim trails not playing in full, sequencer-driven animation. There were 2 issues here. Firstly, we were force-handling events and anim notifies in non-preview animation which caused undefined behaviour when the animation was also updated on tick. Secondly, On the very first frame of a game, sequencer can sometimes use the PreviewSetMatineeAnimPositionInner method because the actor it is referencing has not begun play yet. Unfortunately this function left the animation in a state where the 'real' animation update function wouldn't trigger any anim notifies properly. CL#3063015 : Sequencer: Fixed anim notifies not working when playing animation on blueprint-driven skeletal meshes We now inject a new animation position into the animation system, rather than trying to 'fake' events outside of the system. This allows for much more robust event triggering when playing back through sequencer. Previously, anim notifies for trail particles would be reset every frame due to TriggerAnimNotifies being called by the animation system, and sequencer. We now defer this responsibility to the animation system entirely during playback. CL#3068399 : Sequencer: Changed animation tracks to allow more animation types (such as anim montages) - APIs now accept UAnimSequenceBases rather than UAnimSequences to afford more flexibility #jira UE-34046 Change 3073787 on 2016/08/02 by Jurre.deBaare Handle failed Simplygon proxy mesh generation with error message instead of hard checks #fix Added a failed delegate along side the succesful delegate #jira UE-31990 Change 3073786 on 2016/08/02 by Jurre.deBaare Alembic importer crashes when not assets are generated #fix Prevented adding nullptr values to the array (now only contains valid entries) #jira UE-34065 Change 3073777 on 2016/08/02 by Jurre.deBaare User is able to give a Preview Scene Profile the same name as an existing profile #fix check changed profile name and append _duplicatedname if found to be matching an existing profile name #jira UE-34033 Change 3073775 on 2016/08/02 by Mitchell.Wilson Updating VehicleExampleMap for BP and Code templates to have consistant starting locations #jira UE-31281 Change 3073732 on 2016/08/02 by Rolando.Caloca DR - Fix crash when enabling gpu morph targets on non SM5 platforms #jira UE-34011 Change 3073706 on 2016/08/02 by Peter.Sauerbrei fix for no tvOS libraries in binary release for Win64 #jira UE-34076 Change 3073671 on 2016/08/02 by Allan.Bentham High quality mobile reflection captures are now blended in correct (linear) space. #jira UE-33915 Change 3073663 on 2016/08/02 by Peter.Sauerbrei fix for launch on failing for iOS in Binary #jira UE-34014 Change 3073662 on 2016/08/02 by Lee.Clark 4.13 - PS4 - Fix Media Player Audio cutting out #jira UE-33850 Change 3073616 on 2016/08/02 by Mark.Satterthwaite Duplicate CL #3073584 from Dev-Platform: Fix iOS Metal not playing in the background when the phone is locked and there's no drawable texture. #jira UE-32323 Change 3073592 on 2016/08/02 by Max.Chen Curve Editor: End any transactions on mouse down that weren't ended cleanly. This fixes a bug where if you drag with the left mouse button and click with the right mouse button, the transactions are left in an ambiguous state. #jira UE-33993 Change 3073585 on 2016/08/02 by Nick.Darnell Slate/UMG - When you select a paper sprite, or any other implementor of the SlateTextureAtlasInterface the editor will now correctly pick a default size for the brush matching the size of the sprite like it does for textures. #jira UE-34075 Change 3073575 on 2016/08/02 by Richard.TalbotWatkin Duplicating from Dev-Editor, CL 3057645 Fixed single player PIE so the window position is correctly fetched and saved, even when running a dedicated server. This does not interfere with stored positions for multiple PIE, which uses ULevelEditorPlaySettings::MultipleInstancePositions. #jira UE-33416 - New Editor PIE window does not center to screen when running with a dedicated server Change 3073542 on 2016/08/02 by Richard.TalbotWatkin Duplicated from Dev-Editor, CL 3072169. A couple of changes to the BSP code: * Fixed longstanding issue where sometimes BSP geometry is not rebuilt correctly after editing it. This was due to poly normals not being recalculated after translating vertices in Geometry Mode. * Fixed corruption to FPoly::iLink as it is overloaded to have two meanings: when building BSP, it temporarily represents the surface index of the next coplanar surface (and adding a new BSP node uses this to determine whether a new surface needs to be added or not). In other operations it represents an FPoly index, in general this is used more in editor geometry operations. This fixes various crashes which arose from rebuilding BSP resulting in invalid FPoly indices. #jira UE-12157 - BSP brushes break when non-standard subtractive bsp brushes are used #jira UE-32087 - Crash occurs when creating Static Mesh from Trigger Volume Change 3073540 on 2016/08/02 by Matthew.Griffin Added Package Samples script behind a trigger to package samples for QA Removed submitter notifications from Launcher Samples nodes Added submitters of any file in Templates/StarterContent as notified for Feature Pack and DDC nodes Removed any dependencies on Win64 only nodes from the Mac Installed Build so that it can be run locally Added Overnight Build Type to Release Branch to run the Binary Release and Package Samples jobs #jira UEB-689 Change 3073511 on 2016/08/02 by Tom.Looman Removed object redirectors to fix build warning in VR Template #jira ue-33325 Change 3073458 on 2016/08/02 by Jurre.deBaare Update default preview scene ini and assets #fix deleted old sky texture and fixed BaseEditor.ini setup #jira UE-34063 Change 3073427 on 2016/08/02 by Richard.TalbotWatkin Duplicated from Dev-Editor, CL 3068585 Fix to Spline Mesh collision building so that geometry does not default to being auto-inflated in PhysX. #jira UE-34062 - SplineMesh collision can be generated incorrectly Change 3073421 on 2016/08/02 by James.Golding Resave PSD test assets in QAGame with proper version #jira UE-34061 Change 3073419 on 2016/08/02 by James.Golding Rename OrientationDriver to PoseDriver #jira UE-34015 Change 3073404 on 2016/08/02 by Richard.TalbotWatkin Duplicated from Dev-Editor, CL 3057895 Mesh paint bugfixes and improvements. Changes to RerunConstructionScript so that OnObjectsReplaced is called correctly on all components, whether they have been created by the SCS or the UCS. Previously, components created by the UCS were not being handled, and components created by the SCS were not always being matched. Now a serialized index is maintained for UCS-created objects, which is matched after the construction scripts have been executed. This will fix issues with the mesh paint tool, and any other editor tool which hooks into the OnObjectsReplaced callback in order to update its internal cache of component pointers, for example, the component visualizer render list. #jira UE-33010 - Crash changing mesh paint material in blueprint, then changing to a different mode tab #jira UE-32279 - Editor crashes when reselecting a mesh in paint mode #jira UE-31763 - [CrashReport] UE4Editor_MeshPaint!FMulticastDelegateBase<FWeakObjectPtr>::RemoveAll() [multicastdelegatebase.h:75] #jira UE-30661 - Vertex Painting changes collision complexity if the asset is saved while vertex painting Change 3073380 on 2016/08/02 by Richard.TalbotWatkin Fixed build error in unity builds. #jira UE-33049 - Transform widget visible in blueprint viewport when editing spline points in editor viewport #jira UE-9062 - Spline editing: It would be nice to be able to type in a specific value for a point #jira UE-7476 - Add ability to edit SplineComponent in BP editor (not just instance in level) #jira UE-13082 - Users would like a snapping feature for splines #jira UE-13568 - Additional Spline Component Functionality #jira UE-17822 - It would be useful to be able to update a bp spline layout from the editor viewport. Change 3073343 on 2016/08/02 by Matthew.Griffin Whitelisting PS4 and XboxOne plugins for those platforms specifically #jira UE-33866 Change 3073338 on 2016/08/02 by Ben.Marsh When running in unattended mode, write an error refusing to load any missing plugin rather than opening a modal dialog. Fixes ShooterGame build error with missing PS4/XboxOne plugins. Change 3073319 on 2016/08/02 by Maciej.Mroz #jira UE-26676, UE-33027, UE-32806, UE-33460, UE-33423, UE-33860 Manually integrated some fixes from Dev-Blueprints Change 3073311 on 2016/08/02 by Richard.TalbotWatkin Duplicated from Dev-Editor CL 3057868 Spline component improvements, both tools and runtime: - SplineComponentVisualizer now works within the Blueprint editor. This works via a generic extension added to the base ComponentVisualizer class which correctly propagates modified properties from the preview actor to the archetype, and then on to any instances whose properties are at the default value. - The above feature required a breaking change to USplineComponent - namely, the three FInterpCurve properties have been collected together into a struct and added as a single property. This is so that changes to the length of one of the FInterpCurves marks all three as dirty and needing rebuilding. - Added a custom version for SplineComponent and provded serialization fixes. - Added a details customization to SplineComponent to hide the raw FInterpCurve properties. - Added a custom detail builder category which polls the SplineComponentVisualizer each tick and provides numerical editing for spline points which are selected in the visualizer. - Relaxed the limitation that SplineComponent keys need to have an increment of 1.0. Now any SplineComponent key can be set. The details customization enforces that the sequence remains strictly ascending. - Allowed an explicit loop point to be specified for closed splines. - Allowed discontinuous splines by no longer forcing the ArriveTangent and LeaveTangent to be equal. - Added some new Blueprintable methods for building splines with an FSplinePoint struct, which allows all of a spline point's properties to be specified, and added to the FInterpCurves sorted by the input key. - Fixed the logic which determines whether the UCS has modified the spline curves. - Added UActorComponent::RemoveUCSModifiedProperties, which allows a component to remove any properties from the cached list which it doesn't want to be considered as 'modified'. This is used to distinguish the case of properties preserved by the SplineInstanceDataCache from those genuinely modified by the UCS. - Fixed "Apply Instance Changes to Blueprint" so that edited spline data can be applied to the archetype. - Fixed some issues with the spline component visualizer to make it generate appropriate up vectors if scale and rotation are enabled. #jira UETOOL-766 - Spline tool improvements #jira UE-33049 - Transform widget visible in blueprint viewport when editing spline points in editor viewport #jira UE-9062 - Spline editing: It would be nice to be able to type in a specific value for a point #jira UE-7476 - Add ability to edit SplineComponent in BP editor (not just instance in level) #jira UE-13082 - Users would like a snapping feature for splines #jira UE-13568 - Additional Spline Component Functionality #jira UE-17822 - It would be useful to be able to update a bp spline layout from the editor viewport. #jira UE-33049 - Transform widget visible in blueprint viewport when editing spline points in editor viewport #jira UE-33669 - Crash in Dev-Editor Change 3073242 on 2016/08/02 by James.Golding Move physics state create/destroy delegates from BodyInstance to ActorComponent - Rename virtual Create/DestroyPhysicsState on OnCreateDestroyPhysicsState, and make protected. - Create new public Create/DestroyPhysicsState non-virtual to call virtual, and also invoke delegate. #jira UE-32768 Change 3072953 on 2016/08/01 by Uriel.Doyon Texture GUIDs are now included in cooked builds, as they are required by the texture streamer to link build data to in game textures. #jira UE-34045 [CL 3094220 by Ben Marsh in Main branch]
2016-08-18 20:28:33 -04:00
// Symbol files aren't true dependencies so we can skip if they don't exist
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
if (FileReference.Exists(BuildProduct.Path))
Copying //UE4/Release-Staging-4.13 to //UE4/Dev-Main (Source: //UE4/Release-4.13 @ 3088355) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3088355 on 2016/08/13 by Max.Preussner Media Player Editor: Fixed Local file paths without file:// open when pressing Enter, but not when clicking Go button (UE-34643) #jira UE-34643 Change 3088331 on 2016/08/13 by Max.Preussner Media: Fixed Failing to load Precached Media Source (UE-34285) #jira UE-34285 Change 3088202 on 2016/08/12 by Zabir.Hoque Porting DX12 Fix from MS: Update D3D12 RHI for 4.13 - Fixed compiler errors with missing RHI methods. Fixed compiler warnings where names were hidding other variables. #jira UE-0 Change 3088149 on 2016/08/12 by Mark.Satterthwaite Duplicate CL #3087991: Initial AVFoundation implementation of Media Framework for Mac, iOS & tvOS. - Slight adaptation of AppleMovieStreamer to pick up movies from inside the GameContentDir on all Apple platforms. - Video playback occurs via AVPlayerItemVideoOutput's attached to the AVPlayerItem's output. This means gathering video samples is trivial. - Metal texture updates occur by wrapping the texture object provided by AVF - for Mac this is simple as it can bind to the IOSurface directly, for iOS/tvOS we have to create a CVMetalTextureCache and allocate our texture from there. - OpenGL and OpenGLES currently have to lock the pixel buffer and upload to a texture the old fashioned way - this should be revisited when there is time. - Subtitles/Captions are captured using AVPlayerItemLegibleOutput which also connects to the AVPlayerItem's output. - On Mac audio samples are returned by manually reading from the stream using an AVAssetReaderTrackOutput, including manual seeking and synching. - On iOS/tvOS the audio is played directly by AVPlayer because the IOSAudio system can't handle procedural buffers - otherwise it could reuse the Mac code. - AVFoundation does not support AVI - that's an obsolete Microsoft/Windows file-format. - Only 'file://' URLs are supported - streaming would require a totally different audio solution (using MTAudioProcessingTap) and has many more edge and failure cases that would need to be handled. #jira UE-34315 Change 3088131 on 2016/08/12 by Chris.Babcock Fix iterative deploy for new ADB #jira UE-34638 #ue4 #android Change 3088106 on 2016/08/12 by Dan.Oconnor Make check less strict, PinIds are only unique within a single node, unfortunately, hence why we use both an OwningNode and a PinId when resolving references #jira UE-34564 Change 3088099 on 2016/08/12 by Zabir.Hoque Move end of frame resource clean up to end of viewport rendering, since EndFrame calls were not consistently coming in when movie was playing but asset loading was done. #Jira UE-27026 Change 3088072 on 2016/08/12 by Max.Chen Sequencer: Level editor camera cut flag is now a one way gate This resolves issues to do with the flag being erroneously reset by external forces. #jira UE-33875 Change 3088031 on 2016/08/12 by Jeff.Campeau Fix WinXP build issues in WmfMedia and SteamVR plugins. #jira UE-32421 Change 3088025 on 2016/08/12 by Tom.Looman Updated VR Template with new VR device ID blueprint node. #jira ue-34592 Change 3088023 on 2016/08/12 by Tom.Looman Added PS Move input handling support to VR Template. #jira UE-34188 Change 3087989 on 2016/08/12 by Michael.Trepka Restored the code that's staging custom icons for Mac, which was accidentally removed when we switched to use build receipts. #jira UE-34581 Change 3087907 on 2016/08/12 by mason.seay New test assets for sub instance testing #jira UE-29618 Change 3087812 on 2016/08/12 by Maciej.Mroz #jira UE-34247 Nativized UMG assets not visible Redone cl#3087726 from Dev-Blueprints Change 3087810 on 2016/08/12 by Jeff.Fisher UEVR-13 PSVR: TCR Requirements : sceHmdReprojectionSetOutputMinColor Exposed sceHmdReprojectionSetOutputMinColor to blueprint via Morpheus Function Library. Allows one to set the minimum output color from reprojection processing. Can be used to mitigate certain artifacts (dark smearing, reprojection edges). See Sony documentation for more information. This setting does persist across switches out of vr mode and hmd disconnection, but it has no effect out of vr modes. #review-3087760 @nick.whiting #jira UEVR-13 Change 3087795 on 2016/08/12 by Mitchell.Wilson Added project thumbnail to subway sequencer. Added thumbnails to subway sequencer levels. Re-saved multiple files to resolve empty engine version and nodeguid warnings. #jira UE-34521 UE-34519 Change 3087730 on 2016/08/12 by Michael.Trepka Made bGeneratedSYMFile true by default and changed some ifs in Mac UBT code so that non-debug configs always build dSYM files on Mac, unless bGeneratedSYMFile is set to false in BuildConfiguration.xml #jira UE-34548 Change 3087699 on 2016/08/12 by Jeff.Campeau Make resource generation fault tolerant of unset config values. #jira UE-34614 Change 3087690 on 2016/08/12 by Mitchell.Wilson Added a thumbnail for the BlueprintRenderToTarget level. #jira UE-34544 Change 3087688 on 2016/08/12 by Marc.Audy Fix headshot crash when tearing down physics when not registered #jira UE-32935 Change 3087615 on 2016/08/12 by Ben.Woodhouse Fix for crash in shadowsetup when frustum is invalid #jira UE-33014 Change 3087607 on 2016/08/12 by Max.Chen Sequencer: Fix Import/Export FBX - Import FBX now maps arbitrary float properties as well as the transform - Import/Export FBX now consistently operates on selected nodes or all nodes - Fixed exported node names so that they're consistent with Sequencer node names #jira UETOOL-534 Change 3087586 on 2016/08/12 by Chris.Babcock Add HUAWEI_Mali device model recognition for Vulkan #jira UE-34610 #ue4 #android Change 3087529 on 2016/08/12 by Jurre.deBaare Fix for crash when start index != 0 and sampling at a different rate #jira UE-34637 Change 3087519 on 2016/08/12 by Ben.Marsh Pass the -ignorejunk flag on to child UBT instance when running a clean. Change 3087455 on 2016/08/12 by Jurre.deBaare Alembic importer plugin needs proper logo #fix Replaced icon with inverted official Alembic logo #jira UE-34474 Change 3087360 on 2016/08/12 by Ben.Marsh Print out the UBT command line before running it, to help diagnose -ignorejunk problem. Change 3087285 on 2016/08/12 by Lina.Halper - Add which animation it fails to compress - Make sure it doesn't go in there unless you have skeleton #jira: UE-34490 Change 3087237 on 2016/08/12 by Alex.Delesky #jira UE-34453 - Fixed an issue where a cast to find specific thumbnail scene info was being erroneously applied to the skeletal mesh thumbnail scene instead of the material thumbnail scene. Change 3087215 on 2016/08/12 by danny.bouimad #jira UE-29618 updated QA-AnimProfiles again... Change 3087212 on 2016/08/12 by Danny.Bouimad #jira UE-29618 updated TM-PhysicalAnimProfiles again Change 3087200 on 2016/08/12 by Robert.Manuszewski Fix for potential deadlock when a worker thread crashes caused by critical section lock in FOutputDeviceRedirector. The engine will no longer attempt to flush log messages in CheckRenderingThreadHealth if a critical error has already occured. Crash handlers flush log anyway. #jira UE-34373 Change 3087188 on 2016/08/12 by Matthew.Griffin Added SignExecutables Option to installed build script, which defaults to false and means most people won't have to pass -nosign anymore Added HostPlatformsOnly Option to installed build script as a way to easily make a build with only your current platform, without having to disable every other platform manually Change 3087160 on 2016/08/12 by Ben.Marsh Propagate the -ignorejunk option when we're building UHT as a child process in UBT. Change 3087148 on 2016/08/12 by Ben.Marsh Fix sample build failure due to intermediate headers being deleted from engine folder. Some modules only have *private* UObject classes which aren't included in the editor zip. UBT detects that there are no longer and UObject classes and deletes the intermediate folder, causing BuildGraph to fail when it detects the change. Change 3087143 on 2016/08/12 by Danny.Bouimad #jira UE-29618 updated QA-AnimProfiles and SK_Mannequin_PhysAssetTest to include constaint profiles for switching, removed old map in wrong folder. Change 3087140 on 2016/08/12 by Steve.Robb GitHub 2256 : Update UnrealCodeAnalyzer.Build.cs I have no evidence that this actually fixes anything, but it doesn't harm anything to add it... #jira UE-29286 Change 3087139 on 2016/08/12 by Steve.Robb Failed link actions during a hot reload now output a 'failed.hotreload' file in the destination folder to indicate that another link attempt is needed. This is because we can't distinguish between a successful compile with a failed link action, and a compile with no changes which requires no new module. #jira UE-31575 Change 3087107 on 2016/08/12 by Jurre.deBaare Alembic Import with empty first frame will cause the editor to crash #jira UE-34515 #fix Reject empty or invalid frames and remove them from the object, output messages are generated for such frames/objects #misc added a static const value indicating the first frame instead of hardcoded 0 array accesors #misc check condition fix in Runnable #misc log now adds new page named after the imported Alembic file Change 3087079 on 2016/08/12 by Dmitriy.Dyomin Fixed: Corrupted level package on loading cooked content #jira UE-34591 Change 3087063 on 2016/08/12 by James.Cobbett #jira UE-29618 Submitting test assets for Alembic Importer Change 3087048 on 2016/08/12 by Matthew.Griffin Changed Launcher Samples to create aggregate from property to avoid error in preflights Only notify about Launcher Samples trigger in non-preflight builds Change 3086985 on 2016/08/12 by Maciej.Mroz #jira UE-34372 [CrashReport] UE4Editor_CoreUObject!StaticAllocateObject() [uobjectglobals.cpp:2102] Redone cl#3083825 from Dev-Blueprints Change 3086960 on 2016/08/12 by Matthew.Griffin Prevent Build DDC command from making DDC for platforms that aren't supported by project #jira UEB-698 Change 3086945 on 2016/08/12 by Dmitriy.Dyomin Fixed: Sub-level layers do not show up in Layers tab when loaded as a part of world composition #jira UE-18291 Change 3086904 on 2016/08/11 by Lina.Halper Reverting the ensure as raw curve track != compressed because it doesn't go to compressed if the value doesn't have anything more than >0.f #jira: UE-34570 Change 3086891 on 2016/08/11 by Lina.Halper DUPEFIX: CL 3086544 from Michael Noland Paper2D: Fixed a crash when mutating grouped sprite components at runtime, and cleaned up how collision rendering is done for grouped sprite components addressing some other issues as well #jira UE-34223 #tests (from Michael N) Tested with repro project from JIRA, as well as adding/removing instances in the editor and with some sprites in the group having collision and others not, clearing collision on the component itself, etc... #tests (from Lina H) started the test project from JIRA and PIE, and no crash. Change 3086837 on 2016/08/11 by Nick.Whiting Modifying IsInGameThread() checks in Oculus positional tracking code to be !IsInActualRenderingThread(). This allows skel controls to use orientation and position with parallel animation #jira UE-32564 Change 3086797 on 2016/08/11 by Dmitry.Rekman Linux: fix crash on editor exit (UE-30795, UE-7519). - FText (stored in ZoomLevels static array) was being destructed during the global destructor phase, and it cannot do that. #jira UE-30795 Change 3086735 on 2016/08/11 by Richard.TalbotWatkin Fixed crash due to entries in the BlueprintCreatedComponents list not being present in the OwnerComponents list in RerunConstructionScript following an Undo. Handled this case explicitly now. #jira UE-34265 - Undo, Redo, Undoing a blueprint actor Replace action causes a crash Change 3086726 on 2016/08/11 by Jeff.Fisher UEVR-13 PSVR: TCR Requirements : 2DVR 2DVR is a way to show a static image on PlayStation VR temporarily, for example as a loading screen. -Implemented 2DVR reprojection mode, exposed Show2DVRSplashScreen and Hide2DVRSplashScreen to blueprint through a new MorpheusFunctionLibrary. #jira UEVR-13 #review-3086004 @chad.taylor @nick.whiting Change 3086652 on 2016/08/11 by Dmitry.Rekman Linux: re-enable ICU (UE-34012). - Built static libs against libc++; disabled using dynamic ones. - Fixes lack of rich text formatting. #jira UE-34012 Change 3086648 on 2016/08/11 by Nick.Whiting Adding support for getting the HMD Device name from code / blueprints #jira UE-31785 Change 3086589 on 2016/08/11 by Chad.Taylor Fixing Vive resolution on packaged builds #jira UE-34535 Change 3086568 on 2016/08/11 by Matt.Kuhlenschmidt Fix skeletal mesh LODs not being imported correctly. All meshes were imported to the base LOD instead. #jira UE-34397 Change 3086529 on 2016/08/11 by Marc.Audy Don't build UE4Game against shipping physx/apex libs causing module mismatches for binary code projects linked against profile libs (which is the default) #jira UE-34287 Change 3086376 on 2016/08/11 by Peter.Sauerbrei remove cached file handle from iOS and Android to save memory during loads #jira UE-31720 Change 3086369 on 2016/08/11 by Matt.Kuhlenschmidt Guard against crash with corrupted editor layouts #jira UE-34364 Change 3086345 on 2016/08/11 by Dan.Oconnor ULevel::Actors is now a TArray instead of a TTransArray. It has been misusing TTransArray for years (by both serializing individual elements and the entire array, TTransArray logic in EditorTransaction.cpp appears to be completely rotten, broken for a very long time) #jira UE-34380 Change 3086272 on 2016/08/11 by Cody.Albert Updating First Person templates to fix cook errors #jira UE-22726 Change 3086259 on 2016/08/11 by Nick.Whiting Added a project setting bStartInVR, which allows projects to specify that they want to default to starting in VR mode, regardless of whether the -vr commandline is used #jira UE-31617 Change 3086202 on 2016/08/11 by Marcus.Wassmer Duplicate 3086176 to fix broken shaderpipelines on PS4 #jira UE-34540 Change 3086080 on 2016/08/11 by mason.seay Test animbp for sub anim instances #jira UE-29618 Change 3086062 on 2016/08/11 by Tom.Looman Migrate from //depot/usr/ into Release-4.13 for VR Template. #jira ue-34533 Change 3086032 on 2016/08/11 by Mike.Beach Bolstering FSceneComponentDetails::MakeTransformDetails()'s null handling (there was one conditional that was missing it). #jira UE-34350 Change 3086025 on 2016/08/11 by Olaf.Piesche #jira UE-32058 Replicating fix from 3050352 Change 3085969 on 2016/08/11 by John.Pollard CIS fix #jira UE-30516 Change 3085819 on 2016/08/11 by Jurre.deBaare bForceOneSmoothingGroup not working for skeletal meshes #fix Added check for forced smoothing group and calculate normals accordingly #misc Spotted some non-referenced const TArrays being passed to CalculateTangents #jira UE-34555 Change 3085799 on 2016/08/11 by Ben.Marsh Pass the -ignorejunk option to UBT when generating code documentation. Since the UE_SDKS_ROOT environment variable is removed (because we don't want documentation for confidential platforms), UBT was deleting Linux target platform DLLs and causing an error when generating blueprint documentation when the files were missing. Change 3085763 on 2016/08/11 by Daniel.Lamb Fix for circular initialization of a singleton on android causing hang when using cook on the fly. #jira UE-34442 Change 3085717 on 2016/08/11 by Dmitry.Rekman Linux: better messaging around Steam initialization (UE-32052). - Also added a standalone test. #jira UE-32052 Change 3085715 on 2016/08/11 by Chris.Bunner Dropped check to an ensure as there's existing handling for invalid assets in that case. #jira UE-23902 Change 3085714 on 2016/08/11 by Olaf.Piesche #jira UE-30398 Fix offset added to particle collision locations. Replicated from 3084645 in Dev-Rendering Change 3085713 on 2016/08/11 by Chris.Babcock Allocate OptionalShadowDepthColorSurface to match DepthStencil dimensions (allow up to 4 resolutions for now) #jira UE-33840 #ue4 #android #ios #opengl Change 3085711 on 2016/08/11 by Olaf.Piesche #jira UE-34106 #jira UE-32784 #jira UE-31198 Reset vertex factories on mesh emitters if mesh has been reimported (if mesh package is dirty) Replicated from 3083909 in Dev-Rendering Change 3085707 on 2016/08/11 by Matthew.Griffin Duplicated CL#3081374 from Dev-Build and another fix to the SlateTextureAtlasInterface issue Change 3085656 on 2016/08/11 by Marc.Audy PR#2620. Make sure the component has its position updated before using it to spawn the child actor (Contributed by pampersrocker) #jira UE-32418 #jira UE-33617 Change 3085641 on 2016/08/11 by Lina.Halper Fixed invalid compressed track data - need a better solution and added ticket for 4.14 - UE-34547 #jira: UE-34077 Change 3085606 on 2016/08/11 by Max.Preussner Media: Attempt to fix Crash after Clearing Sound Wave Asset and Deleting Media Player from Content Browser (UE-34381) #jira UE-34381 Change 3085568 on 2016/08/11 by Maciej.Mroz #jira UE-34436 Ensures when copy/pasting linked anim bp nodes FGraphObjectTextFactory doesn't call compilation (it is called later by FBlueprintEditor::PasteNodesHere, when all nodes are pasted). CallFunction can be pasted even when it's function doesn't exist. The function could be created from a CustomEvent node, that was also pasted (so it wasn't compiled yet). Change 3085532 on 2016/08/11 by Peter.Sauerbrei fix for remote tool chain build issues with items not being built because they were already there and up to date, but are then deleted by the file sync because they are missing on the PC #jira UE-30335 Change 3085528 on 2016/08/11 by Max.Chen Sequence Recorder: Fix crash when actor class to record is null. #jira UE-34543 Change 3085418 on 2016/08/11 by Maciej.Mroz #jira UE-33883 Packaging with Nativize Blueprint Assets Causes Uninitialized Defaults Redone cl#3084313 from Dev-Blueprints Change 3085395 on 2016/08/11 by John.Pollard Don't allow hot-reloading if we're running PIE instances #jira UE-30516 Change 3085377 on 2016/08/11 by Tom.Looman Added StarterMap (WIP) to resolve JIRA. #jira ue-34311 Change 3085364 on 2016/08/11 by Ben.Woodhouse Remove the Shadows of Editor-Hidden Objects showflag. This feature hasn't worked for a long time, and making it work again would add additional complexity and performance overhead which we don't want to incur. #jira UE-28561 Change 3085341 on 2016/08/11 by Dmitriy.Dyomin Fixed: Creating Launcher Profile does not always shows all project available maps #jira UE-33765 Change 3085336 on 2016/08/11 by Andrew.Rodham Sequencer: Runtime instances are no longer updated when bluprints are recompiled This code was not actually necessary to fix UE-31635 since we explicitly update the object binding from the level sequence editor spawn register #jira UE-34499 Change 3085332 on 2016/08/11 by Dmitriy.Dyomin Fixed: UInstancedStaticMeshComponent does not keep its instances on duplication #jira UE-26868 Change 3085331 on 2016/08/11 by Ben.Woodhouse Fix for threading related crash with precomputed lighting volumes #jira UE-34531 Change 3085323 on 2016/08/11 by Allan.Bentham Remove android specific vulkan hack to recreate depth buffer's imageview. #jira UE-33593 #jira UE-33336 Change 3085313 on 2016/08/11 by Thomas.Sarkanen StopRecordingAnimation now uses the same maing logic as RecordAnimation This prevents inconsisten behaviour between record and stop record commands #jira UE-34498 - User is not able to use StopRecordingAnimation command on a single actor Change 3085301 on 2016/08/11 by Allan.Bentham Only allow gaussian DoF on mobile. Disable DoF for all other types. #jira UE-34217 Change 3085292 on 2016/08/11 by Thomas.Sarkanen Revert change to force shipping dlls in shipping builds #jira UE-34287 - Crash when opening a packaged code project for Win64 in shipping configuration Change 3085291 on 2016/08/11 by Matthew.Griffin Added nodes for Linux Editor, DDC and installed build Changed existing Linux nodes to use host platform version of UHT and removed unnecessary tagging of UHT products Change 3084973 on 2016/08/10 by Jeff.Campeau Use relative settings for ShooterGame manifest Package creation checks Xbox One target settings in Engine instead of Game config #jira UE-33808 Change 3084932 on 2016/08/10 by patrickr.donovan #jira UE-29618 SteamVR related test content updates- QA_SteamMoCo -> MotionController Components, fixing up button presses, reworking bounds drawing. Change 3084886 on 2016/08/10 by Daniel.Wright Reverted cl 2938543 "Lightmass now respects owner bHidden, and bCastHiddenShadow" because it did not have backwards compatibility so breaks content using hidden light cards #jira UE-33238 Change 3084878 on 2016/08/10 by Jeff.Campeau UFE launch command is generated with all devices requested instead of just the first. #jira UE-34302 Change 3084860 on 2016/08/10 by Dmitry.Rekman Fix CrashReportClient crashing on start (UE-32976, UE-34451). - Add spaces around -abslog=foo.log parameter to prevent unrelated parameters being concatenated (and missed) sometimes. #jira UE-32976 Change 3084756 on 2016/08/10 by Dmitry.Rekman Linux: clean-up compiler settings logic (UE-22715). - Includes parts of pull request #1704 by zaps166. - Disables exceptions in most builds. #jira UE-22715 Change 3084679 on 2016/08/10 by Richard.TalbotWatkin Duplicated from Dev-Editor, CL 3084475 Fixed issue with ModelComponent replication in client/server PIE if BSP is rebuilt. ModelComponent now implements IsNameStableForNetworking and always returns true, as a level's model components will never be rebuilt during a game session. Brush poly normals are now only fixed up in Editor builds. #jira UE-34391 - No run animation on client that is not focused when running 2 player and dedicated server Change 3084614 on 2016/08/10 by Daniel.Wright Scene capture alpha is now inverted to match DrawMaterialToRenderTarget, and to allow compositing with existing render target contents Added CompositeMode to SceneCapture2D, which can be used to addively accumulate or composite instead of the default overwrite behavior Added bCaptureOnMovement to SceneCapture, which can be disabled so the only source of scene capturing is a manual capture by calling CaptureScene() #jira UE-34321 Change 3084607 on 2016/08/10 by Jeremiah.Waldron Adding AlreadyOwned to EInAppPurchaseState and utilizing this enumeration for GooglePlay IAP Also changing IOS store to return AlreadyOwned when SKErrorClientInvalid is received. This seems to be the correct behavior according to: http://stackoverflow.com/questions/8833970/when-does-skerrorclientinvalid-occur Relates to: #jira UE-34283 Change 3084586 on 2016/08/10 by Jeff.Campeau Chunks don't assume they're done downloading at 100%. #jira UE-34386 Change 3084552 on 2016/08/10 by Lina.Halper Fix GetWorldFromContextObject to be used for another thread safer : Guard to modify static variabls by another thread #jira: UE-34416 Change 3084551 on 2016/08/10 by Mitchell.Wilson Changed AutoPossessPlayer to Disabled in ThirdPersonCharacter BP Changed AutoPossessPlayer to Player0 on the ThirdPersonCharacter Instance in the level. #jira UE-32855 Change 3084535 on 2016/08/10 by Mike.Beach Fix to MathExpression node - recent modifications caused subte changes in behavior (now back in line with how it worked before). Identifiers (variable names) are back to allowing numerical characters, and we properly detect the terminating 0 at the end of a name/string. Also, reserving symbols that currently aren't operators (as they used to be) so users don't start including them in identifier names. #jira UE-34378 Change 3084526 on 2016/08/10 by Jeff.Campeau Update XDK to August 2016 #jira UEPLAT-1374 Change 3084471 on 2016/08/10 by John.Pollard Fix UE-34295: [CrashReport] Crash opening project on network drive - VCRUNTIME140!<Unknown> #jira UE-34295 Change 3084363 on 2016/08/10 by Marc.Audy Make stat soundcues/waves work correctly when spinning up new audio devices and switching focused viewport #jira UE-34101 Change 3084231 on 2016/08/10 by Michael.Trepka Fixed a problem with the search box in blueprint context menu not getting focus on Mac #jira UE-20884 Change 3084229 on 2016/08/10 by Dmitry.Rekman Linux: remove hardcoded staged files (UE-24594). #jira UE-24594 Change 3084215 on 2016/08/10 by Chris.Bunner Moved StationaryLightOverlap vis mode drawing to later in the frame to avoid translucency in the view. #jira UE-31936 Change 3084052 on 2016/08/10 by Jurre.deBaare Alembic skeletal mesh importer does not calculate correct smoothing groups #fix follow same routine as regular smoothing group/normal calculation #jira UE-34493 Change 3084029 on 2016/08/10 by Phillip.Kavan [UE-34458] Fix a crash that can occur while instancing an uncompiled Blueprint class with a modified array property in the native parent class default object. Mirrored from //UE4/Dev-Blueprints (CL# 3082839). #jira UE-34458 Change 3084027 on 2016/08/10 by Ben.Woodhouse Fix for crash when applying BSP materials This was caused by the renderthread dereferencing a reference to a ModelElement object which had previously been destroyed on the game thread. The reference to the ModelElement was solely used to dereference the irrelevant light GUIDs. The fix involves removing the reference and keeping a local copy of this array which is owned by the proxy. This is consistent with other proxies, e.g. Landscape, StaticMesh. #jira UE-31460 Change 3083981 on 2016/08/10 by Matthew.Griffin Set Localization branch for Localise command to release version when running in the Release Branch #jira UE-34471 Change 3083970 on 2016/08/10 by Max.Preussner PS4Media: Fixed Media player does not play the 2nd item in the playlist on PS4 (UE-33481) #jira UE-33481 Change 3083918 on 2016/08/10 by Matthew.Griffin Exclude UBT generated files from the installed build Change 3083910 on 2016/08/10 by Matt.Kuhlenschmidt Fix crash using "Use Selected asset from Content Browser" for font materials when the selected asset is not a material #jira UE-34360 Change 3083890 on 2016/08/10 by Matthew.Griffin Converted Launcher Samples to a full list of sample nodes with individual cook platform settings. Changed unzip nodes to only rely on the produced zip files so that it doesn't copy anything from Temp Storage. Changed BuildLauncherSample command to take the root publish dir and build label so that it can create paths and do copies. Also removed code checking whether monolithic platforms are specified for the project. #jira UE-34401 Change 3083873 on 2016/08/10 by Dmitry.Rekman CMakefileGenerator: Fix compilation on .NET 4.0 and below (UE-34478). #jira UE-34478 Change 3083862 on 2016/08/10 by Mitchell.Wilson Rebuilt lighting on Advanced_Lighting level in Samples Content #jira UE-34383 Change 3083792 on 2016/08/10 by Benn.Gallagher PR #2671: Fix sub instance curve values. (Contributed by tmiv) PR #2668: Sub inst post anim fix (Contributed by tmiv) #jira UE-34162 #jira UE-34121 Change 3083775 on 2016/08/10 by Kevin.Rushin QAGame - Updating VRLatency Testmap, Can freelook #jira UE-29618 Change 3083771 on 2016/08/10 by Robert.Manuszewski Don't attempt to construct CDOs when assembling GC token stream while exiting as a result of an error in PreInit. #jira UE-34371 Change 3083742 on 2016/08/10 by Lee.Clark 4.13 - PS4 - Fix memory allocation sizes #jira UE-33270 Change 3083732 on 2016/08/10 by Ben.Marsh Fix all nodes being exported to JSON file for builder configuration, rather than just those behind the current trigger. Change 3083690 on 2016/08/10 by Dmitriy.Dyomin Fixed: Foliage instances are not included when exporting a scene to FBX #jira UE-34214 Change 3083654 on 2016/08/10 by Keith.Judge Fix analysis warnings. Simple change from Release() to SAFE_RELEASE(). #jira UE-23059 Change 3083646 on 2016/08/10 by Thomas.Sarkanen Use shipping PhysX libs for installed builds Copy fix from UE4Game.Target.cs to apply to all packaged games #jira UE-34287 - Crash when opening a packaged code project for Win64 in shipping configuration Change 3083527 on 2016/08/10 by Dmitriy.Dyomin Fixed: Warning upon Undo/redo-ing of sculpting the landscape #jira UE-34443 Change 3083502 on 2016/08/10 by Dmitriy.Dyomin Fixed: World Composition origin shifting does not account for shifting the Dynamic Directional Light shadow casting #jira UE-34417 Change 3083349 on 2016/08/09 by Daniel.Wright Clamped roughness for simple lights to avoid NaNs from D_GGX with a very narrow roughness range including 0.00316, but not 0 #jira UE-31181 Change 3083167 on 2016/08/09 by Chad.Taylor Null deref crash fix #jira UE-33830 Change 3083144 on 2016/08/09 by Zabir.Hoque Removed bDeviceRemoved flag from RHI and issue erroring hault right away. This allows finding the error reason much closer to the callsite. #jira UE-32980 Change 3083136 on 2016/08/09 by Chad.Taylor Stripping out egregious log spam #jira UE-34181 Change 3083116 on 2016/08/09 by John.Billon Defaulting r.D3D.RemoveUnusedInterpolators to on. #Jira UE-34461 Change 3083114 on 2016/08/09 by John.Billon Fixing static analysis warning in NullRHI. #Jira UE-34462 Change 3083070 on 2016/08/09 by Dmitry.Rekman PR #2516: CMake improvements and fixes (UE-22233, UE-32136). - Contributed by Nihlus. - Contains PR #1668 by mgerhardy Summary of changes (from PR): - Fixed an issue where CMake build files would contain invalid targets - Fixed an issue where CMake build files would generate without code completion data, making them useless in IDEs such as CLion. - Fixed an issue where invalid target platforms could fall through and cause issues with the file generation. - Improved code readability throughout the generator. Can still use some more polish. - Improved CMakeFile generation performance by approximately 25%. Before this patch, generating a CMakeFiles.txt for a small-ish project took 20s - by replacing most string concatenation with StringBuilders, it now takes approximately 15s. This should be more apparent in larger projects. - Improved commenting throughout the generator. As with readability, can still use some more polish. - Removed unused using statements. - Added the inclusion of a fake executable target to the CMake files. Some IDEs do not recognize header files that are not part of either an executable or a library. While this target will not build, it is neccesary in CLion. - Replaced all instances of String.Format with string interpolation expressions from C#6. This greatly improves readability, and helped me catch some bugs with the build targets. #jira UE-22233 Change 3082999 on 2016/08/09 by Jeremiah.Waldron Actually checking the consumePurchase response in the GooglePlayStoreHelper for purchases #jira UE-34457 Change 3082993 on 2016/08/09 by mason.seay Fixed level BP error and updated Reverb asset #jira UE-29618 Change 3082981 on 2016/08/09 by Peter.Sauerbrei disable roughness calculation for iOS metal #jira UE-31815 Change 3082912 on 2016/08/09 by Chris.Babcock Use FMallocAnsi instead of FMallocBinned on Android ARM64 for now #jira UE-34432 #ue4 #android Change 3082875 on 2016/08/09 by Chris.Bunner Lowered verbosity of mesh build warning when using MikkTSpace. #jira UE-23903 Change 3082867 on 2016/08/09 by Trung.Le VREditor: Foliage reapply tool shouldn't auto reapply brush settings without trigger presses #jira UE-34227 Change 3082818 on 2016/08/09 by Mike.Beach Backing out CL 3081020, as it was causing issues with duplicated Blueprint actors (triggering an assert). #jira UE-34430 Change 3082794 on 2016/08/09 by Lukasz.Furman fixed gameplay debugger extensions activating during simulate in editor #jira UE-33343 Change 3082760 on 2016/08/09 by Jamie.Dale Scene viewports are now centered when re-entering windowed mode #jira UE-32842 Change 3082744 on 2016/08/09 by Mitchell.Wilson Resaving assets to resolve empty engine version warnings. #jira UE-29746 Change 3082728 on 2016/08/09 by Ben.Marsh BuildGraph: Use separate arguments to indicate that a trigger should be skipped entirely and its nodes should be executed as part of the parent trigger (-skiptrigger=X+Y, -skiptriggers) versus when we want to execute ONLY nodes behind a certain trigger. Fixes cases where triggering sample builds before the parent job finishes would attempt to execute the remaining nodes belonging to the parent trigger. #jira UE-34329 Change 3082686 on 2016/08/09 by Marc.Audy If the GameMode is not carried over as part of a seamless travel create it. #jira UE-25569 Change 3082663 on 2016/08/09 by John.Billon Fixed SubUVAnimation asset crash when texture source is cleared. #Jira UE-34231 Change 3082650 on 2016/08/09 by John.Billon Changed an ensure the NullRHI dealing with memory allocation to be a log message. #Jira UE-32362 Change 3082644 on 2016/08/09 by Maciej.Mroz #jira UE-34240 Match 3 nativization failure Redone cl3082121 from Dev-Blueprints Change 3082633 on 2016/08/09 by Maciej.Mroz #jira UE-34374 [CrashReport] UE4Editor_Engine!UEdGraphNode::GetGraph() [edgraphnode.cpp:172] Redone cl3082414 from Dev-Blueprints Change 3082606 on 2016/08/09 by Michael.Trepka Changed OuputGamutMappingMatrix in TonemapCommon.usf so it doesn't create a temporary variable to work around a bug in Intel's Mac OpenGL shader compiler. #jira UE-34276 Change 3082579 on 2016/08/09 by Benn.Gallagher CIS fix, missed removing a few #ifs #jira UE-29180 Change 3082525 on 2016/08/09 by Tom.Looman Removed Android from supported platforms in VR Template. #jira UE-34189 Change 3082523 on 2016/08/09 by Tom.Looman Improved HMDLocomotionPawn teleportation (UX of location and material reability/behavior) Fixed typo in level text. #JIRA UE-34422 Change 3082504 on 2016/08/09 by Jurre.deBaare Crash importing alembic asset over itself after saving it in Content Browser #fix Trivial nullptr + isValid fix #jira UE-34418 Change 3082433 on 2016/08/09 by Tom.Looman Updated list of supported platforms. #jira UE-34189 Change 3082423 on 2016/08/09 by Mitchell.Wilson Resaving levels to resolve MikkTSpace warnings Updating collision on SM_Floor_Round #jira UE-30786 Change 3082361 on 2016/08/09 by Keith.Judge Xbox One - Fix a controller disconnection crash. - This would only reproduce in VS2015 Update 3, and only when the controller is connected right from the start, not when a pad is plugged in later, so it seems copying the array of ^ pointers wasn't incrementing the refcounts correctly and causing things to be deleted too early. - Changed it to copy each connected pad object one at a time, which maintains the correct refcount. - Possibly a VS2015 Update 3 bug. #jira UE-33955 Change 3082341 on 2016/08/09 by Mitchell.Wilson Reimporting SM_GodRay_Plane Resaving levels to resolve MikkTSpace warnings Resaving multiple materials to resolve warnings #jira UE-34212 Change 3082313 on 2016/08/09 by Matthew.Griffin Only append BuildLabel to the publish dir if it's been set to something (end up with bad path for local build) Change 3082294 on 2016/08/09 by Jurre.deBaare Crash when importing an Alembic file with Materials as a different asset type than one that already exists #fix Ensure that we have a valid material to assign to the assets #jira UE-34377 Change 3082291 on 2016/08/09 by Jurre.deBaare Unable to save Alembic asset with materials after importing more than once #fix Make sure we delete referenced transient materials if they are not used #jira UE-34400 Change 3082290 on 2016/08/09 by Jurre.deBaare Crash importing abc file as Geometry Cache over another used in level with World Normal view mode on #fix Make sure we always update the GeometryCacheComponents, will change this set-up in 4.14 #jira UE-34392 Change 3082274 on 2016/08/09 by Benn.Gallagher Moved FABRIK debug draw out of the native node into the graph node. It will no longer draw in-game, only in Persona previews. Debug drawing is not supported outside of the game thread currently so we can't do it in EvaluateBoneTransforms. #jira UE-29780 Change 3082273 on 2016/08/09 by Benn.Gallagher Improved anim dynamics chain handling with LODs, now a chain will continue to simulate any bodies that can be reached from the root body instead of disabling the whole chain #jira UE-30827 Change 3082270 on 2016/08/09 by Benn.Gallagher Moved source indices for active transitions out of editor only so we can identify them at runtime. This allows the transition ratio anim getter function to get the correct elapsed time instead of trying to infer it which is incorrect when the transition is interuppted. #jira UE-29180 Change 3082257 on 2016/08/09 by Jurre.deBaare Auto align floor mesh does not work in Persona #fix Readded functionality for the auto alignment :) #jira UE-34404 Change 3082239 on 2016/08/09 by Peter.Sauerbrei make sure IPP and supporting dlls are all 64-bit #jira UE-34408 Change 3082225 on 2016/08/09 by Mitchell.Wilson Removing r.Streaming.PoolSize from DefaultEngine.ini, adding DefaultScalability.ini to set r.StreamingPoolSize Reimporting SM_GodRay_Plane Saving all levels to resolve MikkTSpace warnings. #jira UE-30787 Change 3082222 on 2016/08/09 by Rolando.Caloca UE4.13 - Fix crash on opengl3 - Load proper shader map depending on feature level - int interpolators require nointerpolation modifier #jira UE-33879 Change 3082221 on 2016/08/09 by Benn.Gallagher Fix for stack overflow traversing subinstances for duplicated names when there is a circular loop #jira UE-34384 Change 3082179 on 2016/08/09 by Ben.Woodhouse Fix for default subsurface color for two sided foliage, so it defaults to black instead of white. This requires some additional logic because we don't want to change the default color for other lighting models which use the subsurface material input (e.g. subsurface, skin, hair etc). Bump the shader version so the change is correctly propagated to existing material shaders. #jira UE-31461 Change 3082170 on 2016/08/09 by Graeme.Thornton Manual copy of CL 3078836 from Dev-Core to Release-4.13 Silently skip creating exports from a package where the outer is also an export and has been filtered at runtime during loading #jira UE-33909 Change 3082169 on 2016/08/09 by Graeme.Thornton Make FLauncherTasks have unique names so we don't end up with stat name collisions #jira UE-33849 Change 3082163 on 2016/08/09 by Matthew.Griffin Include Linux Build Tools in Windows Installed Build so that Crash Reporter can be staged from receipts Added Checks for files that might not exist when creating Installed Build from Github etc. Tag the published installed build zips #jira UE-34249 Change 3082139 on 2016/08/09 by Ben.Marsh BuildGraph: Allow writing a schema without passing a script in. Change 3082109 on 2016/08/09 by Thomas.Sarkanen Fixed blendspaces producing bad data when degenerate spaces are present Delaunay triangulations that fail now revert to simple degenerate tesselation. This allows us to build a valid set of grid samples even with degenerate triangulations, so no need for any runtime modifications. #jira UE-34308 - 2DAimOffset mesh skews across viewport when anim sequence is added to offest graph Change 3082080 on 2016/08/09 by Matthew.Griffin Added notifications for available triggers Change 3082054 on 2016/08/09 by Allan.Bentham Quality level override changes to high QL are now correctly picked up. #jira UE-22812 Change 3082049 on 2016/08/09 by Allan.Bentham Update shaders when mobile preview device is changed. #jira UE-22810 Change 3081866 on 2016/08/09 by Max.Chen Fbx Export: Fix build. #jira UETOOL-750 Change 3081863 on 2016/08/09 by Max.Chen Fbx Export: Fix level sequence fbx export. - Fix 3d transform track export so that it does the correct flipping for translation and rotation curves. - Fix setting rich curve tangents and interpolation modes. - Fix camera focal length export. #jira UETOOL-750 Change 3081823 on 2016/08/08 by Dmitriy.Dyomin Fixed: Crash when simulating in editor with a landscape actor selected #jira UE-34367 #coderview Gareth.Martin Change 3081647 on 2016/08/08 by Chad.Taylor OpenVR changed to work with our FSteamVRHMD::VRGetGenericInterfaceFn retrieved from GetDllExport #jira UE-34352 Change 3081645 on 2016/08/08 by Zak.Middleton #ue4 - Fix anim root motion applying too much velocity to CharacterMovement when framerate is low causing moves to be substepped, or when movement mode changes during root motion playback. #jira UE-30178 Change 3081639 on 2016/08/08 by Tyler.Cole Update build scripts for WEX MCP in UE4 Release-4.13 stream. #jira NONE-0 Change 3081616 on 2016/08/08 by Jeff.Fisher UEVR-13 PSVR: TCR Requirements -2dvr support "stereo on" and "stereo off" now switch ps4 from 2d to vr mode. -A new ini setting for morpheus bStartInVR has been added, it defaults to true. #jira UEVR-13 #review-3081284 @chad.taylor @nick.whiting Change 3081597 on 2016/08/08 by Tyler.Cole Update build scripts for Ocean MCP in UE4 Release-4.13 stream. #jira NONE-0 Change 3081476 on 2016/08/08 by Tyler.Cole Update build script for UE4 Release-4.13 stream Fortnite MCP. #jira NONE-0 Change 3081397 on 2016/08/08 by Josh.Adams - Fixing more linux case issues in UT #jira ue-33478 Change 3081391 on 2016/08/08 by Mitchell.Wilson Removed ConstructorHelpers from TP_2DSideScrollerCharacter.cpp. Added Run and Idle animations to BP child of 2dSideScrollerCharacter in 2DSideScrollerExampleMap #jira UE-33843 Change 3081383 on 2016/08/08 by Aaron.McLeran #jira UE-34081 Implementing CL 3076637 into 4.13 #tests run a procedural sound wave object test Change 3081337 on 2016/08/08 by Aaron.McLeran #jira UE-34390 CLONE - CRASH: FXAudio2SoundSource::GetChannelVolumes - Silent Crash during gameplay - OR-26580 - Implementing CL 3071258 to 3.13 #tests ran paragon with change, no crashes Change 3081335 on 2016/08/08 by Max.Preussner WmfMedia: Fixed memory leak in source resolver (UE-34385) #jira UE-34385 Change 3081320 on 2016/08/08 by Max.Preussner WmfMedia: Fixed typo (UE-32421) #jira UE-32421 Change 3081276 on 2016/08/08 by Mitchell.Wilson Resaving asset to resolve MikkTSpace warning. #jira UE-31116 Change 3081269 on 2016/08/08 by Dan.Oconnor Fix for name of blueprint changing when 'accept source' is used. Just caching the original name before unloading the blueprint #jira UE-34324 Change 3081052 on 2016/08/08 by Dan.Oconnor Making a change to test UE-34324 #jira UE-34324 Change 3081026 on 2016/08/08 by Daniel.Wright Added a heightfield painting example to BlueprintRenderToTarget content example #jira UE-34323 Change 3081025 on 2016/08/08 by Daniel.Wright CreateRenderTarget2D uses a world context object as owner, allows use in a construction script #jira UE-34321 Change 3081023 on 2016/08/08 by Aaron.McLeran #jira UE-34325 Implementing 3080958 in 4.13 - When a sound buffer is flushed from audio device manager and tries to stop sounds using a resource, was possible for the async header parse task to be in-flight, which would cause a crash - Fix is to bring back the code to call EnsureCompletion on tasks in the FreeResoruces function of the sound source object. This will potentially encure a slight perf increase when stopping a sound but audio engine is now going to run on a separate thread, so shouldn't have a game-thread impact in non-editor builds. #tests ran repro case described in bug several times without crashing (was 100% repro) Change 3081020 on 2016/08/08 by Dan.Oconnor Revised fix for UMG widgets with instanced properties resetting due to ImportText not copying objects assigned to Instanced properties #jira UE-26310 Change 3081010 on 2016/08/08 by Dan.Oconnor Fix for losing root transform when recycling objects #jira UE-28398 Change 3080972 on 2016/08/08 by Mark.Satterthwaite Duplicate CL #3080684: Flush on close of writable files on Apple platforms - close doesn't guarantee to push outstanding writes to the disk, only to the kernel. They might not make it to the disk prior to program termination. #jira UE-21857 Change 3080971 on 2016/08/08 by Mark.Satterthwaite Workaround a macOS 10.12 Beta bug on some Metal drivers that can't initialise temporary/local variable arrays, only those that are marked threadgroup shared. #jira UE-34355 Change 3080923 on 2016/08/08 by Michael.Trepka When archiving on for Mac delete the dest icon if it exists before trying to call File.Move #jira UE-33304 Change 3080919 on 2016/08/08 by samuel.proctor Revised assets for Blueprint Debugging tests #jira UE-29618 Change 3080878 on 2016/08/08 by Ben.Marsh Fix sample build timeouts due to generating DDC using installed engine builds taking too long. * New version of build script was not copying the DDCUtils module from the NotForLicensees folder to the installed engine directory, so network DDC was not being used. Set it from an environment variable instead. * Generating the installed project PAK was not using the Compressed.ddp file included with the engine, but was looking for a legacy DDC.ddp file instead. Change 3080849 on 2016/08/08 by Marc.Audy Always stop matinee sounds when jumping around, not just if the sound changed. #jira UE-31447 Change 3080843 on 2016/08/08 by Ben.Marsh BuildGraph: Fix compile error due to duplicated variable name. Change 3080840 on 2016/08/08 by Max.Chen Fbx: Fix rich curve export being exported at the incorrect times when baked. #jira UETOOL-750 Change 3080824 on 2016/08/08 by Max.Chen Sequencer: Revert fix root component structure for level sequence actor. #jira UE-34354 Change 3080819 on 2016/08/08 by Chad.Taylor Merging Move and Vive haptic implementation from Dev-VR to Release-4.13 #jira UE-27886 Change 3080818 on 2016/08/08 by Jurre.deBaare Crash when importing the same Alembic file but as a different Asset Type #fix Return the outer package of an imported asset, instead of InParent (which could be deleted/clean up if the import types differed) #misc Typo #jira UE-34293 Change 3080817 on 2016/08/08 by Jurre.deBaare Crash when importing an Alembic file with Materials if it already exists #fix Only create materials if they don't already exist #jira UE-34300 Change 3080814 on 2016/08/08 by Jurre.deBaare Crash when importing Alembic files as Skeletal Mesh #fix Set the NumVertices variable that was re-added :) #misc removed dead code #jira UE-34288 Change 3080813 on 2016/08/08 by Jurre.deBaare [CrashReport] UE4Editor_AlembicLibrary!AbcImporterUtilities::GenerateSmoothingGroupsIndices() #fix found in one of the reports messages that they were importing from 3DS, found that it exports the normals non-indiced but per-vertex, so now added expanding using the index buffer (also pre-emptively added it for UVs) #jira UE-34294 Change 3080797 on 2016/08/08 by Dmitriy.Dyomin Fix: Crash opening levels with landscape in them via the command console in standalone game #jira UE-34348 Change 3080784 on 2016/08/08 by Jamie.Dale We now keep the bulk data for stock engine fonts loaded to avoid attempting to load it on the render thread (from debug canvas rendering) #jira UE-34298 Change 3080734 on 2016/08/08 by Matthew.Griffin Made PDBs optional build products for CsCompile task and added .dll.mdb check for Mac Mono equivalent Change 3080685 on 2016/08/08 by Peter.Sauerbrei fix for crash on tvOS and iOS when launching a project #jira UE-34005 Change 3080683 on 2016/08/08 by Matthew.Griffin Added code to duplicate GUBP behavior when building DDC for samples so that only certain platforms are built Change 3080681 on 2016/08/08 by Matthew.Griffin Corrected path separators for Mac DDC location, which was preventing it from being included in installed build Change 3080675 on 2016/08/08 by Robert.Manuszewski Fixing CIS on Clang platforms #jira UE-34025 Change 3080674 on 2016/08/08 by Ben.Woodhouse Fix for reflection capture crash on autosave (null scene ptr) - integrate fix from fortnite CL 3033507 #jira UE-32651 Change 3080594 on 2016/08/08 by Keith.Judge Xbox One - Fix missing GPU particles when in Fast Semantics mode. SetRasterizerState() shouldn't be cached as it always needs resetting in Fast Semantics. Also enabled Fast Semantics by default, as the last known bug is now fixed. #jira UE-31607 Change 3080573 on 2016/08/08 by Martin.Wilson Fix Root Motion from Everything blending incorrectly when using layered blend per bone #Jira UE-17815 Change 3080517 on 2016/08/08 by James.Golding PR #2678: Fixed ProceduralMeshComponent compile issue, missing ConvexElem.h. (Contributed by ardneran) #jira UE-34299, UE-34279 Change 3080512 on 2016/08/08 by Benn.Gallagher Fix for dangling sub-instance pointers when reinstancing on AnimBP compile #jira UE-34137 Change 3080510 on 2016/08/08 by Max.Preussner WmfMedia: Fixed Packaged Shooter game does not load in Windows XP (UE-32421) #jira UE-32421 Change 3080509 on 2016/08/08 by Robert.Manuszewski Added more detailed message when TArray's BulkSerialize fails. #jira UE-34025 Change 3080506 on 2016/08/08 by Allan.Bentham Do not set render target if there are no modulated shadows. #jira UE-33252 Change 3080498 on 2016/08/08 by Keith.Judge Fix D3D12.x link error. #jira UE-34322 Change 3080493 on 2016/08/08 by Matthew.Griffin Allow symbol files to be skipped when staging build products as they are not essential for the staged project to run. #jira UE-34073 Change 3080490 on 2016/08/08 by Maciej.Mroz #jira UE-28625 Direction of GetOverlapInfos parameter doesn't match Redone cl# 3080484 Change 3080462 on 2016/08/08 by Allan.Bentham Leave FAndroidAppEntry::PlatformInit's ES2 EGL initialised unless vulkan or ES3.1 are required. Fix initialisation errors introduced in CL 3070035. #jira UE-34099 Change 3080242 on 2016/08/07 by Max.Chen Sequencer: Fix to allow deleting spawnables from the viewport #jira UE-28523 Change 3080241 on 2016/08/07 by Dmitriy.Dyomin Fixed: StartCameraFade not fading camera when MobileHDR is off #jira UE-34143 Change 3079990 on 2016/08/06 by andrew.porter Changing defaults on some settings on M_Details for test case. #jira UE-29618 Change 3079989 on 2016/08/06 by andrew.porter Setting two sided off on M_Details material #jira UE-29618 Change 3079986 on 2016/08/06 by phillip.patterson Updated QA-Foliage for test case #jira UE-29618 Change 3079984 on 2016/08/06 by andrew.porter Adding test content for using sprites in UMG #jira UE-29618 Change 3079879 on 2016/08/05 by Dmitry.Rekman Remove HITCHHUNTER logspam from release UE (UE-30959). #tests Compiled the UE4Editor. #jira UE-30959 Change 3079815 on 2016/08/05 by Tyler.Cole Set dependencies for Orion MCP in UE4 Release-4.13 stream. #jira NONE-0 Change 3079808 on 2016/08/05 by Daniel.Wright BlueprintRenderToTarget content example map with interactable fluid surface #jira UE-34323 Change 3079746 on 2016/08/05 by Daniel.Wright Copy - New blueprint function ClearRenderTarget2D, which is the only way to set a render target alpha directly New blueprint function CreateRenderTarget2D #jira UE-34321 Change 3079569 on 2016/08/05 by Mitchell.Wilson Updating template tutorials after assets were moved to new folders #jira UE-34139 Change 3079546 on 2016/08/05 by Ian.Shadden #UE4 #match3 Fixed button UI scaling on all buttons in Match3 (main menu, victory screen, options, notifications, etc...), tested on PC and Android Nexus 6 #jira UE-34316 Change 3079542 on 2016/08/05 by Mark.Satterthwaite Duplicate CL #3079503: Initialise more variable types to 0 in Metal shaders to workaround Xcode 8 toolchain no longer doing this for us for "threadgroup shared" variables. Everything but structs and atomic's will now be initialised. #jira UE-33856 Change 3079472 on 2016/08/05 by Peter.Sauerbrei fix for remote server name being empty stopping a build for a BP project in binary fix for several error messages from platform requirements not stopping a build #jira UE-34213 Change 3079453 on 2016/08/05 by Benjamin.Hyder Updating QA_Materials to include Material Details example #jira UE-29618 Change 3079389 on 2016/08/05 by Gareth.Martin Missing file from CL 3079376: Tessellate Landscape only in highest landscape LOD Fix incorrect UV coordinates when tessellation is enabled #jira UE-14253 #jira UE-20405 Change 3079384 on 2016/08/05 by Michael.Trepka PR #2266: BUGFIX: UBT not building on non HFS partitions on OSX (Contributed by Manny-MADE) #jira UE-29358 Change 3079376 on 2016/08/05 by Gareth.Martin Tessellate Landscape only in highest landscape LOD Fix incorrect UV coordinates when tessellation is enabled #jira UE-14253 #jira UE-20405 Change 3079365 on 2016/08/05 by Peter.Sauerbrei fix for executable name mismatch in plist vs actual executable when project has an underscore in the name #jira UE-34192 Change 3079361 on 2016/08/05 by Ryan.Vance #jira UE-34297 Fixing the screen space position in 3076326 broke an ISR dbuffer decal hack. Now, no longer a hack :) Change 3079349 on 2016/08/05 by Mason.Seay Deleting unneeded assets #jira UE-29618 Change 3079306 on 2016/08/05 by Peter.Sauerbrei IPP is now built as a 64-bit executable #jira UE-26393 Change 3079303 on 2016/08/05 by Peter.Sauerbrei PR2018 - disable user input request from ssh courtesy of Teivaz #jira UE-26393 Change 3079276 on 2016/08/05 by mason.seay Extended Line Trace For Convenient #jira UE-29618 Change 3079274 on 2016/08/05 by Alex.Delesky #jira UE-32396, UE-34103 - Fixed the issue where STextBLock widgets will revert to a gray-ish color in widget blueprints on compilation when set to magenta (#FF00FFFF). This fix does not introduce the side-effects of recoloring the text on editor buttons. Change 3079273 on 2016/08/05 by Max.Chen Sequencer: Fix converting matinee move tracks that have separate pos and euler tracks. #jira UE-34301 Change 3079254 on 2016/08/05 by Ori.Cohen Fix skeletal mesh having bodies in both sync and async scene. Simplifies a lot of code and fixes crash in case of substepping. #JIRA UE-34224 Change 3079242 on 2016/08/05 by Nick.Darnell Slate - Initializing WheelScrollMultiplier in the STableViewBase to avoid problems with subclasses not having an initialized value and the scrollbar misbehaving. #jira UE-34304 Change 3079129 on 2016/08/05 by Jurre.deBaare #jira UE-34278 #fix Changed reimport path to be the same as geometry cache / skeletal mesh Unable to reimport Alembic static meshes #jira UE-34292 #fix Handle cancelled situation during reimport ui interaction Cancelling the reimport of an Alembic file seems to confirm the action #jira UE-34288 #fix Possible fix, flush rendering commands before importing Crash when importing Alembic files as Skeletal Mesh #jira UE-34282 #fix Change import function override signature to include bCancelled and set the value appropriately + early out when cancelled "Failed to Import" message when clicking Cancel on the Alembic Import Message Change 3079127 on 2016/08/05 by Marc.Audy Properly clean up all worlds when ending PIE while a seamless transition is active #jira UE-33863 Change 3079107 on 2016/08/05 by Mike.Beach Reversing the order in which we iterate pins on node resonstruction - making sure we reconstruct split child pins first (to keep the old parent pin chain intact). #jira UE-30548 Change 3079093 on 2016/08/05 by Jurre.deBaare Toggling Vertex Colors on in Static Mesh Editor makes the viewport all white #fix Hide the environment and sky when showing vertex colours #jira UE-34251 Camera Auto exposure in the static mesh editor bleaches everything out when the environment is turned off #fix Turn on / off advanced engine show flags determined by whether or not post processing is enabled in the advanced preview scene settings #jira UE-34206 Change 3079090 on 2016/08/05 by Jurre.deBaare Bad performance when changing (slider) values for the advanced preview scene #fix Could not repro but added some more check if update needed checks #jira UE-33496 Adjusting Lighting Rig Rotation manually only affects the sky and not the lighting #fix Add the rotational delta for the sky to the directional light rotation #jira UE-34108 Change 3079088 on 2016/08/05 by Jurre.deBaare Alembic Cache Importer option for Hard Edge Angle Threshold does not work #fix Changed the condition for an edge to be hard / soft, fixed an issue in the smoothing group generation and changed the flow of normal calculation during importing #jira UE-34127 Change 3079040 on 2016/08/05 by Max.Preussner MediaAssets: Fixed media source asset cannot be inherited in other modules (UE-34290) Also made class properties blueprint read-writable #jira UE-34290 Change 3078958 on 2016/08/05 by Marc.Audy Don't ever reregister child actor components Don't destroy child actors when hiding a level #jira UE-31038 Change 3078954 on 2016/08/05 by ryan.brucks #jira ue-00001 Adding new material functions needed to go along with Noise Blog post requested by DanV and KimL Change 3078952 on 2016/08/05 by Phillip.Kavan [UE-34085] Fix an ensure when force-deleting compiled Blueprint class assets in the Content Browser. change summary: - modified ForceDeleteObjects() to relocate a redundant 'ObjectsToReplace' iteration that recently was converted to a ranged-based for loop; the conversion seems to have caused the iterator to ensure, due to existing code that was modifying the target array inside the loop. #jira UE-34085, UE-34169 Change 3078912 on 2016/08/05 by Andrew.Rodham Editor: When locking an editor viewport to a camera, camera cut flags are now correctly specified #jira UE-33875 Change 3078900 on 2016/08/05 by Lauren.Ridge Fix for small Vive HMD movements entering VR mode #jira UE-33970 Change 3078880 on 2016/08/05 by Jack.Porter Cannot set GenerateOverlapEvents flag on Landscape #jira UE-9055 Change 3078879 on 2016/08/05 by Lee.Clark PS4 - Fix corrupted debuffer decals (CMask wasn't getting decoded correctly) #jira UE-34273 Change 3078871 on 2016/08/05 by Steve.Robb Fix for changes to UObject*s in property boxes. #jira UE-29596 Change 3078857 on 2016/08/05 by Max.Chen Sequencer: Set Fixed frame interval playback to false by default. #jira UE-34272 Change 3078850 on 2016/08/05 by mason.seay Updated map to test physics mesh, added comments to level BP #jira UE-29618 Change 3078795 on 2016/08/05 by Andrew.Rodham Sequencer: Fixed spawnables not responding to blueprint reinstance events This ultimately left spawnable bindings broken, and an unreachable object in the world #jira UE-31635 Change 3078786 on 2016/08/05 by Robert.Manuszewski Reversed the order the UObject delete listeners were notified of UObject deletion to avoid skipping the next listener if the current one removed itself from the array. #jira UE-33872 Change 3078782 on 2016/08/05 by Andrew.Rodham Sequencer: Fixes to "Create Camera Here" functionality Fixed crash when undoing the "Create Camera Here" operation. Enabled RF_Transactional on all spawned instances in the world (to support undo/redo of instance properties properly) Fixed issues when the cursor was outside of the play range #jira UE-33127 Change 3078737 on 2016/08/05 by Andrew.Rodham Sequencer: Changed event and playback contexts to be weak references to ensure no strong GC references, while maintaining safety #jira UE-34256 Change 3078722 on 2016/08/05 by Ben.Woodhouse Fix shader compile error in TP_VirtualRealityBP (disable Morpheus, which was enabled (inadvertently?) in CL 3077481) #jira UE-34269 Change 3078620 on 2016/08/05 by Dmitriy.Dyomin Fixed: SunTemple geometry has rendering artifacts on low end devices [Android_Low] devices will use 'Low' material quality level #jira UE-22455 Change 3078584 on 2016/08/05 by James.Golding Add NumVertices back to FSkelMeshSection, so that info is available in non-editor builds (e.g. for runtime mesh merging) #jira UE-33675 Change 3078565 on 2016/08/05 by Jack.Porter Removed need for LandscapeInfo in GeneratePlatformPixelData which was crashing mobile previewer. #jira UE-33842 Change 3078564 on 2016/08/05 by James.Golding Fix display name for bSupportUVFromHitResults to fix missingspace #jira UE-34248 Change 3078542 on 2016/08/05 by Yannick.Lange VR Editor : Temporary fix to disable the possibility of both controllers having a windows docked. #jira UE-32839 Change 3078541 on 2016/08/05 by Yannick.Lange VR Editor : Fix linux compile error from VREditorAvatarActor #jira UE-34215 Change 3078396 on 2016/08/04 by Max.Chen Sequencer: Invalidate playback context when map changes. #jira UE-34256 Change 3078291 on 2016/08/04 by Jeff.Campeau RHI compress/decompress return success/failure Failure falls back to software method D3D12 for Xbox One still needs implementation #jira UE-31363 Change 3078131 on 2016/08/04 by Chris.Babcock Deal with missing Android movie framerate by defaulting to 30 if not available #jira UE-34208 #ue4 #android Change 3078084 on 2016/08/04 by John.Billon Disabled AMD hacks Cvars that aren't needed anymore. #Jira UE-30772 Change 3078083 on 2016/08/04 by John.Billon Consolidated ensures to detect a crash dealing with unallocated render targets in TranslucentLighting to a single test in DefferedShadingRendere and attempt to recover by reallocating deferred render targets. Added a couple of more ensures when allocating render targets. Added log message when changing feature levels. #Jira UE-32536 #Jira UE-32204 Change 3078039 on 2016/08/04 by Josh.Adams - Fixed a case issue with Linux #jira UE-33478 Change 3078029 on 2016/08/04 by Ryan.Vance #jira UE-30989 We need to disable the hmd mask when down sampling to ensure valid input data for blur passes. Change 3078027 on 2016/08/04 by Lina.Halper Fix sequencer morphtarget displaying issue #code review:Max.Chen #jira: UE-28459 Change 3078012 on 2016/08/04 by mason.seay map and asset updates for testing UV hit detection #jira UE-29618 Change 3078009 on 2016/08/04 by Jamie.Dale Ensured that BULKDATA_SingleUse is only set by UFontBulkData::Serialize when loading This prevents it being incorrectly set by other operations, such as counting memory used by font data. #jira UE-34252 Change 3078006 on 2016/08/04 by Mark.Satterthwaite Duplicate CL #3064008 & CL #3077412: Fix "iOS Metal-based build crashes at launch with sub-levels": - Slate should not bind the null RHI texture from an unitialised texture atlas - atlases only have a valid texture pointer once an entry has been added to them and in the template projects an empty sub-level doesn't add anything. - To prevent this kind of bug resurfacing and being so hard to track down add Metal shader binding validation to our validation layer as Apple's is incomplete on iOS and won't warn us about nil texture usage which causes these GPU restarts. This requires reworking our vertex declaration handling to be more efficient so that we can cache the pipeline reflection data as well as the pipeline objects. - Fix validation error of texture reallocation on loading template projects under Metal. #jira UE-30847 Change 3078002 on 2016/08/04 by John.Billon Fixed LowLightMapQuality warning triggering with wrong conditions. #Jira UE-33237 Change 3078001 on 2016/08/04 by John.Billon Fixed a crash due to particle threading issues in packaged game. #Jira UE-32147 Change 3077989 on 2016/08/04 by Rolando.Caloca UE4.13 - Fix Vulkan crash when compiling shaders on a new project due to running out of descriptor sets. Now we handle fragmentation of sets and multiple pools per RHI contexts. #jira UE-34218 Change 3077940 on 2016/08/04 by Jeff.Campeau Stage applocal dependencies from paths containing $(EngineDir) & $(ProjectDir) Include copies of the VS2015 runtime and UCRT Change -applocaldir parameter to -applocaldirectory Stage to engine and project binaries paths (for crash reporter, etc.) #jira UE-33903 Change 3077936 on 2016/08/04 by Daniel.Wright DrawMaterialToRenderTarget gracefully handles an invalid WorldContextObject #jira UE-34183 Change 3077927 on 2016/08/04 by Lina.Halper Fix issue with morphtarget not working due to invalid guid #jira: UE-34077 Change 3077919 on 2016/08/04 by Daniel.Wright Copy - Lighting channels can now be edited on components with static mobility, since dynamic lights can still affect them #jira UE-34245 Change 3077877 on 2016/08/04 by Ori.Cohen Fix physical animation undo/redo not affecting linked bodies and constraints #JIRA UE-33987 Change 3077823 on 2016/08/04 by Ori.Cohen Disable copy/paste action on physical animation profiles (From Matt.Kuhlenschmidt) #JIRA UE-33985 Change 3077814 on 2016/08/04 by Uriel.Doyon Changed the logs used in the "Texture Streaming Build". Previous warnings are now logged at verbose level. Can be toggled on by running "log texturestreamingbuild all" #jira UE-34120 #review-3077812 Change 3077781 on 2016/08/04 by Max.Chen Sequencer: Fix crash in rotation key struct #jira UE-34155 Change 3077771 on 2016/08/04 by Lina.Halper Added const and removed auto #jira: UE-33023 Change 3077702 on 2016/08/04 by Daniel.Wright Copy - Planar reflection show flags can now be edited #jira UE-34229 Change 3077585 on 2016/08/04 by Ori.Cohen Fix spam when moving simulated skeletal mesh in the editor. #JIRA UE-34164 Change 3077532 on 2016/08/04 by Tom.Looman Fixed error in description of VR Template. #jira ue-33950 Change 3077517 on 2016/08/04 by Tom.Looman Fixed parsing error for FP_VirtualRealityBP #jira UE-34059 Change 3077493 on 2016/08/04 by Tom.Looman Updated Template description to remove GearVR reference and include more clear message on the two available maps. #jira UE-33950 Change 3077492 on 2016/08/04 by Tom.Looman Improvements to VR Template Fixed teleportation issue on both locomotion types (JIRA) Rebuilt navmesh for motioncontrollermap Added new WIP startermap to clarify the difference between the multiple levels. Added more comments and did some cleanup in BPs. #jira UE-33962 Change 3077491 on 2016/08/04 by Jurre.deBaare Crash when attempting to merge two objects using Simplygon - ProxyMaterialUtilities::CreateProxyMaterialInstance #fix Pass in complete path to save material to instead of just the name #jira UE-34211 Change 3077481 on 2016/08/04 by Tom.Looman Workaround for issue in teleport camera fade. (Removing r.MobileHDR from config) #jira ue-34143 Change 3077463 on 2016/08/04 by Ben.Woodhouse Fix for ghosting in the SSR, caused by the SSRTemporal pass not getting velocities passed in. This is only an issue when temporal AA is disabled. There is a performance in this case, because a velocity pass is now required if SSR is enabled and temporalAA/motion blur are off. #jira UE-32843 Change 3077432 on 2016/08/04 by Steve.Robb Removal of Fortnite-specific setting which disables hot reload. #jira UE-33261 Change 3077380 on 2016/08/04 by Keith.Judge Fix for green reflection environment in some maps. - Moved deleting pending resources from EndFrame() to RHIEndDrawingViewport() so it *really* gets called once every time there's a Present() - Fixed a validation error when locking cube map faces which was causing them not to be updated. - Fixed a validated driver error when creating UAVs due to uninitialised parts of the descriptor and fixed the buffer description for occlusion queries to have the correct 256 byte size (another validation error). - Added a GPU/CPU sync at the same point the PS4 code does. #jira UE-32086 Change 3077336 on 2016/08/04 by Mitchell.Wilson removed r.Streaming.PoolSize from DefaultEngine.ini Adding DefaultScalability.ini and adding r.StreamingPoolSize to resolve a warning. #jira UE-30941 Change 3077275 on 2016/08/04 by Phillip.Kavan [UE-29903] Fix a potential infinite loop when replacing variable nodes in a Blueprint graph via drag-and-drop. #jira UE-29903 Change 3077119 on 2016/08/04 by Marc.Audy Use TickType All when in PIE #jira UE-18982 Change 3077108 on 2016/08/04 by Jon.Nabozny Add check to USkeletalMeshComponent::TickClothing to skip updating cloth when SkeletalMesh is null. This can happen when the mesh is cleared between USkeletalMeshComponent::TickComponent and USkeletalMeshComponent::TickClothing. #jira UE-34032 Change 3077073 on 2016/08/04 by Jurre.deBaare bBlendOverlappingNormals does not seem to have an impact for Alembic importing #fix this wasn't being used in the normal calculation anymore so redundant #jira UE-34204 Change 3077059 on 2016/08/04 by Robert.Manuszewski Disabling the assert when MaxObjectsInEditor or MaxObjectsInGame collide with EInternalObjectFlags as this is no longer relevant (since the serial number and object flags were split). #jira UE-34200 Change 3077024 on 2016/08/04 by Thomas.Sarkanen Added GetResourceSize to UDataAsset Data assets now correctly report their size. #jira UE-28851 - Fix mem reporting of DataTables Change 3077001 on 2016/08/04 by Andrew.Rodham Sequencer: Fixed sequencer adding spawnables into recorded worlds twice The issue here is that sequencer was re-evaluating itself with the current play world as the context, which also happened to be the world that it was trying to record. As a result, it ended up with the same sequence being played twice in the recording world. Added the ability to specify a playback context attribute for sequencer to use, and this no longer allows sequencer to play back in any worlds that are being recorded. #jira UE-31422 Change 3076995 on 2016/08/04 by Matthew.Griffin Fixed Shadow Variable warning Change 3076974 on 2016/08/04 by Matthew.Griffin Added Node to build CrashReportClient for Linux that can be used by internal game targets Change 3076820 on 2016/08/04 by Max.Chen Sequencer: Fix EDL export timing so that shot in time always start at 0 since movies are always rendered at their cut length (until shot handle exports exist). #jira UE-34199 Change 3076665 on 2016/08/03 by Dan.Oconnor Quick fix for regression introduced by 3075803. Crashing on load of some games because some tickables don't expect GetTickableGameObjectWorld to be called when IsTickable returns false #jira UE-18982 Change 3076569 on 2016/08/03 by Chad.Taylor SteamVR GetOrthoProjection implementation to fix broken console rendering in VR #jira UE-21424 Change 3076556 on 2016/08/03 by Aaron.McLeran #jira UE-34154 PSVR Stereo assets are spatialized as MONO - All audio was routing through A3D lib regardless of if it was mono/stereo etc. - Fix is to only route audio that is mono and spatialized - Fixed some compile errors/shadow variables - Renamed bIs3dSound to bIsA3dSound to indicate its a bool that flags if it is spatialized through A3D library Change 3076546 on 2016/08/03 by Aaron.McLeran #jira OR-26161 Client hitches indefinitely when using Stat soundcues / soundwaves Implementing 3069092 in Release-4.13 - Not all active sounds have sound classes, was causing a crash #tests Run game with stat soundcues and not crash Change 3076512 on 2016/08/03 by Ben.Marsh Fix warning about UnrealTournament:true argument. Change 3076492 on 2016/08/03 by Daniel.Wright Integrate - Disallowed DrawMaterialToRenderTarget and Begin/EndDrawCanvasToRenderTarget in construction scripts, since they don't work in game. Blutilities can be used to do blueprint rendering in the editor. #jira UE-34177 Change 3076491 on 2016/08/03 by Daniel.Wright Marked the Forward Shading project setting as experimental for 4.13 #jira UE-34176 Change 3076490 on 2016/08/03 by Daniel.Wright Integrate - Fixed crash rendering translucency with translucent shadows which were determined to be invisible #jira UE-34175 Change 3076489 on 2016/08/03 by Daniel.Wright Integrate - Now clamping light MinRoughness to .04 to avoid NaNs from Vis_SmithJointApprox on materials with Roughness 0 #jira UE-34174 Change 3076485 on 2016/08/03 by Daniel.Wright Integrate - Restored DetailMode changes causing a FGlobalComponentRecreateRenderStateContext - accidental removal from cl 2969413 #jira UE-34173 Change 3076440 on 2016/08/03 by Ryan.Vance #jira UE-34184 Merging 3060975, 3061888, 3072758 and 3076270 from devvr to rev Oculus sdk. Adding Oculus 1.6 support. Change 3076399 on 2016/08/03 by Nick.Darnell Slate - The LayoutCache pointer in SWidget is now a WeakPtr. This had to be done to handle edge cases where widgets were used in a pool, and placed into invalidation panels that had been deleted in the past, but were later invalidated with bogus pointers to long gone invalidation panels. Also making a tweak to WidgetCache, to update the lasthittestindex to be the one passed in, which is a bit closer to the intended behavior. #jira UE-34185 Change 3076397 on 2016/08/03 by Rolando.Caloca UE4.13 - hlslcc -Fix for hlsl length(float) #jira UE-32629 Change 3076337 on 2016/08/03 by mason.seay Test assets (and map for ensure bug) #jira UE-29618 Change 3076332 on 2016/08/03 by Peter.Sauerbrei fix for clang build errors #jira UE-34163 Change 3076326 on 2016/08/03 by Ryan.Vance #jira UE-32975 Using the wrong screen position in the base pass pixel shader with ISR. Change 3076309 on 2016/08/03 by Benjamin.Hyder Renaming TEST-LightingFeatures to TM-LightingFeatures #jira UE-29618 Change 3076299 on 2016/08/03 by Chad.Taylor Fix SteamVR lag in late-update fold child renderables. #jira UE-33928 Change 3076214 on 2016/08/03 by Mitchell.Wilson Resaving BluperintOffice level to resolve MikkTSpace warnings. Reimporting SM_GodRay_Plane to resolve cook warning. #jira UE-30064 Change 3076112 on 2016/08/03 by Max.Chen Sequencer: Fix crash when opening multiple UMG assets (multiple map/unmap record selected actors actions) #jira UE-34167 Change 3076090 on 2016/08/03 by Marc.Audy Fix Mac compile error #jira UE-34163 Change 3076075 on 2016/08/03 by Jeremiah.Waldron Fixing comments documenting attribute in deleteFiles node for UPL #jira UE-34161 Change 3076034 on 2016/08/03 by Mitchell.Wilson Resaving Strategy Game maps to resolve MikkTSpace warnings. Resaving material in strategy game to resolve string asset reference warning. #jira UE-29720 Change 3076003 on 2016/08/03 by Mitchell.Wilson Resaving Elemental Demo levels to resolve MikkTSpace warnings. Resaving multiple materials to resolve String asset reference warnings. #jira UE-29679 Change 3075985 on 2016/08/03 by Jeremiah.Waldron Fixing UPL comments misnaming the deleteFiles node #jira UE-34161 Change 3075977 on 2016/08/03 by Maciej.Mroz #jira UE-30473 Moving child component in child blueprint forces parent to become dirty Duplicated from Dev-Blueprints CL 3075793 Change 3075959 on 2016/08/03 by Marc.Audy Don't add WorldSettings to the Actor list twice if it is net relevant (pointed out by PR #2639) #jira UE-33921 Change 3075891 on 2016/08/03 by Chad.Taylor SteamVR crash fixes related to new OpenVR SDK. Some of the DLL export functions were converted to inline. #jira UE-34142 Change 3075882 on 2016/08/03 by Dan.Oconnor Manually integrating 3073939 to address UE-19062 #jira UE-19062 Change 3075805 on 2016/08/03 by Marc.Audy Implement GetTickableGameObjectWorld() for various FTickableGameObject classes. Releated to CL#3075803 #jira UE-18982 Change 3075803 on 2016/08/03 by Marc.Audy Make FTickableGameObject only tick once per frame by associating them with a World, and for those unassociated with a World, ticking them after other levels have ticked #jira UE-18982 Change 3075761 on 2016/08/03 by Max.Preussner MediaAssets: Fixed crash and incorrect re-initialization of media texture resource (UE-34152) #jira UE-34152 Change 3075719 on 2016/08/03 by Chad.Taylor Blocker fix for binary editor crash on incorrectly used dll #jira UE-34142 Change 3075709 on 2016/08/03 by Jeremiah.Waldron Changing InXMLNamespace parameter back to "http://schemas.android.com/apk/res/android" which is what it used to be set to directly within AndroidPluginLanguage before the transition from APL to UPL parameterized it in the constructor #android #jira UE-34149 Change 3075695 on 2016/08/03 by Jurre.deBaare Adding missing debug zlib dll #jira UE-123 Change 3075641 on 2016/08/03 by Jurre.deBaare Crash when re-importing alembic cache file several times #fix Always create a new object when importing #jira UE-34130 Change 3075609 on 2016/08/03 by Danny.Bouimad #jira UE-29618 updating TM-PhysicalAnimProfiles to use both NumKeys and number keys. Tweaked values inline with testcase so very apparent what each Physical Animation setting does. Change 3075578 on 2016/08/03 by Mitchell.Wilson Updating attenuation settings for multiple sounds in Strategy Game. #jira UE-25828 Change 3075529 on 2016/08/03 by Trung.Le VREditor: Fxied foliage lasso select without pressing trigger #jira UE-33689 Change 3075502 on 2016/08/03 by Lee.Clark Copied from cl#3041664 - Removing UpdateActorPosition. This was not needed in a vast majority of use cases and was causing a crash due to multithreading issues during end of frame updates. #jira UE-28549 Change 3075386 on 2016/08/03 by Robert.Manuszewski Fixing bulkdata using source data pointer as an archive instead of raw data when saving #jira UE-34132 Change 3075384 on 2016/08/03 by mason.seay AnimBP for crash bug #jira UE-29618 Change 3075350 on 2016/08/03 by Max.Chen Sequencer: Added support for additive skeletal animations. Evaluate all overlapping skeletal animation sections. #jira UE-30506 Change 3075327 on 2016/08/03 by Max.Chen Sequencer: Fix root component structure for level sequence actor. This fixes an ensure that occurs when double clicking on a level sequence actor sprite in the viewport. #jira UE-34093 Change 3075313 on 2016/08/03 by Matthew.Griffin Tidied up hardcoded installed build includes so that they're all in one file with platform checks Added .dll.config files to CsCompile build products if they exist Change 3075133 on 2016/08/03 by Yannick.Lange VREditor : Original submit in Dev-VREditor = 3064489 - Fix crash when starting VREditor and then changing levels #jira UE-33766 Change 3075124 on 2016/08/03 by Thomas.Sarkanen Fixed undo/redo crash when editing anim blueprint defaults Serializing copy records out of the undo buffer returns them to their initial uninitialized state, with NULL cached container pointers. To address this, we re-initialize the anim blueprint when we undo/redo. #jira UE-34024 - Crash undoing variable change in Animation Blueprint. Change 3075101 on 2016/08/03 by Matthew.Griffin Adding job to selectively build games in release branch Also adding documentation and localization to overnight build #jira UEB-688 Change 3075061 on 2016/08/03 by Yannick.Lange VR Editor : Original submit in Dev-VREditor = 3062883 - Fixed bug that Laser extends beyond UI when hovered over Selection Bar or Close Button #jira UE-33552 - Fixed crash when Closing Editor (Alt F4 while in VR mode) #jira UE-32509 - Fixed crash when enabling VR Editor in editor preferences without a HMD connected - Fixed bug if you "slowly press" over UI selection bars or close buttons, nothing happens #jira UE-33553 - Avatar code refactor to its own actor class #jira UETOOL-812 #jira UE-33552, #jira UE-32509, #jira UE-33553, #jira UETOOL-812 Change 3075059 on 2016/08/03 by Allan.Bentham Fall back to standard shadows when capsule shadows are not supported. #jira UE-33344 Change 3075045 on 2016/08/03 by Matthew.Griffin Added copies of new OpenVR dlls to Binaries/ThirdParty folder to fix warnings in build DDC step Change 3074693 on 2016/08/02 by Dan.Oconnor Manually integrating 3070569 from Dev-Blueprints #jira UE-34119 Change 3074672 on 2016/08/02 by Dan.Oconnor Manually integrating 3061854 into 4.13 from Dev-Blueprints #jira UE-34119 Change 3074646 on 2016/08/02 by Aaron.McLeran #jira UE-34081 Implementing from Dev-Framework CL 3074325 Procedural Sound Wave Fails to Play when returning 0 bytes in GeneratePCMData callback - Returning 0 bytes in GeneratePCMData results in the procedural sound wave not continuing to play audio. Instead of returning 0, this change returns an empty buffer if the procedural sound wave doesn't have audio ready to generate (due to loading or some other issue). - Change also fixes a threading issue with QueueAudio queing audio on game thread but being consumed by audio device thread. - Implementing 3003851 from UT into Dev-Framework. Change 3074630 on 2016/08/02 by Brent.Pease UE-23846 - iOS Movie Player can't handle videos at resolutions that aren't multiples of 16 UE-33200 - A movie isn't played on iOS occasionally. UE-32397 - Error Message displays as Unknown Error when failing to supply a Remote Build server for ios on Windows + Give a more friendly error message when UHT fails with an invalid error code. #jira UE-23846 #jira UE-33200 #jira UE-32397 Change 3074590 on 2016/08/02 by Rolando.Caloca UE4.13 - Fix gpu morph targets text; add support for RWByteBuffer (disabled). #jira UE-33694 Change 3074588 on 2016/08/02 by Chad.Taylor Update OpenVR SDK to v1.0.2 -Hooked up added aspect ratio and sort priority features to SteamVR stereo layers #jira UE-34115 Change 3074481 on 2016/08/02 by Ori.Cohen Make sure that new physical animation data defaults to 0 #JIRA UE-33678 Change 3074395 on 2016/08/02 by Ori.Cohen Fix duplication of physical animation profiles not duplicating data. Also fix undo redo not working for profiles. Fix editor not passing Duplicate change type #JIRA UE-33987, UE-33985 Change 3074392 on 2016/08/02 by Alex.Delesky #jira UE-32396 - Reverting CL 3074177, since it introduced side-effects. Change 3074364 on 2016/08/02 by phillip.patterson Re-created UMG_Optimization for Test Cases #jira UE-29618 Change 3074346 on 2016/08/02 by Jurre.deBaare Potential DDC warning fix, remove non-existing values #jira UE-123 Change 3074289 on 2016/08/02 by Jeff.Fisher UEVR-13 PSVR: TCR Requirement Reprojection problem after Sony PlaystationVR Morpheus HMD reconnect fixed. -When disconnecting and reconnecting the HMD 700+ sets of reprojection data would back up in a queue. After reconnection reprojection would be lagged by 12+ seconds. After some discussion we decided that the queue is not doing anything useful, so I replaced it with a single blob of reprojection data and a dirty flag. #jira UEVR-13 #review-3074209 @chad.taylor @nick.whiting Change 3074196 on 2016/08/02 by Martin.Wilson Mark old anim instances as pending kill so that they dont get grabbed by undo transactions (causes massive slowdown when dragging in spinboxes that modify default values on anim blueprints) #jira UE-23453 Change 3074177 on 2016/08/02 by Alex.Delesky #jira UE-32396 - Setting an STextBlock to magenta (#FF00FFFF) will no longer cause it to turn gray when compiling its parent widget blueprint. Change 3074157 on 2016/08/02 by Ben.Marsh Remove exception checking for a hard-coded CL. Licensees need to be able to use this stuff. Change 3074132 on 2016/08/02 by Trung.Le VREditor: Fixed brush preview present while in foliage mode and hovering at UI #jira UE-33228 Change 3074131 on 2016/08/02 by Tom.Looman Fix for scalability build warnings in VR Template #jira ue-33325 Change 3074089 on 2016/08/02 by Kevin.Rushin QAGame - Added Foliage to TestMap #jira UE-29618 Change 3074067 on 2016/08/02 by Kevin.Rushin QAGame- Rebuilt Lighting #jira UE-29618 Change 3074063 on 2016/08/02 by Kevin.Rushin QAGame - Fix up VREditor Map to have more asset variation #jira UE-29618 Change 3074057 on 2016/08/02 by Andrew.Porter Deleting - UMG_Optimization #jira UE-29618 Change 3074040 on 2016/08/02 by Michael.Trepka On Mac always process child windows when drawing, as they may be on screen even if their parents are minimized. #jira UE-31194 Change 3074008 on 2016/08/02 by Phillip.Patterson Renamed UMG_Invalidation to UMG_Optimization to better match test #jira UE-29618 Change 3073988 on 2016/08/02 by Mitchell.Wilson Updating starting camera location for Paper2d template to be consistant on both BP and Code version. #jira UE-32723 Change 3073966 on 2016/08/02 by Jurre.deBaare Alembic Cache Importer option for propagating matrix transformation does not work #fix Changed the flag combinations and overhauled the matrix retrieval/caching system #misc typo fix #jira UE-34066 Change 3073953 on 2016/08/02 by Lina.Halper Fixed static warning on null reference #jira: UE-33923 Change 3073951 on 2016/08/02 by Lina.Halper Fix GetRelativeTransform for negative scale #jira: UE-33380 Change 3073896 on 2016/08/02 by Alex.Delesky #jira UE-33580 - User can now play in editor or save after editing certain parameters such as colors via the eyedropper tool or by using numeric spinners. Minor usability improvements to the Data Table Row Editor. #jira UE-33867 - User can now play in editor after selecting a color outside of the color picker window using the eyedropper tool Change 3073804 on 2016/08/02 by Jamie.Dale Fixed the detail panel trying to apply class customizations to structs This could happen in the Data Table editor if you made a struct with the same name as a customized class (eg, Actor). #jira UE-32623 Change 3073803 on 2016/08/02 by Jurre.deBaare Morph target vertex mapping can be wrong with multi material caches #fix Changed the way we build the skeletal mesh from the import data and maintain a vertex remapping array to set up the morph targets correctly #jira UE-34074 Change 3073788 on 2016/08/02 by Andrew.Rodham Sequencer: Added support for montage based animation CL#3061714 : Sequencer: Fixed anim trails not playing in full, sequencer-driven animation. There were 2 issues here. Firstly, we were force-handling events and anim notifies in non-preview animation which caused undefined behaviour when the animation was also updated on tick. Secondly, On the very first frame of a game, sequencer can sometimes use the PreviewSetMatineeAnimPositionInner method because the actor it is referencing has not begun play yet. Unfortunately this function left the animation in a state where the 'real' animation update function wouldn't trigger any anim notifies properly. CL#3063015 : Sequencer: Fixed anim notifies not working when playing animation on blueprint-driven skeletal meshes We now inject a new animation position into the animation system, rather than trying to 'fake' events outside of the system. This allows for much more robust event triggering when playing back through sequencer. Previously, anim notifies for trail particles would be reset every frame due to TriggerAnimNotifies being called by the animation system, and sequencer. We now defer this responsibility to the animation system entirely during playback. CL#3068399 : Sequencer: Changed animation tracks to allow more animation types (such as anim montages) - APIs now accept UAnimSequenceBases rather than UAnimSequences to afford more flexibility #jira UE-34046 Change 3073787 on 2016/08/02 by Jurre.deBaare Handle failed Simplygon proxy mesh generation with error message instead of hard checks #fix Added a failed delegate along side the succesful delegate #jira UE-31990 Change 3073786 on 2016/08/02 by Jurre.deBaare Alembic importer crashes when not assets are generated #fix Prevented adding nullptr values to the array (now only contains valid entries) #jira UE-34065 Change 3073777 on 2016/08/02 by Jurre.deBaare User is able to give a Preview Scene Profile the same name as an existing profile #fix check changed profile name and append _duplicatedname if found to be matching an existing profile name #jira UE-34033 Change 3073775 on 2016/08/02 by Mitchell.Wilson Updating VehicleExampleMap for BP and Code templates to have consistant starting locations #jira UE-31281 Change 3073732 on 2016/08/02 by Rolando.Caloca DR - Fix crash when enabling gpu morph targets on non SM5 platforms #jira UE-34011 Change 3073706 on 2016/08/02 by Peter.Sauerbrei fix for no tvOS libraries in binary release for Win64 #jira UE-34076 Change 3073671 on 2016/08/02 by Allan.Bentham High quality mobile reflection captures are now blended in correct (linear) space. #jira UE-33915 Change 3073663 on 2016/08/02 by Peter.Sauerbrei fix for launch on failing for iOS in Binary #jira UE-34014 Change 3073662 on 2016/08/02 by Lee.Clark 4.13 - PS4 - Fix Media Player Audio cutting out #jira UE-33850 Change 3073616 on 2016/08/02 by Mark.Satterthwaite Duplicate CL #3073584 from Dev-Platform: Fix iOS Metal not playing in the background when the phone is locked and there's no drawable texture. #jira UE-32323 Change 3073592 on 2016/08/02 by Max.Chen Curve Editor: End any transactions on mouse down that weren't ended cleanly. This fixes a bug where if you drag with the left mouse button and click with the right mouse button, the transactions are left in an ambiguous state. #jira UE-33993 Change 3073585 on 2016/08/02 by Nick.Darnell Slate/UMG - When you select a paper sprite, or any other implementor of the SlateTextureAtlasInterface the editor will now correctly pick a default size for the brush matching the size of the sprite like it does for textures. #jira UE-34075 Change 3073575 on 2016/08/02 by Richard.TalbotWatkin Duplicating from Dev-Editor, CL 3057645 Fixed single player PIE so the window position is correctly fetched and saved, even when running a dedicated server. This does not interfere with stored positions for multiple PIE, which uses ULevelEditorPlaySettings::MultipleInstancePositions. #jira UE-33416 - New Editor PIE window does not center to screen when running with a dedicated server Change 3073542 on 2016/08/02 by Richard.TalbotWatkin Duplicated from Dev-Editor, CL 3072169. A couple of changes to the BSP code: * Fixed longstanding issue where sometimes BSP geometry is not rebuilt correctly after editing it. This was due to poly normals not being recalculated after translating vertices in Geometry Mode. * Fixed corruption to FPoly::iLink as it is overloaded to have two meanings: when building BSP, it temporarily represents the surface index of the next coplanar surface (and adding a new BSP node uses this to determine whether a new surface needs to be added or not). In other operations it represents an FPoly index, in general this is used more in editor geometry operations. This fixes various crashes which arose from rebuilding BSP resulting in invalid FPoly indices. #jira UE-12157 - BSP brushes break when non-standard subtractive bsp brushes are used #jira UE-32087 - Crash occurs when creating Static Mesh from Trigger Volume Change 3073540 on 2016/08/02 by Matthew.Griffin Added Package Samples script behind a trigger to package samples for QA Removed submitter notifications from Launcher Samples nodes Added submitters of any file in Templates/StarterContent as notified for Feature Pack and DDC nodes Removed any dependencies on Win64 only nodes from the Mac Installed Build so that it can be run locally Added Overnight Build Type to Release Branch to run the Binary Release and Package Samples jobs #jira UEB-689 Change 3073511 on 2016/08/02 by Tom.Looman Removed object redirectors to fix build warning in VR Template #jira ue-33325 Change 3073458 on 2016/08/02 by Jurre.deBaare Update default preview scene ini and assets #fix deleted old sky texture and fixed BaseEditor.ini setup #jira UE-34063 Change 3073427 on 2016/08/02 by Richard.TalbotWatkin Duplicated from Dev-Editor, CL 3068585 Fix to Spline Mesh collision building so that geometry does not default to being auto-inflated in PhysX. #jira UE-34062 - SplineMesh collision can be generated incorrectly Change 3073421 on 2016/08/02 by James.Golding Resave PSD test assets in QAGame with proper version #jira UE-34061 Change 3073419 on 2016/08/02 by James.Golding Rename OrientationDriver to PoseDriver #jira UE-34015 Change 3073404 on 2016/08/02 by Richard.TalbotWatkin Duplicated from Dev-Editor, CL 3057895 Mesh paint bugfixes and improvements. Changes to RerunConstructionScript so that OnObjectsReplaced is called correctly on all components, whether they have been created by the SCS or the UCS. Previously, components created by the UCS were not being handled, and components created by the SCS were not always being matched. Now a serialized index is maintained for UCS-created objects, which is matched after the construction scripts have been executed. This will fix issues with the mesh paint tool, and any other editor tool which hooks into the OnObjectsReplaced callback in order to update its internal cache of component pointers, for example, the component visualizer render list. #jira UE-33010 - Crash changing mesh paint material in blueprint, then changing to a different mode tab #jira UE-32279 - Editor crashes when reselecting a mesh in paint mode #jira UE-31763 - [CrashReport] UE4Editor_MeshPaint!FMulticastDelegateBase<FWeakObjectPtr>::RemoveAll() [multicastdelegatebase.h:75] #jira UE-30661 - Vertex Painting changes collision complexity if the asset is saved while vertex painting Change 3073380 on 2016/08/02 by Richard.TalbotWatkin Fixed build error in unity builds. #jira UE-33049 - Transform widget visible in blueprint viewport when editing spline points in editor viewport #jira UE-9062 - Spline editing: It would be nice to be able to type in a specific value for a point #jira UE-7476 - Add ability to edit SplineComponent in BP editor (not just instance in level) #jira UE-13082 - Users would like a snapping feature for splines #jira UE-13568 - Additional Spline Component Functionality #jira UE-17822 - It would be useful to be able to update a bp spline layout from the editor viewport. Change 3073343 on 2016/08/02 by Matthew.Griffin Whitelisting PS4 and XboxOne plugins for those platforms specifically #jira UE-33866 Change 3073338 on 2016/08/02 by Ben.Marsh When running in unattended mode, write an error refusing to load any missing plugin rather than opening a modal dialog. Fixes ShooterGame build error with missing PS4/XboxOne plugins. Change 3073319 on 2016/08/02 by Maciej.Mroz #jira UE-26676, UE-33027, UE-32806, UE-33460, UE-33423, UE-33860 Manually integrated some fixes from Dev-Blueprints Change 3073311 on 2016/08/02 by Richard.TalbotWatkin Duplicated from Dev-Editor CL 3057868 Spline component improvements, both tools and runtime: - SplineComponentVisualizer now works within the Blueprint editor. This works via a generic extension added to the base ComponentVisualizer class which correctly propagates modified properties from the preview actor to the archetype, and then on to any instances whose properties are at the default value. - The above feature required a breaking change to USplineComponent - namely, the three FInterpCurve properties have been collected together into a struct and added as a single property. This is so that changes to the length of one of the FInterpCurves marks all three as dirty and needing rebuilding. - Added a custom version for SplineComponent and provded serialization fixes. - Added a details customization to SplineComponent to hide the raw FInterpCurve properties. - Added a custom detail builder category which polls the SplineComponentVisualizer each tick and provides numerical editing for spline points which are selected in the visualizer. - Relaxed the limitation that SplineComponent keys need to have an increment of 1.0. Now any SplineComponent key can be set. The details customization enforces that the sequence remains strictly ascending. - Allowed an explicit loop point to be specified for closed splines. - Allowed discontinuous splines by no longer forcing the ArriveTangent and LeaveTangent to be equal. - Added some new Blueprintable methods for building splines with an FSplinePoint struct, which allows all of a spline point's properties to be specified, and added to the FInterpCurves sorted by the input key. - Fixed the logic which determines whether the UCS has modified the spline curves. - Added UActorComponent::RemoveUCSModifiedProperties, which allows a component to remove any properties from the cached list which it doesn't want to be considered as 'modified'. This is used to distinguish the case of properties preserved by the SplineInstanceDataCache from those genuinely modified by the UCS. - Fixed "Apply Instance Changes to Blueprint" so that edited spline data can be applied to the archetype. - Fixed some issues with the spline component visualizer to make it generate appropriate up vectors if scale and rotation are enabled. #jira UETOOL-766 - Spline tool improvements #jira UE-33049 - Transform widget visible in blueprint viewport when editing spline points in editor viewport #jira UE-9062 - Spline editing: It would be nice to be able to type in a specific value for a point #jira UE-7476 - Add ability to edit SplineComponent in BP editor (not just instance in level) #jira UE-13082 - Users would like a snapping feature for splines #jira UE-13568 - Additional Spline Component Functionality #jira UE-17822 - It would be useful to be able to update a bp spline layout from the editor viewport. #jira UE-33049 - Transform widget visible in blueprint viewport when editing spline points in editor viewport #jira UE-33669 - Crash in Dev-Editor Change 3073242 on 2016/08/02 by James.Golding Move physics state create/destroy delegates from BodyInstance to ActorComponent - Rename virtual Create/DestroyPhysicsState on OnCreateDestroyPhysicsState, and make protected. - Create new public Create/DestroyPhysicsState non-virtual to call virtual, and also invoke delegate. #jira UE-32768 Change 3072953 on 2016/08/01 by Uriel.Doyon Texture GUIDs are now included in cooked builds, as they are required by the texture streamer to link build data to in game textures. #jira UE-34045 [CL 3094220 by Ben Marsh in Main branch]
2016-08-18 20:28:33 -04:00
{
StageFile(StagedFileType.DebugNonUFS, BuildProduct.Path);
}
}
}
}
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
public void StageRuntimeDependenciesFromReceipt(TargetReceipt Receipt, bool RequireDependenciesToExist, bool bUsingPakFile)
{
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
// Patterns to exclude from wildcard searches. Any maps and assets must be cooked.
List<string> ExcludePatterns = new List<string>();
ExcludePatterns.Add(".../*.umap");
ExcludePatterns.Add(".../*.uasset");
// Also stage any additional runtime dependencies, like ThirdParty DLLs
foreach(RuntimeDependency RuntimeDependency in Receipt.RuntimeDependencies)
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
// allow missing files if needed
if ((RequireDependenciesToExist && RuntimeDependency.Type != StagedFileType.DebugNonUFS) || FileReference.Exists(RuntimeDependency.Path))
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3494741 by Steve.Robb Generated code size savings. #jira UE-43048 Change 3495484 by Steve.Robb Fix for generated indices of static arrays when saving configs. Change 3497926 by Robert.Manuszewski Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything. Change 3498077 by Robert.Manuszewski Only use the recursion guard in async loading code when the event driven loader is enabled. Change 3498112 by Ben.Marsh UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own. Change 3500239 by Robert.Manuszewski Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes. Change 3500395 by Steve.Robb Extra codegen savings when not in hot reload. Change 3501004 by Steve.Robb EObjectFlags now have constexpr operators. Change 3502079 by Ben.Marsh UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary. Change 3502527 by Steve.Robb Fix for zero-sized array compile error in generated code when all functions are editor-only. Change 3502542 by Ben.Marsh UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead. Change 3502868 by Steve.Robb Workaround for inefficient generated code with stateless lambdas on Clang. Change 3503550 by Steve.Robb Another generated code lambda optimization. Change 3503582 by Ben.Marsh BuildGraph: Add support for nullable parameter types. Change 3504424 by Steve.Robb New AllOf, AnyOf and NoneOf algorithms. Change 3504712 by Ben.Marsh UAT: Less spammy log and error output from UAT. * Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception). * Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information. * AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log) * Name of the calling function is not included in console output by default, but still included in the log. Change 3504808 by Ben.Marsh UAT: Suppress P4 output when running a recursive instance of UAT. Change 3505044 by Steve.Robb Code generation improved for TCppClassType code. Change 3505485 by Ben.Marsh Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module. Change 3505699 by Ben.Marsh Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins. Change 3506055 by Ben.Marsh UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output. Change 3507745 by Robert.Manuszewski Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses). Change 3507911 by Ben.Marsh Plugins: Minor changes to plugin descriptors. * Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors. * Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from. Change 3508669 by Ben.Marsh EC: Parse multi-line messages from UBT and UAT. Change 3508691 by Ben.Marsh Fix double-spacing of cook stats. Change 3509245 by Steve.Robb UHT makefiles removed. Flag audit removed. Change 3509275 by Steve.Robb Fix for mismatched stat categories in AudioMixer. #jira UE-46129 Change 3509289 by Robert.Manuszewski Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably. Change 3509294 by Robert.Manuszewski UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it. Change 3509312 by Steve.Robb GitHub# 3679: Add TArray constructor that takes a raw pointer and a count Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too. #jira UE-46136 Change 3509396 by Steve.Robb GitHub# 3676: Fix TUnion operator<< compile error #jira UE-46099 Change 3509633 by Steve.Robb Fix for line numbers on multiline macros. Change 3509938 by Gil.Gribb UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading. Change 3510593 by Daniel.Lamb Fixed up unsoilicited files getting populated with files which aren't finished being created yet. #test None Change 3510594 by Daniel.Lamb Fixed up temp files directory for patching. Thanks David Yerkess @ Milestone #review@Ben.Marsh Change 3511628 by Ben.Marsh PR #3707: Fixed UBT stack size (Contributed by gildor2) Change 3511808 by Ben.Marsh Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git) #jira UE-46540 Change 3512017 by Ben.Marsh Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface. Change 3513935 by Steve.Robb Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477. Change 3514142 by Steve.Robb MemoryProfiler2 added to generated solution. Change 3516463 by Ben.Marsh Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user. Change 3517860 by Ben.Marsh PR #3727: FString Dereference Fixes (Contributed by jovisgCL) Change 3517967 by Ben.Marsh Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line. Change 3518070 by Steve.Robb Disable Binned2 stats in shipping non-editor builds. Change 3520079 by Steve.Robb Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions. #jira UE-24034 Change 3520080 by Robert.Manuszewski Made max package summary size to be configurable with ini setting Change 3520083 by Steve.Robb Force a GC after hot reload to clean up reinstanced objects which may still tick. #jira UE-40421 Change 3520480 by Robert.Manuszewski Improved assert message when the initial package read request was too small. Change 3520590 by Graeme.Thornton SignedArchiveReader optimizations - Loads more stats - Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader - Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time - Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries Change 3521023 by Graeme.Thornton Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing Change 3521787 by Ben.Marsh PR #3736: Small static code analysis fixes (Contributed by jovisgCL) Change 3521789 by Ben.Marsh PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar) Change 3524721 by Ben.Marsh Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core. Change 3524741 by Ben.Marsh Move PumpMessages() into FPlatformApplicationMisc. Change 3525399 by Ben.Marsh UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment. Change 3525743 by Ben.Marsh UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds. Change 3525746 by Ben.Marsh EC: Include the clobber option on new workspaces, to allow overriding version files when syncing. Change 3526453 by Ben.Marsh UGS: Do not generate project files when syncing precompiled binaries. Change 3527045 by Ben.Marsh Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting. Change 3527420 by Ben.Marsh UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing). Config files are now read from: Engine/Programs/UnrealGameSync/UnrealGameSync.ini Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini If a project is selected: <ProjectDir>/Build/UnrealGameSync.ini <ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini If the .uprojectdirs file is selected: Engine/Programs/UnrealGameSync/DefaultProject.ini Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini Change 3528063 by Ben.Marsh Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse. Change 3528415 by Ben.Marsh UAT: Remove \r characters from the end of multiline log messages. Change 3528427 by Ben.Marsh EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent. Change 3528485 by Ben.Marsh EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places. Change 3528505 by Steve.Robb PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL) #jira UE-46819 Change 3528772 by Robert.Manuszewski Enabling actor and blueprint clustering in ShooterGame Change 3528786 by Robert.Manuszewski PR #3760: Fix typo (Contributed by jesseyeh) Change 3528792 by Steve.Robb PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL) #jira UE-46962 Change 3528941 by Robert.Manuszewski Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object. #jira UE-44996 Change 3530241 by Ben.Marsh UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value. Change 3531377 by Ben.Marsh Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it. This has several advantages over the per-module platform whitelist/blacklist: * Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore. * References to dependent plugins from platform-specific plugins can now be eliminated. * Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly). * The editor can load any plugins without having to whitelist supported editor host platforms. UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime. Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary. Change 3531502 by Jin.Zhang Add support for GPUCrash #rb Change 3531664 by Ben.Marsh UBT: Change output format from C# JSON writer to match output by the engine. Change 3531848 by Ben.Marsh UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable. Change 3531869 by Ben.Marsh UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field. Change 3532474 by Ben.Marsh UBT: Use the same mechanism as UAT for logging exceptions. Change 3532734 by Graeme.Thornton Initial VSCode Support - Tasks generated for building all game/engine/program targets - Debugging support for targets on Win64 Change 3532789 by Steve.Robb FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap. Set_Add and Map_Add no longer have a return value. FScriptSet::Find and FScriptMap::Find functions are now FindIndex. FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash. Change 3532845 by Steve.Robb Obsolete UHT settings deleted. Change 3532875 by Graeme.Thornton VSCode - Add debug targets for different target configurations - Choose between VS debugger (windows) and GDB (mac/linux) Change 3532906 by Graeme.Thornton VSCode - Point all builds directly at UBT rather than the batch files - Adjust mac build tasks to run through mono Change 3532924 by Ben.Marsh UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root. Change 3535234 by Graeme.Thornton VSCode - Pass intellisense system a list of paths to use for header resolution Change 3535247 by Graeme.Thornton UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation Change 3535376 by Graeme.Thornton VSCode - Added build jobs for C# projects - Linked launch tasks to relevant build task Change 3537083 by Ben.Marsh EC: Change P4 swarm links to start at the changelist for a build. Change 3537368 by Graeme.Thornton Fix for crash in FSignedArchiveReader when multithreading is disabled Change 3537550 by Graeme.Thornton Fixed a crash in the taskgraph when running single threaded Change 3537922 by Steve.Robb Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT. Change 3539691 by Graeme.Thornton VSCode - Various updates to get PC and Mac C++ projects building and debugging. - Some other changes to C# setup to allow compilation. Debugging doesn't work. Change 3539775 by Ben.Marsh Plugins: Various fixes to settings for enabling plugins. * Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled). * Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed. * Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them. Change 3540788 by Ben.Marsh UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile). Example usage: public class UnrealPakTarget : TargetRules { public UnrealPakTarget(TargetInfo Target) : base(Target) { Type = TargetType.Program; LinkType = TargetLinkType.Monolithic; LaunchModuleName = "UnrealPak"; if(HostPlatform == UnrealTargetPlatform.Win64) { PreBuildSteps.Add("echo Before building:"); PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); PostBuildSteps.Add("echo After building!"); PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)"); } } } Change 3541664 by Graeme.Thornton VSCode - Add problemMatcher tag to cpp build targets Change 3541732 by Graeme.Thornton VSCode - Change UBT command line switch to "-vscode" for simplicity Change 3541967 by Graeme.Thornton VSCode - Fixes for Mac/Linux build steps Change 3541968 by Ben.Marsh CRP: Pass through the EnabledPlugins element in crash context XML files. #jira UE-46912 Change 3542519 by Ben.Marsh UBT: Add chain of references to error messages when configuring plugins. Change 3542523 by Ben.Marsh UBT: Add more useful error message when attempt to parse a JSON object fails. Change 3542658 by Ben.Marsh UBT: Include a chain of references when reporting errors instantiating modules. Change 3543432 by Ben.Marsh Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set. Change 3543436 by Ben.Marsh UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails. Change 3543536 by Ben.Marsh UBT: Downgrade message about redundant plugin references to a warning. Change 3543871 by Gil.Gribb UE4 - Fixed a critical crash bug with non-EDL loading from pak files. Change 3543924 by Robert.Manuszewski Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes. +Small optimization to token stream generation code. Change 3544469 by Jin.Zhang Crashes page displays the list of plugins from the crash context #rb Change 3544608 by Steve.Robb Fix for nativized generated code. #jira UE-47452 Change 3544612 by Ben.Marsh Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages(). #jira UE-47449 Change 3545954 by Gil.Gribb Fixed a critical crash bug relating to a race condition in async package summary reading. Change 3545968 by Ben.Marsh UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same. #jira UE-47419 Change 3545976 by Ben.Marsh EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch. Change 3546185 by Ben.Marsh Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped. Change 3547084 by Gil.Gribb Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms. Change 3547968 by Gil.Gribb Fixed critical race which potentially could cause a crash in the pak precacher. Change 3504722 by Ben.Marsh BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run. For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as: ERROR: Unable to write to foo.txt while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" /> at Engine\Build\InstalledEngineBuild.xml(91) (see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace) Change 3512255 by Ben.Marsh Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated. Change 3512332 by Ben.Marsh Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4. Change 3512393 by Ben.Marsh Rename FPaths::GameLogDir() to FPaths::ProjectLogDir(). Change 3513452 by Ben.Marsh Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project. Change 3516262 by Ben.Marsh Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor. * Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod. * The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders). Change 3517565 by Ben.Marsh Remove fixed engine version numbers from OSS plugins. Change 3518005 by Ben.Marsh UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false. Change 3518054 by Ben.Marsh UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard. Change 3524496 by Ben.Marsh Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core. Change 3524641 by Ben.Marsh Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc. Change 3528723 by Steve.Robb MoveTemp now static asserts if passed a const reference or rvalue. MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious. Fixes to violations of these new rules. Change 3528876 by Ben.Marsh Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste. Change 3529073 by Ben.Marsh Add script to package ShooterGame for any platforms. Change 3531493 by Ben.Marsh Update platform-specific plugins to declare the target platforms they support. Change 3531611 by Ben.Marsh UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates. Change 3531868 by Ben.Marsh Resaving project descriptors to remove invalid fields. Change 3531983 by Ben.Marsh UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders. * Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer. * Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type) * Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo")) * An error is output if any restricted folder names other than the output platform are in the staged output. Change 3540315 by Ben.Marsh UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers. Change 3542410 by Ben.Marsh UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already. Change 3543018 by Ben.Marsh UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions. Change 3544371 by Steve.Robb Fixes to TSet_Add and TMap_Add BPs. #jira UE-47441 [CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
StageFile(RuntimeDependency.Type, RuntimeDependency.Path);
}
}
}
public int ArchiveFiles(string InPath, string Wildcard = "*", bool bRecursive = true, string[] ExcludeWildcard = null, string NewPath = null, UnrealTargetPlatform[] AdditionalPlatforms = null)
{
int FilesAdded = 0;
if (CommandUtils.DirectoryExists(InPath))
{
var All = CommandUtils.FindFiles(Wildcard, bRecursive, InPath);
var Exclude = new HashSet<string>();
if (ExcludeWildcard != null)
{
foreach (var Excl in ExcludeWildcard)
{
var Remove = CommandUtils.FindFiles(Excl, bRecursive, InPath);
foreach (var File in Remove)
{
Exclude.Add(CommandUtils.CombinePaths(File));
}
}
}
foreach (var AllFile in All)
{
var FileToCopy = CommandUtils.CombinePaths(AllFile);
if (Exclude.Contains(FileToCopy))
{
continue;
}
if (!bIsCombiningMultiplePlatforms)
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
FileReference InputFile = new FileReference(FileToCopy);
bool OtherPlatform = false;
foreach (UnrealTargetPlatform Plat in UnrealTargetPlatform.GetValidPlatforms())
{
if (Plat != StageTargetPlatform.PlatformType)
{
if (AdditionalPlatforms != null && AdditionalPlatforms.Contains(Plat))
{
break;
}
var Search = FileToCopy;
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
if (InputFile.IsUnderDirectory(LocalRoot))
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
Search = InputFile.MakeRelativeTo(LocalRoot);
}
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
else if (InputFile.IsUnderDirectory(ProjectRoot))
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552) #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]
2017-06-15 12:43:54 -04:00
Search = InputFile.MakeRelativeTo(ProjectRoot);
}
if (Search.IndexOf(CommandUtils.CombinePaths("/" + Plat.ToString() + "/"), 0, StringComparison.InvariantCultureIgnoreCase) >= 0)
{
OtherPlatform = true;
break;
}
}
}
if (OtherPlatform)
{
continue;
}
}
string Dest;
if (!FileToCopy.StartsWith(InPath))
{
throw new AutomationException("Can't archive {0}; it was supposed to start with {1}", FileToCopy, InPath);
}
Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 2845681) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2845644 on 2016/01/27 by Martin.Wilson Clear marker sync flag after creating tick record, add more information to checks incase issue occurs again #Jira OR-13469 #rb Thomas.Sarkanen #tests in editor tests, bot match. Change 2845613 on 2016/01/27 by John.Pollard Latest network profiler binaries #rb none #tests run profiler Change 2845595 on 2016/01/27 by Mieszko.Zielinski Fixed pathfollowing's block detection using wrong distance when testing for blockage #UE4 #rb Lukasz.Furman #test golden path Change 2845593 on 2016/01/27 by Jeff.Farris Added support for setting and choosing filmbacks and lenses for cinematic cameras. - New CineCameraComponent and CineCameraActor classes - can define filmback and lens presets via ini file - details customizations for filmback and lens selection - added prototype set of filmbacks and lenses (primes and zooms) - Camera details customization now gracefully handles when CameraSettings category is hidden - example sequencer usage is content/developers/jeff.farris/CineCams/CineCamTestMap #rb none #tests editor Change 2845585 on 2016/01/27 by Marcus.Wassmer Don't fool with connected state if we're early outing from the OS intercepting controller events. This fixes some missing delegates. Fixes cert bug about controller disconnect screen staying up permanently #rb Cody.Haskell #test Turning off controller, turning on again. #lockdown Andrew.Grant Change 2845528 on 2016/01/27 by Max.Chen Sequencer: Fix new spawnables not immediately getting an object binding. This was resulted in a missing +Track->Animation when first creating a spawnable and duplicate transform keys. #jira UE-26084 #tests Add spawnable, +Track->Animation exists #rb none Change 2845483 on 2016/01/27 by Andrew.Rodham Sequencer: Fixed MaximizedViewport not getting cleared/restored correctly #jria UE-26016 #rb Max.Chen #tests Tested the viewports Change 2845421 on 2016/01/27 by Max.Preussner Sequencer: Implemented go-to feature #RB max.chen #TESTS Editor Change 2845407 on 2016/01/27 by Max.Preussner Sequencer: Moved SetViewRange() into ISequencer and made it public #RB max.chen #TESTS none Change 2845404 on 2016/01/27 by Andrew.Rodham Sequencer: Fixed cinematic viewport not updating when dragging transport range #jira UE-26003 #rb Max.Chen #tests Scrubbed the timeline Change 2845396 on 2016/01/27 by David.Nikdel #OSS #Purchase #Store #PS4 - Minor log cleanup #RB: none #TESTS: compiles Change 2845375 on 2016/01/27 by Max.Chen Sequencer: Implement cinematic shot track thumbnails. #jira UE-25125 #tests Rebuild the trailer with the cinematic shot track #rb none Change 2845359 on 2016/01/27 by Marcus.Wassmer Downgrade some checks to ensures. #rb none #test ps4 Change 2845347 on 2016/01/27 by Nicholas.Davies Remove unused EditorStyle dependency from Social. It is not being used, and causes issues for the engine team. #RB Antony.Carter #TESTS n/a #codereview Robert.Manuszewski Change 2845227 on 2016/01/27 by Robert.Manuszewski Adding flags to create callstack map files when building Arxan protection #rb none #tests Built arxan exe Change 2844871 on 2016/01/26 by Andrew.Grant Prevent enums from being regenerated while cooking (prevents false-positive warning about FText's being regenerated) #rb none #tests ran editor [CL 2847722 by Andrew Grant in Main branch]
2016-01-28 16:03:26 -05:00
// If the specified a new directory, first we deal with that, then apply the other things
// this is used to collapse the sandbox, among other things
if (NewPath != null)
{
Dest = FileToCopy.Substring(InPath.Length);
if (Dest.StartsWith("/") || Dest.StartsWith("\\"))
{
Dest = Dest.Substring(1);
}
Dest = CommandUtils.CombinePaths(NewPath, Dest);
}
else
{
Dest = FileToCopy.Substring(InPath.Length);
}
if (Dest.StartsWith("/") || Dest.StartsWith("\\"))
{
Dest = Dest.Substring(1);
}
if (ArchivedFiles.ContainsKey(FileToCopy))
{
if (ArchivedFiles[FileToCopy] != Dest)
{
throw new AutomationException("Can't archive {0}: it was already in the files to archive with a different destination '{1}'", FileToCopy, Dest);
}
}
else
{
ArchivedFiles.Add(FileToCopy, Dest);
}
FilesAdded++;
}
}
return FilesAdded;
}
private static string GetSanitizedDeviceNameSuffix(string DeviceName)
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 4064755) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3873313 by Nick.Atamas Merging CL 3834212 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a Merging CL 3805354, CL 3822769, CL 3827454, CL 3831789 //UE4/Partner-Google-VR/Engine/... to //Tasks/UE4/Dev-VR-4.19a/Engine/... Change 3873330 by Nick.Atamas Merging CL 3835373 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a Merging CL 3777058 //UE4/Partner-Google-VR/Engine/... to //Tasks/UE4/Dev-VR-4.19a/Engine/... and fixing up QAARApp to work with latest ARCore changes. Change 3873791 by Nick.Atamas Merging //UE4/Dev-Main@3866324 to Dev-VR (//UE4/Dev-VR) to get missing files and fixing CIS. Change 3933769 by Keli.Hlodversson Remove unused IStereoRendering::GetCustomPresent #jira UEVR-1083 Change 3935219 by Nick.Atamas QAARApp re-write. Change 3935664 by Mike.Beach Oculus SI 1.23 changes Change 3941505 by Joe.Graf Made the send & recv buffer sizes for the BackChannel plugin configurable Added send & recv counters for tracking the amount of transmission data Change 3944003 by Joe.Graf Added -buildscw to the CMake build command lines for editors to match what XCode is doing on Mac Change 3945189 by Douglas.Copeland Saving Material with Use w/ Static Lighting Flag set to resolve Engine warnings Change 3945245 by Douglas.Copeland Resaving QA_MeshTypes asset to resolve warnings produced by missing info Change 3945266 by Douglas.Copeland Updating TM-HMDNodes LevelBP WallofGets to use PxielDensity instead of ScreenPercentage. Resolving Engine warnings Change 3947785 by Mike.Beach Oculus changes to Android core count - only count usable cores not deadicated to the OS, etc. Change 3951763 by Joe.Graf Fixed thread ordering bug with remote session frame compression Change 3952242 by Joe.Graf Saved about 20-25% of the cpu time for compressing jpeg when performing the cpu swizzle Change 3954571 by Keli.Hlodversson * Add FXRRenderBridge base class containing common code from different CustomPresent implementations. * Create a default implementation of UpdateViewportRHIBridge in FXRRenderTargetManager by adding GetActiveRenderBridge_GameThread. ** The default implementation now handles calling View->SetCustomPresent instead of making it up to the custom present (now XRRenderBridge) implementation (it already had to handle when the custom present was null.) * Remove unused member variable ViewportRHI from RHICustomPresent. #jira UEVR-1081 Change 3954572 by Keli.Hlodversson * Apply XRRenderBridge and XRRenderTargetManager changes to the SteamVR plugin * Move duplicated methods into an already existing BridgeBaseImpl class #jira UEVR-592 Change 3954573 by Keli.Hlodversson * Apply XRRenderBridge refactor to Oculus plugin #jira UEVR-590 Change 3954575 by Keli.Hlodversson * Apply XRRenderBridge refactor to OSVR #jira UEVR-595 Change 3954578 by Keli.Hlodversson * Apply XRRenderBridge refactor to GoogleVR #jira UEVR-594 Change 3954596 by Keli.Hlodversson Add file missing from cl#3954572 Change 3957882 by Jeff.Fisher UEVR-1100 bLockToHmd false doesn't work correctly -CameraComponent can now tell the LateUpdateManager to store, correctly buffered, the fact that we don't want to do late update this frame. DefaultXRCamera checks that flag before applying the late upate to the camera. #jira UEVR-1100 #review-3956168 Change 3957945 by Jeff.Fisher Fix for Oculus begin/end frame problem after XRRenderBridge refactor. -The 'Frame' lifetime in the frame was not long enough, so it was null by the time GetActiveRenderBridge_GameThread was called. NextFrameToRender is the same value, but has a long enough lifetime. #review-3957897 Change 3958760 by Dongsik.Seo Adding UseCameraRotation feature to StereoPanorama plug-in. To enable this feature, use console command SP.UseCameraRotation 7 Simply add numbers to mark axis to use. 1 = Pitch, 2 = Yaw, 4 = Roll 7 means all axis (1+2+4) #review-3958756 @Joe.Conley Change 3959347 by Douglas.Copeland Fixing spelling errors in test displays Change 3964331 by Jason.Bestimt Merging CL 3959979 from 4.19 to Dev-VR + uplugin change from CL 3954046 GoogleARCore Plugin fixes for Unreal 4.19.1 hotfix: Fixed the crash in Acquire/Release UGoogleARCorePointCloud. Fixed the issue that multiple line trace channel doesn't work correctly. Fixed the issue the passthrough camera texture has blue and red channel swapped when building against gles 3.1 Fixed the issue that UGoogleARCorePointCloud::GetPoint doesn't return position in world space. Change 3967485 by Ryan.Vance Removed the exlude rect, we want to clear stencil on the entire surface. Change 3968028 by Zak.Parrish Nuking contents of existing FaceARSample, to be replaced by the one from Release-4.19. Change 3968114 by Zak.Parrish Adding in the new version of FaceARSample from Release-4.19 #rb none Change 3978381 by Mike.Beach Mirroring CL 3969503 from 4.19 Only triggering new Blueprint event, OnMotionControllerUpdated, from the game thread (causing a assert/crash when triggered from the render thread and the component has been destroyed on the main thread). #jira UE-55445 Change 3981160 by Joe.Graf Merged the BackChannel unit test fix over from Owl Change 3981705 by Mike.Beach [WIP] MR Calibration - Expose a config setting that will alter the tracking origin type used to calibrate (eye vs. floor). #jira UE-55220 Change 3981898 by Joe.Graf Added support for Apple hardware accelerated image conversion to JPEG, TIFF, PNG, and HEIF Added a Blueprint latent action to perform the conversion in the background Change 3981910 by Joe.Graf WIP AR texture support so that other systems can interact with the camera data Change 3982102 by Joe.Graf Pull request: Update CMakefileGenerator.cs for CLion Fixed an issue in the PR and added cleanup for the macro errors that result in FOO()= definitions #jira: UE-57103 GitHub #4619 Change 3982883 by Joe.Graf Added a CLionGenerator for consistency Fixed editor preferred source code accessor parsing in the project file generator Added code to detect the bad assumption of the project name always being UE4 and stripped that off in the CLionSourceCodeAccessor #jira UE-54801 Change 3983687 by Joe.Graf Fixed the lack of platform checks for adding a framework in the Apple image utils plugin causing a Switch compile error Change 3984325 by Jeff.Fisher UEVR-1141 PSVR - fix morpheus on pc render target scaling -Hard coding the target size. Perhaps the old method broke with the pixel density change. #review-3983261 Change 3984563 by Joe.Graf Temporarily disabled ConvertToHEIF on Mac until the build machines are updated to XCode 9.3 Change 3985213 by Zak.Parrish Removing a ton of excess art assets that were taking up lots of space and possibly throwing warnings. We weren't going to use them anyway. #rb none Change 3985577 by Joe.Graf WIP support for the Apple Vision API to perform computer vision tasks on images Change 3985654 by Joe.Graf Fixed missing forward declaration hidden by unity files Change 3990596 by Mike.Beach Adding a delegate for handling when the active XR system modifies the tracking space origin, and a API function for getting a transform between floor and eye space. #jira UE-55220 Change 3990788 by Mike.Beach Attempted CIS fix (fallout from CL 3990596) Change 3990824 by Ryan.Vance Re-submitting 4.19.1 hotfox 3968537 Change 3995804 by Jeff.Fisher Merging cl 3995785 //UE4/Dev-VR-Seal/Engine/Source/... to //UE4/Dev-VR/Engine/Source/... UEVR-1148 bLockToHmd change breaking qagame entry level xr camera behavior -Fixing late update when no camera component is in use. -The camera component's bLockToHMD==false behavior is supposed to be that hmd motion is ignored, meaning we should not do a late update. This behavior is being applied TO the XRCamera system FROM the camera component, but the camera component can go away or be switched at any time. We want the default to be do apply hmd motion and late update, so disabling late update needs to be a positive setting applied each frame. #review-3995764 Change 3999842 by Nick.Whiting Exposing Apple ARKit function library as public for our buddies down under. Change 4005541 by Joe.Graf UE-57541 Blacklisted TVOS since it also defines PLATFORM_IOS as 1 #jira UE-57541 Change 4006308 by Jason.Bestimt #DEV_VR - Hopeful fix for possible unity issue Change 4006543 by Joe.Graf Added code to be more correct on setting face blendshapes Change 4007508 by Jason.Bestimt #LUMIN - Adjusting automation tests. - Moved QA specific content test into QA Game - Wrapped controller not found to only happen on device Change 4007515 by Jason.Bestimt #LUMIN - Disabling privilege warning except on device Change 4007552 by Jason.Bestimt #LUMIN - Wrapping LuminTargetPlatform internals that require WITH_ENGINE Change 4008585 by Joe.Graf Added virtual curves for the head rotation information from the FaceAR's face tracking for streaming via LiveLink #jira: UE-57830 Change 4008604 by Mike.Beach MR - Making the chroma key material easier to customize & switch out. Updating the calibration to let you set whatever params you've exposed in the video processing material (removing hardcoded params for old chroma keying material). #jira UEVR-1153 Change 4009396 by Jason.Bestimt #DEV-VR - Removing warning about stat on different threads (CL 4009124) Change 4009514 by Joe.Graf Added a weighted moving average method to the modify curve anim node Change 4010125 by Jason.Bestimt #DEV-VR - Integrating 0.12 changes from Dev-VR-Seal to Dev-VR Change 4010434 by Jason.Bestimt #DEV-VR - Fix for Lumin Haptic Test include Change 4010945 by Jeff.Fisher QAHapticTests build fix -removed unused bad include Change 4011002 by Nick.Atamas Fixed Android compilation. Change 4011220 by Nick.Atamas - Adding visualization for boundary polygons. - Adding support for vertical planes. Change 4011298 by Mike.Beach MR - Revamping the VideoProcessing/ChromaKeying material so that it: 1) Better extracts luminance from the image 2) Utilizes despill to remove chroma bleed from the scene 3) Leverages the generated despill mask to add back in a faux bounce #jira UEVR-1153 Change 4011858 by Keli.Hlodversson Move ExecuteOn(RHI|Render)Thread from Oculus plugin into XRThreadUtils.{h|cpp} inside the HMD module Use TFunction and TFunctionRef instead of std::function as arguments. (Depends on the changes in CL#3987166: Allow overloading of functions which take TFunctions or TFunctionRefs with mutually exclusive signatures.) -- Ref for methods that guarantee the function has been invoked before returning, TFunction for *_NoWait, as the function may not get execured until later when RHI is in a separate thtread and not bypassed. #jira UE-57380 Change 4011956 by Keli.Hlodversson Fix missing includes after CL#4011858 Change 4012096 by Joe.Graf Disabled building AppleVision on Mac until there's a good solution for older Mac OSes Change 4012294 by Jason.Bestimt #DEV-VR - Adding dependency on LuminRuntimeSettings to MagicLeap module. Hopefully, this will fix the generated files not being found Change 4012390 by Jason.Bestimt #DEV-VR - Misc fixes for static code analysis issues - Guards around GEngine usage - Fix from Rolando for uint32 -> uint64 + shifting warning - Redundant if checks Change 4013426 by Jason.Bestimt #DEV-VR - Guarding RestoreBaseProfile so we don't crash on exit #JIRA: UE-57960 Change 4014661 by Ryan.Vance Initial support for omni-directional stereo captures. https://developers.google.com/vr/jump/rendering-ods-content.pdf Change 4015561 by Jason.Bestimt #DEV-VR - Moving MLSDK out of thirdparty directory to fix static code analysis issue Change 4016202 by Jason.Bestimt #DEV-VR - Integrated CL 2685 from Seal depot #JIRA: UEVR-1157 Change 4016448 by Jason.Bestimt #DEV-VR - Adding LuminRuntimeSettings as dependent modules for anything that references the MLSDK Change 4016457 by Ryan.Vance #jira UE-58018 Cleaning up compiler errors/warnings. Change 4017246 by Jason.Bestimt #DEV-VR - Potential fix for UE-58043 where metal asserts that it should be in the render thread rather than either the render thread OR RHI Thread #JIRA: UE-58043 Change 4018571 by Joe.Graf Added a remapping of curve values in a range to the modify curve anim node Change 4018991 by Joe.Graf Wrapped vertical plane detection in a if iOS 11.3 check since ARKit 1.5 is only availabe from 11.3 on #jira: UE-57999 Change 4019068 by Joe.Graf Changed how Apple Vision support is enabled in code #jira: UE-57552 Change 4019194 by Joe.Graf Added a console command to change where Face AR is publishing LiveLink curve data "LiveLinkFaceAR SendTo=192.168.1.1" Change 4019648 by Keli.Hlodversson Work around build failures caused by missing virtual destructor warnings. Reverting back to Oculus' original method of implementing own RHICommand wrapper around TFunctions and TFunctionRefs (using overloaded inline functions and templates to reduce code duplication.) Change 4019871 by Joe.Graf Changed the __IPHONE_11_3 to the raw numeric value Change 4020121 by Keli.Hlodversson Fix parameter types to match header declarations. Change 4020127 by Keli.Hlodversson Remove dllimport/export macros from cpp file. Change 4020621 by Joe.Graf Wrapped the Apple ARKit plane geometry building in a #if IOS_11_3 check Change 4020910 by Joe.Graf Refactored how ARKit support #define to make it easy to wrap individual features by ARKit version Change 4020952 by Joe.Graf Added checks to make sure PLATFORM_IOS and PLATFORM_TVOS are defined to 0 on non-Apple platforms when checking for ARKit Change 4021116 by Jason.Bestimt #DEV-VR - Integrating CL 4005915 from Dev-Core to remove plugin modules that aren't supported on target platform Change 4021320 by Joe.Graf Fixed warnings resulting from unity builds hiding them Change 4021738 by Chad.Garyet - adding lumin filters - changing defaults for platforms back to true, this was brought over erroneously. #jira none #ROBOMERGE: Dogma, Nightlies Change 4021898 by Chad.Garyet added missing bits from the ue4main script #jira none #ROBOMERGE: Dogma, Nightlies Change 4022583 by Joe.Graf Added functions for checking ARKit version availability at runtime Change 4022610 by Joe.Graf Added checks for ARKit 1.0 availability when creating the AR session to prevent calling invalid selectors on older iOSes Change 4022616 by Joe.Graf Added support for enabling the ARKit 1.5 autofocus setting Change 4022650 by Joe.Graf Defaulted autofocus for AR to on Change 4023026 by Joe.Graf Changed the ARKit video overlay to use the new availability api Change 4023124 by Joe.Graf Switched another version check in the ARKit overlay code to use the faster version Change 4023489 by Ethan.Geller [Dev-VR] #jira none fix AudioMixerModuleName for Lumin. #fyi nick.whiting, jason.bestimt Change 4023995 by Nick.Atamas Properly deprecated the bitfield for plane detection mode. #jira UE-57842 Change 4024992 by Jason.Bestimt #DEV-VR - Adding SupportPlatforms to MagicLeapAnalytics plugin Change 4025702 by Jason.Bestimt #DEV-VR - Fix for loading ML libraries even when the MLSDK is not present #JIRA: UE-58033 Change 4026639 by Mike.Beach Removing innocuous Oculus error that did not match up with the rest of the code - it is handled/acceptable when Frame_RenderThread has been reset. #jira UE-58001 Change 4026949 by Mike.Beach MR - Making a few fixes to the lens undistortion and how it interacts with the MRC component... - Switching to a 16bit displacement map instead of a 32bit UV map (updating the materials accordingly) - Using the OpenCV focal ratio to scale the aspect ratio to avoid stretching from the undistortion - Adding CVar commands to enable/disable pieces of the undistortion - Changing the default undistortion cropping to be uncropped - Removing the need for the 'EnableMapping' material parameter #jira UE-55195 Change 4027147 by Jason.Bestimt #DEV-VR - Fix for UE-58043 (more call sites where it should be Render OR RHI thread) #JIRA: UE-58043 Change 4027301 by Mike.Beach Updating the MRCalibration project's ini so it doesn't error on packaging. Change 4027469 by Mike.Beach MR Calibration - Setting StartInVR to true, so when we package the app, we don't have to manually enable it. Change 4027957 by Mike.Beach As part of renaming the MR plugin, first renaming the root folder to be MixedRealityCaptureFramework. #jira UE-57782 Change 4029182 by Keli.Hlodversson Revert back to not enqueuing RHI tasks when RHI is not on a separate thread. Oculus code depends on being able to call ExecuteOnRHIThread from code potentially called from within other calls to ExecuteOnRHIThread. #jira UE-58079 Change 4029687 by Dragan.Jerosimovic Boy rig and pose asset mb files, maps and masks Change 4030059 by Mike.Beach As part of renaming the MR plugin, renaming the inner module to be MixedRealityCaptureFramework. #jira UE-57782 Change 4030296 by Charles.Egenbacher #LUMIN Copying from Dev-Incoming-Staging to Dev-VR Change 4030593 by Jason.Bestimt #DEV-VR - Merging olaf test maps to Dev-VR Change 4031042 by Keli.Hlodversson Allow executing ExecuteOnRHIThread* on the RHI thread. Enables simplifying destructors that can either be invoked on the RHI or Render thread. #jira UE-58239 Change 4031046 by Keli.Hlodversson Use the new XRThreadUtils functions in the HMD module for executing tasks on the RHI thread #jira UE-58238 Change 4032593 by Mike.Beach As part of renaming the MR plugin, renaming the inner module to be MixedRealityCaptureCalibration. #jira UE-57782 Change 4033911 by Jason.Bestimt #DEV-VR - Fix to LuminToolChain to allow it use a custom strip executable (android instead of gcc) Change 4034087 by Mike.Beach Renaming the MR plugin to be the 'MixedRealityCaptureFramework' plugin. #jira UE-57782 Change 4034253 by Joe.Graf Made the Apple Vision plugin use version checking consistent with ARKit Change 4034543 by Joe.Graf Added availability checks for the Apple Image Utils plugin similar to ARKit #jira: UE-57541 Change 4034548 by Joe.Graf Fixed the implicit conversion in the head rotation curves from the face ar feed causing the values to be 0 Change 4034577 by Jason.Bestimt #DEV-VR - Removing MAC Custom Metal present (fixes Mac with -game rendering all black) Change 4034605 by zak.parrish Checking in test case for head rotation tracking - minor temporary change to AnimBP #rb none Change 4034686 by Jason.Bestimt #DEV-VR - Integrating (most of) CL 3980919 to disable instances of deprecation warnings caused by building for ios11 #JIRA: UE-58046 Change 4034799 by Joe.Graf Added base types for detecting images in a AR session Change 4034820 by Joe.Graf Added a friendly name to UARCandidateImage objects Change 4035010 by Joe.Graf Added support for handling ARImageAnchor notifications from ARKit Change 4035355 by Mike.Beach [WIP] MR - Renaming some classes to reflect the plugin's new name. #jira UE-57782 Change 4035464 by Joe.Graf Added orientation to the ARCandidateImage object to pass to the detection system Change 4035524 by Mike.Beach [WIP] MR - More renaming of some classes to better match the plugin's new name. #jira UE-57782 Change 4035606 by Mike.Beach [WIP] MR - More renaming of some classes to better match the plugin's new name. #jira UE-57782 Change 4035918 by Mike.Beach [WIP] MR - Renaming the MrcFramework module's source files to better match the plugin's new name. #jira UE-57782 Change 4035976 by Mike.Beach [WIP] MR - Renaming some more files and classes to better match the MRC framework's new name. #jira UE-57782 Change 4036044 by Ryan.Vance #jira UEVR-377 Adding support for ISR Translucency. Change 4036069 by Ryan.Vance We can remove the last word PrimitiveVisibilityMap masking for ISR since the maps are always the same size between views. Change 4036073 by Chance.Ivey Fixed select blocks on LuminSamplePawn and GesturesAndTotem map to reflect recent changes. Fixes #JIRA UE-58328 #rb none Change 4036307 by Mike.Beach [WIP] MR - Renaming the MRC calibration files to better match the MRC framework's new name. #jira UE-57782 Change 4036314 by Mike.Beach [WIP] MR - Renaming some more calibration classes to better match the MRC framework's new name. #jira UE-57782 Change 4036319 by Charles.Egenbacher #LUMIN this is an out-of-date version of the lumin sample. Nuking. Change 4036396 by Charles.Egenbacher #LUMIN Adding the up to date version of the LuminSample. Change 4036485 by Sorin.Gradinaru UE-57773 Disable Thermals Message #4.20 #iOS Add in the Remote Session App BP an Execute Console Command node immediately after Event Begin Play, disabling all on-screen messages, for all builds. Change 4036695 by Jason.Bestimt #DEV-VR - Adding Lumin case to PrecompileTargetType check Change 4037110 by Jason.Bestimt #DEV-VR - Extra deprecated macro guards around HarfBuzz includes #JIRA: UE-58046 Change 4037443 by Jason.Bestimt #DEV-VR - Merging CL 4028003 from Partners-Google Change 4037490 by Jason.Bestimt #DEV-VR - Integrating CL 4028922 from Partners-Google (+ assignment guarding) Change 4037691 by Jason.Bestimt #DEV-VR - Swapping order of comparrison operator to deal with const error Change 4037892 by Joe.Graf Added UTexture2D to CGImage conversion in Apple Image Utils plugin Change 4037894 by Joe.Graf Changed the name of a property to make it clearer as to what it is and to have fewer things named similar in the same system Change 4037901 by Joe.Graf Added support for configuring which images you'd like detected during a AR session Change 4037906 by Jason.Bestimt #DEV-VR - Fixing buckled logic for =operator (derp) Change 4038293 by Mike.Beach [WIP] MR - Moving the calibration setup/level/content into its own project, and out of the MR plugin. #jira UE-57782 Change 4038403 by Joe.Graf Added the name from the candidate image when creating the Apple side representation Change 4038488 by Mike.Beach [WIP] MR Calibration - Moving calibration specific files to the MRCalibration project, out of the plugin (followup to CL 4038293). This makes the MRCalibration project a code project now. #jira UE-57782 Change 4038776 by Chance.Ivey Updates to Fix for Gestures change. Affects #JIRA UE-58328, though other non-content issues may cause packaging to fail #rb none #fyi Nick.Whiting Change 4038877 by Mike.Beach [WIP] MR - Renaming assets to better match the new plugin name. #jira UE-57782 Change 4039097 by Joe.Graf Fixed the public include path warnings in the Apple* plugins I added Change 4039106 by Joe.Graf Worked around a bad compile time assert that blocked valid FString::Printf debug code Change 4039209 by Jeff.Fisher Fixing one build script paths Change 4039275 by Jeff.Fisher More include path fixes. Change 4039415 by Joe.Graf Added support for remote session sending AR camera image data to be rendered on the host like we do for AR on device Change 4039471 by Joe.Graf Added a file I missed when adding to the remote session plugin Change 4039473 by Joe.Graf #ifdef-ed some code out until the linkage can be fixed Change 4040249 by Mike.Beach [WIP] MR - Moving some more asset files that aren't needed for the MRC plugin #jira UE-57782 Change 4040365 by Mike.Beach Fixing a compiler issue in the MRCalibration project, since moving MRC files there (WITH_OPENCV is not defined for the project). #jira UE-57782 Change 4040455 by Mike.Beach Moving the few remaining methods that were calibration specific, sprinkled through the MRC plugin. #jira UE-57782 Change 4041404 by Mike.Beach Fixing an issue with BP async nodes - making it so their wrapped function can be renamed and redirected. Change 4041406 by Mike.Beach MR - Splitting the Mrc video util library so that the BP functions needed for calibration aren't exposed to users. #jira UE-57782 Change 4042110 by Jason.Bestimt #DEV-VR - Stopping spew for ML eye tracking when not on platform #JIRA: UE-58365 Change 4042407 by Joe.Graf Disabled HEIF compression on Mac #jira: UE-58479 Change 4042727 by Jason.Bestimt #DEV-VR - Fix for Android compiling without version 24 Change 4042861 by Olaf.Piesche #jira UE-57784 Change 4043105 by Mike.Beach Exposing a way for programmers to strip save game headers from save data, and get to the tagged object serialization portion. #jira UE-58389 Change 4043120 by Mike.Beach MR - Loading the base save data, even if we're unable to fully construct the original save object class. #jira UE-58389 Change 4043401 by Mike.Beach New Oculus poke-a-hole material, in support on SI 1.25. Checking in to alleviate QA contention for testing the rest of SI 1.25. #jira UEVR-1143 Change 4043424 by Mike.Beach Oculus SI 1.24/1.25 - Engine rendering changes #jira UEVR-1143 Change 4043495 by Mike.Beach CIS fix - Missing files needed for the Oculus SI 1.24/25 Vulkan changes. #jira UEVR-1143 Change 4043642 by Zak.Parrish Changes to FaceARSample: added in support for JoeG's smoothing algorithm, also refactored calibration to use the new Modify Curves node. Added some more comments to the AnimBp to make it easier to read. #rb none Change 4045638 by Zak.Parrish Some minor updates to FaceARSample content. Mostly refactoring for new ModifyCurve stuff. Change 4046003 by Jason.Bestimt #DEV-VR - Fix for bEnableAlphaChannelInPostProcessing reading in as false for LuminSample bEnableAlphaChannelInPostProcessing translates to r.PostProcessing.PropagateAlpha in ini files #JIRA: UE-58523 Change 4046548 by Jules.Blok Fix SetInstancedEyeIndex() ignoring the left eye. #jira UE-54044 Change 4046859 by zak.parrish Checking in the new rig from 3Lateral - this prevents the eyelashes from separating Change 4047060 by Nick.Whiting Wrapping -norhithread in PLATFORM_LUMIN to prevent the ML plugin from always disabling RHI threading. #jira UEVR-1192 Change 4047667 by Mike.Beach CIS fix - removing uneeded line from bad merge. Change 4047673 by Mike.Beach More CIS fixes for fallout from recent rendering merge. Change 4048227 by Rolando.Caloca VR - vk - Some Vulkan merge conflicts resolved Change 4048421 by Jason.Bestimt #DEV-VR - Converting OwnerName to EventName in UpdateSceneCaptureContent_RenderThread call Change 4048423 by Jason.Bestimt #DEV-VR - Fixing mediandk version check Change 4048452 by Rolando.Caloca VR - Merge fix Change 4048530 by Rolando.Caloca VR - Merge fix Change 4048607 by Jason.Bestimt #DEV-VR - Probable repair of Mr Mesh post merge Change 4048794 by Rolando.Caloca VK - Fix mobile from merge Change 4048972 by Jeff.Fisher Fixing MeshReconstructor merge problems. Change 4049969 by Ryan.Vance Fixing missing shader assert. Change 4050831 by Ryan.Vance Merge clean up. This is still needed to build w/ vulkan on Lumin. Change 4050854 by Ryan.Vance Merge clean up. We need GetAllocationHandle for the ML Vulkan custom present sRGB workaround. Change 4051495 by Jason.Bestimt #DEV-VR - Adding Android, Quail, Linux vulkan include clauses Change 4052528 by Zak.Parrish Changing defaultEngine.ini for the higher res version of Gremlin Change 4052880 by Ryan.Vance Merge clean up. Now with more Lumin #jira UE-58645 Change 4052991 by zak.parrish Update to FaceTrackingMap2 for proper camera positioning Change 4053139 by Nick.Whiting Fixing Lumin Vulkan platform header Change 4053352 by Mike.Beach On PC (in editor), not enabling ML stereo by default. Waiting for it to be enable by the EnableStereo() call (like we do for Oculus/SteamVR). #jira UE-57991 Change 4053644 by Nick.Whiting Fix for build break by wrapping bStereoDesired in !PLATFORM_LUMIN Change 4054329 by Jason.Bestimt #DEV-VR - Resave of GoogleARCorePassthroughCameraMaterial.uasset #JIRA: UE-58689 Change 4054785 by Mike.Beach Fixing a MRCalibration BP compilation error from the latest merge - was using a deprecated variable which was no longer exposed to BPs. Change 4055466 by Jules.Blok Suppress SteamVR submission errors after they've been logged once. Change 4055500 by Jason.Bestimt #DEV-VR - MrMeshComponent fix for unsupported pixel format #JIRA: UE-58759 Change 4055761 by Ryan.Vance #jira UE-58729 There's a single frame where the TLV textures are not initialized when using FCanvasTileRendererItem on startup. Change 4056008 by Mike.Beach Fixing bad merge from Main. Change 4056616 by Nick.Whiting Changing UBT configs to use Lumin-specific config files #jira UE-58760 Change 4056969 by Keli.Hlodversson MRCalibration: Set r.SceneRenderTargetResizeMethod to "Grow" to avoid cycling the scene render target size on every frame causing a flicker #jira UE-58191 Change 4057356 by Jason.Bestimt #DEV-VR - Guard around JNI function for Lumin Change 4059353 by Nick.Whiting Fix for shadow variable warnings on Linux #jira UE-58843 Change 4060158 by Rolando.Caloca DVR - vk - Temporarily add backbuffer delay/extra copy blit on android #jira UE-58859 Change 4060432 by Mike.Beach Fix for shadow variable warnings on Linux #jira UE-58843 Change 4060520 by Rolando.Caloca VR - Proper fix for r.Vulkan.DelayAcquireBackBuffer=0 - Restore Android to not delay #jira UE-58859 Change 4060587 by Nick.Whiting Fix for minimum iOS version being set to iOS 8 on MRCalibration, which was causing CIS warnings #jira UE-58762 Change 4061277 by Jeff.Fisher UE-58861 //UE4/Dev-VR - Compile UE4Game Lumin - ERROR: MLSDK is not specified; cannot use Lumin toolchain. -Overriding HasAnySDK to setup the MLSDK. Change 4061308 by Jason.Bestimt #DEV-VR - Work around of UE-58864 crashing when mousing over project launcher with only a Lumin device plugged in #JIRA: UE-58864 Change 4062111 by Ryan.Vance #jira UE-58875 Fixing audio compilation failure. Change 4064091 by Jason.Bestimt #DEV-VR - Disabling ML Plugin with the editor when bIsVDZIEnabled is off #JIRA: UE-58954 Change 4064554 by Jason.Bestimt #DEV-VR - Removing ML haptic tests when not on the platform #JIRA: UE-58966 Change 4064755 by Jeff.Fisher UE-58970 Dev-VR - Incremental UE4Editor Linux - Referenced directory 'D:\Build\AutoSDK\HostWin64\Lumin\0.12\lib\linux64' does not exist. -Removed linux from magicleap plugin whitelists, we have no sdk for linux. #review-4064614 #jira UE-58970 [CL 4064889 by Mike Beach in Main branch]
2018-05-10 14:17:01 -04:00
{
if (string.IsNullOrWhiteSpace(DeviceName))
return string.Empty;
return "_" + DeviceName
.Replace(":", "")
.Replace("/", "")
.Replace("\\", "")
.Replace("-", "")
.Replace(".exe", "");
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 4064755) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3873313 by Nick.Atamas Merging CL 3834212 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a Merging CL 3805354, CL 3822769, CL 3827454, CL 3831789 //UE4/Partner-Google-VR/Engine/... to //Tasks/UE4/Dev-VR-4.19a/Engine/... Change 3873330 by Nick.Atamas Merging CL 3835373 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a Merging CL 3777058 //UE4/Partner-Google-VR/Engine/... to //Tasks/UE4/Dev-VR-4.19a/Engine/... and fixing up QAARApp to work with latest ARCore changes. Change 3873791 by Nick.Atamas Merging //UE4/Dev-Main@3866324 to Dev-VR (//UE4/Dev-VR) to get missing files and fixing CIS. Change 3933769 by Keli.Hlodversson Remove unused IStereoRendering::GetCustomPresent #jira UEVR-1083 Change 3935219 by Nick.Atamas QAARApp re-write. Change 3935664 by Mike.Beach Oculus SI 1.23 changes Change 3941505 by Joe.Graf Made the send & recv buffer sizes for the BackChannel plugin configurable Added send & recv counters for tracking the amount of transmission data Change 3944003 by Joe.Graf Added -buildscw to the CMake build command lines for editors to match what XCode is doing on Mac Change 3945189 by Douglas.Copeland Saving Material with Use w/ Static Lighting Flag set to resolve Engine warnings Change 3945245 by Douglas.Copeland Resaving QA_MeshTypes asset to resolve warnings produced by missing info Change 3945266 by Douglas.Copeland Updating TM-HMDNodes LevelBP WallofGets to use PxielDensity instead of ScreenPercentage. Resolving Engine warnings Change 3947785 by Mike.Beach Oculus changes to Android core count - only count usable cores not deadicated to the OS, etc. Change 3951763 by Joe.Graf Fixed thread ordering bug with remote session frame compression Change 3952242 by Joe.Graf Saved about 20-25% of the cpu time for compressing jpeg when performing the cpu swizzle Change 3954571 by Keli.Hlodversson * Add FXRRenderBridge base class containing common code from different CustomPresent implementations. * Create a default implementation of UpdateViewportRHIBridge in FXRRenderTargetManager by adding GetActiveRenderBridge_GameThread. ** The default implementation now handles calling View->SetCustomPresent instead of making it up to the custom present (now XRRenderBridge) implementation (it already had to handle when the custom present was null.) * Remove unused member variable ViewportRHI from RHICustomPresent. #jira UEVR-1081 Change 3954572 by Keli.Hlodversson * Apply XRRenderBridge and XRRenderTargetManager changes to the SteamVR plugin * Move duplicated methods into an already existing BridgeBaseImpl class #jira UEVR-592 Change 3954573 by Keli.Hlodversson * Apply XRRenderBridge refactor to Oculus plugin #jira UEVR-590 Change 3954575 by Keli.Hlodversson * Apply XRRenderBridge refactor to OSVR #jira UEVR-595 Change 3954578 by Keli.Hlodversson * Apply XRRenderBridge refactor to GoogleVR #jira UEVR-594 Change 3954596 by Keli.Hlodversson Add file missing from cl#3954572 Change 3957882 by Jeff.Fisher UEVR-1100 bLockToHmd false doesn't work correctly -CameraComponent can now tell the LateUpdateManager to store, correctly buffered, the fact that we don't want to do late update this frame. DefaultXRCamera checks that flag before applying the late upate to the camera. #jira UEVR-1100 #review-3956168 Change 3957945 by Jeff.Fisher Fix for Oculus begin/end frame problem after XRRenderBridge refactor. -The 'Frame' lifetime in the frame was not long enough, so it was null by the time GetActiveRenderBridge_GameThread was called. NextFrameToRender is the same value, but has a long enough lifetime. #review-3957897 Change 3958760 by Dongsik.Seo Adding UseCameraRotation feature to StereoPanorama plug-in. To enable this feature, use console command SP.UseCameraRotation 7 Simply add numbers to mark axis to use. 1 = Pitch, 2 = Yaw, 4 = Roll 7 means all axis (1+2+4) #review-3958756 @Joe.Conley Change 3959347 by Douglas.Copeland Fixing spelling errors in test displays Change 3964331 by Jason.Bestimt Merging CL 3959979 from 4.19 to Dev-VR + uplugin change from CL 3954046 GoogleARCore Plugin fixes for Unreal 4.19.1 hotfix: Fixed the crash in Acquire/Release UGoogleARCorePointCloud. Fixed the issue that multiple line trace channel doesn't work correctly. Fixed the issue the passthrough camera texture has blue and red channel swapped when building against gles 3.1 Fixed the issue that UGoogleARCorePointCloud::GetPoint doesn't return position in world space. Change 3967485 by Ryan.Vance Removed the exlude rect, we want to clear stencil on the entire surface. Change 3968028 by Zak.Parrish Nuking contents of existing FaceARSample, to be replaced by the one from Release-4.19. Change 3968114 by Zak.Parrish Adding in the new version of FaceARSample from Release-4.19 #rb none Change 3978381 by Mike.Beach Mirroring CL 3969503 from 4.19 Only triggering new Blueprint event, OnMotionControllerUpdated, from the game thread (causing a assert/crash when triggered from the render thread and the component has been destroyed on the main thread). #jira UE-55445 Change 3981160 by Joe.Graf Merged the BackChannel unit test fix over from Owl Change 3981705 by Mike.Beach [WIP] MR Calibration - Expose a config setting that will alter the tracking origin type used to calibrate (eye vs. floor). #jira UE-55220 Change 3981898 by Joe.Graf Added support for Apple hardware accelerated image conversion to JPEG, TIFF, PNG, and HEIF Added a Blueprint latent action to perform the conversion in the background Change 3981910 by Joe.Graf WIP AR texture support so that other systems can interact with the camera data Change 3982102 by Joe.Graf Pull request: Update CMakefileGenerator.cs for CLion Fixed an issue in the PR and added cleanup for the macro errors that result in FOO()= definitions #jira: UE-57103 GitHub #4619 Change 3982883 by Joe.Graf Added a CLionGenerator for consistency Fixed editor preferred source code accessor parsing in the project file generator Added code to detect the bad assumption of the project name always being UE4 and stripped that off in the CLionSourceCodeAccessor #jira UE-54801 Change 3983687 by Joe.Graf Fixed the lack of platform checks for adding a framework in the Apple image utils plugin causing a Switch compile error Change 3984325 by Jeff.Fisher UEVR-1141 PSVR - fix morpheus on pc render target scaling -Hard coding the target size. Perhaps the old method broke with the pixel density change. #review-3983261 Change 3984563 by Joe.Graf Temporarily disabled ConvertToHEIF on Mac until the build machines are updated to XCode 9.3 Change 3985213 by Zak.Parrish Removing a ton of excess art assets that were taking up lots of space and possibly throwing warnings. We weren't going to use them anyway. #rb none Change 3985577 by Joe.Graf WIP support for the Apple Vision API to perform computer vision tasks on images Change 3985654 by Joe.Graf Fixed missing forward declaration hidden by unity files Change 3990596 by Mike.Beach Adding a delegate for handling when the active XR system modifies the tracking space origin, and a API function for getting a transform between floor and eye space. #jira UE-55220 Change 3990788 by Mike.Beach Attempted CIS fix (fallout from CL 3990596) Change 3990824 by Ryan.Vance Re-submitting 4.19.1 hotfox 3968537 Change 3995804 by Jeff.Fisher Merging cl 3995785 //UE4/Dev-VR-Seal/Engine/Source/... to //UE4/Dev-VR/Engine/Source/... UEVR-1148 bLockToHmd change breaking qagame entry level xr camera behavior -Fixing late update when no camera component is in use. -The camera component's bLockToHMD==false behavior is supposed to be that hmd motion is ignored, meaning we should not do a late update. This behavior is being applied TO the XRCamera system FROM the camera component, but the camera component can go away or be switched at any time. We want the default to be do apply hmd motion and late update, so disabling late update needs to be a positive setting applied each frame. #review-3995764 Change 3999842 by Nick.Whiting Exposing Apple ARKit function library as public for our buddies down under. Change 4005541 by Joe.Graf UE-57541 Blacklisted TVOS since it also defines PLATFORM_IOS as 1 #jira UE-57541 Change 4006308 by Jason.Bestimt #DEV_VR - Hopeful fix for possible unity issue Change 4006543 by Joe.Graf Added code to be more correct on setting face blendshapes Change 4007508 by Jason.Bestimt #LUMIN - Adjusting automation tests. - Moved QA specific content test into QA Game - Wrapped controller not found to only happen on device Change 4007515 by Jason.Bestimt #LUMIN - Disabling privilege warning except on device Change 4007552 by Jason.Bestimt #LUMIN - Wrapping LuminTargetPlatform internals that require WITH_ENGINE Change 4008585 by Joe.Graf Added virtual curves for the head rotation information from the FaceAR's face tracking for streaming via LiveLink #jira: UE-57830 Change 4008604 by Mike.Beach MR - Making the chroma key material easier to customize & switch out. Updating the calibration to let you set whatever params you've exposed in the video processing material (removing hardcoded params for old chroma keying material). #jira UEVR-1153 Change 4009396 by Jason.Bestimt #DEV-VR - Removing warning about stat on different threads (CL 4009124) Change 4009514 by Joe.Graf Added a weighted moving average method to the modify curve anim node Change 4010125 by Jason.Bestimt #DEV-VR - Integrating 0.12 changes from Dev-VR-Seal to Dev-VR Change 4010434 by Jason.Bestimt #DEV-VR - Fix for Lumin Haptic Test include Change 4010945 by Jeff.Fisher QAHapticTests build fix -removed unused bad include Change 4011002 by Nick.Atamas Fixed Android compilation. Change 4011220 by Nick.Atamas - Adding visualization for boundary polygons. - Adding support for vertical planes. Change 4011298 by Mike.Beach MR - Revamping the VideoProcessing/ChromaKeying material so that it: 1) Better extracts luminance from the image 2) Utilizes despill to remove chroma bleed from the scene 3) Leverages the generated despill mask to add back in a faux bounce #jira UEVR-1153 Change 4011858 by Keli.Hlodversson Move ExecuteOn(RHI|Render)Thread from Oculus plugin into XRThreadUtils.{h|cpp} inside the HMD module Use TFunction and TFunctionRef instead of std::function as arguments. (Depends on the changes in CL#3987166: Allow overloading of functions which take TFunctions or TFunctionRefs with mutually exclusive signatures.) -- Ref for methods that guarantee the function has been invoked before returning, TFunction for *_NoWait, as the function may not get execured until later when RHI is in a separate thtread and not bypassed. #jira UE-57380 Change 4011956 by Keli.Hlodversson Fix missing includes after CL#4011858 Change 4012096 by Joe.Graf Disabled building AppleVision on Mac until there's a good solution for older Mac OSes Change 4012294 by Jason.Bestimt #DEV-VR - Adding dependency on LuminRuntimeSettings to MagicLeap module. Hopefully, this will fix the generated files not being found Change 4012390 by Jason.Bestimt #DEV-VR - Misc fixes for static code analysis issues - Guards around GEngine usage - Fix from Rolando for uint32 -> uint64 + shifting warning - Redundant if checks Change 4013426 by Jason.Bestimt #DEV-VR - Guarding RestoreBaseProfile so we don't crash on exit #JIRA: UE-57960 Change 4014661 by Ryan.Vance Initial support for omni-directional stereo captures. https://developers.google.com/vr/jump/rendering-ods-content.pdf Change 4015561 by Jason.Bestimt #DEV-VR - Moving MLSDK out of thirdparty directory to fix static code analysis issue Change 4016202 by Jason.Bestimt #DEV-VR - Integrated CL 2685 from Seal depot #JIRA: UEVR-1157 Change 4016448 by Jason.Bestimt #DEV-VR - Adding LuminRuntimeSettings as dependent modules for anything that references the MLSDK Change 4016457 by Ryan.Vance #jira UE-58018 Cleaning up compiler errors/warnings. Change 4017246 by Jason.Bestimt #DEV-VR - Potential fix for UE-58043 where metal asserts that it should be in the render thread rather than either the render thread OR RHI Thread #JIRA: UE-58043 Change 4018571 by Joe.Graf Added a remapping of curve values in a range to the modify curve anim node Change 4018991 by Joe.Graf Wrapped vertical plane detection in a if iOS 11.3 check since ARKit 1.5 is only availabe from 11.3 on #jira: UE-57999 Change 4019068 by Joe.Graf Changed how Apple Vision support is enabled in code #jira: UE-57552 Change 4019194 by Joe.Graf Added a console command to change where Face AR is publishing LiveLink curve data "LiveLinkFaceAR SendTo=192.168.1.1" Change 4019648 by Keli.Hlodversson Work around build failures caused by missing virtual destructor warnings. Reverting back to Oculus' original method of implementing own RHICommand wrapper around TFunctions and TFunctionRefs (using overloaded inline functions and templates to reduce code duplication.) Change 4019871 by Joe.Graf Changed the __IPHONE_11_3 to the raw numeric value Change 4020121 by Keli.Hlodversson Fix parameter types to match header declarations. Change 4020127 by Keli.Hlodversson Remove dllimport/export macros from cpp file. Change 4020621 by Joe.Graf Wrapped the Apple ARKit plane geometry building in a #if IOS_11_3 check Change 4020910 by Joe.Graf Refactored how ARKit support #define to make it easy to wrap individual features by ARKit version Change 4020952 by Joe.Graf Added checks to make sure PLATFORM_IOS and PLATFORM_TVOS are defined to 0 on non-Apple platforms when checking for ARKit Change 4021116 by Jason.Bestimt #DEV-VR - Integrating CL 4005915 from Dev-Core to remove plugin modules that aren't supported on target platform Change 4021320 by Joe.Graf Fixed warnings resulting from unity builds hiding them Change 4021738 by Chad.Garyet - adding lumin filters - changing defaults for platforms back to true, this was brought over erroneously. #jira none #ROBOMERGE: Dogma, Nightlies Change 4021898 by Chad.Garyet added missing bits from the ue4main script #jira none #ROBOMERGE: Dogma, Nightlies Change 4022583 by Joe.Graf Added functions for checking ARKit version availability at runtime Change 4022610 by Joe.Graf Added checks for ARKit 1.0 availability when creating the AR session to prevent calling invalid selectors on older iOSes Change 4022616 by Joe.Graf Added support for enabling the ARKit 1.5 autofocus setting Change 4022650 by Joe.Graf Defaulted autofocus for AR to on Change 4023026 by Joe.Graf Changed the ARKit video overlay to use the new availability api Change 4023124 by Joe.Graf Switched another version check in the ARKit overlay code to use the faster version Change 4023489 by Ethan.Geller [Dev-VR] #jira none fix AudioMixerModuleName for Lumin. #fyi nick.whiting, jason.bestimt Change 4023995 by Nick.Atamas Properly deprecated the bitfield for plane detection mode. #jira UE-57842 Change 4024992 by Jason.Bestimt #DEV-VR - Adding SupportPlatforms to MagicLeapAnalytics plugin Change 4025702 by Jason.Bestimt #DEV-VR - Fix for loading ML libraries even when the MLSDK is not present #JIRA: UE-58033 Change 4026639 by Mike.Beach Removing innocuous Oculus error that did not match up with the rest of the code - it is handled/acceptable when Frame_RenderThread has been reset. #jira UE-58001 Change 4026949 by Mike.Beach MR - Making a few fixes to the lens undistortion and how it interacts with the MRC component... - Switching to a 16bit displacement map instead of a 32bit UV map (updating the materials accordingly) - Using the OpenCV focal ratio to scale the aspect ratio to avoid stretching from the undistortion - Adding CVar commands to enable/disable pieces of the undistortion - Changing the default undistortion cropping to be uncropped - Removing the need for the 'EnableMapping' material parameter #jira UE-55195 Change 4027147 by Jason.Bestimt #DEV-VR - Fix for UE-58043 (more call sites where it should be Render OR RHI thread) #JIRA: UE-58043 Change 4027301 by Mike.Beach Updating the MRCalibration project's ini so it doesn't error on packaging. Change 4027469 by Mike.Beach MR Calibration - Setting StartInVR to true, so when we package the app, we don't have to manually enable it. Change 4027957 by Mike.Beach As part of renaming the MR plugin, first renaming the root folder to be MixedRealityCaptureFramework. #jira UE-57782 Change 4029182 by Keli.Hlodversson Revert back to not enqueuing RHI tasks when RHI is not on a separate thread. Oculus code depends on being able to call ExecuteOnRHIThread from code potentially called from within other calls to ExecuteOnRHIThread. #jira UE-58079 Change 4029687 by Dragan.Jerosimovic Boy rig and pose asset mb files, maps and masks Change 4030059 by Mike.Beach As part of renaming the MR plugin, renaming the inner module to be MixedRealityCaptureFramework. #jira UE-57782 Change 4030296 by Charles.Egenbacher #LUMIN Copying from Dev-Incoming-Staging to Dev-VR Change 4030593 by Jason.Bestimt #DEV-VR - Merging olaf test maps to Dev-VR Change 4031042 by Keli.Hlodversson Allow executing ExecuteOnRHIThread* on the RHI thread. Enables simplifying destructors that can either be invoked on the RHI or Render thread. #jira UE-58239 Change 4031046 by Keli.Hlodversson Use the new XRThreadUtils functions in the HMD module for executing tasks on the RHI thread #jira UE-58238 Change 4032593 by Mike.Beach As part of renaming the MR plugin, renaming the inner module to be MixedRealityCaptureCalibration. #jira UE-57782 Change 4033911 by Jason.Bestimt #DEV-VR - Fix to LuminToolChain to allow it use a custom strip executable (android instead of gcc) Change 4034087 by Mike.Beach Renaming the MR plugin to be the 'MixedRealityCaptureFramework' plugin. #jira UE-57782 Change 4034253 by Joe.Graf Made the Apple Vision plugin use version checking consistent with ARKit Change 4034543 by Joe.Graf Added availability checks for the Apple Image Utils plugin similar to ARKit #jira: UE-57541 Change 4034548 by Joe.Graf Fixed the implicit conversion in the head rotation curves from the face ar feed causing the values to be 0 Change 4034577 by Jason.Bestimt #DEV-VR - Removing MAC Custom Metal present (fixes Mac with -game rendering all black) Change 4034605 by zak.parrish Checking in test case for head rotation tracking - minor temporary change to AnimBP #rb none Change 4034686 by Jason.Bestimt #DEV-VR - Integrating (most of) CL 3980919 to disable instances of deprecation warnings caused by building for ios11 #JIRA: UE-58046 Change 4034799 by Joe.Graf Added base types for detecting images in a AR session Change 4034820 by Joe.Graf Added a friendly name to UARCandidateImage objects Change 4035010 by Joe.Graf Added support for handling ARImageAnchor notifications from ARKit Change 4035355 by Mike.Beach [WIP] MR - Renaming some classes to reflect the plugin's new name. #jira UE-57782 Change 4035464 by Joe.Graf Added orientation to the ARCandidateImage object to pass to the detection system Change 4035524 by Mike.Beach [WIP] MR - More renaming of some classes to better match the plugin's new name. #jira UE-57782 Change 4035606 by Mike.Beach [WIP] MR - More renaming of some classes to better match the plugin's new name. #jira UE-57782 Change 4035918 by Mike.Beach [WIP] MR - Renaming the MrcFramework module's source files to better match the plugin's new name. #jira UE-57782 Change 4035976 by Mike.Beach [WIP] MR - Renaming some more files and classes to better match the MRC framework's new name. #jira UE-57782 Change 4036044 by Ryan.Vance #jira UEVR-377 Adding support for ISR Translucency. Change 4036069 by Ryan.Vance We can remove the last word PrimitiveVisibilityMap masking for ISR since the maps are always the same size between views. Change 4036073 by Chance.Ivey Fixed select blocks on LuminSamplePawn and GesturesAndTotem map to reflect recent changes. Fixes #JIRA UE-58328 #rb none Change 4036307 by Mike.Beach [WIP] MR - Renaming the MRC calibration files to better match the MRC framework's new name. #jira UE-57782 Change 4036314 by Mike.Beach [WIP] MR - Renaming some more calibration classes to better match the MRC framework's new name. #jira UE-57782 Change 4036319 by Charles.Egenbacher #LUMIN this is an out-of-date version of the lumin sample. Nuking. Change 4036396 by Charles.Egenbacher #LUMIN Adding the up to date version of the LuminSample. Change 4036485 by Sorin.Gradinaru UE-57773 Disable Thermals Message #4.20 #iOS Add in the Remote Session App BP an Execute Console Command node immediately after Event Begin Play, disabling all on-screen messages, for all builds. Change 4036695 by Jason.Bestimt #DEV-VR - Adding Lumin case to PrecompileTargetType check Change 4037110 by Jason.Bestimt #DEV-VR - Extra deprecated macro guards around HarfBuzz includes #JIRA: UE-58046 Change 4037443 by Jason.Bestimt #DEV-VR - Merging CL 4028003 from Partners-Google Change 4037490 by Jason.Bestimt #DEV-VR - Integrating CL 4028922 from Partners-Google (+ assignment guarding) Change 4037691 by Jason.Bestimt #DEV-VR - Swapping order of comparrison operator to deal with const error Change 4037892 by Joe.Graf Added UTexture2D to CGImage conversion in Apple Image Utils plugin Change 4037894 by Joe.Graf Changed the name of a property to make it clearer as to what it is and to have fewer things named similar in the same system Change 4037901 by Joe.Graf Added support for configuring which images you'd like detected during a AR session Change 4037906 by Jason.Bestimt #DEV-VR - Fixing buckled logic for =operator (derp) Change 4038293 by Mike.Beach [WIP] MR - Moving the calibration setup/level/content into its own project, and out of the MR plugin. #jira UE-57782 Change 4038403 by Joe.Graf Added the name from the candidate image when creating the Apple side representation Change 4038488 by Mike.Beach [WIP] MR Calibration - Moving calibration specific files to the MRCalibration project, out of the plugin (followup to CL 4038293). This makes the MRCalibration project a code project now. #jira UE-57782 Change 4038776 by Chance.Ivey Updates to Fix for Gestures change. Affects #JIRA UE-58328, though other non-content issues may cause packaging to fail #rb none #fyi Nick.Whiting Change 4038877 by Mike.Beach [WIP] MR - Renaming assets to better match the new plugin name. #jira UE-57782 Change 4039097 by Joe.Graf Fixed the public include path warnings in the Apple* plugins I added Change 4039106 by Joe.Graf Worked around a bad compile time assert that blocked valid FString::Printf debug code Change 4039209 by Jeff.Fisher Fixing one build script paths Change 4039275 by Jeff.Fisher More include path fixes. Change 4039415 by Joe.Graf Added support for remote session sending AR camera image data to be rendered on the host like we do for AR on device Change 4039471 by Joe.Graf Added a file I missed when adding to the remote session plugin Change 4039473 by Joe.Graf #ifdef-ed some code out until the linkage can be fixed Change 4040249 by Mike.Beach [WIP] MR - Moving some more asset files that aren't needed for the MRC plugin #jira UE-57782 Change 4040365 by Mike.Beach Fixing a compiler issue in the MRCalibration project, since moving MRC files there (WITH_OPENCV is not defined for the project). #jira UE-57782 Change 4040455 by Mike.Beach Moving the few remaining methods that were calibration specific, sprinkled through the MRC plugin. #jira UE-57782 Change 4041404 by Mike.Beach Fixing an issue with BP async nodes - making it so their wrapped function can be renamed and redirected. Change 4041406 by Mike.Beach MR - Splitting the Mrc video util library so that the BP functions needed for calibration aren't exposed to users. #jira UE-57782 Change 4042110 by Jason.Bestimt #DEV-VR - Stopping spew for ML eye tracking when not on platform #JIRA: UE-58365 Change 4042407 by Joe.Graf Disabled HEIF compression on Mac #jira: UE-58479 Change 4042727 by Jason.Bestimt #DEV-VR - Fix for Android compiling without version 24 Change 4042861 by Olaf.Piesche #jira UE-57784 Change 4043105 by Mike.Beach Exposing a way for programmers to strip save game headers from save data, and get to the tagged object serialization portion. #jira UE-58389 Change 4043120 by Mike.Beach MR - Loading the base save data, even if we're unable to fully construct the original save object class. #jira UE-58389 Change 4043401 by Mike.Beach New Oculus poke-a-hole material, in support on SI 1.25. Checking in to alleviate QA contention for testing the rest of SI 1.25. #jira UEVR-1143 Change 4043424 by Mike.Beach Oculus SI 1.24/1.25 - Engine rendering changes #jira UEVR-1143 Change 4043495 by Mike.Beach CIS fix - Missing files needed for the Oculus SI 1.24/25 Vulkan changes. #jira UEVR-1143 Change 4043642 by Zak.Parrish Changes to FaceARSample: added in support for JoeG's smoothing algorithm, also refactored calibration to use the new Modify Curves node. Added some more comments to the AnimBp to make it easier to read. #rb none Change 4045638 by Zak.Parrish Some minor updates to FaceARSample content. Mostly refactoring for new ModifyCurve stuff. Change 4046003 by Jason.Bestimt #DEV-VR - Fix for bEnableAlphaChannelInPostProcessing reading in as false for LuminSample bEnableAlphaChannelInPostProcessing translates to r.PostProcessing.PropagateAlpha in ini files #JIRA: UE-58523 Change 4046548 by Jules.Blok Fix SetInstancedEyeIndex() ignoring the left eye. #jira UE-54044 Change 4046859 by zak.parrish Checking in the new rig from 3Lateral - this prevents the eyelashes from separating Change 4047060 by Nick.Whiting Wrapping -norhithread in PLATFORM_LUMIN to prevent the ML plugin from always disabling RHI threading. #jira UEVR-1192 Change 4047667 by Mike.Beach CIS fix - removing uneeded line from bad merge. Change 4047673 by Mike.Beach More CIS fixes for fallout from recent rendering merge. Change 4048227 by Rolando.Caloca VR - vk - Some Vulkan merge conflicts resolved Change 4048421 by Jason.Bestimt #DEV-VR - Converting OwnerName to EventName in UpdateSceneCaptureContent_RenderThread call Change 4048423 by Jason.Bestimt #DEV-VR - Fixing mediandk version check Change 4048452 by Rolando.Caloca VR - Merge fix Change 4048530 by Rolando.Caloca VR - Merge fix Change 4048607 by Jason.Bestimt #DEV-VR - Probable repair of Mr Mesh post merge Change 4048794 by Rolando.Caloca VK - Fix mobile from merge Change 4048972 by Jeff.Fisher Fixing MeshReconstructor merge problems. Change 4049969 by Ryan.Vance Fixing missing shader assert. Change 4050831 by Ryan.Vance Merge clean up. This is still needed to build w/ vulkan on Lumin. Change 4050854 by Ryan.Vance Merge clean up. We need GetAllocationHandle for the ML Vulkan custom present sRGB workaround. Change 4051495 by Jason.Bestimt #DEV-VR - Adding Android, Quail, Linux vulkan include clauses Change 4052528 by Zak.Parrish Changing defaultEngine.ini for the higher res version of Gremlin Change 4052880 by Ryan.Vance Merge clean up. Now with more Lumin #jira UE-58645 Change 4052991 by zak.parrish Update to FaceTrackingMap2 for proper camera positioning Change 4053139 by Nick.Whiting Fixing Lumin Vulkan platform header Change 4053352 by Mike.Beach On PC (in editor), not enabling ML stereo by default. Waiting for it to be enable by the EnableStereo() call (like we do for Oculus/SteamVR). #jira UE-57991 Change 4053644 by Nick.Whiting Fix for build break by wrapping bStereoDesired in !PLATFORM_LUMIN Change 4054329 by Jason.Bestimt #DEV-VR - Resave of GoogleARCorePassthroughCameraMaterial.uasset #JIRA: UE-58689 Change 4054785 by Mike.Beach Fixing a MRCalibration BP compilation error from the latest merge - was using a deprecated variable which was no longer exposed to BPs. Change 4055466 by Jules.Blok Suppress SteamVR submission errors after they've been logged once. Change 4055500 by Jason.Bestimt #DEV-VR - MrMeshComponent fix for unsupported pixel format #JIRA: UE-58759 Change 4055761 by Ryan.Vance #jira UE-58729 There's a single frame where the TLV textures are not initialized when using FCanvasTileRendererItem on startup. Change 4056008 by Mike.Beach Fixing bad merge from Main. Change 4056616 by Nick.Whiting Changing UBT configs to use Lumin-specific config files #jira UE-58760 Change 4056969 by Keli.Hlodversson MRCalibration: Set r.SceneRenderTargetResizeMethod to "Grow" to avoid cycling the scene render target size on every frame causing a flicker #jira UE-58191 Change 4057356 by Jason.Bestimt #DEV-VR - Guard around JNI function for Lumin Change 4059353 by Nick.Whiting Fix for shadow variable warnings on Linux #jira UE-58843 Change 4060158 by Rolando.Caloca DVR - vk - Temporarily add backbuffer delay/extra copy blit on android #jira UE-58859 Change 4060432 by Mike.Beach Fix for shadow variable warnings on Linux #jira UE-58843 Change 4060520 by Rolando.Caloca VR - Proper fix for r.Vulkan.DelayAcquireBackBuffer=0 - Restore Android to not delay #jira UE-58859 Change 4060587 by Nick.Whiting Fix for minimum iOS version being set to iOS 8 on MRCalibration, which was causing CIS warnings #jira UE-58762 Change 4061277 by Jeff.Fisher UE-58861 //UE4/Dev-VR - Compile UE4Game Lumin - ERROR: MLSDK is not specified; cannot use Lumin toolchain. -Overriding HasAnySDK to setup the MLSDK. Change 4061308 by Jason.Bestimt #DEV-VR - Work around of UE-58864 crashing when mousing over project launcher with only a Lumin device plugged in #JIRA: UE-58864 Change 4062111 by Ryan.Vance #jira UE-58875 Fixing audio compilation failure. Change 4064091 by Jason.Bestimt #DEV-VR - Disabling ML Plugin with the editor when bIsVDZIEnabled is off #JIRA: UE-58954 Change 4064554 by Jason.Bestimt #DEV-VR - Removing ML haptic tests when not on the platform #JIRA: UE-58966 Change 4064755 by Jeff.Fisher UE-58970 Dev-VR - Incremental UE4Editor Linux - Referenced directory 'D:\Build\AutoSDK\HostWin64\Lumin\0.12\lib\linux64' does not exist. -Removed linux from magicleap plugin whitelists, we have no sdk for linux. #review-4064614 #jira UE-58970 [CL 4064889 by Mike Beach in Main branch]
2018-05-10 14:17:01 -04:00
}
public string GetUFSDeploymentDeltaPath(string DeviceName)
{
return Path.Combine(StageDirectory.FullName, string.Format("Manifest_DeltaUFSFiles{0}.txt", GetSanitizedDeviceNameSuffix(DeviceName)));
}
public string GetNonUFSDeploymentDeltaPath(string DeviceName)
{
return Path.Combine(StageDirectory.FullName, string.Format("Manifest_DeltaNonUFSFiles{0}.txt", GetSanitizedDeviceNameSuffix(DeviceName)));
}
public string GetUFSDeploymentObsoletePath(string DeviceName)
{
return Path.Combine(StageDirectory.FullName, string.Format("Manifest_ObsoleteUFSFiles{0}.txt", GetSanitizedDeviceNameSuffix(DeviceName)));
}
public string GetNonUFSDeploymentObsoletePath(string DeviceName)
{
return Path.Combine(StageDirectory.FullName, string.Format("Manifest_ObsoleteNonUFSFiles{0}.txt", GetSanitizedDeviceNameSuffix(DeviceName)));
}
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @2826496) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2826201 on 2016/01/13 by Zabir.Hoque Add more verbose logging to try to understand #OR-11297 #lockdown Andrew.Grant #CodeReview Marcus.Wassmer #RB none #TESTS compiled Win64 debug editor, ran agora_p Change 2826170 on 2016/01/13 by Marcus.Wassmer Flush unloaded resource properly in LoadMap #codereview Gil.Gribb #rb none #test cycling game. memory is freed properly now. #lockdown Andrew.Grant Change 2826135 on 2016/01/12 by Michael.Noland Orion: Improve login screen on PC to reduce the potential impact of framerate on data center ping calculation - Disabled async streaming for the duration of the QOS ping measurement to avoid hitches - Added a circular throbber in the top left corner of the login screen indicating that something is async streaming (as a diagnostic tool for users affected by the datacenter ping, can be removed in the future) - Added logging of the current average frame time when the datacenter ping is finalized - Added a 'Pick Ideal Settings' button to the login screen (note: on the actual screen, not the login widget, so it will not appear on PS4) #jira OR-12453 #rb paul.moore #tests Ran a QOS server and client and verified that the new logging is occurring, tried out the new benchmark button, etc... Merging CL# 2826128 using //Orion/Main_to_//Orion/Dev-General Change 2826131 on 2016/01/12 by Michael.Noland #UE4 - added print out of MS/FPS during Qos ping evaluation #rb michael.noland #tests loaded up through login screen to see output Merging CL# 2825678 using //Orion/Main_to_//Orion/Dev-General Change 2826128 on 2016/01/12 by Michael.Noland Orion: Improve login screen on PC to reduce the potential impact of framerate on data center ping calculation - Disabled async streaming for the duration of the QOS ping measurement to avoid hitches - Added a circular throbber in the top left corner of the login screen indicating that something is async streaming (as a diagnostic tool for users affected by the datacenter ping, can be removed in the future) - Added logging of the current average frame time when the datacenter ping is finalized - Added a 'Pick Ideal Settings' button to the login screen (note: on the actual screen, not the login widget, so it will not appear on PS4) #jira OR-12453 #rb paul.moore #tests Ran a QOS server and client and verified that the new logging is occurring, tried out the new benchmark button, etc... Merging CL# 2826116 using //Orion/Release-Next->//Orion/Main Change 2826116 on 2016/01/12 by Michael.Noland Orion: Improve login screen on PC to reduce the potential impact of framerate on data center ping calculation - Disabled async streaming for the duration of the QOS ping measurement to avoid hitches - Added a circular throbber in the top left corner of the login screen indicating that something is async streaming (as a diagnostic tool for users affected by the datacenter ping, can be removed in the future) - Added logging of the current average frame time when the datacenter ping is finalized - Added a 'Pick Ideal Settings' button to the login screen (note: on the actual screen, not the login widget, so it will not appear on PS4) #jira OR-12453 #rb paul.moore #tests Ran a QOS server and client and verified that the new logging is occurring, tried out the new benchmark button, etc... #lockdown andrew.grant #codereview josh.markiewicz Change 2825772 on 2016/01/12 by Dmitry.Rekman Linux signal handling improvements. - Switch crash handlers to use "crash malloc" (preallocated memory) on crash. - Remove unnecessary memory allocations from graceful termination handler. #rb none #tests Run the Linux server and crashed it a few times. #codereview David.Vossel, Michael.Trepka Change 2825768 on 2016/01/12 by Josh.Markiewicz #UE4 - added print out of MS/FPS during Qos ping evaluation #rb michael.noland #tests loaded up through login screen to see output Change 2825703 on 2016/01/12 by Brian.Karis Switched on new motion blur. Set temporal AA sharpness to 1. #rb none #TESTS editor Change 2825689 on 2016/01/12 by Lina.Halper Fix for get animation notify crash https://jira.ol.epicgames.net/browse/OR-12248 https://jira.ol.epicgames.net/browse/OR-12348 - Also fixed the crash in preview of persona due to blend sample cache contains previous animation data - Also fixed blend space player to reinitialize cache data - The main issue is marker doesn't clamp the length, causing notifies ensure to trigger. #rb : Laurent.Delayen #tests: 10 Sparrows bot match for long time #code review: Martin.Wilson #lockdown: Andrew.Grant Change 2825680 on 2016/01/12 by Martin.Mittring fixed all cases with r.Tonemapper.ScreenPercentage, ScreenPercentage, Fringe, Vignette, ViewRect, flickering with transluceny (View members have been modified while other thread was reading) #rb:Olaf.Piesche, David.Hill #test: PC, many cases Change 2825579 on 2016/01/12 by Chris.Bunner Force shadow shape bone indices on the required update list. #rb Lina.Halper, Rolando.Caloca #tests Editor #codereview Daniel.Wright #jira OR-12339 Change 2825443 on 2016/01/12 by Martin.Mittring
2016-01-14 08:11:47 -05:00
public string GetNonUFSDeployedManifestFileName(string DeviceName)
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @2826496) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2826201 on 2016/01/13 by Zabir.Hoque Add more verbose logging to try to understand #OR-11297 #lockdown Andrew.Grant #CodeReview Marcus.Wassmer #RB none #TESTS compiled Win64 debug editor, ran agora_p Change 2826170 on 2016/01/13 by Marcus.Wassmer Flush unloaded resource properly in LoadMap #codereview Gil.Gribb #rb none #test cycling game. memory is freed properly now. #lockdown Andrew.Grant Change 2826135 on 2016/01/12 by Michael.Noland Orion: Improve login screen on PC to reduce the potential impact of framerate on data center ping calculation - Disabled async streaming for the duration of the QOS ping measurement to avoid hitches - Added a circular throbber in the top left corner of the login screen indicating that something is async streaming (as a diagnostic tool for users affected by the datacenter ping, can be removed in the future) - Added logging of the current average frame time when the datacenter ping is finalized - Added a 'Pick Ideal Settings' button to the login screen (note: on the actual screen, not the login widget, so it will not appear on PS4) #jira OR-12453 #rb paul.moore #tests Ran a QOS server and client and verified that the new logging is occurring, tried out the new benchmark button, etc... Merging CL# 2826128 using //Orion/Main_to_//Orion/Dev-General Change 2826131 on 2016/01/12 by Michael.Noland #UE4 - added print out of MS/FPS during Qos ping evaluation #rb michael.noland #tests loaded up through login screen to see output Merging CL# 2825678 using //Orion/Main_to_//Orion/Dev-General Change 2826128 on 2016/01/12 by Michael.Noland Orion: Improve login screen on PC to reduce the potential impact of framerate on data center ping calculation - Disabled async streaming for the duration of the QOS ping measurement to avoid hitches - Added a circular throbber in the top left corner of the login screen indicating that something is async streaming (as a diagnostic tool for users affected by the datacenter ping, can be removed in the future) - Added logging of the current average frame time when the datacenter ping is finalized - Added a 'Pick Ideal Settings' button to the login screen (note: on the actual screen, not the login widget, so it will not appear on PS4) #jira OR-12453 #rb paul.moore #tests Ran a QOS server and client and verified that the new logging is occurring, tried out the new benchmark button, etc... Merging CL# 2826116 using //Orion/Release-Next->//Orion/Main Change 2826116 on 2016/01/12 by Michael.Noland Orion: Improve login screen on PC to reduce the potential impact of framerate on data center ping calculation - Disabled async streaming for the duration of the QOS ping measurement to avoid hitches - Added a circular throbber in the top left corner of the login screen indicating that something is async streaming (as a diagnostic tool for users affected by the datacenter ping, can be removed in the future) - Added logging of the current average frame time when the datacenter ping is finalized - Added a 'Pick Ideal Settings' button to the login screen (note: on the actual screen, not the login widget, so it will not appear on PS4) #jira OR-12453 #rb paul.moore #tests Ran a QOS server and client and verified that the new logging is occurring, tried out the new benchmark button, etc... #lockdown andrew.grant #codereview josh.markiewicz Change 2825772 on 2016/01/12 by Dmitry.Rekman Linux signal handling improvements. - Switch crash handlers to use "crash malloc" (preallocated memory) on crash. - Remove unnecessary memory allocations from graceful termination handler. #rb none #tests Run the Linux server and crashed it a few times. #codereview David.Vossel, Michael.Trepka Change 2825768 on 2016/01/12 by Josh.Markiewicz #UE4 - added print out of MS/FPS during Qos ping evaluation #rb michael.noland #tests loaded up through login screen to see output Change 2825703 on 2016/01/12 by Brian.Karis Switched on new motion blur. Set temporal AA sharpness to 1. #rb none #TESTS editor Change 2825689 on 2016/01/12 by Lina.Halper Fix for get animation notify crash https://jira.ol.epicgames.net/browse/OR-12248 https://jira.ol.epicgames.net/browse/OR-12348 - Also fixed the crash in preview of persona due to blend sample cache contains previous animation data - Also fixed blend space player to reinitialize cache data - The main issue is marker doesn't clamp the length, causing notifies ensure to trigger. #rb : Laurent.Delayen #tests: 10 Sparrows bot match for long time #code review: Martin.Wilson #lockdown: Andrew.Grant Change 2825680 on 2016/01/12 by Martin.Mittring fixed all cases with r.Tonemapper.ScreenPercentage, ScreenPercentage, Fringe, Vignette, ViewRect, flickering with transluceny (View members have been modified while other thread was reading) #rb:Olaf.Piesche, David.Hill #test: PC, many cases Change 2825579 on 2016/01/12 by Chris.Bunner Force shadow shape bone indices on the required update list. #rb Lina.Halper, Rolando.Caloca #tests Editor #codereview Daniel.Wright #jira OR-12339 Change 2825443 on 2016/01/12 by Martin.Mittring
2016-01-14 08:11:47 -05:00
{
return string.Format("Manifest_NonUFSFiles_{0}{1}.txt", StageTargetPlatform.PlatformType, GetSanitizedDeviceNameSuffix(DeviceName));
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @2826496) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2826201 on 2016/01/13 by Zabir.Hoque Add more verbose logging to try to understand #OR-11297 #lockdown Andrew.Grant #CodeReview Marcus.Wassmer #RB none #TESTS compiled Win64 debug editor, ran agora_p Change 2826170 on 2016/01/13 by Marcus.Wassmer Flush unloaded resource properly in LoadMap #codereview Gil.Gribb #rb none #test cycling game. memory is freed properly now. #lockdown Andrew.Grant Change 2826135 on 2016/01/12 by Michael.Noland Orion: Improve login screen on PC to reduce the potential impact of framerate on data center ping calculation - Disabled async streaming for the duration of the QOS ping measurement to avoid hitches - Added a circular throbber in the top left corner of the login screen indicating that something is async streaming (as a diagnostic tool for users affected by the datacenter ping, can be removed in the future) - Added logging of the current average frame time when the datacenter ping is finalized - Added a 'Pick Ideal Settings' button to the login screen (note: on the actual screen, not the login widget, so it will not appear on PS4) #jira OR-12453 #rb paul.moore #tests Ran a QOS server and client and verified that the new logging is occurring, tried out the new benchmark button, etc... Merging CL# 2826128 using //Orion/Main_to_//Orion/Dev-General Change 2826131 on 2016/01/12 by Michael.Noland #UE4 - added print out of MS/FPS during Qos ping evaluation #rb michael.noland #tests loaded up through login screen to see output Merging CL# 2825678 using //Orion/Main_to_//Orion/Dev-General Change 2826128 on 2016/01/12 by Michael.Noland Orion: Improve login screen on PC to reduce the potential impact of framerate on data center ping calculation - Disabled async streaming for the duration of the QOS ping measurement to avoid hitches - Added a circular throbber in the top left corner of the login screen indicating that something is async streaming (as a diagnostic tool for users affected by the datacenter ping, can be removed in the future) - Added logging of the current average frame time when the datacenter ping is finalized - Added a 'Pick Ideal Settings' button to the login screen (note: on the actual screen, not the login widget, so it will not appear on PS4) #jira OR-12453 #rb paul.moore #tests Ran a QOS server and client and verified that the new logging is occurring, tried out the new benchmark button, etc... Merging CL# 2826116 using //Orion/Release-Next->//Orion/Main Change 2826116 on 2016/01/12 by Michael.Noland Orion: Improve login screen on PC to reduce the potential impact of framerate on data center ping calculation - Disabled async streaming for the duration of the QOS ping measurement to avoid hitches - Added a circular throbber in the top left corner of the login screen indicating that something is async streaming (as a diagnostic tool for users affected by the datacenter ping, can be removed in the future) - Added logging of the current average frame time when the datacenter ping is finalized - Added a 'Pick Ideal Settings' button to the login screen (note: on the actual screen, not the login widget, so it will not appear on PS4) #jira OR-12453 #rb paul.moore #tests Ran a QOS server and client and verified that the new logging is occurring, tried out the new benchmark button, etc... #lockdown andrew.grant #codereview josh.markiewicz Change 2825772 on 2016/01/12 by Dmitry.Rekman Linux signal handling improvements. - Switch crash handlers to use "crash malloc" (preallocated memory) on crash. - Remove unnecessary memory allocations from graceful termination handler. #rb none #tests Run the Linux server and crashed it a few times. #codereview David.Vossel, Michael.Trepka Change 2825768 on 2016/01/12 by Josh.Markiewicz #UE4 - added print out of MS/FPS during Qos ping evaluation #rb michael.noland #tests loaded up through login screen to see output Change 2825703 on 2016/01/12 by Brian.Karis Switched on new motion blur. Set temporal AA sharpness to 1. #rb none #TESTS editor Change 2825689 on 2016/01/12 by Lina.Halper Fix for get animation notify crash https://jira.ol.epicgames.net/browse/OR-12248 https://jira.ol.epicgames.net/browse/OR-12348 - Also fixed the crash in preview of persona due to blend sample cache contains previous animation data - Also fixed blend space player to reinitialize cache data - The main issue is marker doesn't clamp the length, causing notifies ensure to trigger. #rb : Laurent.Delayen #tests: 10 Sparrows bot match for long time #code review: Martin.Wilson #lockdown: Andrew.Grant Change 2825680 on 2016/01/12 by Martin.Mittring fixed all cases with r.Tonemapper.ScreenPercentage, ScreenPercentage, Fringe, Vignette, ViewRect, flickering with transluceny (View members have been modified while other thread was reading) #rb:Olaf.Piesche, David.Hill #test: PC, many cases Change 2825579 on 2016/01/12 by Chris.Bunner Force shadow shape bone indices on the required update list. #rb Lina.Halper, Rolando.Caloca #tests Editor #codereview Daniel.Wright #jira OR-12339 Change 2825443 on 2016/01/12 by Martin.Mittring
2016-01-14 08:11:47 -05:00
}
public string GetUFSDeployedManifestFileName(string DeviceName)
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @2826496) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2826201 on 2016/01/13 by Zabir.Hoque Add more verbose logging to try to understand #OR-11297 #lockdown Andrew.Grant #CodeReview Marcus.Wassmer #RB none #TESTS compiled Win64 debug editor, ran agora_p Change 2826170 on 2016/01/13 by Marcus.Wassmer Flush unloaded resource properly in LoadMap #codereview Gil.Gribb #rb none #test cycling game. memory is freed properly now. #lockdown Andrew.Grant Change 2826135 on 2016/01/12 by Michael.Noland Orion: Improve login screen on PC to reduce the potential impact of framerate on data center ping calculation - Disabled async streaming for the duration of the QOS ping measurement to avoid hitches - Added a circular throbber in the top left corner of the login screen indicating that something is async streaming (as a diagnostic tool for users affected by the datacenter ping, can be removed in the future) - Added logging of the current average frame time when the datacenter ping is finalized - Added a 'Pick Ideal Settings' button to the login screen (note: on the actual screen, not the login widget, so it will not appear on PS4) #jira OR-12453 #rb paul.moore #tests Ran a QOS server and client and verified that the new logging is occurring, tried out the new benchmark button, etc... Merging CL# 2826128 using //Orion/Main_to_//Orion/Dev-General Change 2826131 on 2016/01/12 by Michael.Noland #UE4 - added print out of MS/FPS during Qos ping evaluation #rb michael.noland #tests loaded up through login screen to see output Merging CL# 2825678 using //Orion/Main_to_//Orion/Dev-General Change 2826128 on 2016/01/12 by Michael.Noland Orion: Improve login screen on PC to reduce the potential impact of framerate on data center ping calculation - Disabled async streaming for the duration of the QOS ping measurement to avoid hitches - Added a circular throbber in the top left corner of the login screen indicating that something is async streaming (as a diagnostic tool for users affected by the datacenter ping, can be removed in the future) - Added logging of the current average frame time when the datacenter ping is finalized - Added a 'Pick Ideal Settings' button to the login screen (note: on the actual screen, not the login widget, so it will not appear on PS4) #jira OR-12453 #rb paul.moore #tests Ran a QOS server and client and verified that the new logging is occurring, tried out the new benchmark button, etc... Merging CL# 2826116 using //Orion/Release-Next->//Orion/Main Change 2826116 on 2016/01/12 by Michael.Noland Orion: Improve login screen on PC to reduce the potential impact of framerate on data center ping calculation - Disabled async streaming for the duration of the QOS ping measurement to avoid hitches - Added a circular throbber in the top left corner of the login screen indicating that something is async streaming (as a diagnostic tool for users affected by the datacenter ping, can be removed in the future) - Added logging of the current average frame time when the datacenter ping is finalized - Added a 'Pick Ideal Settings' button to the login screen (note: on the actual screen, not the login widget, so it will not appear on PS4) #jira OR-12453 #rb paul.moore #tests Ran a QOS server and client and verified that the new logging is occurring, tried out the new benchmark button, etc... #lockdown andrew.grant #codereview josh.markiewicz Change 2825772 on 2016/01/12 by Dmitry.Rekman Linux signal handling improvements. - Switch crash handlers to use "crash malloc" (preallocated memory) on crash. - Remove unnecessary memory allocations from graceful termination handler. #rb none #tests Run the Linux server and crashed it a few times. #codereview David.Vossel, Michael.Trepka Change 2825768 on 2016/01/12 by Josh.Markiewicz #UE4 - added print out of MS/FPS during Qos ping evaluation #rb michael.noland #tests loaded up through login screen to see output Change 2825703 on 2016/01/12 by Brian.Karis Switched on new motion blur. Set temporal AA sharpness to 1. #rb none #TESTS editor Change 2825689 on 2016/01/12 by Lina.Halper Fix for get animation notify crash https://jira.ol.epicgames.net/browse/OR-12248 https://jira.ol.epicgames.net/browse/OR-12348 - Also fixed the crash in preview of persona due to blend sample cache contains previous animation data - Also fixed blend space player to reinitialize cache data - The main issue is marker doesn't clamp the length, causing notifies ensure to trigger. #rb : Laurent.Delayen #tests: 10 Sparrows bot match for long time #code review: Martin.Wilson #lockdown: Andrew.Grant Change 2825680 on 2016/01/12 by Martin.Mittring fixed all cases with r.Tonemapper.ScreenPercentage, ScreenPercentage, Fringe, Vignette, ViewRect, flickering with transluceny (View members have been modified while other thread was reading) #rb:Olaf.Piesche, David.Hill #test: PC, many cases Change 2825579 on 2016/01/12 by Chris.Bunner Force shadow shape bone indices on the required update list. #rb Lina.Halper, Rolando.Caloca #tests Editor #codereview Daniel.Wright #jira OR-12339 Change 2825443 on 2016/01/12 by Martin.Mittring
2016-01-14 08:11:47 -05:00
{
return string.Format("Manifest_UFSFiles_{0}{1}.txt", StageTargetPlatform.PlatformType, GetSanitizedDeviceNameSuffix(DeviceName));
}
}